Timezones and online booking: the daylight-saving bug nobody notices
Why appointments can move by an hour when the clocks change, why multi-location businesses must store each branch's timezone, and the checks that catch it before a customer does.
Sohail Safdar · · 2 min read
An appointment is a local time at a place: 10:00 at your Main Street branch. If a booking system stores it as a fixed offset from UTC instead of a time in that location's timezone, appointments booked before a daylight-saving change can appear an hour off afterwards. The fix is to store each location's timezone, resolve every time in it, and check the week around each clock change.
How the bug happens
A customer books in February for 10:00 on a date in April. If the system saves "10:00 at UTC minus 6" (the winter offset), then after clocks move in March, that stored time now means 11:00 local. Nobody notices until the customer arrives at 10:00 for an 11:00 slot, or the other way round.
The correct model
- Every location has a timezone, such as America/Chicago, not an offset.
- Opening hours and rotas are local times at that location.
- Appointments are resolved in the location's timezone when they are created and when they are shown.
- Reminders are scheduled from the local time, so a reminder "24 hours before" is still 24 hours before after a change.
Multi-location businesses
A business with branches in two timezones needs each branch set correctly. A customer in Phoenix booking at your Denver branch should see Denver times, labelled as such. Arizona, which mostly does not observe daylight saving, is a common trap for businesses near it.
Checks worth doing
- At setup: confirm each location's timezone, not just its address.
- Two weeks before each clock change: look at appointments in the week after the change and confirm they show the times customers booked.
- After the change: check that reminders went out at the expected local times.
What customers see
Show times in the location's timezone, and say so on the booking page for businesses whose customers may be elsewhere ("All times are Central Time").
Frequently asked questions
What about customers who travel?
Appointments are where the service happens, so show the location's time. A reminder can repeat it.
Does this affect reminders sent at night?
Quiet hours should also be calculated in local time, or reminders can arrive an hour early or late around the change.
Do I need to do anything if I have one location?
Set the timezone correctly once. The rest is the booking system's job.
What Frontiva does here
Frontiva's bookings resolve every slot in the location's own timezone, so a daylight-saving change does not quietly move next month's appointments, and each location's rota and public booking page use that timezone. See staff rotas and availability.