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

Browse docs

Platform & access

Calendar setup workflow

The order to build an academic year: terms, weekend rules, seasonal breaks, holidays, and the sync that writes year-days.

Platform & access guide for day and boarding schools.

Last updated August 29, 2026

Do this once per academic year, in the weeks before the first working day. The calendar is not a display: sync writes one AcademicYearDay row for every date between the year start and end, and each row carries flags for weekend, seasonal break, individual holiday, event, examination and term boundary. Attendance reporting, leave, timetable coverage, exam date validation and lesson planning all read those rows rather than working out dates for themselves.

Prerequisites

  • An academic system template at /academic-system, which is Platform Admin only.
  • An academic year at /academic-year. It must start on 1 April and end on 31 March of the following year; other dates are rejected.
  • Terms on /academic-year/[id]. Nothing generates them, and /settings/data-quality counts years that have none.

Order of work

  1. Create the year at /academic-year and mark it current. Only Platform Admin may create, edit or delete an academic year.
  2. Add each term with its start and end dates before anyone schedules against it.
  3. Open /academic-calendar and use the Holidays tab to set the weekend pattern - Sunday off, and which Saturdays of the month are off.
  4. Add seasonal breaks for summer, winter and autumn on the same tab.
  5. Select the individual holidays that apply this year. A holiday must already exist in the pool at /holiday-master before it can be picked.
  6. Add events on /events or the calendar Events tab for assemblies, parents evenings and anything families should see.
  7. Run Sync from /academic-calendar. It generates any missing year-days, applies the holiday layers, then stamps events, exam sessions and term boundaries.
  8. Check the Overview tab and compare the working-day count against what the school actually plans to teach.

How sync resolves overlapping holidays

Sync applies weekend rules first, then seasonal breaks, then individual holidays, but precedence runs the other way. A seasonal break clears the weekend and individual flags on every day it covers, and an individual holiday is stamped only where neither a weekend rule nor a break already applies. A festival date that falls inside the winter break is therefore recorded once, as a seasonal day.

Who may do what

ActionRouteRoles
Create or edit the academic year/academic-yearPlatform Admin only
Generate days, sync, bulk save/academic-calendarPlatform Admin, Principal, Vice Principal, Admin
Add or edit events and terms/events, /academic-calendarThose four, plus any Support Staff role
Maintain the holiday pool/holiday-masterPlatform Admin, Principal, Vice Principal
Read the calendarEverywhere it appearsEvery signed-in user

Common questions

Quick answers in plain language.

In what order does calendar sync apply weekend rules, seasonal breaks and individual holidays?+

Sync runs weekend, then seasonal, then individual, but precedence is the reverse. A seasonal break clears weekend and individual flags for the days it covers, and an individual holiday is stamped only where neither already applies. Sync then writes event, examination and term-boundary flags from /events, the exam sessions and the year terms.

I added a holiday but attendance percentages have not changed. Why?+

The holiday exists in configuration but has not been written into the year-days. Open /academic-calendar, confirm the right academic year is selected, and run Sync. The attendance heatmap, /my-attendance and the Teacher Marking Compliance report all count AcademicYearDay rows, so none of them move until sync has run.

Can an academic year start in June rather than April?+

No. A year must start on 1 April and end on 31 March of the following year. /academic-year rejects anything else, and the rollover wizard derives the next year name and end date from that rule.

Does an exam scheduled on a holiday get blocked?+

It is a warning, not a block. Saving an exam session whose date range overlaps a holiday, seasonal break or weekend returns a holiday clash that asks for confirmation, and the session can be saved anyway once confirmed. Session dates outside the linked academic year are refused outright.

Why must the academic calendar be configured first?+

Attendance percentages, fee due dates, leave, exams, and cron jobs read working-day flags from /academic-calendar. Configure the active academic year and sync holidays before downstream modules go live.

Related searches

School leaders and IT teams often search for: how to calendar setup in school management software, best role based access school software for K-12 schools, Schoolyi calendar setup guide, calendar setup step by step, school admin dashboard, multi campus school software, and academic year setup.