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 FlowAccepted File TypeRequired ShapeNotes
Import Courses`.json` or `.csv`List/rows of course class recordsCSV is converted to JSON internally before validation.
Import Timetable`.json`Object with `timetable` and `unscheduled` keysCourse-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.

ModeWhat It DoesBest 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 checksUses strict default validation profile even if setup is incomplete.Early rollout or tighter intake guardrails.
Relaxed checksUses 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 AgainstSetup SectionExamples
Course code patternCurriculum Tags & RulesGenerated from code rule rows; users do not type regex directly.
Class type codesClass Types & Teaching OwnershipLEC, TUT, LAB or your custom type codes.
Teaching days and slot parsingTimetable ModelOnly configured teaching days are accepted for scheduled entries.
Collision policy checksScheduling RulesRoom/teaching-resource collisions, overlap behaviors, room-share exceptions, break blocks.
K-12 subject code scopeCourses Offered This YearK-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 FieldApplied In Export ModalOverride During Export
Default Export LayoutPrefilled `Layout Preset` dropdown valueYes
Paper SizePrefilled `Paper Size` dropdown valueYes
Allow custom filenameShows or hides filename inputNo (controlled by setup toggle)
Additional export presetsAdds extra choices to `Layout Preset` dropdownYes (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.