Guide
How to accept appointments through your Shopify store
To accept appointments on a Shopify store, install a booking app, add its Book now button or booking page to your theme, and set your services, staff and working hours. Customers pick a service, a staff member and a time on your store. If you take a deposit, they pay it in your own Shopify checkout, and the payment shows in your admin as a normal order. Before you go live, book one test appointment yourself to check that the order appears, the time gets blocked, the customer sees your cancellation terms before paying, and an unpaid booking frees its time.
How a booking gets onto a Shopify store
Shopify gives apps two ways onto your storefront, and most booking apps use one or both.
- A theme app extension. The app adds blocks, such as a button you place in a section, and app embeds, which Shopify loads before the page’s closing
</head>or</body>tag. Shopify’s theme app extension configuration docs (checked 9 November 2026) say app embeds are “deactivated after an app is installed”, and that merchants turn them on in the theme editor under Theme settings → App embeds. If you install a booking app and nothing shows on your store, look there first. - An app proxy. This is a page at an address on your own domain that the app serves. Shopify’s app proxy docs (checked 9 November 2026) allow the prefixes
/apps,/a,/communityand/tools, and say the merchant can change the address. The app can return Liquid, which Shopify then renders inside your theme. So the booking page looks like the rest of your store.
Payment is usually a draft order. The app creates one for the amount due and sends the customer to its checkout. Shopify’s help page Creating draft orders (checked 9 November 2026) says: “When you accept payment for your draft order, an order is created for it on the Orders page.”
What you set up
- Services: name, length and price, plus a deposit if you want one.
- Staff: who does which service, and their working hours and days off.
- Rules: how far ahead customers can book, how late they can cancel or reschedule, and what happens to a deposit when they cancel.
- Where customers book: a button in your header or on a page, a menu link, or the booking page’s address.
A test with four checks for any booking app
Do this on your own store with a service that takes a deposit, before you share the booking link:
- Does a Shopify order appear? Pay the deposit, then open Orders in your admin. The payment should be there as an order linked to the booking.
- Is the time blocked for that staff member? Open the booking window again in a private window. The time you just booked should be gone for that person, for every service they do.
- Did you see the cancellation terms before paying? The customer should be told, before checkout, how much they pay and whether they get it back if they cancel.
- What happens if you don’t finish paying? Start a second booking, go to checkout and close it. The time should be held for a short while, then come back, and the unpaid booking shouldn’t stay in your calendar as if it were real.
If any of these fails, you’ll have a gap between what your calendar says and what your orders say, and you’ll end up fixing it by hand.
How Rezervito does it
Rezervito is our booking app for Shopify, launching November 2026.
- Booking window on any page. Rezervito’s app embed adds the booking window to your theme, plus a floating Book now button if you want one. You can also place a “Book now button” block in any section that takes app blocks. Any link to
#book-now, such as a menu item, opens the same window on whatever page the customer is on. Nothing loads until a customer opens it. - A booking page at
/apps/booking. Rezervito also serves a booking page through Shopify’s app proxy, on your primary domain. It opens the booking window as soon as it loads, even when the app embed is off, which helps with themes that don’t hold app embeds. Settings → Appearance shows the address to copy. - Payment in your own checkout. When a service takes a deposit, Rezervito creates a Shopify draft order for the amount due, and the customer pays in your store’s checkout. When Shopify reports the order paid, Rezervito confirms the booking. Rezervito takes no share of the payment; you pay for your plan, plus Shopify’s usual payment processing fees. Bookings without a deposit are confirmed at once and don’t create a Shopify order. They appear in Rezervito’s calendar instead.
- Terms before payment. At the payment step the booking window shows the deposit and its refund rule in one sentence, for example the amount, how many hours before the booking it is refundable, and that it isn’t refundable after that.
- The time is held while the customer pays. An unpaid booking holds its time for 10, 15, 30 or 60 minutes, as you choose. If the customer doesn’t pay in that time, Rezervito cancels the booking and deletes its draft order, so the time is free again. If the customer comes back from checkout and picks another time or service, the unpaid booking frees its time straight away.
Rezervito has a Free plan for up to 20 bookings a month. Paid plans are Solo ($19/month), Studio ($39/month) and Salon ($79/month).
When Rezervito isn’t the right fit
- Classes, workshops and events. Rezervito books appointments: one customer’s time with one staff member. You can ask how many people are coming, but there are no shared places for a class or an event. A class-booking app fits better.
- You need Google Calendar sync. Rezervito doesn’t sync with Google Calendar or other booking platforms yet. Customers can add their own booking to Google, Apple or Outlook calendars from the confirmation, but your bookings don’t sync both ways. If you also take bookings elsewhere, add them in Rezervito by hand or block the time.
- You don’t sell online. Rezervito runs inside a Shopify store, so you need a Shopify plan first. A salon with no web shop is usually better served by a booking platform built for salons, such as Fresha. Rezervito is for businesses that already run their shop on Shopify.
Questions
Can Shopify take appointments on its own?
Shopify sells products and takes payment at checkout. To let customers pick a time with a staff member, you add a booking app. The app decides which times are free, and Shopify's checkout takes any payment.
Where do customers book on my store?
That depends on the app. It is usually a button or window on your store's pages, a booking page at an address on your own domain, or both. With Rezervito, a Book now button or any link to
Do appointment payments go through Shopify checkout?
With apps that take payment through Shopify, yes. The payment shows in your admin as a normal order. Rezervito creates a draft order for the deposit, and once it is paid Shopify creates the order. Rezervito takes no share of that payment; Shopify's usual payment processing fees apply.
What happens if a customer doesn't finish paying?
A good app holds the time for a short while and then frees it. Rezervito holds it for 10, 15, 30 or 60 minutes, whichever you choose. After that it cancels the unpaid booking and deletes its draft order.
How do I know a booking app works before I rely on it?
Book a test appointment on your own store and check four things. Does a Shopify order appear? Is the staff member's time blocked? Did you see the cancellation terms before paying? And what happens when you leave checkout without paying?