DegreeCourse json course CourseId degree StudyDegreeId terms StudyTermsId UniqueDegreeCourse course degree terms Course name (CI Text) description Html Maybe linkExternal Text Maybe shorthand (CI Text) term TermId school SchoolId capacity Int64 Maybe -- canRegisterNow = maybe False (<= currentTime) registerFrom && maybe True (>= currentTime) registerTo registerFrom UTCTime Maybe registerTo UTCTime Maybe deregisterUntil UTCTime Maybe registerSecret Text Maybe -- Falls ein Passwort erforderlich ist materialFree Bool TermSchoolCourseShort term school shorthand TermSchoolCourseName term school name deriving Generic CourseEdit user UserId time UTCTime course CourseId CourseFavourite user UserId time UTCTime course CourseId UniqueCourseFavourite user course deriving Show Lecturer user UserId course CourseId UniqueLecturer user course CourseParticipant course CourseId user UserId registration UTCTime UniqueParticipant user course CourseUserNote course CourseId user UserId note Text UniqueCourseUserNotes user course CourseUserNoteEdit user UserId time UTCTime note CourseUserNoteId