Skip to main content
Schoolyi
School librarian arranging books and planning cards in a bright library

Browse docs

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

  1. Set classTeacherId and coClassTeacherId on the class record so homeroom staff can open /attendance; subject assignments are not a substitute.
  2. Ensure classes have active student memberships for the register.
  3. Optional: configure the school notification channel if absence email is required; in-app absence notifications are created by the attendance route.

Usage workflow

  1. Homeroom teacher opens /attendance → class and date (today default).
  2. Mark Present, Absent, or Late → save (bulk mark-all available).
  3. Absent → parents get in-app notification + optional email; link opens /parent-dashboard/attendance?childId=.
  4. Period marks are experimental: /attendance/period requires a published slot and does not replace homeroom.
  5. 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.
  6. 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.