Domain entities
Domain entities
Section titled “Domain entities”Audience: domain, backend, ux, qa, frontend
Status: specced
Owns: product + backend
Depends on: Domain overview, RPL lifecycle, RPL policies
Entities below are the shared vocabulary. Attributes are business-facing, not database columns. Stage/status codes come from the lifecycle.
Core entities
Section titled “Core entities”| Entity | Definition | Notes |
|---|---|---|
| User | Authenticated person on the platform | Holds identity records over time (POL-08); roles attach via persona / org membership |
| Candidate | Persona applying for RPL | Owns applications; must verify identity before submit |
| Assessor | QAA, IQA (IQM), or EV | Platform-vetted; one assessor type per centre (POL-09) |
| Centre | Assessment centre that runs RPL applications | Onboards payout details; assigns reviewers, facilitators, panels |
| AwardingBody | Issues certificates; runs external verification | Assigns EV |
| Application | Candidate’s RPL application for a trade/units | Aggregate; moves through lifecycle stages |
| Trade | NOS trade the application targets | From NOS documents |
| Unit | NOS unit within a trade | Selected with the trade on the application |
| EvidenceFolder | Evidence collected for the application | Facilitator-assisted in EVIDENCE stage |
| Payment | Candidate payment to the centre | Required before facilitator assignment (PAYMENT stage) |
| Interview | Panel interview for the application | Panel of three (one head); can lead to appeal or GAP_TRAINING |
| Certificate | Credential issued after successful path | Generation model open (POL-06) |
| Recommendation | LMS course suggestion for competency gaps | CAP → LMS via gRPC |
Related actors (not always separate aggregates): Facilitator, Reviewer, Interview panel, Platform staff. See Personas.
Key invariants
Section titled “Key invariants”| ID | Rule | Refs |
|---|---|---|
| INV-01 | NIN (or current identity method) verified before application leave DRAFT for submit |
Lifecycle, Identity module |
| INV-02 | At most one active (non-draft) application path per concurrent-application policy | Lifecycle, POL-01 |
| INV-03 | Centre payment completed before facilitator assignment for evidence | Payment module, lifecycle |
| INV-04 | One assessor type per centre | POL-09 |
| INV-05 | EV must not be an assessor at the centre whose application they verify | POL-10 |
| INV-06 | After unsuccessful interview with gaps, application may CLOSED with reason GAP_TRAINING and LMS recommendations shown |
Recommendations, lifecycle |
Stage vocabulary (pointer)
Section titled “Stage vocabulary (pointer)”Do not redefine stages here. Canonical codes: DRAFT → CENTRE_REVIEW → PAYMENT → EVIDENCE → INTERVIEW → INTERNAL_VERIFICATION → EXTERNAL_VERIFICATION → CERTIFICATION → CLOSED. Full tables: RPL lifecycle.
Glossary bridge
Section titled “Glossary bridge”Platform and acronym terms: Glossary. Prefer entity names from this page in OpenAPI, UX, and tests.