Overview
- Scheduled group activity - capacity, optional price, one or more instructors, an area, and a class type.
- One-off or recurring - repeat daily, weekly (by weekday), or monthly, with per-instance or all-future edits. A series with an end date is created in full; see Repeating schedules.
- Capacity and waitlist - cap seats and let members queue when full; a claim window offers freed seats to the next in line.
- Party bookings - members can reserve multiple seats in one booking, controlled per class type.
- Attendance and check-in - run check-in, add walk-ins, and convert waitlist entries from the detail page.
- Visibility - Public, Member only, or Private.
The list page
The classes list has four tabs with live counts: All, Active, Cancelled, and Completed. Active is the default. Each tab is paginated and sortable. Multi-select is enabled - pick rows and use the bulk delete action. Click any row to open the class detail page, or Add class to create one.Creating a class
The class dialog asks for:- Name, Description, Class type, and Sport. Class types are managed under Settings > Class types; the type controls cancel-if-zero-attendance behavior and the revenue account the class books to.
- Gym and Area - where the class is held. The area selector is filtered to the chosen gym.
- Instructors - one or more, picked from your bookable instructors.
- Date and time - start and end. Multi-day classes are supported (the detail page formats the range accordingly).
- Max capacity - leave blank for unlimited. The class is never “full” while capacity is unlimited.
- Price - per booked seat, in your organization’s currency. Set to
0for a free class. - Visibility - Public, Member only, or Private.
- Recurrence - turn on to repeat. Pick the pattern (daily, weekly with specific weekdays, monthly) and how the series ends: Until date, After N times, or Never.
The class detail page
The header carries the class name, status chips (active/cancelled/completed plus time status), the visibility chip, and the class type chip. The action row exposes Notify participants (when the class has bookings), Edit, Cancel, and Delete. The body is a two-column layout. The left card is Information: instructors (linked to their profiles), date and time with duration, gym, area, price, recurrence summary, review rating, sport, and description. If the class has images, a sortable gallery appears below the card. The right column starts with three capacity tiles: Max capacity, Current attendance, and Remaining seats. Below them is the Attendance card with three action buttons:- Add check-in - opens the check-in dialog. Disabled outside the check-in window for roles that can’t bypass it (see Check-in models).
- Add to waitlist - only enabled when the class is full (capacity set and current bookings >= max).
- Add booking - disabled when the class is full.
Cancelling vs deleting
Cancel changes the class status to cancelled, leaves the row visible on the Cancelled tab, and notifies booked members. Cancellation refunds follow the cancellation rules on the matching booking policy. Delete removes the class. For a recurring class, you choose whether to delete just this instance or all future instances. Deleting fails if the class has bookings - cancel or move them first. The right-click menu on a class block in the Schedule page exposes the same cancel and delete actions.Waitlist
When a class is full, members can join the waitlist (from the portal) or admins can add them via Add to waitlist on the detail page. When a seat opens 2-12 hours before the class, the first person on the waitlist gets a notification with a claim window. The default claim window is 15 minutes and is configurable on the booking policy. Past the claim window, the offer rolls to the next person. Admins can manually move a waitlist entry to a booking from the attendance grid.Notify participants
The Notify participants action collects the contact IDs of all confirmed bookings and opens the Compose page pre-populated with the recipients. Use this for last-minute class changes, location swaps, or substitute instructors.Party bookings
Members can reserve more than one seat in a class in a single booking - for example, a parent bringing friends along. When booking, they pick how many seats using the Book for dropdown (options like “Me”, “Me and another person”, “Me and 2 others”, plus any household members). Each extra seat becomes a separate guest booking attached to the same order. The booker’s own seat keeps its price (including any membership coverage); each guest seat is charged the class drop-in rate. All seats count toward the class capacity.Max party size
Party bookings are controlled per class type by Max party size, configured in Settings → Class Types. It is the maximum number of people a member can reserve for a class at once, including themselves. The in-app help reads: “Maximum people a member can reserve for this class at once, including themselves.” The default is 1, which effectively turns party bookings off. Raise it to allow members to book additional seats. You can also create a promotion that only applies when a party reaches a minimum size - see Promotions.Worked examples
Capacity-limited yoga class with a waitlist
Create a reformer Pilates or vinyasa class, set Max capacity to your mat count, and leave a price for drop-ins. When it fills, members join the waitlist; if a seat frees up 2-12 hours before, the first in line gets a claim window (default 15 minutes, set on the booking policy).Free community kids’ martial-arts class
For a free kids’ BJJ session, set Price to0 and pair the class type with a booking policy whose Enforce payment is None, so staff simply log attendance on the mat with no payment step.
Recurring weekly spin class
Turn on Recurrence, pick weekly with the right weekdays, and set Ends to Until date with the last day of the term. Assign the instructor and area; every week from now to that date becomes an occurrence, created the moment you save, so the court reads as occupied for the whole term. Editing offers This instance or All future, so you can move one week’s class without disturbing the series.Padel clinic with friends
Raise Max party size on the clinic’s class type so a member can book several spots at once. Their own seat keeps any membership coverage; each guest seat is charged the drop-in rate, and all seats count toward capacity.Tips & best practices
- Configure the class type first. It controls cancel-if-zero-attendance behavior, the revenue account the class books to, and the Max party size - set these before creating classes.
- Use capacity plus waitlist for popular classes so freed seats auto-offer to the next member instead of going empty.
- Cancel, don’t delete, a class with bookings. Cancel keeps the record, refunds per policy, and notifies members; delete is blocked while bookings exist.
- Leave capacity blank for open classes that never fill - the class is never “full” and the waitlist stays off.
- Use Notify participants for last-minute changes (room swap, substitute instructor) - it opens Compose pre-addressed to confirmed bookings.
Troubleshooting
Issue: I can’t delete a class. Solution: Deleting is blocked while the class has bookings. Cancel it instead (which notifies members and refunds per policy), or move the bookings first. Issue: The Add booking button is disabled. Solution: The class is full (capacity set and reached). Use Add to waitlist, or increase Max capacity if you can take more. Issue: Members can’t book more than one seat. Solution: The class type’s Max party size is 1. Raise it under Settings > Class Types to allow party bookings. Issue: A recurring edit changed every week when I meant just one. Solution: Editing a recurring class asks for a scope - choose This instance rather than All future. Issue: Only the next couple of months of a recurring class appear on the schedule. Solution: The series ends in Never, which keeps a rolling eight-week horizon. Edit it with the All future scope and set Ends to Until date with the real last day. See Repeating schedules.Related
- Events - For one-off ticketed happenings with price tiers, use an event instead of a class.
- Bookings - Class bookings show up here too.
- Booking policies - Payment timing and refund tiers per class type.
- Schedule - Classes render as colored blocks on the calendar.
- Attendance - Cross-class attendance history per member.