Appearance
Import templates
Reference for CSV/XLSX shapes used when loading school data.
Staff CSV
Path in app: downloadable from Staff (also templates/staff.csv / apps/web/public/templates/staff.csv).
| Column | Type | Notes |
|---|---|---|
| Name | string | Required display name |
| string | Optional | |
| Team | string | Team / grade banding hint |
| Role | string | Job title label |
| Duty tier | enum | preferred, acceptable, last_resort, excluded |
| First aider | boolean | true / false |
csv
Name,Email,Team,Role,Duty tier,First aider
Alex Example,alex@school.test,Professional Services,Teaching Assistant,preferred,true
Sam Example,sam@school.test,Teaching Staff,Class Teacher,last_resort,falseStaff XLSX
Kenley-style sheets may encode duty eligibility 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 Duty tier 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.
Other template stubs
Repository templates/ may also include starter headers for zones, weekly rota, and absences. Treat them as reference shapes — validate against the current Staff/Setup UI before bulk loading.
