Bookings is the hub for managing your schedule. It gives you four views of the same booking data (list, calendar, resource calendar, and kanban), a shared toolbar for creating bookings and custom slots, real-time updates when anyone on your team makes a change, and access to booking-wide settings like workflow states and custom statuses.
Getting started
Navigate to Bookings > Bookings from the sidebar. The list view opens by default. Use the view switcher in the toolbar to switch between views.
How it works
Booking slots are generated from your schedules and represent the time windows customers can book. Each slot has a status (available, booked, blocked, cancelled, etc.) and, once a customer reserves it, is linked to a transaction. The four views all read and write the same underlying booking data — you're just looking at it differently.
| View | Route | Best for |
|---|---|---|
| List | /bookings/list | Compact day-by-day table to scan slots quickly |
| Calendar | /bookings/calendar | Visual grid organized by event across a day |
| Resource calendar | /bookings/resource-calendar | See how rooms, staff, and equipment are allocated |
| Kanban | /bookings/kanban | Track bookings through your team's workflow |
Shared across views: the toolbar (create, cart, gear menu, view switcher, date navigation), the booking drawer that opens when you click a slot, real-time updates via WebSocket, and the hub-level modals for workflow states, bulk actions, and booking slot settings.
Reference
Slot statuses
| Status | Key | Default color | Meaning |
|---|---|---|---|
| Available | available | White | Open for booking |
| Booked | booked | Blue | Reserved and linked to a transaction |
| Completed | completed | Green | Event has finished |
| Blocked | blocked | Red | Manually or automatically blocked; not bookable |
| Cancelled | cancelled | Bright red | Reservation cancelled |
| Expired | expired | Gray | Past its start time without being completed (also shown as "Passed") |
| Call to book | call_to_book | Orange | Customer must call to book (not self-serve) |
| Checked in | checked | Orange | Customer checked in but no booking on record |
| Incomplete booking | (derived) | Warning yellow | Slot shows booked but has no linked transaction due to processing issues. Rare; contact support to restore |
Custom statuses live alongside these built-ins and are managed from Booking slot settings. Slots with a custom status are exempt from autoblocking rules and are hidden from the customer-facing booking site.
About Incomplete bookings: these aren't a normal status you set — they happen when a booking's transaction fails to create properly. The slot stays stuck on booked but with no transaction_id. It's rare; if you encounter one, contact support to get the slot restored to a clean state.
Toolbar actions (shared across views)
| Element | Purpose |
|---|---|
| Create new dropdown | Create a standard booking, custom time slot, or custom resource slot |
| View switcher | Switch between List, Event calendar, Resource calendar, Kanban |
| Cart button | Shown when cart is non-empty with the current item count; clicking opens the cart |
| Gear menu | Bulk actions, Booking slot settings, Workflow states, display toggles |
| Filter panel | Event and status filters (per view) |
| Date navigation | Previous day, Next day, Today, date picker |
Gear menu options
| Option | Description |
|---|---|
| Bulk actions | Apply the same change to many slots at once (see Bulk actions below) |
| Booking slot settings | Opens a right-side drawer with default status colors, custom statuses, customer-field rules, and internal booking fields |
| Calendar settings | Display preferences for the calendar view (Calendar view only) |
| Workflow states | Define kanban columns |
| Show / Hide schedule name | Toggle schedule name on each slot |
| Show / Hide staff | Toggle assigned staff on each slot |
Bulk actions
The bulk actions modal applies one change to every slot that matches your filter (available, blocked, or call-to-book). Booked slots are not affected. Available actions:
| Action | What it does |
|---|---|
| Change slot status to "Available" | Sets each matching slot's status; a sub-dropdown picks the target status |
| Change minimum booking notice | Sets how close to the slot time a customer can still book; takes a value plus period (minutes, hours, days, weeks, months, years) |
| Change maximum booking in advance | Sets how far in advance a customer can book; same value + period input |
| Clear resource assignments | Removes all resource assignments; optional Attempt reassignment to resource slots checkbox |
| Add a booking note | Attaches a note to each matching slot |
| Change slot pricing | Updates pricing across matching slots |
Workflow states
Workflow states drive the Kanban view's columns. Manage them from Gear > Workflow states.
| Field | Description |
|---|---|
| Name | Required, up to 100 characters (e.g., "Needs GM assigned", "Briefing") |
| Description | Optional, up to 255 characters |
| Color | Pick from color swatches or the color picker |
| Icon | Optional icon from the icon grid, displayed alongside the name |
Drag the state rows by the handle to reorder. Use the three-dot menu on any row for Edit or Archive. Archiving a state removes it from the Kanban view but keeps any historical assignments.
Booking slot settings
Opens from Gear > Booking slot settings as a right-side drawer. Four collapsible sections (only the first is open by default; each header shows a count or status badge):
- Default statuses: override the colors used for built-in statuses (Available, Booked, Completed, Blocked, Cancelled, Expired, Call to book, Checked in). Each row shows a color dot, the status name, background color picker, and text color picker, with a reset icon if you've changed the default. The header shows "X modified" when any default has been overridden.
- Custom statuses: create your own statuses (e.g., "Checked in", "No-show"). Slots with a custom status are exempt from autoblocking rules and do not appear on the customer-facing booking site. Each custom status has a Status name, Background color, and Text color. The header badge shows the current count.
- Customer fields: rules for the built-in contact fields collected with every booking. Contains the Require phone number on staff-created bookings toggle (off by default). When on, the phone field is marked required on every internal booking and customer-edit form, the form blocks saves without a phone, and the server rejects the request too. Public booking pages are not affected; their phone rules still come from the booking site settings. The header badge shows "X required" when any rule is on.
- Internal booking fields: attach custom fields from Settings > Custom fields that staff fill in when creating a booking from the console. Drag to reorder, toggle Required per field. Does not affect the public booking site. The header badge shows the current count.
Click Save at the bottom to apply changes across all sections, or Cancel to close without saving.
Step-by-step guide
Create a booking
- Click the Create new dropdown in the toolbar
- Select Booking to create a reservation on an existing slot
- Or select Custom time slot to create a one-off slot outside your regular schedule
- Or select Custom resource slot to manually block out a resource for a specific time
- Fill in the form and save
If internal custom fields are configured, an Additional info section appears between customer details and payment options. Required fields block submission; unchecked checkboxes are saved explicitly as "No".
If Require phone number on staff-created bookings is on in Booking slot settings, the phone field is marked with a red asterisk across every internal booking form. Staff cannot save without a phone number, and an inline error appears under the field. The rule applies to the calendar drawer, the kanban drawer, the legacy calendar page, the legacy bookings list, the new transaction page, and the customer-edit drawers used during booking and on the transaction details customer tab. Item-only and gift-card-only transactions on the new transaction page are unaffected because the rule only kicks in when a booking is in the cart.
Switch views
- Click a button in the view switcher in the toolbar
- Your selected view persists while you navigate between dates
Navigate dates
- Use the Previous and Next arrows to move one day at a time
- Click Today to jump back to the current date
- Click the date picker to jump to a specific date
Apply bulk actions
- Open the gear menu and select Bulk actions
- Pick an action from the dropdown
- Fill in the action-specific fields (target status, value + period, note, etc.)
- Set the date range to apply the action across
- Review the summary and save
Bulk actions run on every matching slot in the selected range. They never overwrite booked slots.
Set up workflow states for the Kanban view
- Open the gear menu and select Workflow states
- Click Add state
- Enter a Name, optional Description, pick a Color, and (optionally) an Icon
- Click Create
- Drag rows by the handle to reorder. Use the three-dot menu for Edit or Archive
Attach internal custom fields to bookings
- Open the gear menu and select Booking slot settings
- Expand the Internal booking fields section
- Add fields from your custom fields library
- Drag to reorder, toggle Required where needed
- Click Save
Staff creating bookings from the console will now see these fields in the Additional info section of the booking form.
Require phone on staff-created bookings
- Open the gear menu and select Booking slot settings
- Expand the Customer fields section
- Toggle Require phone number on staff-created bookings on
- Click Save
From that moment on, every internal booking form marks the phone field with a red asterisk. Staff cannot save a booking without a phone number, and the server rejects requests missing a phone too. The public booking site is not affected.
Open a booking
- Click on any booking slot in any view
- The booking drawer opens with full details, notes, activity log, and actions (edit, reschedule, collect payment, add notes, cancel)
Go to the cart
- Click the Cart button in the toolbar (shown only when the cart has items)
- The cart page opens with the items you've added for checkout
Good to know
- All four views show the same booking data. Switching views does not filter or change anything; it only changes the presentation.
- Changes made by anyone on your team appear in real time via a WebSocket connection. You don't need to refresh the page.
- The Kanban view requires workflow states to be configured. Without them, you'll see an empty state. Other views work immediately.
- Custom statuses are exempt from autoblocking rules and do not show on the public booking site. Use them for internal tracking like "No-show" or "VIP".
- Internal custom field responses are hidden from customer-facing emails and downloadable invoices. Only responses customers enter themselves on the public booking site are shown to customers.
- Bulk actions never overwrite booked slots. They only apply to available, blocked, or call-to-book slots.
- The Show / Hide schedule name and Show / Hide staff toggles in the gear menu persist per user.
- Require phone number on staff-created bookings applies only to internal booking flows (calendar drawer, kanban drawer, legacy calendar, legacy list, new transaction page, customer-edit drawers, and the customer tab on the transaction details page). Public booking pages use their own phone rules configured in the booking site settings.
- Item-only and gift-card-only transactions on the new transaction page are not subject to the required-phone rule because the rule only applies when a booking is in the cart.
FAQ
Q: Which view should I use?
A: Most teams use the calendar view for daily operations, the list view for quick scanning, the resource calendar when managing room or staff assignments, and the kanban view for tracking bookings through a workflow. All four share the same data and actions, so you can switch freely.
Q: Can I use different views for different tasks?
A: Yes. Switch freely between views at any time. Your bookings, filters, and selected date carry over.
Q: Where do internal booking fields show up?
A: In the Additional info section of the booking form when staff create a booking from the console. Customers on the public booking site never see internal fields. Fields only appear if your admin has attached them in Booking slot settings.
Q: Are internal field responses included in customer emails and invoices?
A: No. Anything staff enter in Additional info is hidden from customer-facing emails and downloadable invoices. Only responses customers enter themselves on the public booking site are shown to customers.
Q: What happens to bookings when I delete a workflow state?
A: Archiving a state removes it from the Kanban view. Bookings that were assigned to that state return to the Unassigned column. Historical activity-log entries are preserved.
Q: Does Require phone number on staff-created bookings also affect the public booking site?
A: No. The setting only applies to bookings staff create from inside the console. Your public booking pages use their own phone rules set in the booking site settings.
Q: What happens if a staff member tries to save a booking without a phone number when the rule is on?
A: The form blocks the save and shows an inline error under the phone field. The server rejects the request as well, so a missing number cannot slip through even via direct API calls.
Q: Does the required-phone rule apply to gift card or merchandise sales?
A: No. On the new transaction page, the rule only kicks in when a booking is in the cart. Item-only and gift-card-only transactions are unaffected.
Q: Can I bulk-change booked slots?
A: No. Bulk actions only apply to available, blocked, and call-to-book slots. Booked slots must be modified individually through the booking drawer so you can handle refunds, rescheduling, and customer notifications properly.