Implement admin-only reporting for volunteer attendance and shift coverage.
Spec
See docs/features/reporting.md
Notes
All reports are Admin-only, displayed on-screen
No data export required for MVP
All reports are filterable by date range
Requirements
Per-Volunteer Reports
FR-R01 Per-volunteer: total no-shows, total late arrivals, full cancellation history with reasons
FR-R02 Per-volunteer: total time off taken
FR-R03 Aggregate summary across all volunteers: total no-shows, late arrivals, cancellations
FR-R04 Reliability matrix: volunteers as rows, dates as columns — on-time arrivals, absences, late cancellations, no-shows
Per-Shift Reports
FR-R05 Per-shift: open spots at shift time and which specific roles were unfilled
Implement admin-only reporting for volunteer attendance and shift coverage.
## Spec
See `docs/features/reporting.md`
## Notes
- All reports are Admin-only, displayed on-screen
- No data export required for MVP
- All reports are filterable by date range
## Requirements
### Per-Volunteer Reports
- **FR-R01** Per-volunteer: total no-shows, total late arrivals, full cancellation history with reasons
- **FR-R02** Per-volunteer: total time off taken
- **FR-R03** Aggregate summary across all volunteers: total no-shows, late arrivals, cancellations
- **FR-R04** Reliability matrix: volunteers as rows, dates as columns — on-time arrivals, absences, late cancellations, no-shows
### Per-Shift Reports
- **FR-R05** Per-shift: open spots at shift time and which specific roles were unfilled
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Implement admin-only reporting for volunteer attendance and shift coverage.
Spec
See
docs/features/reporting.mdNotes
Requirements
Per-Volunteer Reports
Per-Shift Reports