T4-W05 Domain Map
Mode: server · reconstructed from live source (not legacy docs).
Core boundary: per-lesson student attendance (W05-A) + manual daily arrival/departure gate (W05-B). Student RFID / face / smart attendance are V2 SC-ATTEND+ optional.
SSOT
| Concept |
Canonical model |
Classification |
| Attendance occurrence container |
op.attendance.sheet |
CANONICAL |
| Student status atom |
op.attendance.line |
CANONICAL |
| Timetable link |
op.session |
CANONICAL upstream (W01) |
| Register grouping |
op.attendance.register |
COMPATIBILITY (OpenEduCat grouping; created as needed) |
| Status type master |
op.attendance.type |
LEGACY |
| Daily arrival/departure lines |
same op.attendance.line with attendance_scope=arrival_departure |
CANONICAL — W05-B manual gate (IN V1 cert denominator) |
| RFID / face / geofence events |
scola_smart_attendance |
PILOT / OPTIONAL |
| Employee attendance / correction |
scola_hr_attendance |
OPTIONAL |
| Leave request |
scola.student.leave.request |
DERIVED input into lines |
| Daily cancel/adjust log |
scola.attendance.daily.cancel.log |
OPTIONAL (daily path) |
Entities
op.attendance.sheet
| Field |
Role |
| concept |
One sheet per session + date |
| company |
related via batch |
| session_id |
op.session |
| attendance_date |
school-local date |
| state |
draft / start / done / cancel — Core API save forces done |
| API |
faculty session-sheet/save; admin sheet/create |
| capability |
students.attendance.update (write) / .view (admin read) |
| active roles |
teacher (owned session), school_admin / head_admin / admin_staff (admin write), principal/wakasek (read) |
| scope |
teacher: session.faculty_id == self; admin: company |
op.attendance.line
| Field |
Role |
| concept |
One status row per student per sheet |
| student_id |
op.student |
| attendance_id |
sheet |
| flags |
present / late / excused / absent |
| leave_type |
izin / sakit / … (Scola) |
| attendance_scope |
per_lesson for W05 |
| attendance_source |
manual_session for W05 |
| uniqueness |
SQL unique(student_id, attendance_id, attendance_date) |
| API |
embedded in sheet save payloads |
| scope |
must be member of session batch (enforced on faculty/admin write as of T4) |
Primary APIs (IN denominator)
POST /api/v1/attendance/faculty/today-sessions
POST /api/v1/attendance/faculty/session-sheet
POST /api/v1/attendance/faculty/session-sheet/save
POST /api/v1/attendance/admin/sheet/create (+ draft/list/lines read)
POST /api/v1/attendance/student/daily (read)
POST /api/v1/attendance/parent/daily (read linked child)
Explicitly OUT (V2 optional / separate SKU)
Student RFID, face, geofence, smart attendance ingestion, employee attendance, LMS/extracurricular attendance, ATTEND+ composite cert.
W05-B IN (manual daily gate)
POST /api/v1/attendance/daily/roster
POST /api/v1/attendance/daily/check-in / check-out / bulk-save
POST /api/v1/attendance/daily/cancel / adjust-times
POST /api/v1/attendance/pickup-persons/*