Time grid, time slots and durations
The time grid describes a site's time slots: start times, end times, breaks, lunch break and closures. It serves display, availability checks and automatic generation alike.
Standard storage: the time slot, not the written time
By default, a placed lesson is attached to a slot of the grid. Omniscol stores the position in the grid, then recomputes the displayed times from the site's grid.
A useful consequence: if one day the starting bell changes from 08:15 to
08:10, the lessons placed on that slot follow the new grid without
having to edit each lesson one by one.
Grid display mode
The display mode determines how the hours column is presented, without changing lesson placement in any way:
- Lesson hours — each row carries the slot's real times (8:15 – 9:10, 9:15 – 10:15…), as defined by the site's grid.
- Periods — each row carries a period number (P0, P1, P2…), a widespread convention in English-speaking schools.
- Calendar — calendar-style display on round hours (8:00, 9:00, 10:00…), independent of the grid: each lesson sits at its real time on a continuous time background.
Time slot duration
The time slot duration is the reference duration of a time slot. It can include the gap between lessons if the institution counts it that way.
Examples:
- 55-minute lessons with a 5-minute gap between them: slot duration of
60minutes; - regular 1.5-hour lessons: slot duration of
90minutes; - mostly one-hour lessons, with a few 1.5-hour lessons: slot
duration of
60minutes and a suitable division.
This duration is used for the configured hour volumes and for generation. Real start and end times can vary within the grid: a recess can make a displayed slot last 55 minutes while remaining attached to a reference duration of 60 minutes.
This setting is defined on the General tab of the timetable editor (see General settings).
Typical durations, in order of popularity, are: 60, 45, 50, 120, 90, 30, 180.
Sometimes, in higher-education institutions, lessons always last several hours, but they may start at either 8:00 or 9:00, or last 6 or sometimes 5 hours. In that case the greatest common divisor prevails, and it will usually be a slot duration of 60 minutes.
Time slot division
The time slot division indicates how many sub-parts the slot duration can be cut into. It is the minimum time step. A few examples:
1: only lessons of a full slot duration;1/2: a 30-minute step if the slot duration is 60 minutes;1/4: a 15-minute step if the slot duration is 60 minutes.
Choose the simplest granularity that covers the actual needs. A finer division allows more flexibility, but increases the number of possibilities to test during generation.
In the interface, this setting is adjusted on the General tab through Time slot division.
In most school systems around the world, the time grid has no subdivision. In France, it is usually 1/2 in secondary education (a few lessons last 1.5 hours). In some training organizations, precision can go down to 10 minutes: that is a slot duration of 60 minutes with a 1/6 division.
Position and duration: storage in time steps
A lesson is not recorded with "fixed" times but as a number of time steps on the grid. The step is the slot duration divided by the division: a slot duration of 60 minutes with a 1/2 division gives a 30-minute step. A one-hour lesson then occupies 2 steps, a 1.5-hour lesson occupies 3.
Three notions coexist without merging:
- the reference duration (the slot duration) is used to count hour volumes and to display the duration of a lesson;
- the displayed real times (start and end) come from the site's grid, slot by slot;
- storage happens in time steps, at the granularity of the division.
This is why the same slot can display 8:15 – 9:10 (real times) while counting as 1 hour (reference duration).
Global slot bans
Some slots must remain banned for the whole institution: Wednesday afternoon, a meeting slot, a reserved range. These bans are set directly on the site's grid, by marking the slot as unavailable: no lesson will be placed there, neither in display nor in generation.
This is a time constraint carried by the grid. On Premium accounts, the same mechanism also allows soft constraints (slots to avoid without closing them). See Time constraints (general system).
Lunch break and offsets
The lunch break is described by a range (for example 12:00 – 14:00) and a lunch duration to preserve. When the duration to preserve is shorter than the range, Omniscol allows a lesson on part of the break, as long as the lunch duration remains possible — before or after the inserted lesson. It is very common for the lunch break to last two hours while a one-hour lesson may still be positioned on it — usually electives where the whole class is not present, or transverse courses where synchronizing several classes is complex. The parts of the class that have no lesson are not considered to be in study hall (for the algorithm, it is not a gap).
The lunch break is also the only case where an irregular slot is treated as a set of distinct time steps. With a 30-minute time step, a slot duration of 1 hour and a break range from 12:00 to 13:30, the software considers it as 3 × 30 minutes. You can declare either a single 1.5-hour slot, or 1 hour + 30 minutes, or 30 minutes + 1 hour — it does not matter. In that configuration, the afternoon lessons are shifted by half an hour. If you then declare a minimum lunch duration of half an hour, this leaves the possibility of placing a one-hour lesson on the break, letting the students concerned have lunch either before or after the lesson.
You can also indicate that the canteen opens just before the official break: a "gap" on that slot then does not count as lost time for students.
What matters is modeling the intended rule: open slots, closed slots, flexible lunch break, availability or unavailability. The grid must reflect what the institution actually accepts.
Staggering meals by level to ease canteen load
When the canteen cannot seat the whole institution at once, you spread the levels across two sittings in succession. The grid carries a single shared lunch break; the offset is then set class by class with the time constraints.
- On the site grid, declare the lunch break over the whole range — for example 12:00 – 14:00 — with a lunch duration to preserve of one hour. On its own, each class could then have lunch on either 12:00 – 13:00 or 13:00 – 14:00.
- To pin each level's sitting, open the class time constraints (Class time constraints) and paint the half-slot reserved for its meal in Unavailable (black). The solver places no lesson there: that moment is guaranteed for lunch, and the class's lessons move to the other half-slot.
For two sittings:
- Lower levels — unavailable on 12:00 – 13:00: they have lunch in the first sitting, their lessons land on 13:00 – 14:00.
- Upper levels — unavailable on 13:00 – 14:00: they have lunch in the second sitting, their lessons land on 12:00 – 13:00.
The canteen then handles two separate flows instead of one. The same principle covers three sittings or more: widen the midday range, then paint for each level the meal half-slot that belongs to it. The constraint editor is described in Time constraints (general system).
Custom times on a lesson
A lesson can receive custom times: a precise start and end that do not necessarily match the exact boundaries of a slot. This case exists in every timetable type.
The lesson is displayed off the grid, with its real times: it can start or end outside the boundaries of the displayed slot. Omniscol uses these custom times to compute its actual overlap. Every entity assigned to the lesson — teacher, room, class, group or resource — is considered busy as soon as the custom times encroach on a slot.
For automatic generation, a lesson with custom times is treated as unmovable: its position is locked automatically.
Off-grid class
The off-grid class is another case: the class's lessons are stored with precise times, independently of the site's grid. This feature only concerns calendar-type timetables.
It mainly serves continuing-education courses or very flexible programs that share premises and teachers with initial training, without following the same time grid. The institution then chooses a default time step, for example a quarter of an hour, and lessons are stored with their start and end times.
Custom durations
A lesson can also carry custom durations:
- Calculated duration: duration deduced from the lesson's custom times;
- Actual duration: duration given priority in dashboards;
- Accounted duration: duration used for billing or the teacher's pay.
Example: an exam occupies a room from 08:30 to 11:30 because the
room must be prepared beforehand and cleared afterwards. The dashboard may
count only 2 hours of exam as actual duration, while the accounted
duration of the supervising teacher can be higher if the institution
includes compensation for grading.