refine Slot Type and sanitize everything when talking to js
adds dynamic timetable. might need refactoring sooner or later