Three workflows share enrollment but not state

Attendance, exams, and payments intersect around the same learner but represent different evidence and ownership. A robust education platform keeps their state machines independent, then expresses policies such as exam eligibility as explicit rules over those records rather than mixing every field into one student status.

Model attendance, assessment, and finance independently

  • Attendance is evidence per scheduled session with presence/absence/late/excused semantics.
  • Assessments have attempts, submissions, grading, moderation, and publication states.
  • Finance has charges, invoices/dues, payments, waivers, refunds, and outstanding balance.
  • Eligibility rules consume these domains but should not rewrite their history.
  • Overrides need reason, permission, actor, and audit event.

A student-day through the platform

Attendance, assessment, and finance record their own truth; an eligibility service reads them at a decision point.

Diagram

Enrollment connects three independent evidence streams

Attendance, assessment, and finance record their own truth; an eligibility service reads them at a decision point.

Exam eligibility based on attendance and fees

Cross-domain rules that become brittle

Education-operations checklist

  • Keep session attendance, assessment attempts, and finance ledger separate.
  • Express eligibility as a versioned policy.
  • Preserve history for re-sits, refunds, waivers, and corrections.
  • Audit overrides.
  • Test boundary dates, late payments, excused absence, and policy changes.