Collect guest availability across timezones. Hosts create booking requests with date/time constraints, guests pick a slot, and hosts review everything from an admin dashboard.
- Go to
/newand fill in your name, timezone, date range, and time windows - Share the generated guest link — guests see the time slots converted to their local timezone
- Use the admin link to review submissions
- Go to
/new/groupto create a group event with an event title, hosts, date range, time windows, and slot duration - Share the guest link — guests pick an available slot and enter their name and email to book it
- Use the admin link for a live dashboard with booking stats, a schedule grid, and a table of all bookings
| Route | Description |
|---|---|
/new |
Create an individual availability request |
/new/group |
Create a group slot booking |
/r/<token> |
Guest availability form |
/g/<token> |
Guest slot booking page |
/r/<token>?admin=<adminToken> |
Individual admin view |
/g/<token>?admin=<adminToken> |
Group admin dashboard |
- Install dependencies:
npm install - Start the dev server:
npm run dev - Open
http://localhost:8787/new
npm run deployOptional:
NOTIFY_WEBHOOK_URL— If set, the worker POSTs a JSON payload when a guest submits availability or books a slot.
This project uses a single Durable Object class:
AvailabilityRequest— one instance per request, stores request config, submissions, and bookings

