Attendance & Quota System
Attendance types, membership-based quotas, and substitute management.
Attendance Types
Each portal can configure custom attendance types (e.g., Present, Absent, Substitute, Medical Leave). Navigate to Superuser → Attendance Types to manage them.
Each type has:
- Name: Display name (e.g., "Absent", "Substitute", "Medical")
- Color: Visual indicator color
- Counts as Present: Whether this type counts toward attendance rate
- Max Quota per Membership: Maximum times this type can be used within a member's current membership plan
Membership-Based Quota System
The quota system limits how many times a member can use a specific attendance type within their current membership. This replaces the old days-based policy.
How it works
- Set
Max Quota per Membershipon any attendance type (leave empty for unlimited) - The system counts usage where
attendance.membership_id = member.membership_id - When a member renews their membership, a new membership record is created with a new ID — the counter automatically resets to zero
- This is completely name-agnostic — works regardless of what you call your attendance types
Example Configuration
| Type | Counts as Present | Max Quota |
|---|---|---|
| Present | Yes | Unlimited |
| Absent | No | 3 |
| Substitute | Yes | 2 |
| Medical Leave | No | 2 |
In this example, a member can be absent up to 3 times and send a substitute up to 2 times per membership period.
Quota Display
During Attendance Marking
When marking attendance (Superuser or Franchise), each member row shows:
- A "Quota Usage" column with badges like
Absent: 2/3 - Badges turn red when the quota is reached
- In the attendance dropdown, exceeded types show
⚠ QUOTA FULL - Members without a membership show "No membership"
On Meeting Show Pages
Members who have exceeded any quota show red badges beside their name, e.g.:
- Absent: 3/3
- Substitute: 2/2
On Print Attendance
Exceeded quotas are shown as small ⚠ symbols beside the member name, with a legend at the bottom of the page explaining each symbol.
On Mobile App (Home Page)
Members see their quota usage in the Meeting Attendance section:
- All attendance types listed with usage count
- Types with a limit show
used/max, unlimited types show just the count - Exceeded types show a red "Quota Reached" badge
- Alert banners appear for any exceeded quota
Substitutes
Members can designate substitute persons who attend meetings on their behalf.
- Members manage their substitutes from the mobile app (My Substitutes)
- During attendance marking, admin selects a substitute from the member's list
- Admin can also create a new substitute inline using the (+) button on the attendance page
- Substitute details (name, mobile, email, designation) are stored on the attendance record
Attendance Records
Each attendance record stores:
portal_id— the member's portal at the time of markingmembership_id— the member's active membership at the time of marking- Substitute details if applicable
This ensures quota calculations are always tied to the correct membership period.