[T05] Stock Reports
Summary
Tenant-level reporting surface for race-number stock and assignments. Surfaces existing backend data; CSV export per report.
Actor & Context
Actor: tenant admin, finance, organiser preparing for an event.
Frequency: monthly+; ad-hoc before each event.
Precondition: user has TENANT_ADMIN (or EVENT_MANAGER for event-scoped reports) permission.
Entry point: Tenant-admin workspace nav Reports; deep-link from E01 for event-scoped reports.
Main Flow
-
Operator picks a report from a list (sidebar or tab strip — TBD by design pass).
-
Report renders with appropriate filters (date range, NumberType, event).
-
Operator exports to CSV when needed.
Reports in scope:
-
Stock status — counts by state and type.
-
Assignments per event — driven by event scope.
-
UNFIT summary — date filtered.
-
Person pick-list — per
person_id→ numbers ordered bylast_used(the WS1b endpoint).
Alternative Flows
-
AF-1: Report empty — empty state with hint.
-
AF-2: CSV export large dataset — server-side pagination + streaming export (TBD).
Acceptance Criteria
-
Use-case page authored.
-
Status
design-todo → handoff-readyafter Claude Design pass. -
Reports surface against existing endpoints.
-
CSV export works for each report.
API Surface
| Call | Purpose |
|---|---|
|
Stock status report. |
|
Assignments per event. |
|
UNFIT summary. |
|
Person pick-list (WS1b). |