Setup
Identification Codes
Use stable, human-readable codes for CSV imports and linked setup records.
What codes are
Identification codes are short, readable labels that users can type into CSV files instead of database IDs. EduVerse stores internal IDs in the background, but CSV templates use codes so schools can prepare imports without copying UUIDs.
- Codes are required for departments, buildings, rooms, programs, curricula, program stages, academic cycles, cohorts, courses, and sections.
- Codes are unique inside one school workspace. Another organization can reuse the same code.
- Codes are normalized before saving and lookup, so sci, Sci, and SCI are treated as SCI.
- Students, teachers, guardians, and other users do not need codes because they are referenced by email, roll number, registration number, or employee number where applicable.
Code format
Use uppercase letters, numbers, hyphens, or underscores. Keep codes short enough to read in tables and stable enough to reuse in future imports.
| Record | Good examples | Why it works |
|---|---|---|
| Department | SCI, CS, FINANCE | Short department abbreviations are easy to reuse in student, teacher, course, and building imports. |
| Building | MAIN, SCI-BLOCK, NORTH | Building codes identify where rooms belong. |
| Room | ROOM-101, LAB-2, AUDITORIUM | Room codes identify schedulable spaces without exposing room IDs. |
| Academic cycle | 2026-SPRING, AY-2026, TERM-1-2026 | Cycle codes identify the academic period used by section imports. |
| Program | BSCS, BBA, GRADE-9 | Program codes identify the student major or mapped delivery plan. |
| Curriculum and stage | BSCS-2026, SEM-1 | Curriculum and stage codes disambiguate the exact active mapping inside a program. |
| Cohort | GRADE-9, CS-2026, BATCH-A | Cohort codes identify student groups used by section imports and cohort management. |
| Course | MATH-101, PHY-101, ENG-9 | Course codes identify the parent course for section imports. |
| Section | GRADE-9-A, PHY-101-MORN, CS-2026-A | Section codes identify the actual class section. |
Naming advice
Avoid changing codes after CSV templates have been shared. If a code changes, future imports must use the new code.
Where codes are used
| CSV column | Resolves to | Used in |
|---|---|---|
| primaryDepartmentCode | Department | Student imports |
| departmentCodes | Departments | Student, teacher, and building imports |
| departmentCode | Department | Course imports |
| buildingCode | Building | Room imports |
| courseCode | Course | Section imports |
| academicCycleCode | Academic cycle | Section imports |
| programCode | Program | Student, cohort, and section imports |
| curriculumCode | Active default curriculum | Student, cohort, and section imports |
| stageCode | Program stage in the selected cycle | Student, cohort, and section imports |
| cohortCode | Cohort | Section imports |
| defaultRoomCode | Room | Section imports |
Internal IDs stay internal
The backend resolves each code to the matching internal ID during import. Users should not need UUIDs in CSV files.
Creating codes
- 1Create departments first, then use department codes when creating courses, buildings, students, or teachers.
- 2Create buildings before rooms, then use buildingCode in the room CSV template.
- 3Create academic cycles and programs manually before importing mapped cohorts, sections, or student majors.
- 4Create courses before sections, then use courseCode in the section CSV template.
- 5Review list pages after creation. Codes are shown beside record names so users can copy the correct values into CSV files.