A spreadsheet and a phone line will run one branch just fine. One person knows every client, every therapist’s schedule, and what’s in the till at the end of the day. The system isn’t really the spreadsheet – it’s the owner’s memory, with the spreadsheet as backup.
That system doesn’t scale. It doesn’t break loudly, either – it degrades quietly, branch by branch, until the owner is spending more time reconstructing what happened yesterday than deciding what to do today.
The first crack: double bookings
With one branch, a double booking is rare and easy to catch – the same person is looking at the whole day. With two or more branches run by different staff on different sheets, nobody has the whole picture. A therapist gets booked at two branches for an overlapping slot, and nobody finds out until the client walks in.
The second crack: discounts nobody signed off on
On a single branch, an owner hears about a discount because they’re usually standing nearby. Once staff are working branches the owner isn’t physically in, discounts become verbal, undocumented, and untraceable. By the time it shows up in the numbers, it’s already cost real margin.
The third crack: reconciliation that eats the morning
Closing the books across three or four spreadsheets – one per branch, formatted slightly differently, updated at different times – turns a 10-minute task into an hour of cross-checking. Most owners we’ve talked to do this every morning before anything else, which means the most valuable hour of their day is spent reconstructing yesterday.
What actually fixes it
The fix isn’t a better spreadsheet template. It’s moving the booking, the discount, and the payment into the same record at the moment they happen, so every branch is writing to one source of truth instead of four separate ones that need to be reconciled by hand.
That’s the entire premise behind Zenly’s booking engine – conflicts are prevented at the database level, not caught after the fact by someone comparing notebooks.