Booking Calendar
Pick a slot across timezones without anyone getting the wrong hour.
AdvancedWeb appProductivity14–30hAI-buildable 3/5no setupworth shipping
An appointment booker showing available slots from a set of rules, in the visitor's own timezone. Timezone handling is where booking apps go wrong, and doing it correctly — including across a daylight-saving boundary — is the substance of the project.
UI
Logic
Useful
Hosting · Free forever
Deploys free on GitHub Pages, Cloudflare Pages or Vercel Hobby.
Deploy it and share a link.
Core features · 7
- Availability defined as weekly rules plus exceptions
- Available slots render on a date picker
- Slots display in the visitor's detected timezone with the zone named
- Booking a slot removes it from availability
- Buffer time between appointments is respected
- Daylight-saving transitions don't produce missing or duplicated slots
- A confirmation summarises the booking in both parties' timezones
The interesting part
- Slot generation across daylight-saving boundaries
- Displaying one instant in two timezones without ambiguity
- Preventing double-booking when two people book simultaneously
Once it works
- Add multiple appointment types with different durations
- Add an ICS calendar file download
- Add a reschedule and cancel flow
Suggested stack
reacttypescripttailwinddate-fnssupabase