Help and setup guide
Everything you need to get Booking Slot taking real bookings, plus the things that most often go wrong and how to fix them. For one service and one member of staff, the whole of this takes under an hour.
Quick start
Five steps. The app shows these as a checklist on the Calendar page until they are done.
Install
From the Shopify App Store, approving access to products, orders and customers.
Create a service
Duration, buffer and how far ahead people can book. A preset fills in the rest.
Add staff
Each person, room or item with their own hours and time off.
Link a product
The Shopify product customers buy. The picker appears there and nowhere else.
Test it
Book a slot yourself, check the Calendar, then refund to confirm it releases.
On this page
Installing and permissions
Install Booking Slot from the Shopify App Store. On the permissions screen the app asks for access to products, orders and customers, and each one is used for a specific thing: products so it can link a service to the item customers buy, orders so payment can confirm a booking and a refund can release it, and customers so reminders can reach the right person.
Any Shopify plan works, including Basic. There is no separate account to create and no payment details to enter; billing runs through Shopify.
Creating a service
A service is the thing being booked, and it carries the rules. Create one and set:
- Duration. Any length, not just slots on a grid. A twenty-minute fade and a ninety-minute first assessment are both fine.
- Buffer. Time blocked after the appointment for clean-down, turnaround or notes. It blocks the resource but is not charged to the customer and does not show on their confirmation.
- Start-time interval. Whether times are offered every five, ten, fifteen or thirty minutes.
- Capacity. One for an appointment, or a seat count for a group class. Group bookings are on Growth and above.
- Booking window. How far ahead customers can book, and the minimum notice before a start time.
- Reschedule cutoff. How late a customer can move or cancel their own booking.
Choosing a preset during setup fills these in sensibly for your trade. The salon preset gives services a buffer by default; the court preset uses hourly intervals and no buffer; the class preset turns on capacity; the rental preset adds turnaround time. All of it is adjustable afterwards, so the preset is a starting point rather than a decision.
Staff, rooms and resources
A resource is anything with a calendar that can only be in one place at a time. That covers people, but also treatment rooms, chairs, courts, bikes and specific pieces of equipment. Your plan limit counts resources rather than staff specifically, so a clinic with three practitioners and two rooms is five.
Hours
Set weekly hours per person, per day. They are not limited to one block, so a stylist working nine to one and then three to seven has two blocks that day and the gap is simply not offered. Alternate-week patterns go on the record too, so someone working every other Saturday stops selling the Saturdays they are not in.
This is the part worth slowing down for. Availability is calculated entirely from what is on the resource, so if the hours are wrong the picker is wrong. A salon with six stylists takes roughly twenty minutes to enter properly.
Time off
Time off blocks one person, with a start and an end, and everyone else carries on as normal. Use it for holidays, training days, a hospital appointment on a Tuesday afternoon, or a lunch break that repeats every working day.
Services each resource can deliver
Attach each resource to the services it can actually deliver. A barber who does not do beard work is then never offered for it, and a treatment that needs both a practitioner and a room is offered only when both are free.
Linking a Shopify product
Each service points at one Shopify product: the thing a customer adds to their cart and pays for. Create the product as you would any other, with its real price and its correct tax treatment, then pick it on the service.
If you want a deposit rather than the full amount, still set the full price on the product and configure the deposit rule on the service. The customer sees the real price on the page and the deposit at checkout, with the balance stated.
Linking is what tells the picker where to appear. Products you have not linked are untouched, which is deliberate: a date picker on a bottle of shampoo confuses customers and costs you sales.
The picker on your theme
The picker is a theme app extension block. It adds itself to the product template rather than editing your theme's code, so there is nothing to break and nothing left behind if you uninstall.
On most Online Store 2.0 themes it appears automatically on linked products, above the add-to-cart button. If your theme is set to hide app blocks by default, add it once in the theme editor: Online Store, Themes, Customize, then open a product template, Add block, and choose Booking Slot.
Taking a test booking
The most common support message any booking app gets is from a merchant whose first real customer hit a problem, because the merchant never put a booking through themselves. Do this before you go live.
On a development store, turn on Shopify's Bogus Gateway and book a slot end to end. On a live store, book one yourself with a real card and refund it afterwards; the few pence in fees is worth it.
Then check four things:
- The booking appears in the Calendar.
- The time on it is the time you picked.
- The confirmation message arrived.
- Refunding the order released the slot back into availability.
Then try to break it
Open the same product in two browser windows and take the same slot in both. One should succeed and the other should be refused on the spot, before checkout. That takes thirty seconds and tells you more about any booking app than its feature list does.
Running the day from the Calendar
The Calendar is the diary. A month grid with per-day counts shows confirmed, held and completed at a glance, with the day list underneath.
From one booking you can:
- Reschedule to a new time. The original Shopify order stays exactly as it is, so no refund and no re-charge.
- Reassign to a different resource, which checks that person's availability first. This is how you handle cover at short notice.
- Mark completed or no-show, which over a term gives you an honest picture of which times actually fill.
- Cancel, which releases the slot. Refunds themselves happen in Shopify, under your own policy.
A hold is a slot a customer has chosen but not yet paid for. It lasts the length of the checkout and expires on its own if they abandon the basket, so you never lose an afternoon to abandoned carts.
Deposits and balances
Starter plan and above.
A deposit rule is set per service, as either a fixed amount or a percentage of the price. A fixed amount suits a clear threshold, such as twenty pounds on anything over an hour. A percentage suits a wide price range, where the same proportion works across a three-hundred-pound session and an eighty-pound one. You can mix the two across your services.
The deposit is a line in your normal Shopify checkout, taken through whatever payment methods you already offer, landing in your usual payout and appearing in your usual reports. There is no second payment provider and no separate dashboard.
Collecting the balance
The remainder is tracked on the booking. When the customer arrives, mark it paid at the till by cash, card or transfer. If they would rather settle beforehand, send a Shopify payment link and a Pay balance now button appears on their booking page.
Reminders and templates
Two messages go out by default: a confirmation when the booking is made, and a reminder before the appointment, with the timing set per shop in Settings. The day before suits most trades; a clinic with long appointments often wants more notice, a barber taking same-morning bookings may want a couple of hours.
Both are templates you edit. Put the meeting point in it for a tour, aftercare notes for a studio, parking instructions for a clinic. The reschedule link is added automatically, so you do not need to include it yourself.
Every message carries that link, and it is the part that earns its keep. A customer who cannot make Thursday moves it themselves within your cutoff, which frees the slot while there is still time to fill it.
SMS allowance
Paid plans include a UK SMS allowance: fifty a month on Starter, two hundred and fifty on Growth, a thousand on Pro. Top-ups are £4.99 per hundred and do not expire. If a busy month runs the allowance down, SMS pauses and email reminders carry on. The Free plan sends email only.
Booking at the till
Growth plan and above. Works on Shopify POS Lite and POS Pro.
Add the Booking Slot tile to your POS smart grid and the booking screen is there on whatever device your counter uses. It calls the same availability and creates the same hold as the product page, in the same second, with no sync step in between, so the desk and the website cannot take the same slot.
Pick the service, the time and the person, attach the customer from their Shopify record or type them in, and complete the sale. Payment confirms the booking exactly as it does online. Several bookings can go through one transaction, which covers a parent booking three children or a couple booking two treatments.
The extension also shows the day's bookings, which turns the till into the diary without anyone opening a laptop out the back.
Google Calendar
Growth plan and above.
Each staff member can connect their own Google Calendar from their resource record. It works in both directions. Their busy periods are pulled into the availability calculation, so a personal appointment in their own diary removes that hour from your website without anyone copying it across. And their Booking Slot bookings push out to their calendar, so what they see on their phone is their complete day.
Worth being precise about what this is: it is availability data feeding the conflict check, not a sync that reconciles two systems after the fact. Conflict checking does not depend on it and works identically without it.
Plans, billing and uninstalling
Plans limit three things: how many bookings a month, how many resources you run, and how many texts you send. They never limit the scheduling rules. Conflict checking, transactional holds, buffers and staff time off are on the Free plan exactly as they are on Pro.
- Free. One resource, twenty bookings a month, email reminders, a small powered-by line on the picker.
- Starter, £14.99. Two resources, unlimited bookings, deposits, fifty SMS, no branding.
- Growth, £39.99. Eight resources, group classes, booking at the till, Google Calendar, two hundred and fifty SMS.
- Pro, £79.99. Unlimited resources, a thousand SMS, priority support.
Every paid plan has a fourteen-day trial, billing runs through Shopify in pounds, and paying annually takes twenty percent off. Change or cancel your plan from inside the app at any time.
At the Free plan limit
New online bookings pause with a clear message, and the picker stays exactly where it is, so nobody can buy a service with no time attached. Existing bookings are untouched and their reminders still go out.
Uninstalling
Your bookings, services and staff are kept for 48 hours so a reinstall picks up where you left off. After that they are deleted in line with Shopify's data policies. All booking data is stored in Firestore in europe-west2, which is Google Cloud's London region; the data processing agreement is section 12 of the privacy policy and applies automatically to every merchant.
When something is wrong
The problems that come up most, and what to check first.
The picker is not showing on my product page
Three things to check, in this order. First, that the product is actually linked to a service in the app, since the picker renders only on linked products. Second, that the theme app extension block is present: on most Online Store 2.0 themes it appears automatically, but some themes hide app blocks by default and you add it once in the theme editor. Third, that the service has at least one staff member or resource attached with working hours set, because a service nobody can deliver has no times to show.
The picker shows no available times
Almost always one of four things. The resource has no working hours set for the days you are looking at. The service duration plus its buffer does not fit inside the hours you set, for example a ninety-minute service inside a one-hour window. The booking window is too narrow, so everything available falls outside the minimum notice or maximum days ahead. Or time off is covering the period. Open the resource, check its hours day by day, then widen the booking window and look again.
A customer booked a time my staff member cannot work
That means the hours on that person's record do not match their real rota. Availability is calculated entirely from what is on the resource, so the app will offer whatever those hours say. Open the resource, correct the weekly hours, and add any one-off time off. Existing bookings are not moved automatically, so reassign or reschedule that one from the Calendar, which leaves the customer's order untouched.
A booking came in but the order is not showing as paid
Check whether approval is switched on for that service. With approval on, a customer's choice arrives as a pending request rather than a confirmed booking, and you accept or decline it from the Calendar with payment taken in person. With approval off, which is the default, payment at Shopify checkout is what confirms the booking, so an unpaid booking should not exist. If you see one with approval off, email support with the order number.
Reminders are not arriving
Check the plan first: SMS reminders are on paid plans, while the Free plan sends email only. Then check your remaining SMS allowance, because when it runs out SMS pauses and email reminders carry on until the next period or a top-up. After that, check the mobile number on the booking is a valid UK mobile, and check the reminder timing in Settings is far enough ahead that it had not already passed when the booking was made.
I need to move a booking without refunding the customer
Open the booking in the Calendar and change its time or its resource. The original Shopify order stays exactly as it is, so there is no refund and no re-charge. Customers can also move their own booking from the link in their confirmation or reminder, within whatever cutoff you have set.
What happens to my data if I uninstall?
Your bookings, services and staff are kept for 48 hours so that a reinstall picks up where you left off. After that they are deleted in line with Shopify's data policies. Booking data is stored in Firestore in europe-west2, which is Google Cloud's London region, and the data processing agreement is section 12 of the privacy policy.
Still stuck?
Email support and you will get an answer from the person who wrote the code, on UK working days, rather than a first-line script. Include your store URL and, if it is about one booking, the order number.