Timetable compiler