The challenge
A clinic's online booking app double-booked appointment slots and let bookings spill past the end of the day — a scheduling mess that fell on the front desk to untangle.
The context
Times were handled inconsistently between the browser, the server and the database, so the same slot meant different things depending on where it was read. It broke worst for users in a different timezone than the clinic.
What we did
- Mapped where times were created, stored and displayed, and where the timezone was being lost.
- Standardised on a single, unambiguous representation of time end to end.
- Fixed the slot logic so overlaps and end-of-day overruns are impossible.
- Covered the scheduling rules with tests across multiple time zones.
The outcome
Slots are correct regardless of the visitor's timezone, double-booking is designed out, and the scheduling rules are locked in by tests.