Khi cơ quan chức năng mượn sân tổ chức sát hạch: lịch kỳ thi, điều phối xe sát hạch & sân, danh sách thí sinh, doanh thu cho thuê. Không chấm thi — phần chấm thuộc WS sát hạch (v3).
| Feature | BO chính | Action |
|---|---|---|
| exam | Kỳ sát hạch (mượn sân) | viewcreateedit |
| roster | Danh sách thí sinh · điều phối xe/sân | viewimportassign |
| revenue | Doanh thu cho thuê theo kỳ | viewreportreconcile |
| BO | Trường chính |
|---|---|
| Kỳ thi | Ngày · hội đồng/đơn vị tổ chức · hạng thi · số thí sinh dự kiến · sân/khu vực dùng |
| Điều phối | Xe sát hạch × kỳ × ca · nhân sự phục vụ · checklist chuẩn bị sân |
| Doanh thu | Đơn giá thuê sân/xe theo kỳ · đối soát với đơn vị tổ chức · trạng thái thanh toán |
Khối permissions[] dán vào manifest.json; bảng dưới là gán quyền theo vai trò (seed rt_role). Permission key đầy đủ: examops.main.<feature>.<action>.
⚠️ Action đặc thù (reconcile) cần bổ sung vào validator manifest — xem plan data-scope P1.
| Feature | QTHT | GIAM_DOC | SAT_HACH | KE_TOAN |
|---|---|---|---|---|
| exam | R | R | W | — |
| roster | R | R | W | — |
| revenue | R | R | — | W |
R xem · W tạo/sửa · A duyệt · — không có quyền · ¹ dữ liệu phân công · ² của chính mình · ³ theo trạng thái hồ sơ. Vai trò không liệt kê = không có quyền.
Đặc thù: roster +import,assign (SAT_HACH) · revenue +reconcile (KE_TOAN)