Import & Export
Import keeps the existing payload format while validation follows your organization setup. Export defaults are prefilled from setup and can still be changed later in Settings.
What Stays Unchanged: Import File Shape
Existing templates remain valid. Setup changes validation behavior, not the base input format.
| Import Flow | Accepted File Type | Required Shape | Notes |
|---|---|---|---|
| Import Courses | `.json` or `.csv` | List/rows of course class records | CSV is converted to JSON internally before validation. |
| Import Timetable | `.json` | Object with `timetable` and `unscheduled` keys | Course-list JSON array is rejected in this flow. |
Validation Profiles (Import Validation Mode)
This dropdown controls strictness globally for imports. `Use my setup rules` is recommended.
| Mode | What It Does | Best Use |
|---|---|---|
| Use my setup rules (recommended) | Checks course codes, class types, days, and policy rules from your setup configuration. | Normal operations after setup is filled. |
| Strict built-in checks | Uses strict default validation profile even if setup is incomplete. | Early rollout or tighter intake guardrails. |
| Relaxed checks | Uses permissive code and teacher checks; fewer rows are blocked. | Cleanup imports and iterative data normalization. |
If no course-code format is configured yet, organization mode falls back to strict default code checks.
The import modal shows the active validation profile in plain language and links directly to setup for edits.
Organization-Configured Validation Mapping
| Validated Against | Setup Section | Examples |
|---|---|---|
| Course code pattern | Curriculum Tags & Rules | Generated from code rule rows; users do not type regex directly. |
| Class type codes | Class Types & Teaching Ownership | LEC, TUT, LAB or your custom type codes. |
| Teaching days and slot parsing | Timetable Model | Only configured teaching days are accepted for scheduled entries. |
| Collision policy checks | Scheduling Rules | Room/teaching-resource collisions, overlap behaviors, room-share exceptions, break blocks. |
| K-12 subject code scope | Courses Offered This Year | K-12 imports can be restricted to configured subject/course codes. |
Export Defaults and Per-Run Overrides
Setup defines default values shown in the export modal. Users can still override layout and paper size per export run.
| Setup Field | Applied In Export Modal | Override During Export |
|---|---|---|
| Default Export Layout | Prefilled `Layout Preset` dropdown value | Yes |
| Paper Size | Prefilled `Paper Size` dropdown value | Yes |
| Allow custom filename | Shows or hides filename input | No (controlled by setup toggle) |
| Additional export presets | Adds extra choices to `Layout Preset` dropdown | Yes (user can select any available preset) |
Additional presets are stored as preset names and injected into the layout dropdown list.
All defaults can be changed later; setup only defines the starting profile.