How-to guides
Track attendance
Tracking attendance helps you understand which members are training regularly and which ones might be dropping off. Omoplata supports PIN-based check-in at a tablet station, QR code scanning through the member portal, and manual recording by an admin. This guide covers setting up and using all three methods.
Setting up check-in
Step 1: Configure check-in settings
- Navigate to Settings > Check-in.
- Set the check-in time window:
- Minutes before start -- how early before a class that check-in opens (default: 30 minutes).
- Minutes after start -- how late after a class starts that check-in is still accepted (default: 10 minutes).
- Configure attendance intentions:
- Attendance intention enabled -- when on, members are asked through the portal whether they plan to attend upcoming sessions. This helps trainers prepare for class size.
- Requires intention -- when on, a member can only check in if they previously confirmed their intention to attend. Leave this off for most clubs.
- Save the settings.
Timezone handling
Check-in times are evaluated in your club's timezone. Make sure the timezone is correctly set in Settings > General. Occurrence times are stored in local club time, and the check-in window is calculated directly against these times.
Step 2: Set up PIN-based check-in
PIN check-in is designed for a tablet or kiosk at your club entrance. Members enter their personal PIN to record attendance as they arrive.
- Place a tablet or iPad near the club entrance or training area.
- On the tablet, open the station check-in page by navigating to your club's station URL.
- Log in with an admin or trainer account. Keep the tablet logged in so members can use the PIN check-in feature.
- Members enter their personal PIN on the on-screen keypad.
Assigning PINs to members
Each member needs a PIN before they can use the station.
- Go to the member's profile.
- Find the identifications section and add a PIN.
- Alternatively, members can set or update their own PIN through the member portal.
Step 3: Set up QR code check-in
QR check-in lets members scan a code with their phone to check in through the portal.
- Navigate to Settings > Check-in.
- Click Download to generate a PDF containing the QR code.
- Print the QR code and place it at your club entrance, near the mats, or wherever members can easily scan it.
- When a member scans the QR code with their phone, their browser opens the check-in page.
- If the member is logged into their portal, attendance is recorded automatically for the current class session.
Recording attendance
Method 1: Automated check-in (PIN or QR)
When a member checks in via PIN or QR code, the system automatically:
- Identifies the member.
- Finds the active class session within the configured time window.
- Validates that the member meets all requirements:
- The PIN matches a registered member (for PIN check-in).
- There is an active class occurrence within the time window.
- The member is assigned to the time slot (if class assignments are required).
- The member confirmed their intention to attend (if required).
- Creates the attendance record.
- Shows a confirmation with the member's name and the class they checked into.
If any validation fails, an appropriate message is shown (for example, "No class available right now" or "Invalid PIN").
Method 2: Manual recording by an admin
For situations where automated check-in is not available, admins can record attendance manually.
- Navigate to Classes in the sidebar to open the weekly timetable.
- Click on the class session (occurrence) you want to record attendance for.
- In the occurrence detail modal, scroll to the Add attendee section.
- Start typing a member's name in the search box.
- Select the member from the results.
- The member is immediately added to the attendance list -- no save button needed.
To remove an attendance record, click the checkmark button next to the attendee's name. The record is deleted instantly.
Real-time updates
All attendance changes through the occurrence modal are saved immediately. There is no separate save step. When you add or remove an attendee, the record is created or deleted in real time.
Reviewing attendance records
From the timetable
The main weekly timetable provides a visual overview:
- Each occurrence block shows participant avatars (up to 5) and the fill ratio when capacity is configured (for example, "8/15").
- Click on any occurrence to open the detail modal with the full attendee list.
From the occurrence detail modal
The modal displays three categories of members:
- Attendees -- members who have been marked as present (with actual attendance records).
- Going -- members who indicated they plan to attend but have not checked in yet.
- Assigned -- for classes with required assignments, the members assigned to this time slot.
Each attendee entry shows:
- The member's name and profile picture.
- The attendance source as a small icon: admin (manual), QR code, or tablet (PIN).
- The member's current belt (if graduation tracking is enabled for the class's discipline).
- A progress counter showing sessions attended since last promotion (for example, "45/50").
From the class occurrences calendar
- Navigate to a class detail page.
- Select Occurrences from the sidebar.
- This calendar view shows past sessions with recorded attendance and future sessions with member intentions and assignments.
Attendance intentions
When attendance intentions are enabled, members see a question on their portal dashboard asking whether they plan to attend upcoming sessions. They respond "yes" or "no" for each session.
Benefits of attendance intentions
- Trainers can prepare -- knowing how many members plan to attend helps with mat space planning and lesson preparation.
- Capacity management -- when a class has a maximum participant limit, the portal prevents new sign-ups once confirmed participants (attendees plus "yes" intentions) reach the limit. Members see a "class full" message.
- Follow-through tracking -- when an admin marks an "intending" member as present, the system records that the member had a prior intention. This data is available for reporting on commitment rates.
Identifying at-risk members
At-risk members are active members who have not attended a single class in the last 30 days. They may be losing motivation and could benefit from personal outreach.
Finding at-risk members
- Navigate to Members in the sidebar.
- Look at the statistics panel at the top. The "At-Risk Members" metric shows the count of active members with zero attendance in the past 30 days.
- Click the At Risk filter in the status filters to view the full list.
Taking action
For each at-risk member, consider:
- Sending a personal message checking in on how they are doing.
- Offering a schedule change if their usual class times no longer work.
- Suggesting they try a different discipline or class.
- Discussing a membership pause if they need a break (see Manage memberships).
Attendance heatmaps
On the members list, each member row includes an attendance heatmap spanning the last three months. Green squares indicate weeks with training activity. A row of gray squares makes it easy to spot members who have stopped attending without needing to click into their profile.
Attendance and graduations
If your club uses belt graduation tracking, attendance records feed directly into promotion requirements.
- The occurrence detail modal shows each attendee's current belt.
- A progress counter displays sessions attended since their last promotion (for example, "45/50").
- Members who meet the attendance requirement are highlighted, making it easy for trainers to identify who is ready for promotion.
Attendance counts toward belt progression only for classes that share the same discipline as the member's belt. Attending a Muay Thai class does not count toward BJJ belt progression.
What to do next
- Set up classes -- create or modify your training schedule.
- Register a new member -- add members who can check in and attend classes.
- Manage leads -- schedule trial classes for prospective members.
For the full reference on attendance tracking, see Attendance and Check-in.