FFlockbaseDocs

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:

StateDescriptionPunctuality Calculation
PRESENTChecked in within the standard arrival window.Full Attendance (100%)
LATEChecked in after the grace period has elapsed.Partial / Flagged Attendance
ABSENTDid not check in and submitted no accepted excuse.Unexcused Absence (0%)
EXCUSEDWorker 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:

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 PRESENT or LATE based 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):

  1. The volunteer can raise an attendance dispute from their service history page.
  2. The Unit Leader inspects the claim, cross-references with team members, and updates the status to PRESENT or EXCUSED via manual override.
  3. The correction automatically recalculates the volunteer's monthly attendance statistics.

On this page