Lewati ke isi

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/*