Calendar conflicts, time zones, and double-booking: the parts you cannot fake
Booking apps look simple. They are not. The bugs that kill them are all in the parts most prompt-to-app tools skip:
Conflict detection has to be airtight. Two people hitting "book the 3 PM slot" at the same moment will both get a confirmation unless the database locks the slot for the first one before saving the booking. WebTwizz reserves slots that way in Supabase. A naive AI builder checks first and saves second, which leaves a gap where two bookings slip through under any real load.
Time zones are everywhere. Store every slot in universal time (UTC) and convert to the customer's local time only on screen. Store each person's time zone by place (America/New_York, not "EST") so daylight saving changes work. Never rely on the browser's current offset for storage, it changes twice a year.
Double-booking from external calendars. If your provider uses Google Calendar, your app needs to hear about new events on their calendar and mark those slots unavailable. Otherwise the customer books a slot the provider already gave away in their personal calendar. WebTwizz sets up that Google Calendar connection correctly; it has three separate pieces to get right.
Cancellation windows. "No cancellations within 24 hours" needs to be enforced on the server based on the slot's universal time, not the user's clock. Easy to miss; expensive when missed.