How to set up timetables

Full timetabling is generally used in Secondary or private settings – although any school is welcome to use it. 

For primary school registration periods, see ‘ How to set up Registration  .

Setting up your timetable structure

To set up your school’s timetable, first go to  Admin > School Options > Timetable Setup.

Select Setup mode to make ongoing changes to your timetable or create a new one ( Live mode is for adhoc changes to a lesson on a specific date for cover etc).

The timetable drop-down will allow you to select which year’s timetable you want to edit. Click New Timetable to create a new timetable with your school settings and week structure and then click Setup.

You can then edit these slots by clicking on the time range (the time should highlight  red and you will see a prompt that says ‘Edit timeslot’ ).

This will let you customise the title of the lesson as well as change the times and set whether a lesson is the trigger for your AM/PM attendance. Click Save to save your changes.

You can also click New time slot to add extra time slots to your structure.

Manually creating groups

In order to timetable lessons you will need to ensure you have your groups are prepared in Pupils > Groups (pupils can always be added to groups later, just the group itself is needed).

Classes and Sets are most commonly used for timetabling. Classes are your form or registration groups where pupils are registered for tutor time. Sets are the teaching groups pupils are taught in and so will usually also have a Subject assigned.

For more information on managing your groups, see ‘ How to set up classes and pupil groups ‘.

Importing groups

First time importing a CSV to Horizons? Read our general guidance, ‘ Importing a CSV spreadsheet  first.

You can also import groups either be as empty groups or with pupils’ UPNs to assign them to the group.

The fields for this import need to be:

  • Pupil UPN (Optional)

You can either import multiple rows per group to include each pupil UPN or import single rows without the pupil UPN column to create blank groups.

  • Class/Set Name

Classes and Sets have to be imported as two separate files due to how this data maps. Make sure the names of the groups are consistent within your data (and match existing groups if adding pupils to existing groups). New groups will be created for every unique group name.

  • Group Start Date (Optional)

The date the pupil starts in the group.

  • Group End Date (Optional)

The date the pupil left or will leave the group (often left blank).

  • Group Subject (Sets only)

The Subject the Set will be related to. Make sure the names of the Subjects are consistent within your data (and match existing Subjects in Admin > Subjects if adding Sets to existing Subjects).


Save your spreadsheet as a CSV format and upload to Admin > Import  with the following field mapping (choosing Class instead of Set if appropriate).

Manually creating lessons

Once your base timetable has been created in Admin > Timetable Setup you can edit it in Setup Mode .

New lessons can be created by clicking on New lesson or the yellow plus symbol (if you have a specific class, teacher or room selected in your drop-down new lessons will automatically have that assigned to them).

You can also click on empty slots to create new lessons (hold Shift to select multiple lessons).

( Available for Transfer? should be ticked for drop-in lessons like the exclusion room so teachers can move a pupil to that register by entering a full-stop on their register).

Setting up teachers

You may want to import your lessons via a CSV .

In order to do this you will first need to ensure your teachers have a Teacher Code – a code unique to that teacher (maximum 10 characters) to identify their lessons in their import file.

To enter a Teacher Code, go to Admin > Staff or search a staff member’s name to open their record. Then go to their Edit tab and under Professional Info you will find a field to enter their Teacher Code (also make sure their Teacher Type is set to Teacher ).

Enter a unique Teacher Code for the teacher and hit Save .

Teacher Codes can also be imported in bulk via CSV uploaded to Admin > Import . You will just need to import a file as a Staff Import with fields mapped to Firstname, Surname, DOB and Teacher Code.

Importing lessons

First time importing a CSV to Horizons? Read our general guidance, ‘ Importing a CSV spreadsheet ‘.

If your Timetable Structure, Groups and Teacher Codes are ready you can import your lessons.

Your lessons file will need to be in the following format:

  • Day + Week

The first three characters of the day of the week followed by the number of the week – always ‘1’ if using a single week rotation (eg. Mon2 is the second Monday of the weekly rotation).

  • Lesson Start Time

Must match the start time of a slot in your timetable structure.

  • Lesson End Time

Must match the start time of a slot in your timetable structure.

  • Group Name

Must match the name of existing Classes or Sets or new groups will be created. When importing lessons, Classes and Setscan be imported together.

  • Room Name

Must match the name of existing Rooms or new ones will be created.

  • Teacher Code

Must match Teacher Code of existing staff member or blank staff member record will be created.

Save your timetable as a CSV and upload via Admin > Import  selecting Timetable import. Your data will then need to be mapped to the following fields: