Step 4 — Creating the classes and their groups
This is the most foundational step. On the Classes tab, you create the classes, their groups, and you enter the hours per subject.
1. Creating the classes
Click Create class. For each class:
- Name (required),
- Level (from the existing levels; click Create to add one),
- Campus if your institution uses this structure,
- Default site (the solver will only search among this site's classrooms, unless a lesson is explicitly assigned to another site),
- Dedicated classroom (optional — lessons take place there by default),
- Theoretical headcount (optional but recommended for sizing classrooms).
The campus and the site answer two different questions: the campus indicates which entity of the institution the class belongs to; the site indicates where it is physically located and which classrooms are used by default.
⚠ If you forget to assign the site, lessons cannot be placed (no classrooms and no time grid). An alert reminds you of this.
2. Creating the groups for each class
Click a class's Add group button. Create as many groups as there are courses where students are not taught as a whole class.
For each group:
- Name and code (use both to make identification easy),
- Theoretical headcount,
- If several groups must or can be on the same time slot (Lab-A and Lab-B, or Spanish and German), create a class division with Add class division.
Tip: if a class's groups are (almost) identical to those of another, use the Import from another class button to import the configuration and adjust it.
Classes and groups can be synchronized from an external system: Synchronize and Synchronize open the matching screen. See Synchronization with external systems.
3. Configuring the subjects per class (the courses)
Go to the Subjects tab (or a class's Courses button).
Each subject you assign to a class in this way — with its hours and, optionally, its type (tutorial, lab, lecture…) — constitutes a course: the basic unit of your teaching offer ("mathematics in Grade 9 A, 4 h per week, as a tutorial"). The interface says "subjects" at this point, but what you are building is the notion of a course; together, a class's courses form its program (its curriculum, its brochure). The lessons you will later place on the grid are their occurrences.
For each course, specify:
- Number of hours per week,
- Optional course type (tutorial, lab, lecture…),
- Assigned teacher(s),
- Pedagogical weight (the solver tries to balance the subject across the days),
- Special classroom required (from the site's specialisations),
- Placement preferences (avoid mathematics at the end of the day, sports during the hottest hours…).
Tip: use Import from another class to reuse another class's subject configuration. The dialog even lets you import a class from another timetable, and the scope can be extended: with or without replacing the existing list, and with or without the associated teachers, the groups, the incompatibilities, the class's time constraints. You can go as far as duplicating the distribution into lessons, again choosing how far the import extends. As for the positions of the lessons, on a calendar-type timetable, it is possible to shift the days (the sequence is then recomputed according to the working days of the source and the target). This is very handy for institutions that run recurring full sessions, for example six or eight consecutive weeks, several times a year.
4. Incompatibilities between subjects
An incompatibility forbids a subject from following another. The rule is directional: "subject A must not be followed by subject B" is not the same thing as the reverse. The typical case: "no mathematics right after sports". Declare them on the class's Incompatibilities tab.
When creating the rule, choose the application window:
- Consecutive — not in the immediately following lesson, on the same day. E.g.: avoid chaining a demanding subject onto an exhausting one, "no mathematics right after sports".
- Half-day — not later in the same half-day. E.g.: alternate languages, "no Spanish after English" — and, for a mutual exclusion, add the reverse rule "no English after Spanish".
- Day — not later in the same day. E.g.: spread out the artistic subjects, "no drawing after music on the same day". For this kind of balancing, the subject's pedagogical weight is often a simpler option.
- Week — not later in the same week. E.g.: respect the order of lecture then practical work, "no chemistry practical work before the chemistry lecture".
- Always (calendar timetable) — never afterwards, over the whole period: the sequencing tool for prerequisites. E.g.: "no C++ before C", "no finance before accounting".
A few pointers to pick the right setting:
- A subject that must not be placed at a specific moment ("no maths in the first period", "no sports in the middle of the day") is not an incompatibility: use the subject's time constraints (), which govern the absolute placement of a single subject.
- Preventing a subject from coming back twice on the same day is handled more simply with the global self-incompatibility option than with pairwise rules.
- An incompatibility is a soft constraint (a penalty the solver tries to eliminate), not a hard block: it can remain in the generated timetable, where the diagnostic reports it. Avoid piling them up — each one reduces the solver's freedom.
What next
Next step: Alignments and groups of groups, if you have courses shared across classes (transverse courses).
Otherwise, go straight to Distribute the hours.
How-to
Creating a class with its groups and class divisions
-
A class brings together the students of the same program. It breaks down into groups (half-classes, electives, ability levels), with class divisions to declare the mutually exclusive groups within the class.
-
Click Create class. Enter the name (
Year 7A,L1-Computer-Science…), the level (from those configured), the campus if you use it, the default site, optionally a dedicated classroom + theoretical headcount. Without a site, lessons cannot be placed — an explicit alert says so. -
Create the class's groups. One group per distinct teaching use:
Lab-A,Lab-B(lab half-classes),German,Spanish(second-language electives),Advanced English,Standard English(ability levels). Strong recommendation: one group per distinct course, even if the students are the same. -
Declare the class divisions — mutually exclusive groups. Select the groups (e.g.
German+Spanish), click Add class division. Without a class division, the solver treats two groups of the same class as potentially conflicting. -
Configure the subjects per class: weekly hours, assigned teachers, default course type. Subjects are selected from the school's reference list (official or custom).
-
Next step: Alignments and groups of groups if you have courses shared between several classes, otherwise go straight to Distribute the hours.