Rostering
Rostering models describe the organizational structure of a district: schools, people, courses, classes, and enrollments. These models form the core spine that other domains attach to. See the Rostering guide for integration patterns. Districts, schools, departments, courses, and classes form the organizational and instructional spine; people, enrollments, agents, and code mapping models describe who belongs to the district and how they relate to classes.
These are the core rostering models that comprise the instruction spine:
People also have guardians (via agents) and are associated with schools, districts, and classes (via enrollments):
Example Hierarchy
The table below shows a traditional school mapped to the core rostering spine. Other domains attach around this hierarchy.
| Type | Example |
|---|---|
| District | Springfield School District |
| School | Springfield Elementary School |
| Session | Fall 2021 |
| Course | English 101 |
| Class | Mrs. Krabappel's English 101 |
| Section | Mrs. Krabappel's English 101 Period 3 |
| Person | Lisa Simpson |
| Enrollment | Lisa Simpson enrolled in Mrs. Krabappel's English 101 Period 3 |
| Agent | Marge Simpson as Lisa Simpson's parent |
District
A District is the top-level organizational unit for a data source. Each source has exactly one district. Schools, sessions, people, and courses belong to a district.
School
A School is an individual educational institution within a district, such as a K-12 school or university campus. A placeholder district-office school may be created when the source has no schools.
Session
A Session is a grading period such as a semester, term, or school year, with start and end dates. Sessions belong to a district and optionally a school.
Course
A Course is a plan of study. Many class instances of a single course may run in the same session. Courses link to session, school, district, department, and subject.
Class
A Class is an instance of a course during a specific time period. People enroll in classes. Classes link to course, school, sessions, department, subject, periods, and rooms.
Classes also reference department_id, subject_id, period_ids, and room_ids. Some integrations expose product identifiers through product_ids without a separate Product API.
Section
This model has been formally deprecated. Read more in the Deprecating Sections document.
A Section is a subgroup of students within a class, used by some LMS integrations. Many systems do not use sections. New integrations should prefer classes.
Person
A Person is an individual in the data source, such as a student, teacher, staff member, or parent. People belong to a district and may be associated with many schools. See Demographics for extended person attributes.
Enrollment
An Enrollment describes a person's relationship with a class, including role, dates, state, and final grade. Enrollments link a person to a class and optionally a section or track.
Agent
An Agent describes a relationship between two people, such as a parent or guardian linked to a student. The observer is the related person and the target is the person being observed.
Department
A Department is an organizational unit within a school that groups related subjects. Departments link to schools and are referenced by courses, classes, and subjects.
Subject
A Subject is a topic of study associated with a department. Subjects use standardized subject codes and are linked from courses and classes.
District Enrollment
This model is currently in beta.
A District Enrollment defines the time period that a person is associated with a district, including their district-level role.
School Enrollment
This model is currently in beta.
A School Enrollment defines the time period that a person is associated with a school, including their school-level role and optional track.
Grade Level
This model is currently in beta.
A Grade Level maps a district's grade level codes to standardized grade level values. See Code Mappings for how mappings work.
District Enrollment Role
This model is currently in beta.
A District Enrollment Role maps district role codes to standardized person roles used on district enrollments.
School Enrollment Role
This model is currently in beta.
A School Enrollment Role maps district role codes to standardized person roles used on school enrollments.
Enrollment Role
This model is currently in beta.
An Enrollment Role maps district class enrollment role codes to standardized person roles used on enrollments.
Gender Identity
This model is currently in beta.
A Gender Identity maps district gender identity codes to standardized values. Referenced from person demographics.