Teaching & schedule
Curriculum setup and usage
Build one syllabus per class-subject-year, pace lesson plans against the academic calendar, publish study materials, and expose the same content to students and parents.
Teaching & schedule guide for day and boarding schools.
Last updated August 29, 2026
Curriculum is the first academic module to configure in a new year, ahead of the timetable and long before the first exam paper is written. A syllabus row is unique per class, subject and academic year, so the year has to exist before anything else can be attached to it. Everything downstream reads that one row: weekly lesson plans, the topic list a paper blueprint snapshots, teaching progress, and what a learner sees on their portal.
The step that most often goes wrong is pacing. Lesson plan generation does not spread topics evenly across calendar weeks - it reads the academic calendar day by day, discards individual holidays, seasonal holidays and weekend days, groups what is left into Monday-start instructional weeks, and hands each week a share of the topic list proportional to its working days. A term with a two-week seasonal break therefore produces fewer plans, automatically. Configure the calendar at /academic-calendar and generate calendar days before you generate plans.
Prerequisites
- An academic year with calendar days generated at /academic-calendar - generation returns a 400 with "No instructional days found" when the calendar is empty.
- Subjects defined at /subjects and classes carrying active student memberships.
- Active teacher assignments per class-subject at /teachers/assignments - these decide who may edit a syllabus and who receives generated lesson plans.
- Optional: prescribed textbooks catalogued at /books so a syllabus can point at a CurriculumBook instead of retyping titles.
Setup workflow
- Open /syllabus and create one syllabus per class-subject for the active academic year; a duplicate for the same class, subject and year is rejected, so edit the existing row instead.
- Pick a template (CBSE_NCERT, ICSE or IB) or leave it blank for a custom outline - the body is stored as JSON chapters, each holding ordered topics.
- Build chapters and topics at /syllabus/[id], and attach prescribed and reference books, marking one as primary.
- Map period load at /timetable/curriculum so the timetable generator knows how many periods a week each class-subject needs.
Usage workflow
- Teachers plan week by week at /lesson-plans, or generate a whole year from the syllabus in one pass.
- Generated plans land as DRAFT with approval PENDING; class-subjects with no syllabus content are skipped, and weeks that already hold a plan are left alone unless you choose overwrite.
- Leadership approves or rejects plans, storing the approver and an optional comment; teachers see and edit only their own plans.
- Upload resources at /study-materials against a class grade, optionally narrowed to a class, section, stream or subject; detail and downloads live at /study-materials/[id].
- Teachers tick topics complete on the syllabus checklist; marking a lesson plan COMPLETED also counts its linked topics towards coverage.
- Students read /my-syllabus with their elective choices; parents read /parent-dashboard/syllabus?childId= for the selected child.
Who owns what
| Role | Can do | Cannot do |
|---|---|---|
| Principal, Vice Principal, Admin, Platform Admin | Edit any syllabus, approve or reject lesson plans, generate plans for all teachers at once | Nothing in this module is withheld from leadership |
| Teacher | Edit the syllabus for a class they are assigned to or homeroom, write and generate their own plans, upload study materials | Approve lesson plans, or generate plans for another teacher |
| Student | Read /my-syllabus for their enrolled classes and open study materials for their grade | See lesson plans or draft syllabus edits |
| Parent | Read /parent-dashboard/syllabus?childId= and grade-scoped study materials | See lesson plans, teacher progress, or another family’s child |
What breaks if you skip a step
- No calendar days: lesson plan generation refuses to run and tells you to generate the academic calendar and holidays first.
- No active teacher assignments: generation returns a 404 because there is nothing to generate against, and the teacher cannot edit the syllabus either.
- Empty syllabus content: that class-subject is silently skipped and counted as skipped in the response, so a partial run is easy to miss.
- Study material saved without a class grade filter: it becomes visible to every learner in that grade, not only the intended section.
Handoff and limits
Curriculum feeds examinations rather than the other way round. When a paper blueprint is created it snapshots the chosen curriculum topics into its own record and keeps a reference to the source syllabus, so later curriculum edits cannot rewrite a locked blueprint. Curriculum also feeds the timetable through the period map at /timetable/curriculum. It does not feed the gradebook: syllabus coverage and lesson plan status are teaching records, and no mark is derived from them.
- Syllabus content has no versioning or approval workflow of its own - only lesson plans carry an approval status.
- Topic coverage is tracked per teacher, so two teachers sharing a class-subject keep separate checklists.
- There is no automatic warning when a class falls behind the generated pacing; compare coverage against the plan yourself.
Common questions
Quick answers in plain language.
Why did lesson plan generation create nothing?+
Three checks fail silently or loudly. If the academic year has no calendar days, POST /api/lesson-plans/generate returns 400 asking you to generate the calendar and holidays at /academic-calendar. If no active teacher assignment matches the filters it returns 404. If the assignment exists but the syllabus has no chapters, that class-subject is counted in "skipped" and no plan is written.
Can I create two syllabi for the same subject in one class?+
No. A syllabus is unique per class, subject and academic year, and POST /api/syllabus rejects a duplicate with a 400. Open the existing row at /syllabus/[id] and edit its chapters, or create the next year first and build the new syllabus there.
Who can approve a teacher’s lesson plan?+
Only Admin, Principal, Vice Principal or Platform Admin. POST /api/lesson-plans/[id]/approve returns 403 for a Teacher role. Teachers may write, edit and complete their own plans, but the APPROVED or REJECTED decision and its comment are recorded against a leadership account.
Do students see study materials from other classes?+
No. Materials are filed against a class grade and learners only see their own grade. Staff see everything. Narrow a material to a class, section, stream or subject when it should not reach the whole grade.
Related searches
School leaders and IT teams often search for: how to curriculum workflows in school management software, best timetable software for schools for K-12 schools, Schoolyi curriculum workflows guide, curriculum workflows step by step, attendance management software, school scheduling software, and lesson planning software schools.

