Docs
Bookings & statuses
Each booking is a row in the database with one of five statuses. Here's what each one means and how transitions happen.
Statuses
| Status | What it means | Blocks the slot? |
|---|---|---|
| Pending | A booking that requires payment but hasn't been paid yet. We hold the slot while the booker finishes Stripe / PayPal checkout. | Yes — the slot is reserved. |
| Confirmed | Active and on your calendar. Reminders are scheduled. This is the default state for free event types and the post-payment state for paid ones. | Yes. |
| Canceled | The booker or host canceled. Calendar event is removed, reminders are unscheduled, a cancellation email is sent. The slot frees up immediately. | No. |
| Rescheduled | The booker chose a new time. The original row is kept for history (with status = Rescheduled) and a new Confirmed row is created pointing back to it. | No. |
| Completed | The booking's end time has passed without cancellation. Used by analytics. | — |
How a booking happens
- Booker picks a slot on your public page. We re-validate availability server-side and acquire a short lock so two people can't race for the same slot.
- If the event type is paid: we create the booking as Pending and redirect to Stripe/PayPal. On webhook success the status flips to Confirmed.
- For free event types: status starts as Confirmed immediately.
- We create the calendar event on your connected calendar, the video meeting if configured, and schedule reminders.
Cancel & reschedule (booker side)
The booker gets a confirmation email with one-click cancel + reschedule links. These links carry a unique signed token, so they work without the booker needing an account.
Cancel & reschedule (host side)
From Dashboard → Bookings → [a booking]:
- Reschedule — opens the calendar picker; choose a new time. The original booking moves to Rescheduled and a new Confirmed booking is created.
- Cancel — sends a cancellation email to the booker, removes the calendar event + video meeting, cancels scheduled reminders, and kicks off the waitlist auto-promote if anyone is queued.
No-shows
On Pro, after a booking ends you can mark it as a no-show from the booking detail page. This feeds the no-show rate analytic. We don't auto-block repeat offenders in v1 — the metric is for awareness.
Refunds
Paid bookings can be partially or fully refunded from the booking detail page. See Refunds & no-shows for the flow.