---
title: Instructor Availability & Bookable Sessions
slug: instructor-availability-and-bookable-sessions
docTags: 
createdAt: 2026-07-22T23:29:33.036Z
---

:::hint{type="info"}
**Beta feature.** This lets instructors declare open weekly windows and members book a specific dated session into one of those windows — instead of a fixed weekly class time. It's an alternative scheduling model that coexists with regular fixed-schedule classes.
:::

## 🔧 How It Works

Two use cases are supported:

- **1-to-1 sessions** — an instructor opens a window (e.g. Monday 9:00–10:00), and one member books a specific date inside it.
- **Group-bookable slot classes** — a window can allow multiple parallel sessions, and each session can hold multiple students up to the class's own capacity.

This is different from a normal recurring class: instead of every student sharing the same weekly time, each member picks the date and time that works for them, drawn from the instructor's declared availability.

***

## ⚙️ Enabling It

Go to **Attendance → Settings → Instructor Availability Scheduling**:

| Setting                         | What it does                                                                                                           |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Bookable Class Session**      | Master switch. Turns on the "Book a Session" flow for members and unlocks the **Scheduling** option on the class form. |
| **Require instructor approval** | When on, a booking only takes effect after the instructor approves it.                                                 |
| **Require admin approval**      | When on, a booking only takes effect after an admin approves it.                                                       |
| **Booking window (days ahead)** | How far into the future members can see and book slots (1–90 days, default 30).                                        |

:::hint{type="info"}
If either approval setting is on, a booking goes to a single pending-review step (not two separate ones) — the instructor already declared the time free by creating the availability window, so it isn't reviewed twice.
:::

### Setting a class to bookable-slot scheduling

With **Bookable Class Session** turned on, the Add/Edit Class form gains a **Scheduling** choice:

| Option             | Behaviour                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Fixed weekly**   | The class runs at the same day and time every week (default, unchanged behaviour).                                                                                                                                                                                                                                                                                            |
| **Bookable slots** | The class has no fixed weekly time — members book a dated session from the instructor's declared availability instead. The Day of Week field is hidden (real days come from the instructor's availability, not the class), and Start/End time is replaced by a single **Session Duration (minutes)** field — how long each booked session runs, not a real weekly commitment. |

The class's existing **Max Students** field still controls how many students can join the same booked session (leave at 1 for a pure 1-to-1 setup).

:::hint{type="warning"}
Switching an existing class between Fixed weekly and Bookable slots changes how its students attend going forward — do this deliberately, ideally between billing periods, not mid-cycle.
:::

***

## 📅 Instructor: Setting Weekly Availability

Instructors manage their free windows from a dedicated **Availability** tab on their profile page — visible to the instructor themselves, and to admins/team managing that instructor. This tab appears whenever **either** Bookable Class Session **or** the "Book from instructor availability" replacement setting (below) is turned on — the two features share the same underlying availability data but can be enabled independently.

Two views (toggle top-right):

- **Calendar** — a weekly timeline grid (same style as the main Calendar). Click an empty cell to add a window; click an existing block to edit it. The instructor's **existing fixed-schedule classes** also appear here as greyed-out, read-only blocks, so they can see their real weekly commitments while deciding when to declare themselves free — these blocks aren't editable from this screen.
- **List** — each window shown as a row with day, time range, and any parallel-booking limit.

### Adding a window

Click **Add Window** and fill in:

- **Day of week**
- **Start time / End time**
- **Max parallel bookings** — how many different sessions the instructor can run at once in this window. Leave at 1 unless the instructor genuinely teaches multiple sessions in parallel — a single session's own seat count is set on the class itself, not here.

### Exceptions and one-off dates

Below the weekly grid, an **Upcoming Exceptions** list lets you override specific dates:

- Click the calendar icon on an existing window to **override its hours or capacity for one date**, or mark it **cancelled** for that date (no bookings allowed).
- Click **Add One-off Date** to add a **bonus availability date** outside the normal weekly pattern.

***

## 📲 Member: Booking a Session

Members enrolled in a bookable-slot class see a **Book a Session** card on their Attendance page (My Attendance). Tapping **+ Book** opens the booking flow:

1. **Pick a date** — only dates with at least one open slot are shown, browsable by month.
2. **Pick a time** — each open slot shows its time range, with a **"N left"** badge if the session has limited capacity.
3. Confirm the summary and tap **Book Session**.

If approval is required, the member sees a confirmation that the booking is **awaiting confirmation** rather than instantly confirmed. If someone else books the same slot first, the member is prompted to pick another time.

### My Bookings

The **Book a Session** card also shows a **My bookings** list of the member's own recent bookings, each with a status:

| Status        | Meaning                                                                                                      |
| ------------- | ------------------------------------------------------------------------------------------------------------ |
| **Confirmed** | The session is locked in — no approval needed, or approval has already been given.                           |
| **Pending**   | Awaiting instructor or admin confirmation.                                                                   |
| **Cancelled** | The booking was declined, or the session was otherwise cancelled — the slot has been freed for someone else. |

Members also get an email at each stage: when their booking needs confirmation is submitted, when it's confirmed, and if it's declined (with the reviewer's reason, if one was given).

:::hint{type="warning"}
This feature is currently **web only** — there is no mobile app support yet for booking or managing availability.
:::

***

## ✅ Reviewing Bookings

When instructor or admin approval is required, pending bookings appear under **Attendance → Bookings**. Each entry shows the class, date, time, location, and booked student(s).

- **Confirm** — the booking is finalized and the member is notified (in-app, push, and email).
- **Decline** — optionally add a reason shown to the member; the slot is freed for someone else to book.

Who sees this tab depends on which approval setting is on:

- **Require admin approval** on → admins and team members (with attendance permissions) see the Bookings tab.
- **Require instructor approval** on → the **assigned instructor** for each class also sees the Bookings tab, scoped to just their own classes — they review and confirm their own students' bookings directly, without needing an admin.

### Availability overview

A third sub-tab, **Availability**, shows a cross-instructor "who's free when" grid for a selected week — each row is an instructor, showing their free windows, fixed-class commitments, and already-booked sessions side by side. Useful for spotting scheduling conflicts or free capacity across your whole team at a glance, without opening each instructor's profile individually. Click an instructor's row label to filter the grid to just them.

→ See [Attendance](docId:5D3FSbm6OHy7r7eZnrzu_) for how the Bookings tab fits into the wider Attendance page.

***

## 🔁 Related: Booking a Replacement from Availability

A separate setting, **"Book from instructor availability"** under **Replacement Classes**, lets a member pick a *replacement* session (for a missed regular class) from an instructor's declared availability. It reuses the same weekly-availability data but serves a different purpose — booking a one-off makeup session for a **Fixed weekly** class, not the class's primary attendance mechanism. It has its own admin-approval toggle, separate from the settings above, and only makes sense for Fixed weekly classes — a Bookable slots class has no fixed session to miss in the first place.

→ See [Replacement Requests](docId:5D3FSbm6OHy7r7eZnrzu_)
