Platform & access
Academic calendar
The day-level record that decides working days, which modules read it, which do not, and what breaks when it is stale.
Platform & access guide for day and boarding schools.
Last updated August 29, 2026
The academic calendar is this product's single source of truth for dates. Sync materialises one record per day of the academic year, each carrying independent flags for weekend holiday, seasonal holiday, individual holiday, event, examination and term boundary. Modules that count school days or validate a date read those records instead of doing their own arithmetic, which is why the calendar has to be right before anything that depends on it goes live.
The layers, and how they resolve
Three holiday layers stack on the same day. Weekend rules are a pattern - Sunday off, and a choice of which Saturdays of the month are off. Seasonal breaks are named date ranges for summer, winter and autumn. Individual holidays are single dates chosen from a reusable pool. Sync writes them in that order, but precedence runs the other way: a seasonal break clears the weekend and individual flags across its range, and an individual holiday is stamped only on a day that no break or weekend rule already claims. Events, exam sessions and term boundaries are then stamped on top without removing anything.
Calendar hierarchy
Admin screens
| Screen | Path | Purpose | Who may change it |
|---|---|---|---|
| Academic calendar | /academic-calendar | Weekend rules, breaks, holidays, events, and the sync that writes year-days | Platform Admin, Principal, Vice Principal, Admin |
| Holiday master | /holiday-master | The reusable pool a year draws its individual holidays from | Platform Admin, Principal, Vice Principal |
| Events | /events | Assemblies, parents evenings and other dated entries | Those roles plus any Support Staff role |
| Academic year detail | /academic-year/[id] | Terms and the year date boundaries | Platform Admin only |
What reads the calendar
- Attendance reporting - the heatmap, /my-attendance and the Teacher Marking Compliance report all count day records and exclude holidays.
- Leave - working days in a leave request are counted with holidays and weekends removed.
- Timetable - the weekly grid, coverage report, monthly teacher load and classroom utilisation all follow the weekend pattern.
- Examinations - a session whose dates overlap a holiday raises a clash that has to be confirmed, and dates outside the linked year are refused.
- Lesson plans - generating a plan from a syllabus spreads topics across school days only.
Common questions
Quick answers in plain language.
Where do weekend rules come from if two tables can define them?+
The holiday configuration row for the academic year is read first; if there is none, a legacy weekend record for that year is used; if neither exists, the default is Sunday off with all Saturdays working. The calendar sync creates the legacy record when missing, so a year that has been synced always has an answer.
Does attendance marking get blocked on a holiday?+
The date picker on /attendance flags the day as a holiday from the synced records, and every attendance report excludes holidays from its denominator, but the marking endpoint itself does not refuse a holiday date. If someone marks a register on a closed day the record exists; it simply will not count towards the working-day totals.
Which parts of the calendar can a teacher change?+
None. Teachers, students and parents can read the calendar wherever it appears but cannot edit events, terms or holidays. Event and term editing extends to Support Staff roles; sync, day generation and bulk save are limited to Platform Admin, Principal, Vice Principal and Admin; the holiday pool is leadership only.
Related searches
School leaders and IT teams often search for: school term dates, and holiday calendar K-12.

