Move the genereic pairs, enumerate and setEquals functions from Timetable to shared/utils/functions to make them available for reuse.
Add PATCH /api/schedule endpoint for editing the schedule in a manner that's access controlled.