Skip to main content
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

StatusWhat it meansBlocks the slot?
PendingA 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.
ConfirmedActive 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.
CanceledThe booker or host canceled. Calendar event is removed, reminders are unscheduled, a cancellation email is sent. The slot frees up immediately.No.
RescheduledThe 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.
CompletedThe booking's end time has passed without cancellation. Used by analytics.

How a booking happens

  1. 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.
  2. 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.
  3. For free event types: status starts as Confirmed immediately.
  4. 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.