Add src/timetable module (with tests)