The calendar view shows the day as a visual grid. Each column is an event (or resource), and each cell is a time slot. It's the most popular view for daily operations because you can see your whole schedule at once and act on any slot. The view is powered by FullCalendar.
Getting started
Navigate to Bookings > Bookings from the sidebar, then click the calendar icon in the view switcher (or go directly to /bookings/calendar).
How it works
Columns represent the events and resources you've chosen to show; rows are time. Booked cells show customer details; available cells stay empty. You can reorder columns, filter by status, and adjust display settings per user.
The gear menu in the toolbar is the entry point for the most powerful actions on the calendar: bulk-update many slots, configure custom statuses and color overrides, define workflow states for the kanban view, and toggle staff visibility on slots.
The calendar uses the FullCalendar library, so it supports smooth scrolling, automatic layout, and fine-grained time slot rendering. Your column order and visibility persist between sessions.
Step-by-step guide
Navigate dates
- Use the Previous and Next arrows in the toolbar 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
Choose and reorder columns
- Click the Events and resources button in the toolbar
- Use checkboxes to show or hide individual events/resources
- On desktop, drag the handle on the right of each row to reorder the columns
- Close the popover; the grid updates immediately and your order persists
Filter by status
- Click the Status button in the toolbar
- Pick one or more statuses from the dropdown
- Click Apply
- Click Reset in the popover (or the small X on the Status button) to clear
Book a slot from the calendar
- Click any empty cell in the grid in the column for the event you want
- The Create a new time slot for [event] modal opens
- Set the date, start time, end time, status, pricing, and any notes
- Click Create to save the slot
This creates a one-off booking slot outside your normal schedule. To take a customer's booking and payment for the slot, see Creating a booking; that article covers the full booking flow including customer details, ticket selection, payment, and waiver attachment.
If you click an empty cell in a resource column (rather than an event column), the Create resource slot drawer opens instead; use that to add resource availability.
Open and act on an existing slot
Click any booked or scheduled cell and the Booking drawer slides in from the right. The calendar stays visible underneath, so you don't lose your place mid-task. The drawer is the unified detail and edit surface shared across all four bookings views; see the Booking drawer article for the full breakdown of every section and sub-view.
For unbooked slots, the drawer opens to the Create booking sub-view when you click Book now on the slot.
Run a bulk action
Open the gear menu and click Bulk actions to open the Bulk update modal. Pick a bulk action from the dropdown (Change slot status, Change minimum booking notice, Change maximum booking in advance, Clear resource assignments, Add a booking note, or Change slot pricing; see the Bulk update modal reference below for what each does), select the events to apply it to, set the Start date and End date that bound the update, optionally toggle the Time range filter for finer control within each day, then click Update slots.
The intro alert in the modal reads: "Bulk actions will update all slots marked as available, blocked, or call to book with the specified action in the selected time frame. All other slots will remain unchanged." Booked, completed, and cancelled slots are never modified by bulk actions.
Open booking slot settings
Open the gear menu and click Booking slot settings. The drawer that opens has three sections: Default statuses (override background and text color for built-in statuses), Custom statuses (add, edit, or delete your own statuses for internal tracking like "No-show" or "Maintenance"), and Customer fields (toggle which built-in customer fields are required when staff create internal bookings, for example Require phone internally). Click Save in the drawer to commit changes.
Custom statuses are exempt from autoblocking rules and hidden from the customer-facing booking site, so use them for internal classification only.
Manage workflow states
Open the gear menu and click Workflow states. The modal opens with the current list of states; drag the handle on any row to reorder them. Click + Add state to create a new one and fill in:
| Field | Description |
|---|---|
| Name | Required, max 100 characters |
| Description | Optional, max 255 characters |
| Color | Pick from the color preset palette or use a custom color picker |
| Icon | Optional. Pick from the icon grid, or click Clear icon to remove |
Click Create to save the new state (or Update when editing an existing one). To edit or archive an existing state, click the dropdown menu on its row and pick Edit or Archive.
Workflow states define the columns shown on the kanban view and the badges that appear next to bookings in every list and calendar view. Each booking can have at most one workflow state at a time.
Toggle staff visibility
- Open the gear menu
- If staff assignments are enabled and currently hidden, click Show staff to make the assigned-staff column visible on the calendar
- If staff are currently shown, click Hide staff to collapse them
The toggle persists at the group level. Show staff / Hide staff only appears when your group has the staff-on-bookings feature enabled.
Adjust the grid layout and calendar behavior
Open the gear menu and select Calendar settings. The settings open as a side drawer on the right of the screen with three sections.
Column and layout (Personal pill — applies only to you)
| Field | Notes |
|---|---|
| Minimum column width on desktop | Toggle. When on, the Minimum column width input appears for a desktop pixel value (50-500) |
| Minimum column width on mobile | Toggle. When on, the Minimum column width input appears for a mobile pixel value |
| Slot height (20-200 pixels) | Numeric input. Increase to fit more booking info in each slot |
Time slot behavior (Personal pill)
| Field | Notes |
|---|---|
| Show schedule name on time slot | Toggle. When on, calendar slots show the schedule name that generated them |
Calendar behavior (Venue-wide pill — applies to everyone at this venue; only visible if you have Configure calendar settings permission)
| Field | Notes |
|---|---|
| Allow drag and drop on desktop | Toggle (on by default). When off, staff cannot drag slots even if they have the booking-slot edit permission |
| Allow drag and drop on mobile | Toggle (off by default). Mobile drags are easy to trigger by accident, so most venues keep this off |
| Snap interval | Segmented toggle: 5 min or 15 min. Only shown when at least one drag toggle is on |
| Always confirm before moving a slot | Toggle (off by default). When on, every drag or resize prompts for confirmation; when off, only booked slots prompt. Only shown when at least one drag toggle is on |
Click Save at the bottom of the drawer. Personal settings save to your user profile; venue-wide policy saves to the group and applies to everyone immediately. Every venue-wide change is recorded in your activity log with a before/after view.
Cancel a booking from the calendar
- Click the booking you want to cancel
- In the slot popover, choose Cancel (or open the three-dot menu on the slot)
- The cancel modal opens. For a standalone booking you'll see:
- A warning that the amount paid must be manually refunded
- A Select status for the freed up time slot dropdown (Available, Blocked, Call to book)
- If waivers are attached: radio options Keep waivers on file or Delete waivers
- For a booking that's part of a public booking shared by multiple groups, the modal title says "Partially cancel booking" and cancellation affects only the selected group
- Click Cancel booking to confirm
Reference
Toolbar
| Element | Purpose |
|---|---|
| Events and resources popover | Checkboxes to show/hide each event or resource; drag the handle on desktop to reorder columns |
| Status popover | Multi-select status filter (Available, Booked, Completed, Blocked, Cancelled, Expired, Call to book, plus custom statuses). Apply / Reset buttons |
| Cart button | Shown when the cart has items; opens the cart page |
| View switcher | Switch to List, Resource calendar, or Kanban |
| Gear menu | Bulk actions, Calendar settings, Booking slot settings, Workflow states, Show/Hide staff |
| Date navigation | Previous / Next arrows, Today button, and a date picker |
The booking drawer
Clicking a booking slides the Booking drawer in from the right of the calendar — the unified detail and edit surface shared across all four bookings views. The drawer renders the same set of collapsible sections (Slot details, Customer, Tickets, Transaction summary, Payments, Custom fields, Customer communication, Waivers, Notes, Staff, Resources, Activity log, etc.) and 11 sub-views (Reschedule, Cancel, Edit tickets, Edit pricing, Edit customer, Edit slot, Collect payment, Notes, Activity log, Send email, Communication history, Create booking) regardless of where you opened it from. See Booking drawer for the full breakdown.
Gear menu
| Option | Permission | Effect |
|---|---|---|
| Bulk actions | booking_slot_update | Opens the Bulk update modal for changing many slots at once |
| Calendar settings | None | Opens the calendar layout settings (column widths, slot height, time slot behavior) |
| Booking slot settings | booking_slot_update | Opens the booking slot settings drawer (default status colors, custom statuses, customer fields) |
| Workflow states | booking_slot_update | Opens the workflow states modal to add, edit, reorder, or archive states. Drives the kanban view's columns |
| Show staff / Hide staff | Visible when staff feature is enabled | Toggles the staff column visibility on the calendar |
Calendar settings drawer
Opens as a side drawer from Gear > Calendar settings. Each section is tagged with a Personal or Venue-wide pill so it's always clear which settings affect only you and which affect everyone at your venue.
Column and layout (Personal)
| Setting | Description |
|---|---|
| Minimum column width on desktop | Toggle + numeric pixel input (50-500). When on, columns keep at least the set width and the grid scrolls horizontally |
| Minimum column width on mobile | Toggle + numeric pixel input |
| Slot height (20-200 pixels) | Numeric input. Increase to fit more info per slot |
Time slot behavior (Personal)
| Setting | Description |
|---|---|
| Show schedule name on time slot | Toggle. When on, calendar slots show the schedule name that generated them |
Calendar behavior (Venue-wide, gated by Configure calendar settings permission)
| Setting | Description |
|---|---|
| Allow drag and drop on desktop | On by default. When off, staff cannot drag slots on the calendar from a desktop browser |
| Allow drag and drop on mobile | Off by default. Mobile drags are easy to trigger by accident |
| Snap interval | Segmented toggle: 5 min or 15 min. Only shown when at least one drag toggle is on |
| Always confirm before moving a slot | When on, every drag or resize prompts for confirmation. When off, only booked slots prompt. Only shown when at least one drag toggle is on |
Footer: Cancel and Save buttons. Personal settings save to your user profile; the Calendar behavior block saves to the group and applies immediately to everyone. Whether a specific staff member can drag at all still depends on their existing booking-slot edit permission — both the venue setting and the user's permission must allow it.
Booking slot settings drawer
| Section | What it controls |
|---|---|
| Default statuses | Background and text color for built-in statuses (Available, Blocked, Call to book) |
| Custom statuses | Add, edit, delete user-defined statuses with name, background color, text color |
| Customer fields | Per-field requirement toggles for staff-created (internal) bookings, e.g. Require phone internally |
Workflow states modal
| Element | What it does |
|---|---|
| Drag handle | Reorder states; the order is reflected on the kanban view |
| + Add state | Open the inline form to create a new state |
| Name | Required, max 100 characters |
| Description | Optional, max 255 characters |
| Color | Preset palette plus custom color picker |
| Icon | Icon grid selector with Clear icon to remove |
| Edit / Archive | Per-state dropdown menu |
Bulk update modal
| Element | Description |
|---|---|
| Bulk action picker | Change slot status, Change minimum booking notice, Change maximum booking in advance, Clear resource assignments, Add a booking note, Change slot pricing |
| Start date / End date | Required date range that bounds the update |
| Time range toggle | Optional. When on, also bound the update by start and end time within each day |
| Action-specific fields | Different inputs appear for each bulk action (status dropdown, value + period, note text, etc.) |
| Cancel / Update slots | Save or close the modal |
The bulk action only ever modifies slots that are currently Available, Blocked, or Call to book. Booked, completed, and cancelled slots are skipped.
Good to know
- Column order and visibility persist per user, so you only configure them once.
- Slots are color-coded by status. Custom status colors (set in Booking slot settings) apply here too.
- Changes made by anyone on your team update in real time via WebSocket. You don't need to refresh.
- Minimum column width is useful when you have many events. Without it, columns shrink to fit and booking details become hard to read; with it, columns keep a fixed width and the grid scrolls.
- The cancel flow is waiver-aware. If the booking has waivers attached, you decide whether to keep them on the slot for future bookings or delete them.
- Bulk actions are bounded by date (and optionally time-of-day). The same range can be re-applied with a different bulk action; handy for "set every Monday to Blocked, then add a note explaining why."
- Workflow states are global to your company group. Add them here and every list, calendar, and kanban view picks them up.
- Custom statuses defined under Booking slot settings are exempt from autoblocking rules and hidden from the public booking site; they're for internal tracking.
FAQ
Q: Can I see a week view instead of a single day?
A: The calendar view shows one day at a time. A multi-day event calendar is in development but not yet released.
Q: Why are some columns missing?
A: You may have hidden them in Events and resources. Click the button and make sure the columns you want are checked.
Q: What's the difference between this view and the resource calendar?
A: This view organizes columns by event (Escape Room A, Laser Tag, etc.). The resource calendar organizes columns by resource (Room 1, Room 2, Staff: Alex). Use this view for the event schedule; use the resource calendar to see how rooms and staff are allocated.
Q: How do I add a slot to the cart from the calendar?
A: Click an existing slot to open its action popover, then use Add to cart. The cart button in the toolbar shows the current item count. Repeat per slot. (Bulk multi-select to cart is not currently enabled in the calendar view.)
Q: Why can't I drag slots on the calendar?
A: Either drag and drop is turned off at the venue level (open Gear > Calendar settings > Calendar behavior to check Allow drag and drop on desktop / mobile), or your role doesn't have the booking-slot edit permission. Both have to allow it for dragging to work.
Q: I drag a slot and nothing prompts me before saving. Is that expected?
A: By default, only booked slots prompt for confirmation. Turn on Always confirm before moving a slot in Calendar settings > Calendar behavior to require confirmation on every drag, regardless of slot status.
Q: What's the difference between bulk actions and editing individual slots?
A: Bulk actions apply one change to a date range (and optionally time range) of slots in a single pass. Editing individual slots goes through the slot's edit drawer with full per-field control. Use bulk actions for repetitive operational changes ("block off all slots next Monday"); use individual edits for slot-specific overrides like custom pricing or unique resource assignments.
Q: My gear menu is missing options. Why?
A: Each option is permission-gated. Bulk actions, Booking slot settings, and Workflow states require the Update booking slots permission. Show/Hide staff only appears when your group has the staff-on-bookings feature enabled. Ask an admin to grant the missing permission in Settings > User management.