What this prompt does
This prompt designs a complete booking and appointment scheduling system tailored to your [business_type], from the availability calendar through to the admin schedule view. You describe the booking [complexity] (single vs. multiple service types, multiple providers, session lengths) and the [integrations] you need, and it generates every screen in the flow: calendar, time slot picker, booking form, confirmation, manage-booking, admin view, recurring bookings, and finally [framework] code for the calendar and confirmation flow.
The structure works because it front-loads the logic that quietly breaks real booking systems. It enforces timezone auto-detection and always displays the user's timezone, it hides past dates, and it prevents double-bookings outright. The [slot_duration] variable sets the increment for the time slot picker (30-minute, 60-minute, and so on), while buffer time between appointments is surfaced as a first-class concern rather than an afterthought. Pinning down slot, buffer, and confirmation rules before any code is written is exactly what keeps the implementation from becoming a tangle of edge cases.
When to use it
- You are building a consulting, clinic, salon, or services site that takes appointments
- You need timezone handling done right for clients booking across regions
- You want buffer times and double-booking prevention designed before you touch React
- You need calendar invite generation for Google, Apple, and Outlook
- You support recurring bookings (weekly, biweekly, monthly) with individual cancellation
- You need an admin view for managing daily schedules and blocking time off
Example output
You get a screen-by-screen specification for the eight components, each describing layout, states, and the rules behind it (available slots in green, unavailable in gray, the selected slot in your brand accent). The final section returns [framework] code for the availability calendar wired to the time slot picker and a working confirmation flow, including calendar-add buttons for the major providers.
Pro tips
- Describe
[complexity]concretely ("3 providers, 30/60/90 min sessions") so the slot logic matches reality - List only the
[integrations]you will actually wire up; each one the AI designs for adds surface area - Set
[slot_duration]to your real increment so buffer math and the picker grid line up - Name your
[framework]and date library explicitly (React + date-fns) so the generated code is usable as-is - Ask for the double-booking guard logic to be spelled out server-side; the UI alone cannot prevent races
- Treat the timezone display as non-negotiable and verify it against a user in another region before launch