Appearance
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).
| Column | Type | Notes |
|---|---|---|
| Name | string | Required display name |
| string | Optional | |
| Role | string | Job title label |
| Cover preference | enum | Often, Sometimes, Only if needed, Never (legacy enum values also accepted) |
| First aider | boolean | true / 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,falseStaff 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)
| Column | Type | Notes |
|---|---|---|
| Staff email / Staff name | string | Match to staff profile |
| Weekday | string | Mon–Fri |
| Start / End | time | HH:MM |
| Subject | string | Lesson label |
| Class | string | Optional; creates class row |
| Room | string | Optional |
| Week | enum | blank, A, B |
| Notes | string | Optional |
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
- Your first setup
- Importing staff
- Staff directory
- Initial setup (one rota file, many personal timetables, or one zip)

