DE/EN/PT

Classes & attendance

Occurrences

An occurrence is a single instance of a class on a specific date and time. While a class defines the recurring schedule (e.g., "Advanced BJJ every Monday and Thursday at 19:00"), each individual session -- "Advanced BJJ on Monday, March 10 at 19:00" -- is an occurrence. Occurrences are what members actually attend, and they are the basis for all attendance and check-in tracking.


Auto-generation from time slots

Occurrences are generated automatically based on the time slots defined on each class. You do not need to create them manually. When you set up a class with a Monday 19:00-20:30 time slot, Omoplata creates an occurrence for every Monday at that time, spanning from one month in the past through 12 months into the future.

This automatic generation happens:

  • When a new class is created.
  • When time slots are modified on an existing class.
  • Periodically in the background to ensure the schedule stays populated as time progresses.

Public holidays

Omoplata integrates with a holiday service to detect public holidays in your region. When an occurrence falls on a public holiday, it is still created but marked with a cancelled status. The holiday name is stored on the occurrence so you can see why it was cancelled (e.g., "Christmas Day"). These cancelled sessions appear on the timetable but are clearly marked as inactive.


Viewing occurrences

Weekly timetable

The main way to view occurrences is through the weekly timetable on the Classes page. Each colored block on the calendar represents an occurrence. The block shows:

  • The class name.
  • The start and end time (e.g., 19:00 - 20:30).
  • Participant avatars for members who have confirmed attendance or been marked present.
  • A capacity indicator if the class has a maximum participant limit (e.g., "8/15 filled").
  • A lead count if prospective members have signed up for a trial in that session.

A class's occurrence list

Each class also has its own occurrence list. Open the class page and select Occurrences from the sidebar. At the top you switch between Upcoming, Past and Cancelled; below that sits a line naming the next session and the number of upcoming and cancelled occurrences.

The list is grouped by month. Each row shows:

  • The date and weekday.
  • The start and end time, plus a different name if the session has one.
  • That session's trainer, or Unstaffed.
  • A paper icon when planned content or trainer material is attached.
  • The fill figure, if a participant limit applies to the session.

Twenty sessions load at a time; Show more sessions fetches the next twenty.

Opening a single session

Clicking a row opens that session in place -- with the discipline, trainer, venue, fill figure, the list of who checked in, the planned content and the trainer materials. Above it:

ButtonWhat it does
Back to listReturns to the filtered list.
Previous session / Next sessionSteps through this class's sessions without going back to the list -- cancelled ones included.
Edit occurrenceOpens this session's attendance window. From there, Edit Occurrence changes the name, time, trainer and limits of that one session.
Cancel occurrenceCancels this one session. On an already cancelled session it reads Reactivate occurrence.

Linking to a single session

The active filter and the open session are both in the address bar, so you can copy the link and send it to a coach -- they land on exactly that session.

Occurrence detail modal

Clicking any occurrence on the weekly timetable opens a detail modal. This modal shows the full details of the session including the date, time, venue, discipline, trainer, and a complete list of attendees. From this modal, admins can mark attendance directly.


Capacity tracking

When a class has a maximum participant limit, capacity is tracked at the occurrence level. The system counts the number of confirmed participants -- both members who have checked in (attendance records) and members who indicated they will attend ("yes" intentions).

  • On the timetable, the fill ratio is displayed as a small badge on each occurrence (e.g., "8/15").
  • In the member portal, once the capacity is reached, the sign-up buttons are replaced with a "class full" message. Members can no longer create new attendance intentions for that session.
  • In the occurrence detail modal, the admin can see the exact count alongside the participant list.

Capacity is per occurrence

The participant limit applies individually to each occurrence. A class with a limit of 15 allows 15 members per session, not 15 members total across the week.

Scheduled trials take a spot too. An occurrence with 15 spots, 13 RSVPs and 2 trials is full.

What each of the numbers counts

Several places show a participant figure for the same session, and they are allowed to differ -- each answers a different question. A tooltip on the number says which one.

WhereWhat the number counts
Card on the week boardIf your club assigns members to whole classes, it is the members assigned to the class (tooltip Assigned to this class); the green tick beside it counts separately how many of them said yes. Otherwise: the slot assignments for classes that require assignment, the RSVPs for upcoming sessions, and who actually checked in for past ones.
Picking a session for a trialRSVPs, checked-in members and scheduled trials combined. If your club assigns members to time slots, those assignments are added.
Class list, Avg. booked columnThe average places taken per session over the last four weeks -- how many were really on the mat. Cancelled sessions are left out.
Class list, Enrolled columnThe members assigned to this class. The column only appears if your club assigns members to classes or time slots.

The week board and the trial scheduler contradicting each other is deliberate: a class that runs several times a week would otherwise claim its entire roster as participants at every single session.

Changing the capacity of a single occurrence

The class limits apply to every occurrence -- but not every occurrence is the same. Open the occurrence on the timetable and click Edit Occurrence. There you can set, for that date only:

FieldDescription
Max participantsOverrides the class's maximum participants for this occurrence. Leave empty to use the class limit.
Max trial leadsOverrides how many trials can be scheduled for this occurrence. Leave empty for the class limit, 0 for no trials this session.

Typical cases:

  • Grading day or seminar -- no trials that day: set trial leads to 0.
  • Half the mat -- the other half is taken: halve the max participants for this occurrence.
  • Trial day -- a class that normally takes no trials (limit 0) opens ten spots on one Saturday.

All other occurrences of the class stay unchanged. To change the limit for every occurrence, edit the class itself.

A new schedule rebuilds the occurrences

Changing a class's schedule -- its time slots, its custom recurrence or the Requires assignment checkbox -- deletes the future occurrences and generates them again. Everything that hung on a single occurrence goes with them: the participant and trial limits, a different name, a different time and trainer, the planned content, a one-off cancellation -- and the attendance RSVPs for those sessions.

Past occurrences and their attendance are untouched, as is any future occurrence that already has a trial booked onto it. So set per-occurrence limits once the schedule has settled.


Cancelling individual occurrences

Occurrences that fall on public holidays are automatically marked as cancelled during generation. The occurrence record is preserved with a status flag and the holiday name, so it still appears on the timetable in a visually distinct way.

Cancelled occurrences:

  • Are not available for member check-in.
  • Do not count toward attendance statistics.
  • Still appear on the calendar so trainers and members can see that the regular session is not happening and understand why.

Bulk cancellation with closure times

To cancel all occurrences across a date range -- for example, during holidays, renovations, or seasonal breaks -- use closure times instead of cancelling sessions one by one. See Create closure times for a step-by-step guide.


Trainer overrides

Each class has a default trainer, but individual occurrences can have a different trainer assigned. This is useful when:

  • A substitute instructor covers a session while the regular trainer is away.
  • A guest instructor leads a special seminar during a regular class slot.
  • Different trainers rotate through the same class on different weeks.

How trainer overrides work

When a specific trainer is assigned to an occurrence, that trainer takes precedence over the default trainer defined on the class:

  1. If the occurrence has its own trainer assigned, that trainer is shown.
  2. Otherwise, the default trainer from the class is shown.

The effective trainer is displayed in the occurrence detail modal, on the weekly timetable, and in the member portal. This ensures members always see who is actually leading the session they are attending.


Past vs. upcoming occurrences

Omoplata treats past and upcoming occurrences differently in the timetable:

  • Upcoming occurrences show attendance intentions -- members who indicated they plan to attend through the portal.
  • Past occurrences show actual attendance records -- members who were marked present either through check-in or by an admin.

For classes that require assignment, the assigned members are always shown regardless of whether the occurrence is in the past or future.

This distinction ensures the timetable always displays the most relevant information: expected attendees for future sessions and confirmed attendees for past ones.

Was this page helpful?

Previous
Timeslot swaps