Adding Teachers

Adding Teachers

A Teacher just needs a name to be usable in Lessons — everything else on the form is optional.

Employee ID

Optionally give a teacher your school's own staff number or code (e.g. T042) in the Employee ID field. It's purely for identification:

  • It must be unique within your school when given. Saving a second teacher with an ID that's already taken is rejected, naming the teacher who has it. The check ignores upper/lower case, so T042 and t042 count as the same ID. Leading and trailing spaces are dropped.
  • Leaving it blank is always fine — any number of teachers can have no Employee ID.
  • It has no effect on timetable generation. The solver never sees it; changing or removing an ID never changes what gets scheduled.

Once set, the ID is shown next to the teacher's name — as "Mr. Smith (T042)" — in the teacher pickers on Lessons and Departments, in the Teacher dropdown (and under each teacher's table heading) when viewing a timetable by teacher, in the Teacher(s) column of a CSV export, and in the teacher's own mobile app. You can also search for it on the Teachers and Lessons pages. Timetable views always show each teacher's current ID, so an ID you add today also appears on timetables generated before you added it.

You can set Employee IDs in bulk with the optional employeeId column of the Teachers CSV import. The Lessons import's teachers column still matches teachers by name, not Employee ID.

Unavailable Periods

Pick specific Periods a teacher can never be scheduled during — part-time hours, a fixed duty period, whatever doesn't change week to week. This is a genuine hard constraint (H4): the solver will never place any of that teacher's lessons on one of their unavailable periods, no exceptions. There's no soft/preferred equivalent for teachers the way Lessons have preferred (as opposed to locked) time slots — a teacher is either available at a given period or they aren't.

Linking a Teacher to a portal login

Enter an email and the teacher gets an invite flow:

  • Leave email blank and nothing changes — the teacher is a pure scheduling record with no login.
  • Fill in an email and the row shows "Invite Pending" until that person accepts the invite (sent via email) and creates their portal login, at which point it flips to "Linked (Active)".
  • If the invite email didn't arrive or expired, use Resend Invite (the mail icon button) — it's only shown for teachers who have an email but haven't linked an account yet.

The teacher portal login is separate from the School Admin login you're using here — it's a read-only view scoped to that one teacher's own schedule.

No duplicate-name protection

Unlike Rooms, Subjects, Classes, and Departments (which all reject a second record with the same name), Teacher names aren't required to be unique. Two teachers can both be named "J. Smith" without Timetabler stopping you — worth watching for if your school has two staff with the same or similar name, since nothing will warn you if you accidentally create a duplicate.

If you genuinely have two teachers with the same name, give them each an Employee ID (see above) — pickers and timetables then show "J. Smith (T012)" and "J. Smith (T047)" so you can tell them apart. The Employee ID being unique also means an accidental duplicate with the same ID gets rejected.

Deleting a teacher

Deleting a teacher doesn't check whether any Lesson still references them. If you delete a teacher who's assigned to lessons, those lessons keep the now-nonexistent teacher's ID rather than being blocked or automatically cleaned up: their edit form shows it as (deleted), and generation schedules them without that teacher and warns you about each one. If you're retiring a teacher record, it's safer to first reassign or remove them from any Lessons on the Lessons page, then delete.