Skip to content

API — Reports

Purpose

Operational reports: the daily and monthly roster reports, the reconciliation variance report, and the utilization metric — each as JSON plus, for the roster/variance reports, .xlsx and .pdf exports.

Auth & roles

  • Roster reports — base /api/reports · roster.view.
  • Variance & utilization — reconciliation.view.

See the RBAC matrix.

Endpoints

Method Path Purpose Gate
GET /api/reports/daily-roster (+ .xlsx, .pdf) Daily roster report roster.view
GET /api/reports/monthly-roster (+ .xlsx, .pdf) Monthly roster report roster.view
GET /api/reports/variance (+ .xlsx, .pdf) Reconciliation variance report reconciliation.view
GET /api/reports/utilization Utilization metric reconciliation.view

Shapes & errors

Daily/Monthly roster + Variance reports render as JSON with .xlsx (export) and .pdf (QuestPDF, RTL-aware) variants. Standard ProblemDetails.

Gotchas

  • Utilization and equalization are JSON-only — no export variant, no charts (sheet 17). The dashboard tiles are counts, not visualizations.
  • No chart library anywhere in the product — reports are tabular JSON / spreadsheet / PDF (sheet 17).
  • PDF exports are RTL-aware (Arabic) — they reuse the daily-roster PDF exporter pattern.

Build status

Partial — daily/monthly roster + reconciliation reports (JSON + xlsx + pdf) and the manager dashboard tiles are LIVE; utilization/equalization are JSON-only; no charts (sheet 17).