Bookings
Using the Calendar
The OpenChair calendar shows all bookings, staff availability, and open slots. Switch views, filter by staff, drag to reschedule, and manage appointments at a glance.
Last updated 12 August 2026
The calendar is your daily schedule view, it shows all bookings, staff availability, and open time slots so you can manage appointments at a glance.
TL;DR
- The calendar shows all staff schedules, switch between Day, 3-Day, Week, and Agenda views
- Drag-to-reschedule works for active bookings in Day view on web, phone, and iPad
- Most common mistake: calendar appearing empty because a staff filter is active
- Reset the staff filter to "All" / "All Team" and review the Statuses filter if bookings are missing
Overview
The OpenChair calendar lets you:
- See all staff schedules side-by-side in a day view with colour-coded booking blocks
- Switch between Day, 3-Day, Week, and Agenda views
- Navigate dates and jump to today with one click or tap
- Filter by staff, resource, or booking status
- Click or tap an empty slot to create a new booking
- Drag a booking to a new time to reschedule (web and tablet)
- View booking details, change statuses, and take payment from the calendar
View Modes
The calendar offers five view modes. On web, switch views using the dropdown in the top-right toolbar. On mobile, tap the view selector pill in the top-left corner.
| View | What It Shows | Keyboard Shortcut (Web) | Availability |
|---|---|---|---|
| Day | Single day with one column per staff member | 1 | Web and mobile |
| 3-Day | Three consecutive days side-by-side | 2 | Desktop web, iPad, and solo native phone/tablet |
| Week | Monday to Sunday in a time grid | 3 | Desktop web and solo mobile |
| Month | Fixed six-row schedule overview | Menu | Solo native mobile and responsive mobile web only |
| Agenda | Chronological list of bookings grouped by time | 4 | Web and mobile |
Solo venues receive Day, 3-Day, Week, Month, and Agenda on native mobile. Solo responsive mobile web receives Day, Week, Month, and Agenda. Team venues keep Day and Agenda on phones, plus 3-Day on iPad.
Layout Density
Within the Day view, you can choose between two layout densities:
| Density | Effect |
|---|---|
| Comfortable (default) | Taller time slots, booking blocks show full details including service names |
| Compact | Shorter time slots, fits more hours on screen, booking blocks show abbreviated details |
On web, change the density from the view dropdown menu. On iPad, use the density toggle icons in the toolbar (the rows icon switches between Compact and Comfortable).
The density preference is saved per venue and persists across devices.
Navigating Dates
On Web
- Click the left arrow or right arrow buttons to move forward or back (by 1 day, 3 days, or 7 days depending on the view)
- Click the date display in the centre to open a calendar picker and jump to any date
- Click "Today" to return to the current date (keyboard shortcut: T)
On Mobile
- Tap the left arrow or right arrow to step through days
- Tap the date label (e.g., "Mon 24 Mar") to open a calendar picker
- When viewing a date other than today, a "Today" button appears, tap it to jump back
The date label appears in your venue's local colour when viewing today's date.
Staff Columns (Day View)
In the Day view, each staff member has their own column. The column header shows the staff member's initials and first name, with a colour-coded circle matching their calendar colour.
- Working hours appear as the normal background
- Unavailable 15-minute periods outside the staff member's roster use diagonal hatching
- Elapsed time in multi-day views uses a solid muted fill, so it remains distinct from unavailable time
- On iPad, tap a staff column header to filter the calendar to that staff member only
Filtering
Staff Filter
On web (multi-day views): Use the "All Team" dropdown in the toolbar to filter by a specific staff member.
On mobile: A row of filter pills appears below the toolbar. Tap "All" to show everyone, or tap a staff member's name to show only their bookings. Tap the same name again to return to all staff.
Status Filter (Agenda View)
In the Agenda view, a status filter is available:
- On web: Click the Status dropdown above the agenda list
- On mobile: Tap the Statuses filter pill
Available statuses: Pending, Confirmed, Arrived, Completed, Cancelled, No show, Blocked
Cancelled bookings are hidden by default on web and mobile so they do not cover reusable diary time. Your existing Show cancelled bookings preference is preserved. To reveal them temporarily, choose Cancelled in the status filter or select the [number] cancelled chip. To keep them visible, open the calendar display menu and turn on Show cancelled bookings.
Shared workstation and locked display calendars always keep cancelled bookings hidden.
Resource Filter
If your venue uses resources (e.g., chairs, rooms), a resource filter appears. On mobile, tap the "All resources" pill to filter by a specific resource.
Booking Blocks
Each booking appears as a coloured block on the calendar. The block shows the customer name, service name, and time. In comfortable density, longer bookings also show a service itinerary.
Status Colours
Booking blocks are colour-coded by status with a coloured left border:
| Status | Left Border Colour | Appearance |
|---|---|---|
| Pending | Amber | Dashed border, muted background |
| Confirmed | Staff's calendar colour | Solid, staff-coloured background |
| Arrived | Blue/purple | Staff-coloured background with blue left accent |
| Completed | Green | Staff-coloured background with green left accent, slightly faded |
| Cancelled | Red | Red-tinted background, reduced opacity |
| No show | Red (darker) | Red background, more prominent than cancelled |
Payment Indicators
Small icons appear on booking blocks to show payment status:
| Icon | Meaning |
|---|---|
| Green checkmark with "Done" | Paid in full |
| Red dollar sign with "Unpaid" | Completed but unpaid balance remains |
| Green dot | Deposit captured |
| Warning triangle | Deposit expired |
| Card icon | Card saved for No-show Card Protection |
| Star with "AI" | Booking created through an AI-assisted booking flow |
Current Time Indicator
When viewing today's date, a red line stretches across the calendar at the current time. On web, it displays the current time (e.g., "2:45 PM") as a red pill on the left edge.
On mobile, if the current time line is scrolled off-screen, a floating "Now" badge appears in the corner. Tap it to scroll to the current time.
Creating a Booking from the Calendar
- On web: Click an empty time slot to open its actions, then choose "New booking". In Day, 3-Day, or Week view with a mouse, you can also hover a future slot and select the + button.
- On web, with a keyboard: Tab to an actionable Day, 3-Day, or Week calendar column. Use Up Arrow and Down Arrow to move in 15-minute steps, Left Arrow and Right Arrow to move between columns, then press Enter or Space to open the slot actions.
- On web, for an intentional overlap: Hover near the right edge of a booking and select the + button, or open the booking menu and select "New overlapping booking". The form is pre-filled with the time and staff member and shows a double-booking warning. Hard staff, location, and resource conflicts remain blocked.
- On mobile (tablet): Long-press an empty time slot to see options: "New booking" or "Block out time"
- On mobile (phone): Use the floating action button to start a new booking
Press N on your keyboard (web) to open the booking form at any time.
When All Team is selected and you start from an empty web calendar slot, choose the staff member explicitly before continuing.
Viewing Booking Details
- On web: Click a booking block to open the booking detail panel on the right side of the screen
- On mobile (phone): Tap a booking block to navigate to the full booking detail screen
- On mobile (iPad): Tap a booking block to open the inspector panel alongside the calendar
The detail view shows the customer name and contact details, services booked, assigned staff member, payment status, notes, and action buttons.
Quick Actions (Mobile)
On phones, long-press a booking block to open a quick action sheet with:
- "Mark as arrived" (for pending or confirmed bookings)
- "Mark as complete" (for confirmed or arrived bookings)
- "View details": opens the full booking detail screen
Drag-to-Reschedule
On desktop web, you can drag active bookings in Day, 3-Day, and Week views. On phone and iPad, drag from Day view.
- Click and hold (web) or long-press (phone/iPad) an active booking block
- Drag it up or down to a new time, or across visible staff columns where available; the block snaps to 15-minute intervals
- Release to confirm the new time
On desktop, the destination outline shows the exact snapped start, end, and duration before release, together with any availability warning. If the new time conflicts with the staff member's roster (e.g., they are off-duty or outside working hours), a confirmation dialog appears asking whether to override. Hard conflicts with other bookings are blocked.
Responsive web keeps mouse/trackpad drag available in a fitted Week even when browser zoom triggers the compact layout. Touch-only phone summaries use Day or Reschedule instead. Drag-to-reschedule is also unavailable from the dedicated shared workstation or for cancelled/completed bookings. The workstation uses a separate redacted calendar without drag or resize controls.
Resize booking duration
On web and mobile, active bookings can be resized when the appointment needs more or less time without moving to a different slot. On desktop web, use the bottom resize handle in Day, 3-Day, or Week, or choose Adjust duration from the booking menu. On mobile, select a booking and use the start or end resize handle, or open Adjust duration from booking details.
Resize saves in 15-minute steps, shows Client not notified after success, and can be undone from the success toast. For full details, see Resize Booking Duration.
Blocking Out Time
To block out time for breaks, training, or personal tasks:
On web:
- Click "Block out time" in the calendar toolbar
- Select the staff member, start time, and end time
- Optionally add a label (e.g., "Lunch", "Training")
- Click to confirm
On mobile (tablet):
- Long-press an empty time slot and select "Block out time"
Blocked time appears on the calendar as a grey block with the reason you selected.
For full details on creating, viewing, and removing time blocks, see Blocking Out Time.
Waitlist Sidebar (Web and iPad)
On web and iPad, click the "Waitlist" button in the toolbar to open a sidebar showing clients waiting for appointments. The button shows a badge with the number of waitlist entries.
The sidebar displays clients grouped by status ("Ready to contact", "Offered", "Matched") and lets you send offers or book directly from matched gaps.
External calendar events
If you've connected a Google or Microsoft Outlook calendar via Calendar Sync, personal events on the connected calendar render as muted blocks on the schedule. By default they appear as Busy with no title; toggle Show event titles on the connection card to reveal the real titles. Events you mark as Free (Google) or Available (Outlook) sync but don't block bookable slots.
When an external event overlaps with a booking on the same staff member, the conflict surfaces in three places: the dashboard Schedule conflicts widget (with one-tap reschedule), a push notification to the affected staff, and a small conflict indicator overlay on the booking block on mobile.
Processing-gap fill
If a booking has processing time (e.g. colour processing, hair dye, foils), the calendar shows that time as a muted background band. Another client booked during the gap keeps a readable full-width card, and later active work remains linked to the original booking. The gap can also show a count of waitlist matches that fit it. In action-rich Day, 3-Day, desktop Week, and Agenda views, tap the gap to send an offer or fill it directly using the same engine as Gap Fill. The fitted seven-column Solo Week on phones is an overview: open the day before taking processing-gap actions.
Calendar closures
Mark multi-day closures (public holidays, leave, venue-wide downtime) from the calendar toolbar → Closures.
Scope
- Venue-wide - whole venue closed (public holidays, renovation, owner away)
- Per-staff - one or more staff members out (annual leave, sick leave, training)
Date range
start_dateandend_date(inclusive)- All-day toggle, OR specific
start_time/end_timefor partial-day closures
Reason
- Closed / unavailable
- Public holiday
- Annual leave
- Sick leave
- Training
- Event
- Maintenance
- Other
Use Customer message for what customers may see on the booking page, and Internal note for team-only context. Internal reasons such as sick leave are never shown to customers.
Public holiday presets
Built-in regional presets for AU, NZ, GB - bulk-import all the public holidays for the year in one tap from Import public holidays. Auto-renewing for yearly recurrence (e.g. Christmas Day) via cron.
Effect on bookings
- The closure blocks all new bookable slots for the date range
- The storefront shows the closure ribbon at the top of each affected day
- Existing bookings stay put - closures don't auto-cancel
- The sheet previews affected booking count before save
- Surfaces conflicts with reassign candidates (other qualified, free staff) via the conflict resolver dialog
If you need bookings inside the window cancelled, do it explicitly via the booking detail (no auto-mass-cancel).
Recurrence
Recurring closures use calendar-standard fields: Starts, Duration, Repeats, and Ends. Starts is the first occurrence, Duration is how long each occurrence lasts, Repeats is the recurrence pattern, and Ends is when the series stops.
Recurring closures can repeat weekly, fortnightly, monthly, or yearly. Each recurring block must have an end date or an occurrence count, and the sheet shows a plain-language summary before save.
- One-off - single date range (most leave entries)
- Yearly - repeats annually (public holidays). Auto-renewed by the closures cron preset renewal.
- Weekly / fortnightly / monthly - finite generated series with an end date or occurrence count.
Use yearly recurrence for fixed-date holidays. Use one-off for moveable dates like Easter, or for one-time closures. Public holiday imports stay separate and can still be added in bulk from the public-holiday preset flow.
When removing a recurring closure from the calendar, choose This block, This + future, or Entire series.
Roster conflict override
When creating or moving a booking to a staff member who isn't scheduled to work, the calendar surfaces a roster conflict warning. Owners and managers can override with Force save to book outside the roster (useful for last-minute coverage); stylists are blocked.
Walk-in pill
On the storefront, customers can self-check in via the walk-in flow. When walk-ins are enabled, the calendar's Queue + Diary view (keyboard shortcut 5) shows the live waiting queue alongside the day diary on web.
Keyboard Shortcuts (Web)
| Shortcut | Action |
|---|---|
| T | Jump to today |
| 1 | Switch to Day view |
| 2 | Switch to 3-Day view |
| 3 | Switch to Week view |
| 4 | Switch to Agenda view |
| 5 | Switch to Queue + Diary view (walk-ins) |
| N | Open the new booking form |
Web vs Mobile
| Feature | Web | Mobile (Phone) | Mobile (iPad) |
|---|---|---|---|
| Day view | Yes | Yes | Yes |
| 3-Day view | Yes | Solo only | Yes |
| Week view | Yes | Solo only | Solo only |
| Month view | Solo responsive mobile only | Solo only | Solo only |
| Agenda view | Yes | Yes | Yes |
| Staff filter | Dropdown (multi-day views) | Filter pills | Filter pills + column header tap |
| Status filter | Agenda only | Agenda only | Agenda only |
| Drag-to-reschedule | Yes (click and drag) | Yes (long-press and drag) | Yes (long-press and drag) |
| Block out time | Toolbar button | Long-press empty slot | Long-press empty slot |
| Booking detail | Side panel | Full-screen navigation | Inspector panel |
| Quick actions | Click booking | Long-press booking | Tap booking (inspector) |
| Waitlist sidebar | Yes | No | Yes |
| Density toggle | View dropdown menu | Not available | Toolbar icons |
Troubleshooting
| Issue | Solution |
|---|---|
| No staff columns showing on the calendar | Your venue needs at least one team member. Go to Team in the sidebar and add a staff member, or ensure at least one staff member is active and rostered for the day you are viewing. |
| Calendar shows no bookings but I know there are some | Check the filters, you may have a specific staff member or status selected. Reset the staff filter to "All" / "All Team" and review the Statuses filter. |
| A cancelled booking disappeared from the calendar | Cancelled bookings are hidden by default. Choose Cancelled, select the [number] cancelled chip, or turn on Show cancelled bookings in the display menu. |
| Cannot drag a booking to a new time | On desktop, use Day, 3-Day, or Week and check that the booking is active. On touch devices, use Day or open the booking and choose Reschedule. Cancelled, completed, and no-show bookings cannot be dragged. |
| Calendar is slow or not loading | Pull down to refresh (mobile) or reload the page (web). If the issue persists, check your internet connection. Large teams with many bookings may load more slowly on the Agenda view. |
| Time slots appear outside business hours | The calendar grid runs from 6 AM to 10 PM by default. Your operating hours and staff rosters determine which slots are shaded as non-working. Bookings can still be created outside these hours. |
| Current time line is not showing | The red current time indicator only appears when viewing today's date. Navigate to today by pressing T (web) or tapping "Today" (mobile). |
FAQ
How do I use the OpenChair calendar?
The calendar shows all staff schedules side-by-side in the Day view. Click or tap any booking block to view details and manage the appointment. Click an empty time slot to create a new booking. Use the toolbar to switch views (Day, 3-Day, Week, Agenda) and navigate dates.
How do I filter the calendar by staff member?
On web, use the "All Team" dropdown in the toolbar. On mobile, tap a staff member's name pill in the filter bar below the toolbar. Tap the same name again or tap "All" to return to showing all staff.
Can I drag a booking to reschedule it?
Yes. On desktop web, click and hold an active booking in Day, 3-Day, or Week. On phone or iPad, long-press it in Day view. Drag to the new time; the destination snaps to 15-minute intervals. If you drop it in the wrong spot, choose Undo within 8 seconds.
What do the colours on booking blocks mean?
Pending bookings have an amber dashed border. Confirmed bookings show the staff member's calendar colour. Arrived has a blue/purple accent, Completed has a green accent, and Cancelled and No show use red backgrounds.