Built for real timetables, not tidy ones.
Every capability below exists to answer one question: is this week of lessons actually possible, and can the institution see why?
A scheduling engine, not a spreadsheet
AnySchedule generates a week from the requirements you define. The engine is deterministic: identical inputs and configuration produce an identical timetable, so a result can be reviewed, explained and rebuilt.
- A teacher, class or room can never be booked twice in the same slot.
- Nothing is placed inside a break or outside the teaching day.
- Multi-period sessions are placed as a whole or not at all.
- When no valid week exists, the run returns a typed infeasibility result with diagnostics.
- Soft preferences never override a hard rule.
A data model that matches a school
Timetables are generated for real groups, taught by real people, in real rooms. The model keeps those relationships explicit instead of hiding them in a single grid of cells.
- Academic years and terms that cannot silently overlap.
- Classes and streams, with parent cohorts where a year is split.
- Subjects with a code, a colour and an active state.
- Teachers, and the teaching assignments that link them to classes and subjects.
- Programmes, activity types and class kinds for institutions that are not only schools.
Rooms that can say no
A room is more than a name. AnySchedule records what a space is for and what it contains, so a requirement can be checked instead of assumed.
- Room kinds such as lecture theatre, seminar room, laboratory, workshop or clinical area.
- Room features that a session can require.
- A missing or unsuitable room is reported as a blocking diagnostic, never patched over.
- Rooms belong to the institution, so a space is never double-counted across terms.
The shape of the day
Institutions do not share a bell schedule. Periods, breaks and reserved time are data you define, not assumptions baked into the product.
- Periods from 5 to 600 minutes, ordered by wall-clock time.
- Breaks anywhere in the day; lessons are never scheduled over them.
- Uncovered gaps are surfaced rather than quietly filled.
- Reserved time for clinical practice, laboratory days, examinations or assembly.
- Teaching days that differ per institution, with a time zone that belongs to the school.
Publishing that means something
A draft timetable is a proposal. A published timetable is a promise — so publishing is a deliberate step, and the rules change the moment it happens.
- Administrators manage institution data; teachers and viewers read the timetable they are part of.
- Publishing locks the term’s lessons at the database level, not just in the interface.
- Regenerating a published term is refused until it is unpublished.
- Every class is reviewed in its own weekly grid before the term goes live.
Your account, your preferences
People are not part of the timetable’s structure. Your profile holds the details that make the app yours, and you can change or remove them without touching a single lesson.
- Display name and profile photo.
- Language, time zone and appearance preferences.
- Notification preferences stored with your account.
- A documented account deletion path, described in full on the account deletion page.
See how the pieces fit together.
The walkthrough shows the same capabilities in the order you would actually use them, from the first institution setting to a published week.