Then you can also start adding in geographic information -- things like optimising classroom allocations not only for equipment but also for student and teacher transit times between sessions, and for accessibility for specific students and teachers.
And then you have to consider the quality-of-life characteristics of the timetables you generate -- for example, ensuring that a 0.8FTE teacher doesn't have a day where they come in for two sessions only, one first thing in the morning and one last thing in the afternoon.
Oh, and you need to ensure that students get the right number of minutes of instructions for each subject, accounting for exceptional days (like sports carnivals and assemblies) and public holidays. And it'd be good to keep students together a bit, but also mix them up between classes so that they socialise across the whole year level.
There are so many more constraints that can be added over time, with differing levels of importance and significance, that the problem space rapidly becomes huge. That's probably why there are only a handful of players in the market (at least here in Australia).