Overview
- One calendar for everything - classes, area and instructor bookings, instructor time off, and live events, in Day or Week view.
- Create from a slot - click any empty slot and the right dialog opens pre-filled (class on a class-type column, booking on an area or instructor column).
- Act without leaving the grid - right-click a block to view, edit, cancel, add a check-in, add a payment, or notify participants.
- Drag to reschedule, Option/Alt-drag to duplicate a class to a new time.
- Filter and color - toggle resources on or off per view, and color blocks by resource, staff member, or booking source.
- Role-aware - instructors see a streamlined “My teaching schedule”; admins and managers see the full grid.
Layout
The calendar has two view types saved per browser: Day and Week. Day view is a vertical time grid with one column per resource, grouped left-to-right by type: class-type columns first, then a fallback “Classes” column, then instructor columns A-Z, then area columns grouped by area type. The time axis is built from your organization’s operating hours, in 30-minute increments. Week view is a horizontal grid with days as columns. Resources are merged - you see all activities for the week, not one column per resource - because the day-column layout would be unreadably wide. The mini calendar on the left navigates dates; the Today button returns to today. The selected date is pushed to the URL as?date=YYYY-MM-DD so you can share a link to a specific day.
Resources and what shows up where
The schedule reads three live data sources for the visible range:- Classes - shown as blocks on their class-type column (or the fallback “Classes” column for classes without a type). Each class with assigned instructors also produces a mirror “teaching” block on each instructor’s column in day view, so the instructor reads as busy.
- Bookings - shown on the area column if they have an area, on the instructor column if they have an instructor (both, if they have both), or on the relevant class-type column if they’re class-bound. Class-bound bookings are suppressed in week view because the class itself already represents them.
- Instructor time off - shown as grey blocks on the instructor’s column.
status=active) and bookable instructors (isBookable=true) are the only ones included. Inactive or non-bookable resources don’t get a column.
Filtering what you see
The Resource filter panel in the calendar header lets you toggle individual resources on or off. Your overrides are saved per view (day vs week) in browser storage. The organization-level defaults for what’s hidden come from Settings > Operations > Schedule display, which lets you hide entire class types, instructor types, or area types, plus a flag for uncategorized instructors and areas. The toggle in the filter panel layers on top of these defaults: if you flip a resource to a state that matches the default, the override drops so future settings changes still take effect.Coloring
Two coloring modes can be toggled under Settings > Operations > Schedule coloring:- Staff coloring - when on, blocks take the profile color of the user who created the booking. When off, blocks use the resource’s configured color (or a hash of the resource name as a fallback).
- Source coloring - when on, a second border color is added that encodes the booking source (admin, portal, website, kiosk, etc.). Source colors are configurable on the same settings page.
Creating activities
Click an empty time slot to open the create dialog. The dialog is pre-filled based on which column you clicked:- Click a class-type column to open the class dialog with the class type and time range pre-set.
- Click an area column to open the booking dialog with the area and time range pre-set.
- Click an instructor column to open the booking dialog with the instructor and time range pre-set.
Acting on existing blocks
Click a block to open the matching dialog: bookings open the booking dialog, classes default to the add-booking flow for that class (so the most common case - someone wants to book into the class - is one click), time-off entries open the time-off dialog. Right-click a block (or use the mobile tap menu) for the full set of actions: View (open the detail page), Edit, Cancel, Delete, Add check-in, Add payment, Add booking (for classes), and Notify participants. Add payment is smart about split balances: if the booking has one outstanding transaction, you get a single-transaction payment dialog with an editable amount. If it has multiple, the amount is locked to the full sum and the server settles them atomically. See Bookings for the full story.Duplicating a class
To copy a class to another time without reopening the class dialog, hold Option (Mac) or Alt (Windows) and drag the class block to a new slot, then release. While you drag with the key held, the calendar shows that you are copying rather than moving: the cursor becomes a copy cursor, the source block gets a green outline and a small copy badge, and the target slots highlight in green. Let go of the key mid-drag to fall back to a normal move. The result is a single one-off class at the drop time. It keeps the original’s name, description, instructors, area, capacity, price, visibility, color, and class type, but never its recurrence, and it starts with no bookings or check-ins. The copy appears the instant you drop it, and a Class duplicated toast offers an Undo action that removes it again. The gesture works with a mouse and keyboard and applies to classes only - bookings and time-off blocks keep their normal drag-to-reschedule behavior. A dismissible hint in the calendar header points it out until you close it.Bookings created with a member pre-selected
If you arrive at the schedule from a member profile with Book a slot, the URL carries?contactId=X. A toast prompts you to pick a slot, and every booking dialog you open from a slot click is pre-filled with that contact.
Instructor-only and mixed-role views
Instructor-only accounts see a streamlined My teaching schedule view that hides resources they don’t own. Mixed-role accounts (instructor + manager or admin) can open either the full Schedule page (described above) or their personal My teaching schedule through the instructor menu in the sidebar.Worked examples
Build tomorrow’s class grid fast
Open Day view on tomorrow, click the class-type column at each start time to drop in a class, then Option/Alt-drag a popular class (say your 18:00 vinyasa) to the other days that run it. Each drop is a fresh one-off class with the same name, instructor, area, and capacity but no bookings yet.Reschedule a padel court booking
A member asks to move their Tuesday court an hour later. Find the block on the court’s column, drag it to the new slot, and confirm the old and new time in the prompt. The resource and duration stay the same; only the time shifts.Front-desk check-in during class
As members arrive for the 09:00 class, right-click the class block and choose Add check-in (or click the block, which defaults to the add-booking flow for walk-ins). No need to open the class detail page.Declutter a multi-court venue
A racket center with a dozen courts and several coaches can be noisy in Day view. Use the Resource filter panel to show only the courts you’re working, saved per view so the desk keeps its layout.Tips & best practices
- Day view for the desk, Week view for planning. Day view gives you per-resource columns for live operations; Week view is better for seeing the whole week at a glance.
- Option/Alt-drag to clone, plain drag to move. Release the modifier mid-drag to fall back to a move; the copy cursor and green highlight tell you which mode you’re in.
- Share a day with a link. The selected date is in the URL (
?date=YYYY-MM-DD), so you can send a colleague a specific day. - Let settings own the defaults. Set org-wide visibility under Settings > Operations > Schedule display; use the filter panel only for per-session tweaks, since matching the default drops your override.
Troubleshooting
Issue: A court or coach is missing from the calendar. Solution: Only active areas and bookable instructors get a column. Check the area status and the instructor’s Bookable toggle. Also confirm the resource’s type isn’t hidden under Settings > Operations > Schedule display, or re-enable it in the resource filter panel. Issue: A class booking doesn’t appear in Week view. Solution: This is by design. Class-bound bookings are suppressed in Week view because the class block already represents them. Switch to Day view to see individual bookings. Issue: Block colors aren’t what I expect. Solution: Coloring depends on the mode under Settings > Operations > Schedule coloring. With staff coloring on, blocks use the creator’s profile color, not the resource color. Turn it off to color by resource. Issue: My duplicate-drag just moved the class instead of copying it. Solution: Hold Option (Mac) or Alt (Windows) for the whole drag. If you release the key before dropping, it falls back to a move.Related
- Bookings - The list view and detail page for reservations.
- Classes - Class creation, capacity, and attendance.
- Events - One-off ticketed events that render as read-only cards.
- Booking policies - Rules that govern payment timing and cancellation.
- Check-in models - Entrance flow your front desk should follow.