Your customers open a link and pick a time. No app to install, no account to create, no phone call, and no waiting until you are between clients to answer it. The page runs in their language, shows your prices in your currency, and displays every time in the zone they are actually standing in.
The hard part of online booking is not the form. It is making sure the times on offer are times you can genuinely honour — because a slot that should not have been offered costs you either a customer or an afternoon.
01 Six layers decide whether a slot exists
Availability is not one calendar. It is your opening hours, each staff member’s own hours, the rules attached to the service itself, holidays, blocked-out time, and everything already in the book. A slot appears only when all six agree.
They combine most-restrictive-first, so a rule can only ever narrow what is on offer, never widen it. If your salon opens at nine but a particular stylist starts at eleven, eleven is when their day starts — no configuration required to make the stricter rule win.
This is why nobody is ever booked into a chair that is already taken, and why a service you only offer on Thursdays simply does not appear on a Tuesday.
02 Buffers are part of the booking, not a habit
The fifteen minutes you need after a colour, or the forty-five it takes to move equipment between rooms, can be attached to the service. That time is held as firmly as the appointment itself, so the next customer cannot take it.
Buffers can sit before a job as well as after it — useful when a treatment needs setting up rather than clearing down.
03 Anyone free, or a name in particular
A customer can ask for whoever is free soonest, or for the person they always see. When they choose “first available”, the system picks the staff member at the moment of booking, not the moment of browsing, so two people looking at the same screen cannot both be given the same person.
Group services take a headcount rather than a single seat, so a class of eight fills up eight times before it closes.
04 Where the page lives
Every business gets a link of its own. Put it in your Instagram bio, in your Google Business profile, on a card, or behind a QR code on the counter.
If you already have a website, embed the same page into it with one line of HTML. It is an iframe on purpose: your styles cannot break the booking flow, and the booking flow cannot break your site. Improvements reach the embed without anyone editing their page.
You can also send someone straight to a particular service or staff member, which is what makes a campaign link or a QR code on a specific product actually work.
05 What happens when two people book at once
Two customers pressing the button at the same second is the case most booking software gets quietly wrong. Here the write is serialised on the staff member and the day, and availability is checked again inside the transaction — after the lock, not before it.
One booking succeeds. The other gets a clear refusal and the grid it can actually book from. The database carries an exclusion constraint underneath as a backstop, so even a hand-written insert cannot create an overlap.
Questions
- Do my customers need to create an account?
- No. They give a name and a way to contact them, and that is it. They can create an account if they want to manage their own bookings later, but it is never required to book.
- Can I stop people booking five minutes before the appointment?
- Yes. Set a minimum notice period and a booking horizon — the earliest and latest anyone may book — per service if the rules differ.
- What if I want to check every booking before it is confirmed?
- Turn on approval. Bookings arrive as pending, hold the slot, and become confirmed when you approve them.
- Does it work on a phone?
- Yes. Most customers book on one, so the page is built for a phone first and the whole flow fits without pinching or scrolling sideways.