Attendance & Excuses
Service registers, QR code check-ins, attendance state machines, and absence excuse workflows.
Attendance tracking is the operational core of Flockbase. The system provides real-time check-in verification, automated punctuality classification, and formal absence excuse workflows.
Attendance States
Every worker scheduled or registered for a service transitions through one of four definitive states:
| State | Description | Punctuality Calculation |
|---|---|---|
PRESENT | Checked in within the standard arrival window. | Full Attendance (100%) |
LATE | Checked in after the grace period has elapsed. | Partial / Flagged Attendance |
ABSENT | Did not check in and submitted no accepted excuse. | Unexcused Absence (0%) |
EXCUSED | Worker submitted an excuse that was reviewed and approved. | Excused from quorum |
Check-in Methods
Flockbase supports three complementary check-in mechanisms to accommodate diverse church environments:
1. Dynamic QR Code Check-in (Recommended)
During church services, the unit or media team projects the dynamic QR code on sanctuary displays or check-in kiosks:
- Time-Limited Tokens: QR code tokens cycle every 30–60 seconds to prevent unauthorized photo sharing or remote check-ins.
- Worker Scanning: Workers scan the code using their mobile phone camera or web app scanner.
- Verification: The system authenticates the token and marks the worker
PRESENTorLATEbased on current server time.
2. Self Check-in (Web Portal)
Workers logged into their Flockbase dashboard can click Check In Now during the authorized service check-in window.
- The service must be currently active.
- Geofence or network constraints can be applied by church administrators.
3. Supervisory Manual Roll-Call
If a volunteer forgot their device or experienced technical issues, Unit Leaders or Admins can manually register attendance:
POST /attendance/manual
Authorization: Bearer <leader_jwt>
Content-Type: application/json
{
"serviceId": "service-uuid",
"workerId": "worker-uuid",
"status": "PRESENT",
"reason": "Checked in at entrance desk; phone battery dead"
}Manual overrides require a mandatory reason note and are recorded in the organization audit trail to preserve accountability.
The Absence Excuse Workflow
When a volunteer cannot attend their scheduled ministry shift due to illness, travel, or emergency, they can submit an excuse.
Worker Submits Excuse
(POST /excuses)
│
▼
State: PENDING REVIEW
│
┌──────┴──────┐
│ │
▼ ▼
[APPROVED] [REJECTED]
│ │
▼ ▼
Status updated Status remains
to `EXCUSED` as `ABSENT`1. Submitting an Excuse
Workers submit an excuse through the portal:
POST /excuses
Authorization: Bearer <worker_jwt>
Content-Type: application/json
{
"serviceId": "service-uuid",
"reason": "Family emergency; out of state this weekend"
}2. Reviewing Excuses
Unit Leaders and Admins review pending excuses:
- Unit Leaders can approve/reject excuses for members of their unit.
- Admins have organizational authority across all units.
- Decisions are recorded with timestamps and reviewer notes.
Attendance Dispute Resolution
If an attendee is mistakenly flagged as ABSENT (for example, due to a scanning glitch):
- The volunteer can raise an attendance dispute from their service history page.
- The Unit Leader inspects the claim, cross-references with team members, and updates the status to
PRESENTorEXCUSEDvia manual override. - The correction automatically recalculates the volunteer's monthly attendance statistics.