Skip to content
Browse documentation
All documentation

Academics

Exam Timetable Generation

Place a whole exam series in one go: every class, every subject, spread across the exam days, each paper with a period, an invigilator and somewhere to sit it.

Step three of the generation wizard, What is in the way, with the four steps shown as pills reading Who is sitting, Which days, What is in the way and How to weigh it. Under a line saying what the engine needs in place, checked against this exam and the classes named above, a Re-check button sits on the right. The verdict reads Ready, with 1 thing worth knowing, above an amber note that JSS 1B has no pupils on its roll so no room can be checked against its size, and Back and Next buttons below.
The readiness check runs as you reach step three, before anything is queued, so a series that cannot be built says why while there is still time to fix it.

Building an exam timetable by hand is one class at a time: pick the class, set a date and a time against each of its subjects, save, move on. For a secondary school sitting twelve classes with ten subjects each, that is a hundred and twenty papers to place without ever giving one class two papers in a morning.

Generate does that placement for you. Open a series and click it, and the whole week is scheduled across the days the exam runs.

What has to be in place first

The drawer checks the exam over before it offers to generate anything, and the button stays disabled until nothing is blocking. Each finding says what is missing and where to go and fix it.

Blockers stop a run:

  • The exam has no start and end date, so there is no window to schedule within.
  • Nothing between those dates is a teaching day. A series dated across a holiday, or outside any term your calendar has dated, has nowhere to put a paper.
  • No class sitting the exam has a bell schedule, so there are no periods to sit papers in.
  • The classes sitting have no subjects recorded, so there are no papers to place.
  • The school has no active teacher who could invigilate.
  • There are more papers than the series has room for, counted against your papers-per-day limit. Ten subjects at two a day needs five days, whatever the bell schedule offers.

Warnings do not stop anything. They are things worth knowing before you look at the result: a class no room is big enough for, a class with no pupils on the roll, fewer invigilators than there are papers that have to run at the same time, or a class with no bell schedule of its own, whose papers will be sat against the periods the rest of the school runs.

Re-check at any time. The answer depends on the options below it, because an exam is ready for the classes it was asked about: checking all twelve when you mean to sit three would refuse a run that works perfectly well.

Choosing what to generate

Classes sitting this exam. Name them, or leave it empty and every active class sits. This is how you schedule the junior classes and the senior ones separately within the same series.

Bell schedule. By default each class sits its papers against its own schedule, the same one its lessons run to. You can name one schedule for the whole series instead, which is what most schools want: exams run to their own shape rather than to the teaching day.

A paper takes one period. If your papers run two hours, build a bell schedule whose periods are two hours long and choose it here. That is deliberately the same mechanism as everything else about your school day, rather than a second place to describe how long something lasts.

Keep the papers already scheduled. Ticked by default. Anything you placed by hand stays exactly where it is and the rest is scheduled around it, which is what you want after moving a few papers yourself. Untick it to rebuild the series from scratch.

What it tries to get right

Placing every paper somewhere is the easy half. The generator also weighs, in this order:

  1. Not stacking a class's papers. Three papers in one day is the complaint every school makes about a badly built timetable, so this outweighs everything below it.
  2. Keeping the load even across the exam days, rather than four papers on Monday and one on Thursday.
  3. Putting papers in the morning where the days allow it.
  4. Not walking an invigilator between rooms any more than it has to.
  5. Finishing early rather than late within the window, which counts for very little, because finishing early is not a fault.

A class never sits two papers at once, an invigilator never watches two rooms at once, and nobody is put down to invigilate during a lesson they are timetabled to teach or on a day you have recorded them unavailable. Those are rules, not preferences, and the generator does not trade them away.

Rooms

If you have recorded rooms, each paper is given the smallest one that seats the class and is free at that time.

Rooms advise here rather than decide. A hall holds a whole year group, so a school sitting three classes in one room is doing the ordinary thing, and a generator that treated a room as exclusive would hand back a list of unplaced papers that any bursar would have placed without a second thought. A paper the generator can find nowhere of its own for is still scheduled, just without a room against it.

A room you named yourself on a paper is different. That is an instruction, and it is kept.

When it cannot place everything

You get the papers it did place, plus a list of the ones it could not and what actually ran out for each: the class was already sitting something in every remaining slot, every invigilator was busy, the class was at its daily limit on every day left.

Partial results are always reported rather than hidden. A series that quietly drops one class's Chemistry paper is worse than one that refuses, because the gap is found on the morning of the exam.

Fix what the list names and run again with Keep the papers already scheduled ticked. The papers that landed stay put and only the gaps are filled.

After the run

The generated exam timetable grouped by date. A card headed Monday, 7 December 2026 is badged 14 papers and lists each paper with its time, class, subject, venue and invigilator: Economics at 08:00 for JSS 1A in Science Laboratory 1 with Ifeoma Eze, then the same paper for every other class, followed by Mathematics at 08:45.

One day of the series: every class sits its paper in a period, in a room, with somebody watching.

The papers land on the exam page behind the drawer, laid out day by day exactly as a timetable you typed in would be, each with its time, class, subject, venue and invigilator.

A generated series is exactly the same as one you typed in. It is not published, it is not seen by anybody outside the staff portal, and the class builder on the exam page is still there to move a paper you disagree with. Nothing reaches students or parents until you Publish.

Generating is admin work, gated on the same permission as building an exam timetable by hand. It also respects the freeze: once an exam's end date has passed, its papers are a record of what happened, and neither hand-editing nor generating will change them.

Ready to try it with your school?

Free for schools up to 40 students. No credit card required.