Teaching & schedule
Attendance setup and usage
Homeroom marking, CSV import, period marks, and parent absence alerts.
Teaching & schedule guide for day and boarding schools.
Last updated August 29, 2026
Daily attendance is the official homeroom register. A teacher can mark a class only when they are its class teacher or co-class teacher through the class record fields classTeacherId or coClassTeacherId; a subject assignment alone does not grant daily-register access. Before opening the register, make sure the class is active and has active student memberships. The academic calendar remains the source of working-day context for reports, but it does not create attendance rows for a day that nobody marked.
Period attendance is a separate experimental track. It requires a published timetable slot for the class, period and date, and the marker must be assigned to that slot or be an authorised structure manager. A period row can be updated, but it cannot replace an existing FULL_DAY homeroom record. Use the daily register for the official mark and use period rows only when the school deliberately tracks lesson-level presence.
Setup workflow
- Set classTeacherId and coClassTeacherId on the class record so homeroom staff can open /attendance; subject assignments are not a substitute.
- Ensure classes have active student memberships for the register.
- Optional: configure the school notification channel if absence email is required; in-app absence notifications are created by the attendance route.
Usage workflow
- Homeroom teacher opens /attendance → class and date (today default).
- Mark Present, Absent, or Late → save (bulk mark-all available).
- Absent → parents get in-app notification + optional email; link opens /parent-dashboard/attendance?childId=.
- Period marks are experimental: /attendance/period requires a published slot and does not replace homeroom.
- Staff historical import: upload CSV (date, studentId, status, optional session) → POST /api/attendance/bulk-import; existing rows for the same student, class, date and session are updated.
- Students review /my-attendance; parents use /parent-dashboard/attendance with child picker.
Common questions
Quick answers in plain language.
What happens if a CSV row already exists?+
The bulk importer upserts by student, class, date and session. It updates the existing status, remark and marker rather than creating a duplicate. A studentId that is not an active member of the selected class is returned as a row error and is not saved.
Can period attendance replace a daily register mark?+
No. A FULL_DAY homeroom mark blocks creation of a period mark for that student and date. Period attendance is experimental and subordinate to the official register; correct the daily record at /attendance when the homeroom mark is wrong.
How does daily homeroom attendance work?+
Assign class teachers at /teachers/assignments. Homeroom staff open /attendance, select their class, mark present/absent. Sync working days at /academic-calendar after holiday changes.
When is period attendance used?+
Period marking at /attendance/period requires a published timetable slot and teacher assigned to that subject period — used when schools track per-period presence.
Related searches
School leaders and IT teams often search for: how to attendance workflows in school management software, best timetable software for schools for K-12 schools, Schoolyi attendance workflows guide, attendance workflows step by step, attendance management software, school scheduling software, and lesson planning software schools.

