 ; Data type Definitions
 ; =====================
 ;
+; ModulesMapLesson
+; ----------------
+; A Lesson in the `ModulesMap` JavaScript global.
+;
+; {
+;   :venue     -> String of the lesson venue
+;   :day       -> 0-indexed integer of the day, where 0 = Monday,
+;                 1 = Tuesday, etc, until 4 = Friday
+;   :startTime -> 0-indexed integer of the time, where 0 = 0800, 1 = 030, and
+;                 so on.
+;   :endTime   -> similar to :startTime
+; }
+;
+;
 ; TimetableLessonInfo (abbrev: ttLessonInfo)
 ; ------------------------------------------
 ; Describes a lesson in the `Timetable` global; this is the key used for each

    $divElem))

(defn- add-module-lesson!
  "Adds a single lesson of a module (obtained from the `ModulesMap` global) to
   the timetable.
   Returns a `ModulesSelectedLessonInfo` object augmented with the `:divElem`,
   `:moduleCode`, `:lessonType` and `:lessonGroup` keys."
  [moduleCode moduleName lessonType lessonLabel modulesMapLesson bgColorCssClass

                                   (:lessonType moduleInfo)
                                   (:lessonGroup moduleInfo)
                                   bgColorCssClass
                                   true))

        ; Update URL hash with newly added module
        (update-document-location-hash-with-new-module!
