diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue
index b8a42945e84b20b9376f27279cfb87e45f7806de..1dd08a14ac5a5397488dc8786855ed91d3f9fbe9 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue
@@ -1,50 +1,82 @@
 <template>
   <v-container>
     <v-row>
-      <!-- persons -->
-      <!-- v-autocomplete -->
+      <v-autocomplete
+        :label="$t('forms.labels.persons')"
+        :items="allPersons"
+        item-text="fullName"
+        item-value="id"
+        multiple
+        @input="persons = $event"
+      />
     </v-row>
+    <!-- TODO: No outer padding. -->
     <v-row>
-      <!-- Start -->
       <v-col
         cols="12"
         :sm="6"
         >
         <date-field
-          :value="value"
-          @input="$emit('input', $event)"
-          :label="$t('date_select.label')"
+          :label="$t('forms.labels.start')"
           :disabled="loading"
+          :max="endDate"
+          @input="startDate = $event"
           />
       </v-col>
-      <!-- End -->
       <v-col
         cols="12"
         :sm="6"
         >
         <date-field
-          :value="value"
-          @input="$emit('input', $event)"
-          :label="$t('date_select.label')"
+          :label="$t('forms.labels.end')"
           :disabled="loading"
+          :min="startDate"
+          @input="endDate = $event"
           />
       </v-col>
     </v-row>
     <v-row>
-      <!-- comment -->
+      <v-text-field
+        :label="$t('forms.labels.comment')"
+        :loading="loading"
+        @input="comment = $event"
+      />
     </v-row>
     <v-row>
-      <!-- TODO: Component from Julian -->
+      <absence-reason-group-select
+        @input="absenceReason = $event"
+      />
     </v-row>
   </v-container>
 </template>
 
 <script>
+import AbsenceReasonGroupSelect from "aleksis.apps.kolego/components/AbsenceReasonGroupSelect.vue";
 import DateField from "aleksis.core/components/generic/forms/DateField.vue";
+import { persons } from "./absenceCreation.graphql"
+
 export default {
   name: "AbsenceCreationForm",
   components: {
+    AbsenceReasonGroupSelect,
     DateField,
   },
+  apollo: {
+    // TODO: Query currently returns all persons. But should return
+    // only persons the current user can create ParticipationStati and
+    // KolegoAbsences for!
+    allPersons: persons,
+  },
+  data() {
+    return {
+      // TODO: All needed? Check if sensible defaults.
+      loading: false,
+      persons: [],
+      startDate: "",
+      endDate: "",
+      comment: "",
+      absenceReason: null,
+    };
+  },
 };
 </script>
diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceCreation.graphql b/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceCreation.graphql
index 79178bfd835e5c6dbe726d53d6e00b11c7c8f61f..459fa38565a7027d55a03cb10160d8648ce7e4e4 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceCreation.graphql
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceCreation.graphql
@@ -1,9 +1,8 @@
 # Uses core persons query
 query persons {
-  persons: persons {
+  allPersons: persons {
     id
-    firstName
-    lastName
+    fullName
   }
 }