diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
index ec5a458e23518e372b57e0b01e7f70a6d17a4f32..aee91432e1859bd1e4baf55c270aa2ddde1b2a8a 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
@@ -80,7 +80,7 @@
         </v-list-item-content>
       </v-list-item>
 
-      <date-select-footer :value="date" @click="handleDateMove" />
+      <date-select-footer :value="$route.hash.substring(1)" @click="handleDateMove" />
     </template>
     <template #loading>
       <CoursebookLoader />
@@ -139,12 +139,6 @@ export default {
       required: false,
       default: null,
     },
-    // ISODate
-    date: {
-      type: String,
-      required: false,
-      default: "",
-    },
   },
   data() {
     return {
@@ -168,10 +162,11 @@ export default {
   },
   computed: {
     gqlQueryArgs() {
+      console.log('computing gqlQueryArgs');
+      const date = this.$route.hash.substring(1)
       return {
-        // Assure courseId is a number
         own: this.filterType === "all" ? false : true,
-        objId: this.objId ? Number(this.objId) : null,
+        objId: this.objId ? Number(this.objId) : undefined,
         objType: this.objType?.toUpperCase(),
         dateStart: this.dateStart ?? this.date,
         dateEnd:
@@ -203,15 +198,15 @@ export default {
   methods: {
     changeSelection(selection) {
       this.$router.push({
-        name: "alsijil.coursebook_by_type_and_date",
+        name: "alsijil.coursebook",
         params: {
           filterType: selection.filterType
             ? selection.filterType
             : this.filterType,
           objType: selection.type,
           objId: selection.id,
-          date: this.date,
         },
+        hash: this.$route.hash,
       });
     },
     // => [[dt doc ...] ...]
@@ -256,12 +251,11 @@ export default {
       }
 
       this.$router.push({
-        name: "alsijil.coursebook_by_type_and_date",
+        name: "alsijil.coursebook",
         params: {
           filterType: this.filterType,
           objType: this.objType,
           objId: this.objId,
-          date: newDate.toISODate(),
         },
       });
 
@@ -290,12 +284,21 @@ export default {
 
       return "documentation_" + nearestId.toISODate();
     },
+    gotoDate(date, scroll) {
+      // show
+      this.$router.push({ hash: date.toISODate() })
+      console.log('hash', this.$route.hash);
+      // assure
+      // scroll
+    },
   },
   mounted() {
-    this.dateStart = this.date;
-    this.dateEnd = DateTime.fromISO(this.dateStart)
-      .plus({ weeks: 1 })
-      .toISODate();
+    // assure date hash
+    console.log('mounted with hash', this.$route.hash);
+    if (!this.$route.hash) {
+      console.log('initialized hash');
+      this.$router.push({ hash: DateTime.now().toISODate() })
+    }
   },
 };
 </script>
diff --git a/aleksis/apps/alsijil/frontend/index.js b/aleksis/apps/alsijil/frontend/index.js
index 6cfb71044ee40390b0ae99509b8ec7a2b6eba0fa..1ec79280e06ef377c4be215c27b5291c51043522 100644
--- a/aleksis/apps/alsijil/frontend/index.js
+++ b/aleksis/apps/alsijil/frontend/index.js
@@ -60,14 +60,14 @@ export default {
       component: () => import("./components/coursebook/Coursebook.vue"),
       redirect: () => {
         return {
-          name: "alsijil.coursebook_by_type_and_date",
+          name: "alsijil.coursebook",
           params: {
-            date: DateTime.now().toISODate(),
             filterType: "my",
           },
+          hash: "#" + DateTime.now().toISODate(),
         };
       },
-      name: "alsijil.coursebook",
+      name: "alsijil.coursebook_landing",
       props: true,
       meta: {
         inMenu: true,
@@ -79,9 +79,9 @@ export default {
       },
       children: [
         {
-          path: ":date(\\d\\d\\d\\d-\\d\\d-\\d\\d)/:filterType(my|all)/:objType(group|course|teacher)?/:objId(\\d+)?/",
+          path: ":filterType(my|all)/:objType(group|course|teacher)?/:objId(\\d+)?/",
           component: () => import("./components/coursebook/Coursebook.vue"),
-          name: "alsijil.coursebook_by_type_and_date",
+          name: "alsijil.coursebook",
           meta: {
             titleKey: "alsijil.coursebook.menu_title",
             toolbarTitle: "alsijil.coursebook.menu_title",