Model & data-object reference
The records that cross app boundaries. If you are integrating, reporting or extending EduPrime, these are the objects to know — and which apps read or write each.
| Model | Owned by | Written by | Read by |
|---|---|---|---|
ep.student | ep_core | Admissions, SIS | every app |
ep.admissions.application | ep_admissions_crm | /apply, staff | Admissions, SIS (on enrol) |
ep.attendance.line | ep_academic | teachers, PWA | reports, portal, Bria |
ep.mark.entry | ep_academic | teachers, exam bridge | gradebook, reports, Bria |
ep.gradebook / ep.gradebook.entry | ep_academic | teachers, assessment bridge | report cards, transcripts |
ep.assessment.attempt | ep_assessment_engine | students sitting exams | gradebook bridge |
ep.fee.assignment / .line | ep_fees | Fees, all service bridges | invoice, portal, Bria |
ep.fee.invoice | ep_fees | Fees | portal, payment |
ep.fee.payment | ep_fees | payment rails, bursary | invoice, statement, audit |
ep.transport.assignment | ep_transport | Transport | transport bridge |
ep.hostel.allocation | ep_hostel | Boarding | hostel bridge |
ep.meals.subscription | ep_meals | Catering | meals bridge |
Extending safely — Read source models; never duplicate them. To add a new chargeable service, follow the bridge pattern: a no-op stub in your app + a tiny
auto_install bridge that writes an ep.fee.assignment.line.Was this page helpful?

