A small working example · synthetic appointments
A free chair doesn’t mean
a free appointment.
The same stylist is booked from 10:00 to 10:45, with 15 minutes to reset the chair. Can they take a 10:50 client?
No. The stylist and room are reserved through 11:00. Change the request below and test the boundary.
The rule in action
One calendar.
Two resources.
- Existing appointment
- 10:00–10:45 · Mia · Chair 1
- Reserved through
- 11:00
- Your request
- 10:50 · Mia · Chair 1
An appointment uses both a person and a room. Either shared resource can block the request until cleanup ends.
All calculations stay in your browser. This example does not make or change a booking.
Acceptance cases
Test both the person and the space.
| Request | Expected | Reason |
|---|---|---|
| 10:50 · Mia · Chair 1 | Conflict | Both resources are still in use during cleanup. |
| 11:00 · Mia · Chair 1 | Available | The request starts at the exact end of the reserved interval. |
| 10:30 · Nora · Chair 2 | Available | Neither staff member nor room is shared in this small example. |
| 10:30 · Nora · Chair 1 | Conflict | The same chair is still reserved, even though the stylist differs. |
What this tests
A basic scheduling rule that considers staff, space and cleanup together. It catches two common false positives: treating cleanup as free time and checking only one resource.
What a live system still needs
Service durations, staff skills, breaks, overlapping services, time zones, recurring schedules, deposits, cancellations, permissions and simultaneous checkout need their own decisions and tests. This is not a salon booking product or a vendor review.
Use this in your software comparison
What keeps getting double-booked?
Take the staff, room and service constraints you tested here into a vendor demo. Ask the provider to show how a conflict is prevented.
Read the salon software guide ↗