Skip to content

Import templates ​

Reference for CSV/XLSX shapes used when loading school data.

Staff CSV ​

Path in app: downloadable from Setup (AI setup and Staff directory) and Staff (also templates/staff.csv / apps/web/public/templates/staff.csv).

ColumnTypeNotes
NamestringRequired display name
EmailstringOptional
RolestringJob title label
Cover preferenceenumOften, Sometimes, Only if needed, Never (legacy enum values also accepted)
First aiderbooleantrue / false
csv
Name,Email,Role,Cover preference,First aider
Alex Example,alex@school.test,Teaching Assistant,Often,true
Sam Example,sam@school.test,Class Teacher,Only if needed,false

Staff XLSX ​

Kenley-style sheets may encode cover preference via traffic-light cell fills: Parsing is implemented in apps/web/src/server/lib/xlsx-duty-tier.ts using domain helpers dutyTierFromFillRgb and dutyTierFromLabel.

Prefer an explicit Cover preference column when you control the template.

Teaching timetable CSV ​

Path: templates/teaching-timetable.csv / Staff → Teaching timetable (CSV)

ColumnTypeNotes
Staff email / Staff namestringMatch to staff profile
WeekdaystringMon–Fri
Start / EndtimeHH:MM
SubjectstringLesson label
ClassstringOptional; creates class row
RoomstringOptional
Weekenumblank, A, B
NotesstringOptional

See Importing a teaching timetable. Unstructured personal timetable files (PDF, Word, photo) belong on Setup → Existing timetable when you are building duty posts, not this CSV.

Other template stubs ​

Repository templates/ may also include starter headers for duty areas, weekly rota, and absences. Treat them as reference shapes: validate against the current Staff/Setup UI before bulk loading.

Practice pack (fictional Oakfield Primary): templates/dummy-oakfield-primary/ (also /templates/dummy-oakfield-primary/ in the app, and Your first setup on the docs site). Safe to import on a blank school. Do not use Load demo training data if you want to walk the empty-school wizard with these files.

See also ​

SchoolRota documentation. Every slot covered, every day.