Managing bookings
A booking is a held slot with a life of its own: it confirms (or waits for payment), reminds the client, survives a reschedule, and cancels cleanly. This page is what happens after the calendar fills.
Booking statuses
| Status | Meaning |
|---|---|
| Pending | The slot is held but payment hasn't confirmed yet — this only happens when you require a deposit or full payment. The moment Stripe's webhook confirms the payment, the booking flips to confirmed and the client record and project are created. A payment that never arrives releases the hold: the daily sweep cancels unpaid pending bookings about a day after they were made. |
| Confirmed | A live booking. It counts against your availability, gets reminders, and can be rescheduled or canceled. |
| Canceled | Over either way. The slot is open again immediately, the row stays for the record, and the calendar day shows a struck-through count instead of a pill. A canceled booking can't be rescheduled. |
The calendar's day panel also shows the payment state on each booking: unpaid, deposit, or paid.
What a confirmed booking creates
- A client record, keyed by email — when the same person books again, the new work joins their existing client.
- A project in Booked with the session as its event date, ready on the pipeline (it advances to Snapping on the day automatically).
- An open lead with the same email is marked converted, so your inbox never shows the same person twice.
You get an email for every booking, and the calendar picks it up on its next refresh — no manual syncing anywhere.
Reminders
Reminders are on by default: one email 24 hours before each session, sent by the daily pass. Pick a preset in Calendar → Availability → Reminders — 24 hours, 24 + 1, 48, 12, 4, or 72 hours before — and optionally add yourself as a recipient. The rules the engine enforces:
- Each reminder sends exactly once, even if the daily run overlaps itself.
- Nothing is ever sent after the session has started.
- Because reminders ride the daily 6:00 UTC pass, one may land a few hours early when the timing straddles the run.
- The client email is branded in your accent and carries the calendar invite (.ics) as a real attachment.
Note: Every client booking email carries the invite: the confirmation (paid and free bookings alike), the reschedule notice as an update of the same event, and each reminder. Edit the copy under Templates → Emails.
The client's manage page
Every confirmation email includes a Manage your booking link — a private, studio-branded page showing the session type, the time, and the payment state. From it a client can reschedule by picking a new slot from the same calendar your booking page uses (their own slot never blocks its neighbors), or cancel. Inside your cutoff windows the page points them at your contact email instead.
You control the link from the calendar's day panel: turn it off — it stops working immediately — or issue a fresh one, which kills the old link and copies the new to your clipboard. A dead link shows a calm branded page telling the client to contact you, never an error.
Reschedules and cancellations
A reschedule moves the booking in place: same booking, a "moved from" note on the calendar, the linked project's event date follows, and any payment carries over — a paid deposit is never re-charged. Client and studio are emailed with the updated invite. A cancellation frees the slot instantly, emails client and studio, and deliberately leaves the linked project untouched — what happens to it is your call on the pipeline.
Cutoffs and refunds