# Booking Statuses (/docs/bookings/statuses)



Every booking in Resytech moves through a series of statuses that reflect its lifecycle. Statuses control visibility, reporting, and trigger automated workflows.

Status Types [#status-types]

Resytech uses four core booking statuses:

| Status        | Internal Value | Description                                                                                                          |
| ------------- | -------------- | -------------------------------------------------------------------------------------------------------------------- |
| **Draft**     | `draft`        | A preliminary booking that is not yet visible to the customer. Drafts do not hold capacity or trigger notifications. |
| **Pending**   | `pending`      | The booking has been created but not yet confirmed. Typically awaiting payment or manual approval.                   |
| **Confirmed** | `confirmed`    | The booking is confirmed and the customer is expected. This is the standard "active" state.                          |
| **Canceled**  | `canceled`     | The booking has been canceled and is no longer active.                                                               |

Draft [#draft]

Draft bookings are used when you want to prepare a booking without committing to it. Drafts:

* Do not send any customer notifications
* Are not included in capacity calculations
* Can be promoted to pending or confirmed when ready
* Are useful for tentative holds or bookings being prepared by staff

Pending [#pending]

The booking has been created but not yet confirmed. This may mean:

* Payment hasn't been received
* Manual approval is required
* The booking was just created and needs review
* An invoice has been sent and is awaiting payment

Pending bookings can be configured with [auto-expire rules](/docs/bookings/editing-bookings#auto-expire-settings) to automatically cancel if not confirmed within a set time window.

Confirmed [#confirmed]

The booking is confirmed and the customer is expected. This is the standard "active" state. Confirmed bookings:

* Are included in capacity calculations and availability checks
* Appear prominently on the calendar
* Trigger confirmation notifications to the customer (if configured)

Canceled [#canceled]

The booking has been canceled. Cancellation can be initiated by:

* The customer (through the self-service booking management portal, subject to cancellation policy rules)
* Staff (from the dashboard)
* The system (via auto-expire rules)

When a booking is canceled, the system records:

* **Reason** — why the booking was canceled
* **Canceled by** — who initiated the cancellation (customer, staff member, or system)
* **Refund processed** — whether a refund was issued
* **Refund amount** — the amount refunded
* **Refund method** — how the refund was processed
* **Trip protection** — whether the customer had trip protection and the coverage amount

Canceled bookings release their capacity back to the schedule and can trigger refund workflows depending on your cancellation policy.

Status Transitions [#status-transitions]

The typical booking lifecycle follows this flow:

```
Draft --> Pending --> Confirmed --> (experience takes place)
                  \-> Canceled
           Pending --> Canceled (via auto-expire or manual)
         Confirmed --> Canceled
```

Any status can transition to any other status from the dashboard. There are no hard restrictions on transitions — staff have full control. However, each transition is logged in the audit trail.

Changing Status [#changing-status]

To change a booking's status:

1. Open the booking detail view
2. Click the current status badge in the header
3. The **Change Status** dialog opens
4. Select the new status
5. Confirm the change

Status changes are recorded as `status_change` events in the booking's event log, capturing both the old status and the new status.

Status changes can trigger automated workflows if configured. See [Marketing & Automation](/docs/marketing) for details on setting up workflow triggers.

Auto-Expire [#auto-expire]

Bookings can be configured to automatically change status after a set period. This is managed from the **Auto-Expire** tab in the booking detail:

| Setting             | Description                                                          |
| ------------------- | -------------------------------------------------------------------- |
| **Expire date**     | The UTC datetime when the booking should automatically transition    |
| **Target status**   | The status to move to when the timer fires (typically "canceled")    |
| **Notify customer** | Whether to send the customer a notification when the booking expires |

When a booking auto-expires, it is logged as an `expired` event in the audit trail. Changes to auto-expire settings are logged as `auto_expire_change` events.

Auto-expire is commonly used for:

* Pending bookings awaiting payment — cancel after 48 hours if no payment is received
* Draft bookings — clean up drafts that were never finalized
* Hold-and-release workflows — temporarily hold capacity and release it if the customer does not confirm

Invoice-Driven Confirmation [#invoice-driven-confirmation]

Invoices can be configured with a **Confirm on Pay** flag. When enabled, the booking automatically transitions to "confirmed" when the invoice is paid. This creates a seamless flow:

1. Staff creates a booking in "pending" status
2. Staff sends an invoice to the customer
3. Customer pays the invoice
4. Booking automatically moves to "confirmed"
5. Confirmation notification is sent to the customer

Filtering by Status [#filtering-by-status]

Use the status filter on the calendar or booking list to quickly find bookings in a specific state. This is useful for:

* Reviewing pending bookings that need confirmation
* Finding drafts that need to be finalized or cleaned up
* Auditing canceled bookings for refund processing
* Viewing only confirmed bookings for operational planning

Customer Self-Service Cancellation [#customer-self-service-cancellation]

If enabled in your location's customer booking management settings, customers can cancel their own bookings through the self-service portal:

| Setting                         | Description                                                                        |
| ------------------------------- | ---------------------------------------------------------------------------------- |
| **Allow cancellation**          | Master toggle for customer self-service cancellation                               |
| **Cancellation window (hours)** | Minimum number of hours before the booking start time that cancellation is allowed |

Related How-To Guides [#related-how-to-guides]

* [Update Booking Status](/how-to/bookings/update-booking-status)
* [Create a Booking](/how-to/bookings/create-a-booking)
* [Send Booking Invoice](/how-to/bookings/send-booking-invoice)
* [Reschedule a Booking](/how-to/bookings/reschedule-a-booking)
