Skip to content

Calendar view

BookingsApril 30, 2026·22 min read·Updated November 11, 2026

The calendar view shows the day as a visual grid. Each column is an event (or resource), and each cell is a time slot. The Week and Month ranges show booked slots across seven days or a whole month. 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

  1. Use the Previous and Next arrows in the toolbar to move one day at a time (a week or a month at a time in the Week and Month ranges)
  2. Click Today to jump back to the current date
  3. Click the date picker to jump to a specific date

View a week

  1. Click Range in the toolbar and pick Week
  2. The grid shows seven day columns with time running down the side, at the same row height as the Slot height calendar setting. The week starts on the First day of the week set in your company group settings, and today's date is circled
  3. Click a booking to open the booking drawer
  4. Drag a booking to another time or another day to move it, or drag its bottom edge to change its end time. Dragging follows the same Allow drag and drop on desktop and Allow drag and drop on mobile settings as the day view
  5. Booked slots ask Are you sure? before they move (every slot asks when Always confirm before moving a slot is on). Moving to another day names the new date in the prompt

Overlapping bookings sit side by side, up to three per time; more than that collapse into a "+N" block that lists the rest. On phones the week shows as a list: one row per day with the weekday, the date, and a count of that day's bookings, followed by the day's bookings.

View a month

  1. Click Range in the toolbar and pick Month
  2. Each day shows its bookings as a colored dot, the start time, and the event name, in as many lines as fit
  3. Click N more to open a list of every booking that day, then click a booking to open the booking drawer

On phones each day shows up to six colored dots (then "+N"). Tap the dots to see the day's bookings.

The Week and Month ranges show booked slots only, plus any slot that has a workflow state or a signed waiver. A banner above the grid says Showing only booked slots, and Switch to day view to see all slots returns to the day view. Dot and block colors follow your status colors from Booking slot settings.

Choose and reorder columns

  1. Click the Events and resources button in the toolbar
  2. Use checkboxes to show or hide individual events/resources
  3. On desktop, drag the handle on the right of each row to reorder the columns
  4. Close the popover; the grid updates immediately and your order persists

Filter by status

  1. Click the Status button in the toolbar
  2. Pick one or more statuses from the dropdown
  3. Click Apply
  4. Click Reset in the popover (or the small X on the Status button) to clear

Filter by waivers

Switch on Has waivers in the toolbar to show only slots with at least one signed waiver, booked or not. A waiver signed on an open slot never changes that slot's status: the slot stays available (or call to book, blocked, or its custom status) and books and autoblocks like any other. On the calendar such a slot keeps its status color and shows an orange N signed badge with an orange stripe down its left edge, in the Day, Week and Month ranges.

Book a slot from the calendar

  1. Click any empty cell in the grid in the column for the event you want
  2. The Create a new time slot for [event] modal opens
  3. Set the date, start time, end time, status, pricing, and any notes
  4. 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, click Book at the top of the drawer to open the Create booking sub-view, or Add to cart to start a cart with that slot.

Book several slots in one order

  1. Click an open slot and click Add to cart at the top of the drawer
  2. Click each other open slot you want. Each one becomes a line in the drawer's cart, and slots in it show an In cart tag (a cart icon in the Week and Month ranges)
  3. Set the people on each line, fill in the customer and payment, and click Create bookings. One order is created with a booking for each slot

Slots from different events and dates can go in the same cart. See Booking drawer for every option.

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, Assign staff, 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 (capped at 30 days), optionally toggle the Time range filter for finer control within each day, then click Update slots.

When Change slot status is the chosen action, the Slot status picker offers the built-in options (Available, Blocked, Call to book) plus every active custom status configured under Gear > Booking slot settings > Custom statuses. Archived custom statuses are intentionally excluded.

Tip: To keep slots closed, pick a custom status set to Hidden or Sold out rather than Blocked. On resources with auto-unblock turned on, Blocked slots can reopen automatically when bookings change. In addition, manually blocked slots can reopen as well.

When Assign staff is the chosen action, the Assign staff section appears with an Add staff (search by name or email) autocomplete. Each selected staff member renders as a removable chip below the field. The autocomplete shows first and last name plus email so you can disambiguate similarly-named staff at venues with many employees. Multiple staff can be added in one action.

The intro alert in the modal adapts to the chosen action:

ActionIntro alert
Change slot status"Bulk status changes update every slot in the selected time frame, including slots that already have a custom status. Booked, completed, cancelled, and expired slots are never changed."
Assign staff"The selected staff are added to every slot for the chosen events in this time frame, regardless of status. Staff already assigned to a slot are kept, never removed."
Every other bulk action"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."

The takeaway: Change slot status and Assign staff are the only bulk actions that reach every slot regardless of status. Other bulk actions still skip booked / completed / cancelled / expired slots.

Open booking slot settings

Open the gear menu and click Booking slot settings. The drawer that opens has four 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"), Customer fields (toggle which built-in customer fields are required when staff create internal bookings, for example Require phone internally), and Internal booking fields (attach custom fields to internal bookings and set each one's Required and Creates alert switches, see below). Click Save in the drawer to commit changes.

The Internal booking fields section lists each attached custom field on its own card, with the field name and type on the top line and two switches below: Required (staff must answer it before saving the booking) and Creates alert (a flagged answer raises the same alert badge and field highlight your team sees for public-booking alerts). Use Add a field to attach a library field; a newly attached field picks up its Creates alert default from the library, so common fields arrive preconfigured. The alert setting is per surface, so a field can alert on internal bookings only, on the public booking site only, on both, or on neither. When staff answer a Creates alert field while creating a booking, the answer is flagged the moment the booking is saved, and the alert shows on the booking drawer (count badge plus highlighted field) and on the calendar, resource calendar, and kanban cards.

Custom statuses are exempt from autoblocking rules. Each custom status has a Show on booking site toggle. When the toggle is off (default), slots with that status stay hidden from the customer-facing booking site. When the toggle is on, a segmented picker offers two modes:

ModeWhat customers see
BookableCustomers can book slots with this status, like a normal open slot
Sold outSlots show but can't be booked. Customers see "Sold out", or the slot's custom message if one is set

Each custom status row in the list shows a badge for its current mode: Hidden (default), Bookable (success green), or Sold out (warning). The staff calendar still uses your custom color and label in every mode — only the customer view changes.

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:

FieldDescription
NameRequired, max 100 characters
DescriptionOptional, max 255 characters
ColorPick from the color preset palette or use a custom color picker
IconOptional. 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

  1. Open the gear menu
  2. If staff assignments are enabled and currently hidden, click Show staff to make the assigned-staff column visible on the calendar
  3. 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)

FieldNotes
Minimum column width on desktopToggle. When on, the Minimum column width input appears for a desktop pixel value (50-500)
Minimum column width on mobileToggle. 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 (each row carries its own Personal or Venue-wide pill)

FieldNotes
Show schedule name on time slotPersonal. Toggle. When on, calendar slots show the schedule name that generated them
Hide blocked slots that overlap a bookingPersonal. Toggle (off by default). When on, blocked and call to book slots whose time overlaps a booked slot for the same event are left off the calendar, so the booking is not covered by the slots blocked around it
Show online booking cutoff on time slotsVenue-wide. Toggle (off by default). When on, available slots that customers can no longer book online show a label saying what customers see instead. Only visible if you have Configure calendar settings permission
Cutoff displayVenue-wide. Segmented toggle: Label only or Label and countdown. Only shown when the cutoff toggle is on

Calendar behavior (Venue-wide pill — applies to everyone at this venue; only visible if you have Configure calendar settings permission)

FieldNotes
Allow drag and drop on desktopToggle (on by default). When off, staff cannot drag slots even if they have the booking-slot edit permission
Allow drag and drop on mobileToggle (off by default). Mobile drags are easy to trigger by accident, so most venues keep this off
Snap intervalSegmented toggle: 5 min or 15 min. Only shown when at least one drag toggle is on
Always confirm before moving a slotToggle (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

  1. Click the booking you want to cancel
  2. In the slot popover, choose Cancel (or open the three-dot menu on the slot)
  3. 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
  1. 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
  2. Click Cancel booking to confirm

Reference

Toolbar

ElementPurpose
Events and resources popoverCheckboxes to show/hide each event or resource; drag the handle on desktop to reorder columns
Status popoverMulti-select status filter (Available, Booked, Completed, Blocked, Cancelled, Expired, Call to book, plus custom statuses). Apply / Reset buttons
Cart button (right edge)Shown while a cart has slots and the drawer is closed, with the slot count; reopens the cart
View switcherSwitch to List, Resource calendar, or Kanban
Gear menuBulk actions, Calendar settings, Booking slot settings, Workflow states, Show/Hide staff
Range selectorDay, Week, or Month
Date navigationPrevious / 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

OptionPermissionEffect
Bulk actionsbooking_slot_updateOpens the Bulk update modal for changing many slots at once
Calendar settingsNoneOpens the calendar layout settings (column widths, slot height, time slot behavior)
Booking slot settingsbooking_slot_updateOpens the booking slot settings drawer (default status colors, custom statuses, customer fields, internal booking fields)
Workflow statesbooking_slot_updateOpens the workflow states modal to add, edit, reorder, or archive states. Drives the kanban view's columns
Show staff / Hide staffVisible when staff feature is enabledToggles 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)

SettingDescription
Minimum column width on desktopToggle + numeric pixel input (50-500). When on, columns keep at least the set width and the grid scrolls horizontally
Minimum column width on mobileToggle + numeric pixel input
Slot height (20-200 pixels)Numeric input. Increase to fit more info per slot

Time slot behavior (mixed scope, each row carries its own pill)

SettingDescription
Show schedule name on time slotPersonal. Toggle. When on, calendar slots show the schedule name that generated them
Hide blocked slots that overlap a bookingPersonal. Toggle (off by default). When on, blocked and call to book slots whose time overlaps a booked slot for the same event are left off the calendar, so the booking is not covered by the slots blocked around it
Show online booking cutoff on time slotsVenue-wide, gated by Configure calendar settings permission. Off by default. Flags available slots that are past their online booking cutoff
Cutoff displayVenue-wide. Label only shows the flag once the cutoff passes. Label and countdown also counts down the last two hours before it

Calendar behavior (Venue-wide, gated by Configure calendar settings permission)

SettingDescription
Allow drag and drop on desktopOn by default. When off, staff cannot drag slots on the calendar from a desktop browser
Allow drag and drop on mobileOff by default. Mobile drags are easy to trigger by accident
Snap intervalSegmented toggle: 5 min or 15 min. Only shown when at least one drag toggle is on
Always confirm before moving a slotWhen 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

SectionWhat it controls
Default statusesBackground and text color for built-in statuses (Available, Blocked, Call to book)
Custom statusesAdd, edit, delete user-defined statuses with name, background color, text color, and Show on booking site (off = Hidden, on = Bookable or Sold out). Per-row badge shows current mode
Customer fieldsPer-field requirement toggles for staff-created (internal) bookings, e.g. Require phone internally
Internal booking fieldsCustom fields attached to internal bookings. Each card has the field name and type plus Required and Creates alert switches. Add a field attaches a library field (its Creates alert default comes from the library). The alert setting is per surface, independent of the public booking site

Workflow states modal

ElementWhat it does
Drag handleReorder states; the order is reflected on the kanban view
+ Add stateOpen the inline form to create a new state
NameRequired, max 100 characters
DescriptionOptional, max 255 characters
ColorPreset palette plus custom color picker
IconIcon grid selector with Clear icon to remove
Edit / ArchivePer-state dropdown menu

Bulk update modal

ElementDescription
Bulk action pickerChange slot status, Assign staff, Change minimum booking notice, Change maximum booking in advance, Clear resource assignments, Add a booking note, Change slot pricing
Start date / End dateRequired date range that bounds the update. Capped at 30 days per run
Time range toggleOptional. When on, also bound the update by start and end time within each day
Action-specific fieldsDifferent inputs appear for each bulk action (status dropdown, staff autocomplete + chips, value + period, note text, etc.)
Slot status picker (Change slot status only)Built-in statuses (Available, Blocked, Call to book) plus every active custom status from Booking slot settings > Custom statuses
Assign staff section (Assign staff only)Add staff (search by name or email) autocomplete that shows first name, last name, and email. Selected staff render as removable chips. Multiple staff can be added per run
Cancel / Update slotsSave or close the modal

Which slots get touched? Change slot status and Assign staff reach every slot in the range, including ones that already have a custom status, are booked, completed, cancelled, checked, or expired. Every other bulk action modifies only Available, Blocked, or Call to book slots.

Good to know

  • Week and Month show booked slots only. Available, blocked, and cancelled slots appear in the Day range. The calendar remembers the range you picked.
  • The Day range follows New day starts at. When your company group settings set a start time after midnight, the Day grid runs from that time to the same time the next morning, with the hours after midnight at the bottom of the column. Clicking an empty cell after midnight creates a slot dated the next day, and dragging a card there moves it to the next day. The heading still shows the day you picked. A slot that ends at exactly midnight never spills onto the following day.
  • On phones the toolbar stacks into three rows. The view switcher and gear menu sit on top, then the date controls, then the Range selector with a filter button that shows or hides the column and status filters.
  • 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.
  • A booking always sits on top of the blocked slots around it. When overlapping slots cascade and one of them is booked, the booked card draws above its blocked and call to book neighbors. To leave those neighbors off the grid entirely, turn on Hide blocked slots that overlap a booking under Gear > Calendar settings > Time slot behavior. The setting is personal, is off by default, and only affects blocked and call to book slots for the same event.
  • Changes made by anyone on your team update in real time via WebSocket. You don't need to refresh.
  • Online booking cutoff labels are venue-wide and off by default. Turn them on once under Gear > Calendar settings > Time slot behavior and every booking view picks them up: list, calendar, event calendar, resource calendar, kanban, and the booking drawer header. Only available slots are flagged, and staff can still book a flagged slot from the console. See Booking slots for the per-slot minimum booking notice settings that drive them.
  • 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."
  • Change slot status accepts custom statuses, not just built-ins. Pick a custom status like "Maintenance" or "Private event" from the picker and every slot in the range gets that status, color, and label. The other bulk actions still only target Available / Blocked / Call to book slots, except Assign staff (see below).
  • Assign staff is additive across the full range. Add one or more staff with the name/email autocomplete and they're appended to every matching slot, regardless of status. Anyone already assigned stays — the action never removes. Great for "the Tuesday floor team is on every Tuesday for the next four weeks"; not the right tool for swapping who's assigned.
  • Bulk runs are capped at 30 days. Hit the cap with a 60-day plan? Run the action twice with two adjacent ranges.
  • 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 — both directions: a custom-status slot isn't auto-blocked by other bookings, and it doesn't trigger auto-block on other slots. Each one defaults to Hidden from the public booking site (the prior behavior), but the Show on booking site toggle lets you opt in to Bookable (shown as a normal open slot) or Sold out (shown but not bookable, with an optional per-slot message). The staff calendar keeps your custom color and label regardless. Bookable custom slots can take real bookings but stay outside the event's Override rules; resource capacity still protects them from over-booking.
  • Internal booking field alerts are per surface and forward-looking. The Creates alert switch on an internal booking field is set separately from the same field's alert on the public booking site, so an internal-only note doesn't create public-site noise. Only bookings created after you enable it are flagged; existing bookings aren't re-evaluated. Fields already attached to a slot start with the alert switch off and need a one-time enable, while newly attached fields inherit the library default.

FAQ

Q: Can I see a week view instead of a single day?

A: Yes. Pick Week or Month from the Range selector in the toolbar. Both show booked slots only; switch back to Day to see available and blocked slots.

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: A custom field alerts on my booking site but not when staff book by phone. How do I fix that?

A: Alerts are set per surface. Open Booking slot settings from the gear menu, go to the Internal booking fields section, and turn on Creates alert for that field. From then on, staff answers on internally created bookings raise the same alert badge and field highlight, on the booking drawer, calendar, resource calendar, and kanban. Bookings made before you enable it aren't flagged retroactively.

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: Open a slot and click Add to cart at the top of the drawer, then click each other open slot you want. The drawer shows the cart; click Create bookings when it's ready.

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.

Something wrong or out of date?