Hikma
Timetable

Prerequisites

The checklist of everything that must exist before you can configure and generate a timetable.

The timetable generator can only build a schedule from things that already exist. Before you start, make sure each item below is set up. Most of it is your normal academic setup — if your school is already running, much of this is done.

Who this is for

Administrators preparing the school for timetable generation.

The checklist

#PrerequisiteWhy the timetable needs itWhere to set it up
1Academic yearEverything is scoped to a year.Selected in the year switcher. See Create an academic year.
2School scheduleThe year-wide default week (days, hours, breaks). Timetable configs must fit inside it.Settings → Academic → School schedule. See School schedule.
3TermsA timetable group is built for a term, so the year must be divided into terms.Create terms.
4LevelsSubjects and classes are organised by level.Create levels.
5ClassesClasses are the groups that receive a schedule.Create classes.
6SubjectsThe subjects to be scheduled. A subject can require a room type (e.g. a lab).Create subjects.
7Subjects per level (with teaching load)Tells the generator which subjects each level studies and how many lessons per week each one has.Academic → Timetable → Config → Teaching load. See Teaching load and Lessons and assignments.
8RoomsLessons need somewhere to happen. Rooms have a capacity and a type.Create rooms.
9TeachersThe people who teach the lessons.Add teachers.
10Teacher–class assignmentsThe single most important input: who teaches each class–subject. The generator schedules these assignments.Academic → Teacher Assignments. See Teacher Assignments and Lessons and assignments.

The most common blocker

A timetable can't be generated if a class–subject has no teacher assigned. The generator checks this before it runs and will tell you exactly which assignments are missing. Filling in every teacher–class assignment is usually the step that takes the most attention.

Make sure your resources are enough

Everything in the checklist just needs to exist — but for a timetable to be possible, your resources also have to be enough. Before you generate, sanity-check that you have:

  • enough rooms for all the lessons that run at the same time, and enough of the right type (for example labs for lab subjects),
  • enough teacher time — each teacher's unavailability and hour limits must still leave room for every lesson they're assigned,
  • weekly lesson counts that actually fit the working days and periods in your config.

The generator runs a feasibility check before it starts and tells you exactly what falls short, but checking up front saves a failed run. See Generate and activate.

Optional, depending on your school

PrerequisiteWhen you need itWhere
Class groupsWhen a class splits into smaller groups for some lessons (e.g. half the class does the lab while the other half does theory).Class setup → Groups. See Lessons and assignments.
Teacher subjectsWhen you want to record which subjects each teacher can teach, to guide assignment.Teacher profile.

What comes after the prerequisites

Once everything above exists, you move on to the timetable-specific setup:

  1. School schedule — year-wide default week (if not done yet).
  2. Timetable config — the weekly grid for your groups (inside the school schedule).
  3. Teaching load — how many lessons each subject needs per week.
  4. Scheduling setup — teacher and room availability, limits, and room rules.
  5. Timetable groups — create the weekly template for a term and levels.
  6. Constraints — the preferences the generator should try to satisfy.
  7. Generate and activate — run it, review, and activate.
  8. Activate and class sessions — how the live week becomes dated meetings.

Tip

Work top to bottom. Each later step assumes the earlier ones are done — for example you can't set a teacher's availability until the teacher exists, and you can't generate until assignments are complete.

On this page