diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
index f4799fc786ebe58f33511a5412a2004264f91fe4..31a06350a30d3f776439fe7b830d59ba6624cc45 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
@@ -51,7 +51,7 @@
         </v-list-item-content>
       </v-list-item>
 
-      <coursebook-date-select :value="dateStart"/>
+      <coursebook-date-select :value="date" @click="handleDateMove" />
     </template>
     <template #loading>
       <CoursebookLoader />
@@ -106,13 +106,8 @@ export default {
       required: false,
       default: null,
     },
-    // Next two in ISODate
-    dateStart: {
-      type: String,
-      required: false,
-      default: "",
-    },
-    dateEnd: {
+    // ISODate
+    date: {
       type: String,
       required: false,
       default: "",
@@ -125,6 +120,8 @@ export default {
       // Placeholder values while query isn't completed yet
       groups: [],
       courses: [],
+      dateStart: null,
+      dateEnd: null,
     };
   },
   apollo: {
@@ -142,8 +139,8 @@ export default {
         own: this.filterType === "all" ? false : true,
         objId: this.objId ? Number(this.objId) : null,
         objType: this.objType?.toUpperCase(),
-        dateStart: this.dateStart,
-        dateEnd: this.dateEnd,
+        dateStart: this.dateStart ?? this.date,
+        dateEnd: this.dateEnd ?? DateTime.fromISO(this.date).plus({ weeks: 1 }).toISODate(),
       };
     },
     selectable() {
@@ -176,8 +173,7 @@ export default {
             : this.filterType,
           objType: selection.type,
           objId: selection.id,
-          dateStart: this.dateStart,
-          dateEnd: this.dateEnd,
+          date: this.date,
         },
       });
     },
@@ -196,5 +192,10 @@ export default {
         .map((key) => byDay[key]);
     },
   },
+  mounted() {
+    this.show = this.date;
+    this.dateStart = this.date;
+    this.dateEnd = DateTime.fromISO(this.dateStart).plus({ weeks: 1 }).toISODate();
+  },
 };
 </script>
diff --git a/aleksis/apps/alsijil/frontend/index.js b/aleksis/apps/alsijil/frontend/index.js
index 18de38858a62a26b3305a0e6ea8f25f92189401d..4a4399073e1cfe3d97ab52eb0ac0f57f48a0fbe5 100644
--- a/aleksis/apps/alsijil/frontend/index.js
+++ b/aleksis/apps/alsijil/frontend/index.js
@@ -398,8 +398,7 @@ export default {
         return {
           name: "alsijil.coursebook_by_type_and_date",
           params: {
-            dateStart: DateTime.now().toISODate(),
-            dateEnd: DateTime.now().plus({ weeks: 1 }).toISODate(),
+            date: DateTime.now().toISODate(),
             filterType: "my",
           },
         };
@@ -416,7 +415,7 @@ export default {
       },
       children: [
         {
-          path: ":dateStart(\\d\\d\\d\\d-\\d\\d-\\d\\d)/:dateEnd(\\d\\d\\d\\d-\\d\\d-\\d\\d)/:filterType(my|all)/:objType(group|course|teacher)?/:objId(\\d+)?/",
+          path: ":date(\\d\\d\\d\\d-\\d\\d-\\d\\d)/:filterType(my|all)/:objType(group|course|teacher)?/:objId(\\d+)?/",
           component: () => import("./components/coursebook/Coursebook.vue"),
           name: "alsijil.coursebook_by_type_and_date",
           meta: {