Home / Help and setup guide

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.

Updated 14 October 2026

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.

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.

Before you install, five minutes well spent. Decide how your services map to products. One product per thing a customer buys. If the same service comes in two lengths, that is usually one product with two variants rather than two products.

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.

Any available. Customers who do not mind who they see can leave it open, and the app assigns the first free qualified resource. That spreads new customers across the team rather than piling them onto whoever is listed first.

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.

If the picker is missing. Check three things in order: the product is linked to a service, the block is present in the theme editor, and the service has at least one resource attached with hours set. A service nobody can deliver has no times to show.

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:

  1. The booking appears in the Calendar.
  2. The time on it is the time you picked.
  3. The confirmation message arrived.
  4. 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.

Your policy, not ours. Booking Slot never holds your money and never applies a cancellation policy of its own. Refunds happen in Shopify under whatever terms you have written. Non-refundable deposits are legal and normal in several trades, but only enforceable if the customer was told before they paid, so put it on the product page and in your terms.

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.

Keep it transactional. These messages go out under transactional messaging rules rather than marketing ones, so promotional content is not permitted and would put delivery at risk anyway.

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.

If the network drops. The till shows an error rather than falling back to a cached list. That is deliberate: a booking created on stale data is a clash you discover on the day with both customers in the shop. Take the customer's number and ring them 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.