> ## Documentation Index
> Fetch the complete documentation index at: https://docs.book2befit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bookings

> Manage client bookings: from creation to cancellation, waitlist promotion, and attendance tracking.

A booking connects a client to a session. Bookings can be created by you from the dashboard or by clients themselves from the public booking page.

## Creating a booking manually

Go to **Bookings** and click **Create booking**.

| Field        | Notes                                                    |
| ------------ | -------------------------------------------------------- |
| Session      | Required. Only scheduled (upcoming) sessions are shown.  |
| Client email | Required. Enter the email address of the client to book. |
| Notes        | Optional internal notes, not visible to the client.      |

Click **Create booking** to confirm. A confirmation email is sent to the client automatically.

<Note>
  You can also create a booking directly from a client's profile. Open the client in **Clients**, go to their **Bookings** tab, and use the booking action there.
</Note>

## Booking detail panel

Click any booking row to open the detail panel. It shows:

| Field               | Description                                           |
| ------------------- | ----------------------------------------------------- |
| Booking reference   | Unique reference code (click to copy)                 |
| Status              | Current booking status (see below)                    |
| Payment status      | Paid · Pending · Free                                 |
| Activity            | The activity the session belongs to                   |
| Location            | Where the session takes place                         |
| Date / time         | Session start time in the location's timezone         |
| Check-in            | Timestamp of when the client checked in (if they did) |
| Payment method      | How the client paid                                   |
| Price               | Amount charged                                        |
| Credit pass         | The pass or membership used, if applicable            |
| Notes               | Internal notes added at time of booking               |
| Cancellation reason | Shown if the booking was cancelled                    |
| Confirmation email  | Whether a confirmation email was sent                 |

## Booking statuses

| Status     | Meaning                                                                                                                                                                   |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Confirmed  | Booking is active. Stays **Confirmed** until the session ends (or the client is checked in / the booking is cancelled).                                                   |
| Waitlisted | Session was full; client is on the waitlist                                                                                                                               |
| Attended   | Client was checked in for the session                                                                                                                                     |
| No-show    | Session has ended and the client was **not** checked in. This status is assigned **automatically** by a scheduled job (about every 15 minutes) — no staff action required |
| Cancelled  | Booking was cancelled by the organization or the client                                                                                                                   |

## Cancelling a booking

Open the booking in the detail panel and click **Cancel booking**. You can optionally enter a cancellation reason — this is stored on the booking and visible in the detail panel.

Cancelling sends a cancellation email to the client.

### Auto-refund on cancellation

If **Auto-refund on cancellation** is enabled for the location (under **Locations → General**) and Stripe is connected, a refund is submitted automatically when a booking is cancelled. If the refund fails, you will see an error and can process it manually in Stripe.

## Waitlist promotion

When a booking on a full session is cancelled, the first client on the waitlist is promoted automatically:

* They receive an email that a spot has opened and must confirm the booking.
* For free sessions, the booking is confirmed immediately.
* For paid sessions, the client must complete payment to secure the spot.
* Their waitlist entry is removed and the session booking count updates.

## Attendance tracking

Attendance is recorded via the **Check-in** flow, not from the Bookings page directly. When a client is checked in (by QR code, manually, or via a kiosk), a check-in timestamp is recorded on their booking and the status updates to **Attended**.

If the session ends and there is **no** check-in timestamp, the booking is updated automatically to **No-show** (again, no manual step on your side). Checked-in clients are never marked no-show.

Attendance and no-show data feed into the **Analytics** dashboard (for example check-in rate and no-show rate).

See [Check-in & Kiosks](/core-features/checkin) for details.

## Filtering and search

| Filter         | Options                                                       |
| -------------- | ------------------------------------------------------------- |
| Date           | All Dates · Today · Upcoming · Past                           |
| Sort           | Date latest/earliest first · Client A–Z / Z–A                 |
| Status         | All · Confirmed · Waitlisted · Attended · No-show · Cancelled |
| Payment status | All · Paid · Pending · Free                                   |

Use the search bar to find bookings by client name, activity name, or booking reference.

<Accordion title="What happens if I try to book a full session?">
  The booking will fail with a "session is full" error. You can add the client to the waitlist instead — open the session from the Sessions page and manage the waitlist from there.
</Accordion>

<Accordion title="Can I book a client who doesn't have an account yet?">
  Yes. Enter the client's email address when creating the booking. If no account exists for that email, the client can still receive the confirmation email and create an account later to manage their booking from the portal.
</Accordion>
