Preventing double bookings in a salon
Short answer: a double booking is rarely a calendar bug. It is a promise made twice — to the same specialist, the same room or the same device. Keep every channel in one calendar, attach resources to the services that need them, and let the system show the clash before anything is saved. In Tervita a specialist overlap is refused by the database itself, room and equipment clashes surface in the booking form as you fill it, and an approved absence disappears from availability immediately.
Most double bookings are born the same way: two people looking at two different versions of the truth. The receptionist writes an appointment in the book, a client books the same minute online, and both are certain the slot is theirs. The same thing happens when the calendar only knows about specialists while the service also needs a room or a machine that nothing is holding.
Why do two entries end up in one place?
Look at where your appointments actually come from. A typical salon has at least four sources: the website, the phone, social messages and whoever walks through the door. Unless all four write into the same calendar immediately, a double booking is only a matter of time.
The four common patterns:
- Two calendars. The web writes into the system, the phone call onto paper. They are reconciled in the evening — two hours after the slot was promised twice.
- Deferred entry. The time is agreed in a chat and will be entered "later". Until then it is still bookable online.
- The invisible resource. Two specialists are free but there is only one pedicure room. The calendar knows nothing about the room and sells both slots.
- An absence nobody recorded. Training or a sick day stayed in conversation, so the system keeps offering time for someone who will not be there.
Discipline fixes the first two. Putting resources and exceptions into the calendar fixes the other two.
Which resource actually limits your day?
A salon's parallel capacity is the smallest of three numbers: how many specialists are on shift, how many rooms or stations exist, and how many units of a shared device you own. A fourth specialist does not create a fourth slot when there are three rooms.
How many clients fit into your salon at once?
Enter your own numbers and see which resource hits its ceiling first. The calculation runs in your browser only and is not stored.
- Appointments at the same time
- 2
- parallel slots
- Bottleneck
- The resources are balanced: several of them reach the ceiling together.
This is a planning model, not a schedule. A real clash is always decided by the specific appointment with its own duration and resources.
If the number is lower than you expected, that is good news: you now know where over-selling starts, and you can either add the resource or change the order of services.
How does Tervita keep appointments from colliding?
Three different defences, working at three different levels.
The specialist — at the database level. Two overlapping appointments cannot be saved for one specialist, and that is not checked by the interface but by a constraint in the database itself. Technically it is an exclusion constraint: it compares time ranges and refuses a row whose range overlaps an existing one for the same specialist; the PostgreSQL documentation describes the mechanism.
The practical difference matters. An interface check looks at data that was on screen a moment ago and loses when two people save at once: both saw a free slot, both were told "saved". A database constraint decides at the moment of writing, and one of the two gets an honest refusal. That is exactly the difference you need at your busiest hour, when the receptionist is on the phone while a client books online in the same minute.
Room and equipment — in the form. Choose a room or a device that is already taken at that time and the form says so before you save, rather than as an error afterwards. The receptionist sees the collision while it can still be solved: shift by ten minutes, take the other room, or hand the client to a colleague. This depends on rooms and devices being attached to the services that need them — a calendar cannot hold a resource nobody told it about.
Absence — in the availability calculation. Approved holiday, sickness, training or blocked time disappears from the booking page immediately. Building the rota itself is covered in the staff scheduling guide.

What Tervita does not do: it does not sync with Google or Outlook calendars. If your team keeps a personal calendar on the side, that stays a second version of the truth — and a second truth is where double bookings start.
What if a double booking has already happened?
Speed matters more than explanation. Call the client you can offer the better alternative to, not the one who called most recently. Offer a specific new time rather than "let us find something": a concrete choice reduces cancellation. If the mistake was yours, say so plainly — an apology with a solution attached almost always keeps the relationship.
A separate case is deliberate overbooking, where a salon seats two clients back to back expecting one not to show. The airline logic does not transfer: a seat on a plane is anonymous, while the person in your chair was told two o'clock. Manage no-show risk with reminders, confirmations or a deposit instead of promising one slot twice.
Then do the thing most salons skip: write down which channel the double booking came from. Three or four such notes reveal a pattern — social messages, deferred entry, a missing room — and only the pattern tells you what to fix.
How to build the defence in a week
- Day 1. Decide the calendar is the only truth. Every appointment goes in immediately, including during the phone call.
- Day 2. Attach rooms and shared equipment to the services that need them.
- Day 3. Enter the known absences for next month.
- Day 4. Review how far ahead and how late clients may book in the booking settings.
- Day 5. Agree with the team who decides when two channels have offered the same slot.
The rest is habit. Once appointments reach the calendar immediately and resources are described, double bookings disappear from where they usually begin, and the rare survivors become genuine exceptions rather than a fault in the system. The client-side of the same tidiness is covered in the client base guide.