Booking
    term        TermId
    begin       UTCTime
    end         UTCTime
    weekly      Bool
    exceptions  [Day]    -- only if weekly, begin in exception
    bookedFor   RoomForId
    room        RoomId
BookingEdit
    user        UserId
    time        UTCTime
    boooking    BookingId
Room
    name        Text
    capacity    Int Maybe
    building    Text Maybe
-- BookingRoom
--    subject     RoomForId
--    room        RoomId
--    booking     BookingId
--    UniqueRoomCourse subject room   booking
+RoomFor
    course      CourseId
    tutorial    TutorialId
    exam        ExamId
-- data RoomFor = RoomForCourseSum CourseId | RoomForTutorialSum TutorialId ...
