App
Let any Square merchant send personalized recommendations for their products after each appointment. In my video example: a team member can see which appointments they completed, send their clients product recommendations with a branded email or video recording, and then customers can instantly complete their purchase with the embedded Square Invoice in their message.
Thanks to Square's payment splitting - merchants will never have to pay for shipping costs out-of-pocket. Fees for shipping are automatically detached from the payment so Square merchants only collect revenue from product upsells without needing to manually fulfill orders later on.
Inspiration
I run an independent cosmetics manufacturing shop and I'm always on the phone talking with my customers about their business and the challenges of growing shops in the beauty-space. There's a pattern I've noticed talking to store owners focused on services that it's very difficult to experiment with physical products when their focus is spent managing staff and appointments.
A few common stories I heard:
- expensive to hold inventory in bulk
- bringing products to every off-site appointments is very difficult
- fear that the lack of personalized recommendations on a store won't result in sales
I decided to extend my business with Square's APIs (booking, payments and even cash app) so Square merchants focused on services can provide product recommendations (of their own branded inventory!) to their clients after a booking session is complete without needing to invest or carry stock!
Merchants using Square can keep commerce personal like their appointments but explore a whole new potential opportunity for their business without overly large commitments to managing products. They can make meaningful recommendations customers are more likely to value after each of their bookings and products are shipped on their behalf with zero-minimums on product orders to give merchants free insights into the popularity of their items.
What it does
The app lets a Square merchant create beauty products and recommend their products to clients who completed an appointment with their business. They can make their recommendations personal by selecting specific products, writing a custom message, and even recording a video message! The customer receives a personalized message with an embedded checkout link to get their products with payment options like credit card, AfterPay, and CashApp all powered by Square's invoices.
How we built it
The app uses several of Square's products around the bookings APIs.
The app fetches completed bookings the merchant can browse from.
Not all merchants might be on Square's Plus Appointments plan which supports updating appointments, so the app keeps track of merchants who received personalized messages by updating the customer.
Invoices are generated using payment links and supports the new CashApp Pay for instant checkouts.
Emails are proxies by Amazon SES to send branded emails. Ex: For a shop called "Ashley's Arizona Beauty", customers would see that emails are from "Kelly's Beauty <[email protected]" and the replies would go to [email protected].
Shipping is calculated from the limited information available on the booking with real-time shipping rates calculated by queries to USPS's API to find out the total shipping price - only if the merchant decides to not use stock from their existing product catalog.
Merchants don't have to buy inventory or worry about fulfilling orders themselves. Square's Payment APIs let the fees for shipping get automatically split from the customer's payment automatically! This let merchants operate businesses without any overhead, requiring net-30 payment terms from their manufacturer, or individually paying for the shipping of their customer orders!
Challenges we ran into
The sandbox accounts provided by Square aren't prefilled with any demo information so the process of testing appointments, creating test products, attempting payments isn't easy to setup. An account with Canada is significantly different than the interface than US merchants. Ex: Creating payment links requiring shipping to be collected from customers created a preview checkout link that can't be interacted with so customer data in the webhooks doesn't have prefilled shipping information.
Accomplishments that we're proud of
Square has payment splitting-features in the payment links! So shops don't have to pay anything to get their orders fulfilled after one of their appointments converts into a customer for their products!
What we learned
It's very difficult to build a workflow that feels natural for merchants to write followup with their clients with their customers on product recommendations. After showing a demo to real Square merchant (a beauty salon in Arizona!!) I saw the importance of grabbing customer data out of Square to make it easier to write contextual emails. The app got updated with more localization and customer data above the product selector so it got easier to see the appointment notes and use that information to craft an email faster.
What's next for Booking + Product Upsells
We'll continue showing demos to shops using Square to run their business and using their feedback to make the integration between their appointments + product expansion seamless.
Built With
- cloudflare
- jest
- node.js
- react
- ses
- square
- tailwind
- typescript
- usps
- vercel
Log in or sign up for Devpost to join the conversation.