diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2bb4491ff40ed6d66ea3f7a903a02a59f26a2acf..1ce8fdaea6170400c2025f44f34c51b4dadd1f68 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,7 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ## [Unreleased]
 ### Added
+- Teachers can now create their own courses, if they are the associated teacher on study guide. [@cedricwilleken](https://gitlab.ewi.tudelft.nl/cedricwilleken)
+ 
 ### Changed
+
 ### Fixed
  - Fix the copying of labs  [@mmadara](https://gitlab.ewi.tudelft.nl/mmadara)
 
diff --git a/build.gradle.kts b/build.gradle.kts
index e9b0012fc225b0d62322bc71e3851121cbed392c..d8005907f565acc577ed49a91409b1519dc9b9e6 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -35,6 +35,10 @@ repositories {
         name = "GitLab ChihuahUI repository"
         url = uri("https://gitlab.ewi.tudelft.nl/api/v4/projects/8633/packages/maven")
     }
+    maven {
+        name = "GitLab TU Delft API repository"
+        url = uri("https://gitlab.ewi.tudelft.nl/api/v4/projects/10478/packages/maven")
+    }
 }
 
 // The plugins used by Gradle to generate files, start Spring boot, perform static analysis etc.
@@ -313,6 +317,7 @@ dependencies {
     }
     implementation("nl.tudelft.labrador:labradoor:$labradoorVersion")
     implementation("nl.tudelft.labrador:chihuahui:$chihuahUIVersion")
+    implementation("nl.tudelft.labrador:tudelft-api:0.0.3-preview")
 
     // Java assist dependency
     implementation("org.javassist:javassist:3.29.2-GA")
diff --git a/importorder.txt b/importorder.txt
index c123c415c055a62ee23a3c12c21e9110527d673d..02bfa6e263a69fe8ca2d5b82df27aa1924461cf7 100644
--- a/importorder.txt
+++ b/importorder.txt
@@ -2,5 +2,5 @@
 #Fri Aug 23 16:13:26 CEST 2019
 3=com
 2=org
-1=javax
+1=jakarta
 0=java
diff --git a/src/main/java/nl/tudelft/queue/DevDatabaseLoader.java b/src/main/java/nl/tudelft/queue/DevDatabaseLoader.java
index 80face868603d033ed747d364c661dae3756c47a..ea167f359bd4f7a96677d83bf40b62a7b5003928 100644
--- a/src/main/java/nl/tudelft/queue/DevDatabaseLoader.java
+++ b/src/main/java/nl/tudelft/queue/DevDatabaseLoader.java
@@ -26,14 +26,15 @@ import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import jakarta.annotation.PostConstruct;
+import jakarta.transaction.Transactional;
+
 import org.springframework.beans.factory.InitializingBean;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Profile;
 import org.springframework.stereotype.Service;
 
-import jakarta.annotation.PostConstruct;
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.*;
 import nl.tudelft.labracore.api.DbLoaderControllerApi;
 import nl.tudelft.labracore.api.EditionControllerApi;
diff --git a/src/main/java/nl/tudelft/queue/QueueApplication.java b/src/main/java/nl/tudelft/queue/QueueApplication.java
index 73c3f71c5ee63e107b04dc57eaca8105f5c3864b..e679dcdc57f22057db73e6afff9449e0f66056a9 100644
--- a/src/main/java/nl/tudelft/queue/QueueApplication.java
+++ b/src/main/java/nl/tudelft/queue/QueueApplication.java
@@ -22,13 +22,14 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.Import;
 import org.springframework.scheduling.annotation.EnableScheduling;
 
+import nl.tudelft.api.TuDelftApiConfig;
 import nl.tudelft.labracore.app.LabracoreAppConfig;
 import nl.tudelft.labracore.lib.LabracoreApiConfig;
 import nl.tudelft.librador.EnableLibrador;
 
 @EnableScheduling
 @SpringBootApplication(scanBasePackageClasses = QueueApplication.class)
-@Import({ LabracoreApiConfig.class, LabracoreAppConfig.class })
+@Import({ LabracoreApiConfig.class, TuDelftApiConfig.class, LabracoreAppConfig.class })
 @EnableLibrador
 public class QueueApplication {
 	public static void main(String[] args) {
diff --git a/src/main/java/nl/tudelft/queue/controller/AdminController.java b/src/main/java/nl/tudelft/queue/controller/AdminController.java
index 9946d5c53c3f2047ee8005b4c47335deb8173184..66f203dc12b91ded10036ad7ed6e29de80fb8e99 100644
--- a/src/main/java/nl/tudelft/queue/controller/AdminController.java
+++ b/src/main/java/nl/tudelft/queue/controller/AdminController.java
@@ -24,6 +24,8 @@ import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
+import jakarta.validation.Valid;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -35,7 +37,6 @@ import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.multipart.MultipartFile;
 
-import jakarta.validation.Valid;
 import nl.tudelft.labracore.api.CourseControllerApi;
 import nl.tudelft.labracore.api.EditionControllerApi;
 import nl.tudelft.labracore.api.PersonControllerApi;
diff --git a/src/main/java/nl/tudelft/queue/controller/AnnouncementController.java b/src/main/java/nl/tudelft/queue/controller/AnnouncementController.java
index 724d4b476bc1b29a229aa0c569823bc157d9f271..d4e2513bf6e3ec88549310fdc4944de1213a9c70 100644
--- a/src/main/java/nl/tudelft/queue/controller/AnnouncementController.java
+++ b/src/main/java/nl/tudelft/queue/controller/AnnouncementController.java
@@ -19,6 +19,8 @@ package nl.tudelft.queue.controller;
 
 import java.time.LocalDateTime;
 
+import jakarta.transaction.Transactional;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
@@ -28,7 +30,6 @@ import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.librador.dto.DTOConverter;
 import nl.tudelft.librador.resolver.annotations.PathEntity;
 import nl.tudelft.queue.dto.create.misc.AnnouncementCreateDTO;
diff --git a/src/main/java/nl/tudelft/queue/controller/AssignmentController.java b/src/main/java/nl/tudelft/queue/controller/AssignmentController.java
index 1dad49b091bad3d5a076c5ef5652a7ad85eacbc0..1e8b5651d3dfe88446cb0c46c514fcf7af5ee55e 100644
--- a/src/main/java/nl/tudelft/queue/controller/AssignmentController.java
+++ b/src/main/java/nl/tudelft/queue/controller/AssignmentController.java
@@ -17,13 +17,14 @@
  */
 package nl.tudelft.queue.controller;
 
+import jakarta.validation.Valid;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.*;
 
-import jakarta.validation.Valid;
 import nl.tudelft.labracore.api.AssignmentControllerApi;
 import nl.tudelft.labracore.api.StudentGroupControllerApi;
 import nl.tudelft.labracore.api.dto.*;
diff --git a/src/main/java/nl/tudelft/queue/controller/CourseController.java b/src/main/java/nl/tudelft/queue/controller/CourseController.java
new file mode 100644
index 0000000000000000000000000000000000000000..6ddf9486f4cff5f5b39bc7a293722ad64b5d3758
--- /dev/null
+++ b/src/main/java/nl/tudelft/queue/controller/CourseController.java
@@ -0,0 +1,85 @@
+/*
+ * Queue - A Queueing system that can be used to handle labs in higher education
+ * Copyright (C) 2016-2024  Delft University of Technology
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+package nl.tudelft.queue.controller;
+
+import java.util.stream.Collectors;
+
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import lombok.RequiredArgsConstructor;
+import nl.tudelft.labracore.api.CourseControllerApi;
+import nl.tudelft.labracore.api.dto.CourseSummaryDTO;
+import nl.tudelft.labracore.api.dto.CourseWithManagerCreateDTO;
+import nl.tudelft.labracore.api.dto.PersonIdDTO;
+import nl.tudelft.labracore.lib.security.user.AuthenticatedPerson;
+import nl.tudelft.labracore.lib.security.user.Person;
+import nl.tudelft.queue.service.CourseService;
+import nl.tudelft.queue.service.TuDelftApiService;
+
+@Controller
+@RequestMapping("course")
+@RequiredArgsConstructor
+public class CourseController {
+
+	private final TuDelftApiService tuDelftApiService;
+
+	private final CourseService courseService;
+
+	private final CourseControllerApi courseControllerApi;
+
+	/**
+	 * Endpoint to show the teacher his/her courses that don't have a corresponding labrador course.
+	 *
+	 * @param  person The teacher
+	 * @param  model  The model
+	 * @return        View responsible for displaying the qualifying courses.
+	 */
+	@GetMapping("my-courses")
+	@PreAuthorize("@permissionService.isAdminOrTeacher()")
+	public String showMyCourses(@AuthenticatedPerson Person person, Model model) {
+		var managedCourses = courseControllerApi.getAllCoursesByManager(person.getId()).collectList().block()
+				.stream().map(CourseSummaryDTO::getCode).collect(Collectors.toSet());
+		model.addAttribute("courses",
+				tuDelftApiService.getCoursesForInstructor(person)
+						.stream().filter((dto) -> !managedCourses.contains(dto.getCode())).distinct()
+						.toList());
+		model.addAttribute("create", new CourseWithManagerCreateDTO());
+		return "course/my-courses";
+	}
+
+	/**
+	 * POST endpoint to allow a teacher to create a labracore course based off information from studiegids.
+	 *
+	 * @param  person          The teacher
+	 * @param  courseCreateDTO The DTO corresponding to the submitted form
+	 * @return                 The view where the teacher can add editions of new courses.
+	 */
+	@PostMapping("create")
+	@PreAuthorize("@permissionService.isAdminOrTeacher()")
+	public String createCourse(@AuthenticatedPerson Person person,
+			CourseWithManagerCreateDTO courseCreateDTO) {
+		courseService.setupCourseWithManagerLabracore(
+				courseCreateDTO.manager(new PersonIdDTO().id(person.getId())));
+		return "redirect:/edition/add";
+	}
+}
diff --git a/src/main/java/nl/tudelft/queue/controller/EditionController.java b/src/main/java/nl/tudelft/queue/controller/EditionController.java
index 8de26f391cc1a4f37d1ce17cdb02627120817be6..3bdb35fa79603435bbd7cef9dfb72e79c0bbcfc3 100644
--- a/src/main/java/nl/tudelft/queue/controller/EditionController.java
+++ b/src/main/java/nl/tudelft/queue/controller/EditionController.java
@@ -28,6 +28,10 @@ import java.util.Objects;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.transaction.Transactional;
+import jakarta.validation.Valid;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.Resource;
 import org.springframework.data.domain.Pageable;
@@ -45,9 +49,6 @@ import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.reactive.function.client.WebClientResponseException;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.transaction.Transactional;
-import jakarta.validation.Valid;
 import nl.tudelft.labracore.api.*;
 import nl.tudelft.labracore.api.dto.*;
 import nl.tudelft.labracore.lib.security.user.AuthenticatedPerson;
diff --git a/src/main/java/nl/tudelft/queue/controller/ErrorControllerAdvice.java b/src/main/java/nl/tudelft/queue/controller/ErrorControllerAdvice.java
index f9c2b53ccd78bd8be8108c15420eb0521e311c8d..72af10534d66eb1f57a07744b2ca30bfdb2496e7 100644
--- a/src/main/java/nl/tudelft/queue/controller/ErrorControllerAdvice.java
+++ b/src/main/java/nl/tudelft/queue/controller/ErrorControllerAdvice.java
@@ -19,6 +19,10 @@ package nl.tudelft.queue.controller;
 
 import static org.springframework.http.HttpStatus.*;
 
+import jakarta.persistence.EntityNotFoundException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.core.annotation.AnnotationUtils;
@@ -34,9 +38,6 @@ import org.springframework.web.reactive.function.client.WebClientResponseExcepti
 import org.springframework.web.server.ResponseStatusException;
 import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
 
-import jakarta.persistence.EntityNotFoundException;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import nl.tudelft.librador.exception.DTOValidationException;
 
 /**
diff --git a/src/main/java/nl/tudelft/queue/controller/HistoryController.java b/src/main/java/nl/tudelft/queue/controller/HistoryController.java
index 7122b6399e579b9b6a38d6570fd17fc3ae862d66..b0ff9b038d60439b79c3ecd1cc6a6a40d5698ff5 100644
--- a/src/main/java/nl/tudelft/queue/controller/HistoryController.java
+++ b/src/main/java/nl/tudelft/queue/controller/HistoryController.java
@@ -20,6 +20,8 @@ package nl.tudelft.queue.controller;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import jakarta.transaction.Transactional;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
@@ -30,7 +32,6 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.PersonControllerApi;
 import nl.tudelft.labracore.api.StudentGroupControllerApi;
 import nl.tudelft.labracore.api.dto.EditionDetailsDTO;
diff --git a/src/main/java/nl/tudelft/queue/controller/LabController.java b/src/main/java/nl/tudelft/queue/controller/LabController.java
index e0381cfeb49ae89c977ef4ba80786935771e655d..2980b9f236d325c6d31602ac73904c9263a066dc 100644
--- a/src/main/java/nl/tudelft/queue/controller/LabController.java
+++ b/src/main/java/nl/tudelft/queue/controller/LabController.java
@@ -28,6 +28,10 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
+import jakarta.transaction.Transactional;
+
 import org.modelmapper.ModelMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.Resource;
@@ -42,9 +46,6 @@ import org.springframework.web.multipart.MultipartFile;
 
 import com.google.common.collect.Maps;
 
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpSession;
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.StudentGroupControllerApi;
 import nl.tudelft.labracore.api.dto.*;
 import nl.tudelft.labracore.lib.security.user.AuthenticatedPerson;
diff --git a/src/main/java/nl/tudelft/queue/controller/RequestController.java b/src/main/java/nl/tudelft/queue/controller/RequestController.java
index 2e49ecc304f86b9fe76feb14f050b647e8bb51b2..25d1ff54fbf737b1b484f448ff94277cfc7b9967 100644
--- a/src/main/java/nl/tudelft/queue/controller/RequestController.java
+++ b/src/main/java/nl/tudelft/queue/controller/RequestController.java
@@ -26,6 +26,8 @@ import java.util.Set;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
+import jakarta.transaction.Transactional;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
@@ -36,7 +38,6 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.AssignmentControllerApi;
 import nl.tudelft.labracore.api.PersonControllerApi;
 import nl.tudelft.labracore.api.dto.PersonSummaryDTO;
diff --git a/src/main/java/nl/tudelft/queue/controller/SessionStatusController.java b/src/main/java/nl/tudelft/queue/controller/SessionStatusController.java
index 771e8b162abd2926e47d0b575b616996533c4dee..20e915ba6b3648370e5af82ee0f9f58e960c9773 100644
--- a/src/main/java/nl/tudelft/queue/controller/SessionStatusController.java
+++ b/src/main/java/nl/tudelft/queue/controller/SessionStatusController.java
@@ -22,13 +22,14 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
 
+import jakarta.transaction.Transactional;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import jakarta.transaction.Transactional;
 import lombok.RequiredArgsConstructor;
 import nl.tudelft.librador.resolver.annotations.PathEntity;
 import nl.tudelft.queue.cache.AssignmentCacheManager;
diff --git a/src/main/java/nl/tudelft/queue/controller/SharedEditionController.java b/src/main/java/nl/tudelft/queue/controller/SharedEditionController.java
index d29ef49ac6d608666094d47f76fd6ed3980a6b36..a20b7f6b52a1b1cf9a69a14cd9221dfc79adbb1b 100644
--- a/src/main/java/nl/tudelft/queue/controller/SharedEditionController.java
+++ b/src/main/java/nl/tudelft/queue/controller/SharedEditionController.java
@@ -22,13 +22,14 @@ import java.util.Comparator;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import jakarta.validation.Valid;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.*;
 
-import jakarta.validation.Valid;
 import nl.tudelft.labracore.api.EditionCollectionControllerApi;
 import nl.tudelft.labracore.api.RoleControllerApi;
 import nl.tudelft.labracore.api.dto.*;
diff --git a/src/main/java/nl/tudelft/queue/controller/TimeSlotController.java b/src/main/java/nl/tudelft/queue/controller/TimeSlotController.java
index 2d3a402c606c0de064c2f6c39bba1f191905eb70..e073076e52524afe50399e38214193c25e1922cd 100644
--- a/src/main/java/nl/tudelft/queue/controller/TimeSlotController.java
+++ b/src/main/java/nl/tudelft/queue/controller/TimeSlotController.java
@@ -19,12 +19,13 @@ package nl.tudelft.queue.controller;
 
 import java.util.Optional;
 
+import jakarta.transaction.Transactional;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.lib.security.user.AuthenticatedPerson;
 import nl.tudelft.labracore.lib.security.user.Person;
 import nl.tudelft.librador.resolver.annotations.PathEntity;
diff --git a/src/main/java/nl/tudelft/queue/cqsr/Event.java b/src/main/java/nl/tudelft/queue/cqsr/Event.java
index 7c1c4f55c6b4427d1770baeb3cc7d615c1a590d8..83258e8755b65e364710e287a8b0a56a59d170cc 100644
--- a/src/main/java/nl/tudelft/queue/cqsr/Event.java
+++ b/src/main/java/nl/tudelft/queue/cqsr/Event.java
@@ -24,6 +24,7 @@ import jakarta.persistence.GenerationType;
 import jakarta.persistence.Id;
 import jakarta.persistence.MappedSuperclass;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.Data;
 
 @Data
diff --git a/src/main/java/nl/tudelft/queue/dto/create/CustomSlideCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/CustomSlideCreateDTO.java
index 1822eb9481084c1d7e12c17f0ced4816130997e3..9dce736af971c2ee50a81a402d0f18a738eb3856 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/CustomSlideCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/CustomSlideCreateDTO.java
@@ -19,6 +19,7 @@ package nl.tudelft.queue.dto.create;
 
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.*;
 import nl.tudelft.librador.dto.create.Create;
 import nl.tudelft.queue.model.misc.CustomSlide;
diff --git a/src/main/java/nl/tudelft/queue/dto/create/QueueAssignmentCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/QueueAssignmentCreateDTO.java
index e6833b2e586bd2277bfa47473ce21b517c2ec526..70737a948e2ca68fd628ac3b08c2795e4f108747 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/QueueAssignmentCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/QueueAssignmentCreateDTO.java
@@ -19,10 +19,11 @@ package nl.tudelft.queue.dto.create;
 
 import java.time.LocalDateTime;
 
-import org.springframework.format.annotation.DateTimeFormat;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+
+import org.springframework.format.annotation.DateTimeFormat;
+
 import lombok.*;
 import nl.tudelft.labracore.api.dto.AssignmentCreateDTO;
 import nl.tudelft.labracore.api.dto.Description;
diff --git a/src/main/java/nl/tudelft/queue/dto/create/QueueCourseCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/QueueCourseCreateDTO.java
index d80b65d2f776cb29c4dc827f1ffcec687bca24b0..103db5e7ea0dc21188821f97a6e53f9093aa7440 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/QueueCourseCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/QueueCourseCreateDTO.java
@@ -18,6 +18,7 @@
 package nl.tudelft.queue.dto.create;
 
 import jakarta.validation.constraints.NotBlank;
+
 import lombok.*;
 import nl.tudelft.labracore.api.dto.CourseCreateDTO;
 import nl.tudelft.labracore.api.dto.ProgramIdDTO;
diff --git a/src/main/java/nl/tudelft/queue/dto/create/QueueEditionCollectionCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/QueueEditionCollectionCreateDTO.java
index 3fca9755fd65cbbd624244e38ada0b228fc609f3..f90ad6c2f5c0d68e1fa5aa4cecfca29e2b5963c0 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/QueueEditionCollectionCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/QueueEditionCollectionCreateDTO.java
@@ -23,6 +23,7 @@ import java.util.stream.Collectors;
 
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.Size;
+
 import lombok.*;
 import nl.tudelft.labracore.api.dto.*;
 import nl.tudelft.librador.dto.create.Create;
diff --git a/src/main/java/nl/tudelft/queue/dto/create/QueueEditionCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/QueueEditionCreateDTO.java
index b863486741163474b2513427f87022d1ba14106a..a262ba1767ed0497574f02734371c2b24940f8c8 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/QueueEditionCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/QueueEditionCreateDTO.java
@@ -19,10 +19,11 @@ package nl.tudelft.queue.dto.create;
 
 import java.time.LocalDateTime;
 
-import org.springframework.format.annotation.DateTimeFormat;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+
+import org.springframework.format.annotation.DateTimeFormat;
+
 import lombok.*;
 import nl.tudelft.labracore.api.dto.CohortIdDTO;
 import nl.tudelft.labracore.api.dto.CourseIdDTO;
diff --git a/src/main/java/nl/tudelft/queue/dto/create/QueueModuleCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/QueueModuleCreateDTO.java
index 907a9b2ff45917b6fd2dd2d9e28ee290ff4d981d..eea621befa196f3ceaab0c616789363cba217f87 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/QueueModuleCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/QueueModuleCreateDTO.java
@@ -18,6 +18,7 @@
 package nl.tudelft.queue.dto.create;
 
 import jakarta.validation.constraints.NotBlank;
+
 import lombok.*;
 import nl.tudelft.labracore.api.dto.EditionIdDTO;
 import nl.tudelft.labracore.api.dto.ModuleCreateDTO;
diff --git a/src/main/java/nl/tudelft/queue/dto/create/SubscriptionCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/SubscriptionCreateDTO.java
index e30c2110a619fe2bde74f6b10ce510a7b12a3e24..91d5cdf106cca3077477ecdee66121680dab2f00 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/SubscriptionCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/SubscriptionCreateDTO.java
@@ -18,6 +18,7 @@
 package nl.tudelft.queue.dto.create;
 
 import jakarta.validation.constraints.NotNull;
+
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/src/main/java/nl/tudelft/queue/dto/create/TimeSlotCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/TimeSlotCreateDTO.java
index 229b078cd099f3be54a5a5de29e1b3b697e2d598..8ca153549adc0f481446ff1e1bcbe1c7002f662b 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/TimeSlotCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/TimeSlotCreateDTO.java
@@ -19,6 +19,7 @@ package nl.tudelft.queue.dto.create;
 
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.*;
 import nl.tudelft.librador.dto.create.Create;
 import nl.tudelft.queue.model.TimeSlot;
diff --git a/src/main/java/nl/tudelft/queue/dto/create/embeddables/CapacitySessionConfigCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/embeddables/CapacitySessionConfigCreateDTO.java
index 07b4f46177ce59e9bdba1177d6831f60aa48e6ff..be10e8dd4fbfa6a2422b35b1cf45fe5d24dd29ec 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/embeddables/CapacitySessionConfigCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/embeddables/CapacitySessionConfigCreateDTO.java
@@ -19,9 +19,10 @@ package nl.tudelft.queue.dto.create.embeddables;
 
 import java.time.LocalDateTime;
 
+import jakarta.validation.constraints.NotNull;
+
 import org.springframework.format.annotation.DateTimeFormat;
 
-import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import nl.tudelft.librador.dto.create.Create;
 import nl.tudelft.queue.model.embeddables.CapacitySessionConfig;
diff --git a/src/main/java/nl/tudelft/queue/dto/create/embeddables/ExamLabConfigCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/embeddables/ExamLabConfigCreateDTO.java
index 9e4e127553dca61df87daab6b69faabab6be62e7..e794271847c38a197228ad213cec440fbad38f0b 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/embeddables/ExamLabConfigCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/embeddables/ExamLabConfigCreateDTO.java
@@ -19,6 +19,7 @@ package nl.tudelft.queue.dto.create.embeddables;
 
 import jakarta.validation.constraints.Max;
 import jakarta.validation.constraints.Min;
+
 import lombok.*;
 import nl.tudelft.librador.dto.create.Create;
 import nl.tudelft.queue.model.embeddables.ExamLabConfig;
diff --git a/src/main/java/nl/tudelft/queue/dto/create/embeddables/SlottedLabConfigCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/embeddables/SlottedLabConfigCreateDTO.java
index ab46a8121757bc8fe3f091d93b2b17d9b3f6794e..70d26b820639ae7d4c704bb596f84ec0b23d1dab 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/embeddables/SlottedLabConfigCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/embeddables/SlottedLabConfigCreateDTO.java
@@ -19,11 +19,12 @@ package nl.tudelft.queue.dto.create.embeddables;
 
 import java.time.LocalDateTime;
 
-import org.springframework.format.annotation.DateTimeFormat;
-
 import jakarta.validation.constraints.Max;
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotNull;
+
+import org.springframework.format.annotation.DateTimeFormat;
+
 import lombok.*;
 import nl.tudelft.librador.dto.create.Create;
 import nl.tudelft.queue.model.embeddables.SlottedLabConfig;
diff --git a/src/main/java/nl/tudelft/queue/dto/create/labs/LabCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/labs/LabCreateDTO.java
index 6e07e7ca0eeab490a9492bbae2fb907ce771b624..80be74651f6eb9e8f94e8820ae457604f69f5a7d 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/labs/LabCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/labs/LabCreateDTO.java
@@ -24,10 +24,11 @@ import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import org.springframework.util.CollectionUtils;
-
 import jakarta.validation.constraints.Max;
 import jakarta.validation.constraints.Min;
+
+import org.springframework.util.CollectionUtils;
+
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import nl.tudelft.labracore.api.dto.AssignmentIdDTO;
diff --git a/src/main/java/nl/tudelft/queue/dto/create/misc/AnnouncementCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/misc/AnnouncementCreateDTO.java
index 4e7308eeaea296eb9b90d44863784decab465248..c04f4387fdfdcdaa902aa0da76bf1b43aabf4ad7 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/misc/AnnouncementCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/misc/AnnouncementCreateDTO.java
@@ -19,11 +19,12 @@ package nl.tudelft.queue.dto.create.misc;
 
 import java.time.LocalDateTime;
 
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+
 import org.hibernate.validator.constraints.Length;
 import org.springframework.format.annotation.DateTimeFormat;
 
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import nl.tudelft.librador.dto.create.Create;
diff --git a/src/main/java/nl/tudelft/queue/dto/create/requests/LabRequestCreateDTO.java b/src/main/java/nl/tudelft/queue/dto/create/requests/LabRequestCreateDTO.java
index 2ca9d3fc60ca2104f1247059f0ff5dd0d3b6b6d0..703c3cfa20f7b949db653b3d51881ecfc0a4501c 100644
--- a/src/main/java/nl/tudelft/queue/dto/create/requests/LabRequestCreateDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/create/requests/LabRequestCreateDTO.java
@@ -22,6 +22,7 @@ import java.util.Objects;
 
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
+
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import nl.tudelft.librador.dto.DTOConverter;
diff --git a/src/main/java/nl/tudelft/queue/dto/patch/LabPatchDTO.java b/src/main/java/nl/tudelft/queue/dto/patch/LabPatchDTO.java
index 690368ae93551acf3d8294409e238b0f0773600d..a6e65cbcd8c1c8d4cd99e518d0af8107ffd0b763 100644
--- a/src/main/java/nl/tudelft/queue/dto/patch/LabPatchDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/patch/LabPatchDTO.java
@@ -22,6 +22,7 @@ import java.util.stream.Collectors;
 
 import jakarta.validation.constraints.Max;
 import jakarta.validation.constraints.Min;
+
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import nl.tudelft.labracore.api.dto.AssignmentIdDTO;
diff --git a/src/main/java/nl/tudelft/queue/dto/patch/QueueAssignmentPatchDTO.java b/src/main/java/nl/tudelft/queue/dto/patch/QueueAssignmentPatchDTO.java
index 1a03f462ff39a55829378ee5ca42f743662152ea..423041e3ac590343665baba3e4167296e015cec2 100644
--- a/src/main/java/nl/tudelft/queue/dto/patch/QueueAssignmentPatchDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/patch/QueueAssignmentPatchDTO.java
@@ -19,9 +19,10 @@ package nl.tudelft.queue.dto.patch;
 
 import java.time.LocalDateTime;
 
+import jakarta.validation.constraints.NotBlank;
+
 import org.springframework.format.annotation.DateTimeFormat;
 
-import jakarta.validation.constraints.NotBlank;
 import lombok.*;
 import nl.tudelft.labracore.api.dto.Description;
 
diff --git a/src/main/java/nl/tudelft/queue/dto/patch/labs/AbstractSlottedLabPatchDTO.java b/src/main/java/nl/tudelft/queue/dto/patch/labs/AbstractSlottedLabPatchDTO.java
index b58c396ec1dd20d1aadabebbed29968bd83e6ea6..893d48faa30ac98de04d7083a07df003e13a0b01 100644
--- a/src/main/java/nl/tudelft/queue/dto/patch/labs/AbstractSlottedLabPatchDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/patch/labs/AbstractSlottedLabPatchDTO.java
@@ -18,6 +18,7 @@
 package nl.tudelft.queue.dto.patch.labs;
 
 import jakarta.validation.constraints.NotNull;
+
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import nl.tudelft.queue.dto.patch.LabPatchDTO;
diff --git a/src/main/java/nl/tudelft/queue/dto/patch/labs/ExamLabPatchDTO.java b/src/main/java/nl/tudelft/queue/dto/patch/labs/ExamLabPatchDTO.java
index bd488bedf1c542cdd3d0313a432e4f61cb46ad8f..c8df77aaa89e73aa90fde83a74733b2d39f76b15 100644
--- a/src/main/java/nl/tudelft/queue/dto/patch/labs/ExamLabPatchDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/patch/labs/ExamLabPatchDTO.java
@@ -18,6 +18,7 @@
 package nl.tudelft.queue.dto.patch.labs;
 
 import jakarta.validation.constraints.NotNull;
+
 import lombok.*;
 import nl.tudelft.queue.dto.patch.ExamLabConfigPatchDTO;
 import nl.tudelft.queue.model.labs.ExamLab;
diff --git a/src/main/java/nl/tudelft/queue/dto/util/RequestTableFilterDTO.java b/src/main/java/nl/tudelft/queue/dto/util/RequestTableFilterDTO.java
index 91793802fec25a326aa40a31968de60fa6d2934d..1348ac2c875b10814db92078fcaa437e99620c33 100644
--- a/src/main/java/nl/tudelft/queue/dto/util/RequestTableFilterDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/util/RequestTableFilterDTO.java
@@ -23,6 +23,7 @@ import java.util.Set;
 import java.util.stream.Stream;
 
 import jakarta.validation.constraints.NotNull;
+
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/src/main/java/nl/tudelft/queue/dto/view/QueueEditionDetailsDTO.java b/src/main/java/nl/tudelft/queue/dto/view/QueueEditionDetailsDTO.java
index c8e6d3585a68e2919cb9c98177786c49a3a2ef80..548b44e1acf7ee5e838818a273a8fa0dd3138bd4 100644
--- a/src/main/java/nl/tudelft/queue/dto/view/QueueEditionDetailsDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/view/QueueEditionDetailsDTO.java
@@ -18,6 +18,7 @@
 package nl.tudelft.queue.dto.view;
 
 import jakarta.validation.constraints.NotNull;
+
 import lombok.*;
 import nl.tudelft.labracore.api.dto.*;
 
diff --git a/src/main/java/nl/tudelft/queue/dto/view/QueueEditionSummaryDTO.java b/src/main/java/nl/tudelft/queue/dto/view/QueueEditionSummaryDTO.java
index 6d9b89300a0339642151fa0640828d018d85fb63..4689bda40436288980a446ec90f82b1015380e9f 100644
--- a/src/main/java/nl/tudelft/queue/dto/view/QueueEditionSummaryDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/view/QueueEditionSummaryDTO.java
@@ -18,6 +18,7 @@
 package nl.tudelft.queue.dto.view;
 
 import jakarta.validation.constraints.NotNull;
+
 import lombok.*;
 import nl.tudelft.labracore.api.dto.EditionSummaryDTO;
 
diff --git a/src/main/java/nl/tudelft/queue/dto/view/labs/AbstractSlottedLabViewDTO.java b/src/main/java/nl/tudelft/queue/dto/view/labs/AbstractSlottedLabViewDTO.java
index 5882f21c315d26c9b7f016fd7c3370ac15720a84..255d81d268803216642bee89b1f1733fdec7d571 100644
--- a/src/main/java/nl/tudelft/queue/dto/view/labs/AbstractSlottedLabViewDTO.java
+++ b/src/main/java/nl/tudelft/queue/dto/view/labs/AbstractSlottedLabViewDTO.java
@@ -22,6 +22,7 @@ import java.util.List;
 
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/src/main/java/nl/tudelft/queue/model/ClosableTimeSlot.java b/src/main/java/nl/tudelft/queue/model/ClosableTimeSlot.java
index ff068f349de22e444ad21135d5269410cc55c38b..a0f6988031ba7f97a9d852c1061afd58f5218357 100644
--- a/src/main/java/nl/tudelft/queue/model/ClosableTimeSlot.java
+++ b/src/main/java/nl/tudelft/queue/model/ClosableTimeSlot.java
@@ -20,6 +20,7 @@ package nl.tudelft.queue.model;
 import jakarta.persistence.Entity;
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/src/main/java/nl/tudelft/queue/model/Feedback.java b/src/main/java/nl/tudelft/queue/model/Feedback.java
index a78290d2c48cac030fc19da77f5ce51efbb14378..8d8900c404cf015c7a13f7bb89a3962b5a379ec0 100644
--- a/src/main/java/nl/tudelft/queue/model/Feedback.java
+++ b/src/main/java/nl/tudelft/queue/model/Feedback.java
@@ -20,14 +20,15 @@ package nl.tudelft.queue.model;
 import java.io.Serializable;
 import java.time.LocalDateTime;
 
-import org.hibernate.annotations.*;
-
 import jakarta.persistence.*;
 import jakarta.persistence.Entity;
 import jakarta.validation.constraints.Max;
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
+
+import org.hibernate.annotations.*;
+
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/java/nl/tudelft/queue/model/LabRequest.java b/src/main/java/nl/tudelft/queue/model/LabRequest.java
index 34ad99392cb849b4ea1d812a61e149c6e83f77d7..810cc3555c6b145bee9823b5ffdb454eb77bfed3 100644
--- a/src/main/java/nl/tudelft/queue/model/LabRequest.java
+++ b/src/main/java/nl/tudelft/queue/model/LabRequest.java
@@ -25,11 +25,12 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.OptionalDouble;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
 import jakarta.persistence.*;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import nl.tudelft.queue.dto.view.requests.LabRequestViewDTO;
diff --git a/src/main/java/nl/tudelft/queue/model/LabRequestConstraint.java b/src/main/java/nl/tudelft/queue/model/LabRequestConstraint.java
index 17f578de4e211a853e39aac31ea5ed77636b645b..e217f56d020507ec4e0b4ace991270494884eb09 100644
--- a/src/main/java/nl/tudelft/queue/model/LabRequestConstraint.java
+++ b/src/main/java/nl/tudelft/queue/model/LabRequestConstraint.java
@@ -19,6 +19,7 @@ package nl.tudelft.queue.model;
 
 import jakarta.persistence.*;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/nl/tudelft/queue/model/Profile.java b/src/main/java/nl/tudelft/queue/model/Profile.java
index 0a788a9e8a5c586dc41260afe18bc64f43f4f226..526b3bc648da73fb7efd2288a660a430919dabf7 100644
--- a/src/main/java/nl/tudelft/queue/model/Profile.java
+++ b/src/main/java/nl/tudelft/queue/model/Profile.java
@@ -22,6 +22,7 @@ import java.time.LocalDateTime;
 import jakarta.annotation.Nullable;
 import jakarta.persistence.*;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/java/nl/tudelft/queue/model/QueueEdition.java b/src/main/java/nl/tudelft/queue/model/QueueEdition.java
index 475aaee28519ff9e50590f103663abff75854423..e85df8b60ea4e090e963ca7e5c81378f5bcff6db 100644
--- a/src/main/java/nl/tudelft/queue/model/QueueEdition.java
+++ b/src/main/java/nl/tudelft/queue/model/QueueEdition.java
@@ -20,6 +20,7 @@ package nl.tudelft.queue.model;
 import jakarta.persistence.Entity;
 import jakarta.persistence.Id;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/java/nl/tudelft/queue/model/QueueSession.java b/src/main/java/nl/tudelft/queue/model/QueueSession.java
index 5943ead6e0dcd571f9008ff350c68106a47fb875..0d03d3d6722dfb33853474bc1607a20c86d382cb 100644
--- a/src/main/java/nl/tudelft/queue/model/QueueSession.java
+++ b/src/main/java/nl/tudelft/queue/model/QueueSession.java
@@ -21,15 +21,16 @@ import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import jakarta.persistence.*;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.SQLDelete;
 import org.hibernate.annotations.Where;
 import org.hibernate.validator.constraints.UniqueElements;
 
-import jakarta.persistence.*;
-import jakarta.validation.constraints.NotEmpty;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Size;
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import nl.tudelft.labracore.api.dto.SessionDetailsDTO;
diff --git a/src/main/java/nl/tudelft/queue/model/Request.java b/src/main/java/nl/tudelft/queue/model/Request.java
index 5b4f1a4fe9a2dabbd1ee74a1497432042e4d2f75..7b3a0869fc63e6203970d907e0e590d5c7ac85c1 100644
--- a/src/main/java/nl/tudelft/queue/model/Request.java
+++ b/src/main/java/nl/tudelft/queue/model/Request.java
@@ -20,14 +20,15 @@ package nl.tudelft.queue.model;
 import java.time.LocalDateTime;
 import java.util.List;
 
+import jakarta.persistence.*;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+
 import org.hibernate.annotations.SQLDelete;
 import org.hibernate.annotations.Where;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
-import jakarta.persistence.*;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Size;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/java/nl/tudelft/queue/model/RequestEvent.java b/src/main/java/nl/tudelft/queue/model/RequestEvent.java
index 00d94057f952ea87ed74f8dac2b7ceb54d7090dc..d4c47ef2a9bca36223265cb2df7825acb91ff80c 100644
--- a/src/main/java/nl/tudelft/queue/model/RequestEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/RequestEvent.java
@@ -21,6 +21,7 @@ import jakarta.persistence.Entity;
 import jakarta.persistence.Inheritance;
 import jakarta.persistence.InheritanceType;
 import jakarta.persistence.ManyToOne;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/nl/tudelft/queue/model/SelectionRequest.java b/src/main/java/nl/tudelft/queue/model/SelectionRequest.java
index 7e84bbf2b65692b2a67914c68050d97a865457d4..b28a04ca2d38f81c4d60960789c3a4f295bc6c05 100644
--- a/src/main/java/nl/tudelft/queue/model/SelectionRequest.java
+++ b/src/main/java/nl/tudelft/queue/model/SelectionRequest.java
@@ -18,6 +18,7 @@
 package nl.tudelft.queue.model;
 
 import jakarta.persistence.Entity;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/nl/tudelft/queue/model/TimeSlot.java b/src/main/java/nl/tudelft/queue/model/TimeSlot.java
index 1d745e1bed8ea6f0e8242d4c602e8f863e129a00..688bcadfa737044d503eb9481f46ee88581377b2 100644
--- a/src/main/java/nl/tudelft/queue/model/TimeSlot.java
+++ b/src/main/java/nl/tudelft/queue/model/TimeSlot.java
@@ -21,11 +21,12 @@ import java.time.LocalDateTime;
 import java.util.HashSet;
 import java.util.Set;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
 import jakarta.persistence.*;
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotNull;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
 import lombok.*;
 import nl.tudelft.queue.model.embeddables.Slot;
 import nl.tudelft.queue.model.enums.RequestStatus;
diff --git a/src/main/java/nl/tudelft/queue/model/constraints/ClusterConstraint.java b/src/main/java/nl/tudelft/queue/model/constraints/ClusterConstraint.java
index 8639d4458625d4024f7a80514e716d90b12013e1..a4dbfa1ab21f2e3004e6f87e996dfa106c4f0aac 100644
--- a/src/main/java/nl/tudelft/queue/model/constraints/ClusterConstraint.java
+++ b/src/main/java/nl/tudelft/queue/model/constraints/ClusterConstraint.java
@@ -24,6 +24,7 @@ import jakarta.persistence.ElementCollection;
 import jakarta.persistence.Entity;
 import jakarta.persistence.OneToOne;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/src/main/java/nl/tudelft/queue/model/constraints/ModuleDivisionConstraint.java b/src/main/java/nl/tudelft/queue/model/constraints/ModuleDivisionConstraint.java
index 876ccdd1d8083683f2ccf6b3a1ed10e010b9edc4..c10fde6217e586e34bf848e316d5577aff2ca58c 100644
--- a/src/main/java/nl/tudelft/queue/model/constraints/ModuleDivisionConstraint.java
+++ b/src/main/java/nl/tudelft/queue/model/constraints/ModuleDivisionConstraint.java
@@ -24,6 +24,7 @@ import jakarta.persistence.ElementCollection;
 import jakarta.persistence.Entity;
 import jakarta.persistence.OneToOne;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import nl.tudelft.queue.dto.create.constraints.ModuleDivisionConstraintCreateDTO;
diff --git a/src/main/java/nl/tudelft/queue/model/embeddables/AllowedRequest.java b/src/main/java/nl/tudelft/queue/model/embeddables/AllowedRequest.java
index 49623f7fe4d46740ddddaa34efe0fc0134ac98f3..ad5b2279e559bdb73a0a22415a6d6caea629455e 100644
--- a/src/main/java/nl/tudelft/queue/model/embeddables/AllowedRequest.java
+++ b/src/main/java/nl/tudelft/queue/model/embeddables/AllowedRequest.java
@@ -21,6 +21,7 @@ import jakarta.persistence.Embeddable;
 import jakarta.persistence.EnumType;
 import jakarta.persistence.Enumerated;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/java/nl/tudelft/queue/model/embeddables/CapacitySessionConfig.java b/src/main/java/nl/tudelft/queue/model/embeddables/CapacitySessionConfig.java
index 58a30b1502b63e7f580ea641552fb99c7d289161..1f1f874f756d8764843116bbb0aae9585f9b1a6c 100644
--- a/src/main/java/nl/tudelft/queue/model/embeddables/CapacitySessionConfig.java
+++ b/src/main/java/nl/tudelft/queue/model/embeddables/CapacitySessionConfig.java
@@ -19,10 +19,11 @@ package nl.tudelft.queue.model.embeddables;
 
 import java.time.LocalDateTime;
 
-import org.springframework.format.annotation.DateTimeFormat;
-
 import jakarta.persistence.Embeddable;
 import jakarta.validation.constraints.NotNull;
+
+import org.springframework.format.annotation.DateTimeFormat;
+
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/java/nl/tudelft/queue/model/embeddables/DefaultSlides.java b/src/main/java/nl/tudelft/queue/model/embeddables/DefaultSlides.java
index 183738539fc360f6bc2b462f32cf8e4dc76662b1..fa366a4aa6e0935a50ed1cf8848c53dc72299c05 100644
--- a/src/main/java/nl/tudelft/queue/model/embeddables/DefaultSlides.java
+++ b/src/main/java/nl/tudelft/queue/model/embeddables/DefaultSlides.java
@@ -19,6 +19,7 @@ package nl.tudelft.queue.model.embeddables;
 
 import jakarta.persistence.Embeddable;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/java/nl/tudelft/queue/model/embeddables/ExamLabConfig.java b/src/main/java/nl/tudelft/queue/model/embeddables/ExamLabConfig.java
index 24acfb7a980a8d78ff28cf28b8fe2b70e7b8f4e4..dc8bcb3cc4515ac2868db098e47cb79582e32f6a 100644
--- a/src/main/java/nl/tudelft/queue/model/embeddables/ExamLabConfig.java
+++ b/src/main/java/nl/tudelft/queue/model/embeddables/ExamLabConfig.java
@@ -20,6 +20,7 @@ package nl.tudelft.queue.model.embeddables;
 import jakarta.persistence.Embeddable;
 import jakarta.validation.constraints.Max;
 import jakarta.validation.constraints.Min;
+
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/java/nl/tudelft/queue/model/embeddables/LabRequestConstraints.java b/src/main/java/nl/tudelft/queue/model/embeddables/LabRequestConstraints.java
index 5183fb71852a4d00edbf2ae5c46e65345b11cbd3..2759f7052975e7911ecce7ac13daacb1b7fd8705 100644
--- a/src/main/java/nl/tudelft/queue/model/embeddables/LabRequestConstraints.java
+++ b/src/main/java/nl/tudelft/queue/model/embeddables/LabRequestConstraints.java
@@ -24,6 +24,7 @@ import java.util.stream.Stream;
 import jakarta.persistence.CascadeType;
 import jakarta.persistence.Embeddable;
 import jakarta.persistence.OneToOne;
+
 import lombok.*;
 import nl.tudelft.queue.model.LabRequestConstraint;
 import nl.tudelft.queue.model.QueueSession;
diff --git a/src/main/java/nl/tudelft/queue/model/embeddables/RequestEventInfo.java b/src/main/java/nl/tudelft/queue/model/embeddables/RequestEventInfo.java
index b0fa1c7a9d551ea07d7c9b26b6725e7141d89b13..916e827b66db40ea3bdb0ba4b50a497b6256d836 100644
--- a/src/main/java/nl/tudelft/queue/model/embeddables/RequestEventInfo.java
+++ b/src/main/java/nl/tudelft/queue/model/embeddables/RequestEventInfo.java
@@ -26,6 +26,7 @@ import java.util.stream.Collectors;
 
 import jakarta.persistence.*;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.*;
 import nl.tudelft.queue.cqsr.Aggregate;
 import nl.tudelft.queue.model.RequestEvent;
diff --git a/src/main/java/nl/tudelft/queue/model/embeddables/Slot.java b/src/main/java/nl/tudelft/queue/model/embeddables/Slot.java
index 1bac3b39c82b78f49856eb19fafc192c0f85d243..de5d3efbec98598c9417c37ee1207251e91dd3f5 100644
--- a/src/main/java/nl/tudelft/queue/model/embeddables/Slot.java
+++ b/src/main/java/nl/tudelft/queue/model/embeddables/Slot.java
@@ -23,10 +23,11 @@ import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 
-import org.springframework.format.annotation.DateTimeFormat;
-
 import jakarta.persistence.Embeddable;
 import jakarta.validation.constraints.NotNull;
+
+import org.springframework.format.annotation.DateTimeFormat;
+
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/java/nl/tudelft/queue/model/embeddables/SlottedLabConfig.java b/src/main/java/nl/tudelft/queue/model/embeddables/SlottedLabConfig.java
index af0d6d80871541ad1de8b2dd9eb606d777192995..915c5b71c7d81267fef61941f8c953fd76b2be6f 100644
--- a/src/main/java/nl/tudelft/queue/model/embeddables/SlottedLabConfig.java
+++ b/src/main/java/nl/tudelft/queue/model/embeddables/SlottedLabConfig.java
@@ -19,13 +19,14 @@ package nl.tudelft.queue.model.embeddables;
 
 import java.time.LocalDateTime;
 
-import org.springframework.format.annotation.DateTimeFormat;
-
 import jakarta.persistence.Basic;
 import jakarta.persistence.Embeddable;
 import jakarta.validation.constraints.Max;
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotNull;
+
+import org.springframework.format.annotation.DateTimeFormat;
+
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/java/nl/tudelft/queue/model/events/RequestApprovedEvent.java b/src/main/java/nl/tudelft/queue/model/events/RequestApprovedEvent.java
index 2615944c4237d4152d4035b5a4882e199dc2bbf5..64fbfb1515566f49faf397cfd024b3e59ba4e97e 100644
--- a/src/main/java/nl/tudelft/queue/model/events/RequestApprovedEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/RequestApprovedEvent.java
@@ -21,6 +21,7 @@ import static nl.tudelft.queue.model.enums.RequestStatus.APPROVED;
 
 import jakarta.persistence.Entity;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.NoArgsConstructor;
 import nl.tudelft.queue.dto.view.RequestEventViewDTO;
 import nl.tudelft.queue.dto.view.events.RequestApprovedEventViewDTO;
diff --git a/src/main/java/nl/tudelft/queue/model/events/RequestCreatedEvent.java b/src/main/java/nl/tudelft/queue/model/events/RequestCreatedEvent.java
index 4a433cd2f5a841c74c0d502977d64f61a15d4a88..034eb161d91ec1925fd88e5d69822dd846c3c405 100644
--- a/src/main/java/nl/tudelft/queue/model/events/RequestCreatedEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/RequestCreatedEvent.java
@@ -20,6 +20,7 @@ package nl.tudelft.queue.model.events;
 import static nl.tudelft.queue.model.enums.RequestStatus.PENDING;
 
 import jakarta.persistence.Entity;
+
 import lombok.NoArgsConstructor;
 import nl.tudelft.queue.dto.view.RequestEventViewDTO;
 import nl.tudelft.queue.dto.view.events.RequestCreatedEventViewDTO;
diff --git a/src/main/java/nl/tudelft/queue/model/events/RequestForwardedToAnyEvent.java b/src/main/java/nl/tudelft/queue/model/events/RequestForwardedToAnyEvent.java
index c922f957e62a71ffc684a507a803b5e3dc611e6d..75b24778a5cbde926d93354c1bf5272562c76581 100644
--- a/src/main/java/nl/tudelft/queue/model/events/RequestForwardedToAnyEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/RequestForwardedToAnyEvent.java
@@ -21,6 +21,7 @@ import static nl.tudelft.queue.model.enums.RequestStatus.FORWARDED;
 
 import jakarta.persistence.Entity;
 import jakarta.validation.constraints.Size;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/nl/tudelft/queue/model/events/RequestForwardedToPersonEvent.java b/src/main/java/nl/tudelft/queue/model/events/RequestForwardedToPersonEvent.java
index d20ee10aaee25ee8824267d93e23dbe988ccdb53..cd527fd62135a0ecacd2cd41396dfb2fc4585171 100644
--- a/src/main/java/nl/tudelft/queue/model/events/RequestForwardedToPersonEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/RequestForwardedToPersonEvent.java
@@ -22,6 +22,7 @@ import static nl.tudelft.queue.model.enums.RequestStatus.FORWARDED;
 import jakarta.persistence.Entity;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/nl/tudelft/queue/model/events/RequestHandledEvent.java b/src/main/java/nl/tudelft/queue/model/events/RequestHandledEvent.java
index be81de5c2e71ffa2dd37254154659208a573501e..7fa651ca0c4103f1214c1c24a2f1c69b8a36c48e 100644
--- a/src/main/java/nl/tudelft/queue/model/events/RequestHandledEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/RequestHandledEvent.java
@@ -20,6 +20,7 @@ package nl.tudelft.queue.model.events;
 import jakarta.persistence.MappedSuperclass;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/nl/tudelft/queue/model/events/RequestNotPickedEvent.java b/src/main/java/nl/tudelft/queue/model/events/RequestNotPickedEvent.java
index 4cf00d8386feb8c8b446ff27aa24796c02e8e536..ce28ff10770ffd48e90a6388b9ee3c6220b0087d 100644
--- a/src/main/java/nl/tudelft/queue/model/events/RequestNotPickedEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/RequestNotPickedEvent.java
@@ -18,6 +18,7 @@
 package nl.tudelft.queue.model.events;
 
 import jakarta.persistence.Entity;
+
 import lombok.NoArgsConstructor;
 import nl.tudelft.queue.dto.view.RequestEventViewDTO;
 import nl.tudelft.queue.dto.view.events.RequestNotPickedEventViewDTO;
diff --git a/src/main/java/nl/tudelft/queue/model/events/RequestNotSelectedEvent.java b/src/main/java/nl/tudelft/queue/model/events/RequestNotSelectedEvent.java
index 17e702d4bc1cf5f39a268147dd10ce9548a2b356..73dae1c15b05b45531a0b0120cb5388852aeaeb9 100644
--- a/src/main/java/nl/tudelft/queue/model/events/RequestNotSelectedEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/RequestNotSelectedEvent.java
@@ -18,6 +18,7 @@
 package nl.tudelft.queue.model.events;
 
 import jakarta.persistence.Entity;
+
 import lombok.NoArgsConstructor;
 import nl.tudelft.queue.dto.view.RequestEventViewDTO;
 import nl.tudelft.queue.dto.view.events.RequestNotSelectedEventViewDTO;
diff --git a/src/main/java/nl/tudelft/queue/model/events/RequestPickedEvent.java b/src/main/java/nl/tudelft/queue/model/events/RequestPickedEvent.java
index 5533d6b534ff4a7d0799eb1ccbd50c7b38a55a5a..3324263e97bc7424f49f00ac26e2a9f88d212eaf 100644
--- a/src/main/java/nl/tudelft/queue/model/events/RequestPickedEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/RequestPickedEvent.java
@@ -21,6 +21,7 @@ import static nl.tudelft.queue.model.enums.RequestStatus.PROCESSING;
 
 import jakarta.persistence.Entity;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/nl/tudelft/queue/model/events/RequestRejectedEvent.java b/src/main/java/nl/tudelft/queue/model/events/RequestRejectedEvent.java
index 1ddad69f993793f301f89a921269554361e42d04..0f71c78880ce1e91b224199855d2a39b9bfa5659 100644
--- a/src/main/java/nl/tudelft/queue/model/events/RequestRejectedEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/RequestRejectedEvent.java
@@ -20,6 +20,7 @@ package nl.tudelft.queue.model.events;
 import static nl.tudelft.queue.model.enums.RequestStatus.REJECTED;
 
 import jakarta.persistence.Entity;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/nl/tudelft/queue/model/events/RequestRevokedEvent.java b/src/main/java/nl/tudelft/queue/model/events/RequestRevokedEvent.java
index ab6e95c9851da73ed7f5674de20beb25673f217a..f2e109b36a32b8526e80d0fa3b7a8fdc934f730a 100644
--- a/src/main/java/nl/tudelft/queue/model/events/RequestRevokedEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/RequestRevokedEvent.java
@@ -21,6 +21,7 @@ import static nl.tudelft.queue.model.enums.RequestStatus.REVOKED;
 
 import jakarta.persistence.Entity;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/nl/tudelft/queue/model/events/RequestSelectedEvent.java b/src/main/java/nl/tudelft/queue/model/events/RequestSelectedEvent.java
index f881a7bcec2433564762d6554ba82e12e5928b02..87e26d44f5b7b111824818427c52d40b4bae1615 100644
--- a/src/main/java/nl/tudelft/queue/model/events/RequestSelectedEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/RequestSelectedEvent.java
@@ -18,6 +18,7 @@
 package nl.tudelft.queue.model.events;
 
 import jakarta.persistence.Entity;
+
 import lombok.NoArgsConstructor;
 import nl.tudelft.queue.dto.view.RequestEventViewDTO;
 import nl.tudelft.queue.dto.view.events.RequestSelectedEventViewDTO;
diff --git a/src/main/java/nl/tudelft/queue/model/events/RequestTakenEvent.java b/src/main/java/nl/tudelft/queue/model/events/RequestTakenEvent.java
index 207c704fdb44139b9e6fde8b1dd4bf60db5d1780..915c7c7fc81d4660f92e0a8fa95f072fe50d1341 100644
--- a/src/main/java/nl/tudelft/queue/model/events/RequestTakenEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/RequestTakenEvent.java
@@ -21,6 +21,7 @@ import static nl.tudelft.queue.model.enums.RequestStatus.PROCESSING;
 
 import jakarta.persistence.Entity;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/nl/tudelft/queue/model/events/SelectionRequestRejectedEvent.java b/src/main/java/nl/tudelft/queue/model/events/SelectionRequestRejectedEvent.java
index 10c9d06c8aa71ce5c64b6b2c2c8cd036aa3485d5..b2be44092e07ed2042e0339e207841e00bf5efd9 100644
--- a/src/main/java/nl/tudelft/queue/model/events/SelectionRequestRejectedEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/SelectionRequestRejectedEvent.java
@@ -20,6 +20,7 @@ package nl.tudelft.queue.model.events;
 import jakarta.persistence.Entity;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
+
 import lombok.NoArgsConstructor;
 import nl.tudelft.queue.dto.view.RequestEventViewDTO;
 import nl.tudelft.queue.dto.view.events.SelectionRequestRejectedEventViewDTO;
diff --git a/src/main/java/nl/tudelft/queue/model/events/StudentNotFoundEvent.java b/src/main/java/nl/tudelft/queue/model/events/StudentNotFoundEvent.java
index 410890721bb5e01af91557044ac37c3caa178059..2829b0b8fba9ef2a19a35bcd5685b40c9f901b68 100644
--- a/src/main/java/nl/tudelft/queue/model/events/StudentNotFoundEvent.java
+++ b/src/main/java/nl/tudelft/queue/model/events/StudentNotFoundEvent.java
@@ -21,6 +21,7 @@ import static nl.tudelft.queue.model.enums.RequestStatus.NOTFOUND;
 
 import jakarta.persistence.Entity;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/nl/tudelft/queue/model/labs/AbstractSlottedLab.java b/src/main/java/nl/tudelft/queue/model/labs/AbstractSlottedLab.java
index 82dd24bf48298b9ba9c5744768afa1ad28a92e05..c043a159e01619099390658a137080b0266ac1e8 100644
--- a/src/main/java/nl/tudelft/queue/model/labs/AbstractSlottedLab.java
+++ b/src/main/java/nl/tudelft/queue/model/labs/AbstractSlottedLab.java
@@ -26,6 +26,7 @@ import jakarta.persistence.Embedded;
 import jakarta.persistence.MappedSuperclass;
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import nl.tudelft.queue.model.LabRequest;
diff --git a/src/main/java/nl/tudelft/queue/model/labs/CapacitySession.java b/src/main/java/nl/tudelft/queue/model/labs/CapacitySession.java
index f28aee0c18ee15d4915f09c604bd4e29d282976e..363676e94ba38ec03355d943fd8dce46229918e5 100644
--- a/src/main/java/nl/tudelft/queue/model/labs/CapacitySession.java
+++ b/src/main/java/nl/tudelft/queue/model/labs/CapacitySession.java
@@ -26,6 +26,7 @@ import jakarta.persistence.DiscriminatorValue;
 import jakarta.persistence.Embedded;
 import jakarta.persistence.Entity;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import nl.tudelft.labracore.api.dto.RoomDetailsDTO;
diff --git a/src/main/java/nl/tudelft/queue/model/labs/ExamLab.java b/src/main/java/nl/tudelft/queue/model/labs/ExamLab.java
index c85c85918a63b577bbd6e75b66763ff1481ba0db..4d3f18b841900fcc94f54df86f5f9ca9f612522a 100644
--- a/src/main/java/nl/tudelft/queue/model/labs/ExamLab.java
+++ b/src/main/java/nl/tudelft/queue/model/labs/ExamLab.java
@@ -24,6 +24,7 @@ import java.util.Set;
 
 import jakarta.persistence.*;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import nl.tudelft.labracore.api.dto.SessionDetailsDTO;
diff --git a/src/main/java/nl/tudelft/queue/model/labs/Lab.java b/src/main/java/nl/tudelft/queue/model/labs/Lab.java
index d5be18fd5d41dcc9ec976fbe5abf5001b0b8c484..f359921f5e1ff941548aa6fb600e0fc23b180f4f 100644
--- a/src/main/java/nl/tudelft/queue/model/labs/Lab.java
+++ b/src/main/java/nl/tudelft/queue/model/labs/Lab.java
@@ -21,13 +21,14 @@ import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import org.hibernate.validator.constraints.UniqueElements;
-
 import jakarta.persistence.*;
 import jakarta.validation.constraints.Max;
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
+
+import org.hibernate.validator.constraints.UniqueElements;
+
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import nl.tudelft.queue.model.LabRequest;
diff --git a/src/main/java/nl/tudelft/queue/model/labs/RegularLab.java b/src/main/java/nl/tudelft/queue/model/labs/RegularLab.java
index a372942a9fa3d5974d3362358f9ff728ffaca06e..a089c9ae4b7f5a0c94e7fe17d6e8e02a163b72f2 100644
--- a/src/main/java/nl/tudelft/queue/model/labs/RegularLab.java
+++ b/src/main/java/nl/tudelft/queue/model/labs/RegularLab.java
@@ -19,6 +19,7 @@ package nl.tudelft.queue.model.labs;
 
 import jakarta.persistence.DiscriminatorValue;
 import jakarta.persistence.Entity;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/nl/tudelft/queue/model/labs/SlottedLab.java b/src/main/java/nl/tudelft/queue/model/labs/SlottedLab.java
index 871531fd6c117724425b7ecb03a84b29af653095..29744ecdb144d9a15f8e9a7de48cd440b45ed0cb 100644
--- a/src/main/java/nl/tudelft/queue/model/labs/SlottedLab.java
+++ b/src/main/java/nl/tudelft/queue/model/labs/SlottedLab.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import jakarta.persistence.*;
+
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import nl.tudelft.labracore.api.dto.SessionDetailsDTO;
diff --git a/src/main/java/nl/tudelft/queue/model/misc/Announcement.java b/src/main/java/nl/tudelft/queue/model/misc/Announcement.java
index 3474268c20eef16c49061116167499a76a80976c..871b2f3aa319af26e9700a7fa472511235bac47b 100644
--- a/src/main/java/nl/tudelft/queue/model/misc/Announcement.java
+++ b/src/main/java/nl/tudelft/queue/model/misc/Announcement.java
@@ -24,6 +24,7 @@ import jakarta.validation.constraints.Max;
 import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/java/nl/tudelft/queue/model/misc/CustomSlide.java b/src/main/java/nl/tudelft/queue/model/misc/CustomSlide.java
index 727d51cc4789fd02147ee3fe06590e971d803ff3..d4f05eb15e0038443cd22351242f3abc3d36be92 100644
--- a/src/main/java/nl/tudelft/queue/model/misc/CustomSlide.java
+++ b/src/main/java/nl/tudelft/queue/model/misc/CustomSlide.java
@@ -21,6 +21,7 @@ import jakarta.persistence.*;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
+
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/java/nl/tudelft/queue/model/misc/Presentation.java b/src/main/java/nl/tudelft/queue/model/misc/Presentation.java
index d58d046158ababe08f1a5cff42f4b374621cbce8..4638e8f3eee7d8ac0ffb2accae4b97245ee67531 100644
--- a/src/main/java/nl/tudelft/queue/model/misc/Presentation.java
+++ b/src/main/java/nl/tudelft/queue/model/misc/Presentation.java
@@ -22,6 +22,7 @@ import java.util.List;
 
 import jakarta.persistence.*;
 import jakarta.validation.constraints.NotNull;
+
 import lombok.*;
 import nl.tudelft.queue.model.embeddables.DefaultSlides;
 import nl.tudelft.queue.model.labs.Lab;
diff --git a/src/main/java/nl/tudelft/queue/properties/PushProperties.java b/src/main/java/nl/tudelft/queue/properties/PushProperties.java
index 49299dc3bfdbdfcdc1a90dce865b0f8fd7c19c58..9fc419e9a65fce00ab364ca200f1564aefe05992 100644
--- a/src/main/java/nl/tudelft/queue/properties/PushProperties.java
+++ b/src/main/java/nl/tudelft/queue/properties/PushProperties.java
@@ -17,9 +17,10 @@
  */
 package nl.tudelft.queue.properties;
 
+import jakarta.validation.constraints.Max;
+
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
-import jakarta.validation.constraints.Max;
 import lombok.Data;
 
 @Data
diff --git a/src/main/java/nl/tudelft/queue/properties/QueueProperties.java b/src/main/java/nl/tudelft/queue/properties/QueueProperties.java
index af6aab707a00516566a3b22157281104b53549ac..680af890df231ab8f5a7c5403d7a94dbb0ce91e3 100644
--- a/src/main/java/nl/tudelft/queue/properties/QueueProperties.java
+++ b/src/main/java/nl/tudelft/queue/properties/QueueProperties.java
@@ -17,9 +17,10 @@
  */
 package nl.tudelft.queue.properties;
 
+import jakarta.validation.constraints.NotNull;
+
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
-import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
 @Data
diff --git a/src/main/java/nl/tudelft/queue/realtime/Subscription.java b/src/main/java/nl/tudelft/queue/realtime/Subscription.java
index ab5aef99a291aac96de6fde6d2c5b9124054ede0..cc87446662625a67d1ba0c40d532c19a6944cdce 100644
--- a/src/main/java/nl/tudelft/queue/realtime/Subscription.java
+++ b/src/main/java/nl/tudelft/queue/realtime/Subscription.java
@@ -21,6 +21,7 @@ import java.io.Serializable;
 import java.time.LocalDateTime;
 
 import jakarta.validation.constraints.NotNull;
+
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/java/nl/tudelft/queue/security/DevUserDetailsProvider.java b/src/main/java/nl/tudelft/queue/security/DevUserDetailsProvider.java
index cd5bb366ad8bde8f16e27c66146b8e240d02e373..e0d34465931fac8aa3806d3932374683e91bd654 100644
--- a/src/main/java/nl/tudelft/queue/security/DevUserDetailsProvider.java
+++ b/src/main/java/nl/tudelft/queue/security/DevUserDetailsProvider.java
@@ -17,6 +17,8 @@
  */
 package nl.tudelft.queue.security;
 
+import jakarta.transaction.Transactional;
+
 import org.modelmapper.ModelMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Profile;
@@ -24,7 +26,6 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.PersonControllerApi;
 import nl.tudelft.labracore.lib.security.memory.InMemoryUserProvider;
 import nl.tudelft.labracore.lib.security.user.Person;
diff --git a/src/main/java/nl/tudelft/queue/service/CapacitySessionService.java b/src/main/java/nl/tudelft/queue/service/CapacitySessionService.java
index 8851c8ee2f2b5c922606f152abdebb74f3ba1900..d2b053733da709e08f3c14bf24b07b765bbef69c 100644
--- a/src/main/java/nl/tudelft/queue/service/CapacitySessionService.java
+++ b/src/main/java/nl/tudelft/queue/service/CapacitySessionService.java
@@ -22,6 +22,8 @@ import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
+import jakarta.transaction.Transactional;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,7 +31,6 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.SessionControllerApi;
 import nl.tudelft.labracore.api.StudentGroupControllerApi;
 import nl.tudelft.labracore.api.dto.RolePersonLayer1DTO;
diff --git a/src/main/java/nl/tudelft/queue/service/CodeOfConductService.java b/src/main/java/nl/tudelft/queue/service/CodeOfConductService.java
index c91e2ce51ec538bf88d36ce63cfec180808ea2ca..3ef77b7445b3d91e74e84cdf25dba4183f53f7f4 100644
--- a/src/main/java/nl/tudelft/queue/service/CodeOfConductService.java
+++ b/src/main/java/nl/tudelft/queue/service/CodeOfConductService.java
@@ -22,11 +22,12 @@ import java.net.URL;
 import java.time.LocalDateTime;
 import java.util.stream.Collectors;
 
+import jakarta.transaction.Transactional;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
-import jakarta.transaction.Transactional;
 import lombok.AllArgsConstructor;
 import nl.tudelft.labracore.lib.security.user.Person;
 import nl.tudelft.queue.dto.view.CodeOfConductDTO;
diff --git a/src/main/java/nl/tudelft/queue/service/CourseService.java b/src/main/java/nl/tudelft/queue/service/CourseService.java
new file mode 100644
index 0000000000000000000000000000000000000000..c5db78e60f2ecfa0c940e3bb05c2b7fc2c985c6c
--- /dev/null
+++ b/src/main/java/nl/tudelft/queue/service/CourseService.java
@@ -0,0 +1,40 @@
+/*
+ * Queue - A Queueing system that can be used to handle labs in higher education
+ * Copyright (C) 2016-2024  Delft University of Technology
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+package nl.tudelft.queue.service;
+
+import org.springframework.stereotype.Service;
+
+import lombok.RequiredArgsConstructor;
+import nl.tudelft.labracore.api.CourseControllerApi;
+import nl.tudelft.labracore.api.dto.CourseWithManagerCreateDTO;
+
+@Service
+@RequiredArgsConstructor
+public class CourseService {
+
+	private final CourseControllerApi courseApi;
+
+	/**
+	 * Tell labracore to add manager in dto to the course or setup a new course if it doesn't exist.
+	 *
+	 * @param dto The dto with all the infor about the course.
+	 */
+	public void setupCourseWithManagerLabracore(CourseWithManagerCreateDTO dto) {
+		courseApi.setupCourseWithManager(dto).block();
+	}
+}
diff --git a/src/main/java/nl/tudelft/queue/service/EditionService.java b/src/main/java/nl/tudelft/queue/service/EditionService.java
index 44a63db7eaaf5320094b29e2a839ccda785e911c..390e8bbf37d2423ac84fdf5d5197a5849cc9070c 100644
--- a/src/main/java/nl/tudelft/queue/service/EditionService.java
+++ b/src/main/java/nl/tudelft/queue/service/EditionService.java
@@ -29,6 +29,10 @@ import java.util.stream.Stream;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
 
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
+import jakarta.transaction.Transactional;
+
 import org.apache.commons.lang3.StringUtils;
 import org.modelmapper.ModelMapper;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,9 +42,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.StreamUtils;
 import org.springframework.web.multipart.MultipartFile;
 
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.servlet.http.HttpSession;
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.EditionControllerApi;
 import nl.tudelft.labracore.api.PersonControllerApi;
 import nl.tudelft.labracore.api.RoleControllerApi;
diff --git a/src/main/java/nl/tudelft/queue/service/EditionStatusService.java b/src/main/java/nl/tudelft/queue/service/EditionStatusService.java
index 9bc1f6ef0866cc7ade0e45a4b01a174dbd1c04af..db79b007d9e0c12b5f2240fe0f78680e1e7b2fd9 100644
--- a/src/main/java/nl/tudelft/queue/service/EditionStatusService.java
+++ b/src/main/java/nl/tudelft/queue/service/EditionStatusService.java
@@ -27,10 +27,11 @@ import java.util.function.Predicate;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import jakarta.transaction.Transactional;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import jakarta.transaction.Transactional;
 import lombok.RequiredArgsConstructor;
 import nl.tudelft.labracore.api.dto.AssignmentDetailsDTO;
 import nl.tudelft.labracore.api.dto.PersonSummaryDTO;
diff --git a/src/main/java/nl/tudelft/queue/service/FeedbackService.java b/src/main/java/nl/tudelft/queue/service/FeedbackService.java
index 8f6ee59e7e0a5c4626cd5383746541ded1b2908b..737c19641148d43ee6c4c4f024532886d86f8b43 100644
--- a/src/main/java/nl/tudelft/queue/service/FeedbackService.java
+++ b/src/main/java/nl/tudelft/queue/service/FeedbackService.java
@@ -27,14 +27,15 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
+import jakarta.transaction.Transactional;
+import jakarta.validation.ValidationException;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
 import com.beust.jcommander.Strings;
 
-import jakarta.transaction.Transactional;
-import jakarta.validation.ValidationException;
 import nl.tudelft.labracore.api.dto.PersonSummaryDTO;
 import nl.tudelft.labracore.api.dto.RolePersonLayer1DTO;
 import nl.tudelft.labracore.api.dto.SessionDetailsDTO;
diff --git a/src/main/java/nl/tudelft/queue/service/LabService.java b/src/main/java/nl/tudelft/queue/service/LabService.java
index b5c10313245c8b01e98dee130c10762e1948cea9..4be5042ac7335906f3813954266777c768ea926f 100644
--- a/src/main/java/nl/tudelft/queue/service/LabService.java
+++ b/src/main/java/nl/tudelft/queue/service/LabService.java
@@ -25,6 +25,8 @@ import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import jakarta.transaction.Transactional;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.Resource;
 import org.springframework.stereotype.Service;
@@ -32,7 +34,6 @@ import org.springframework.ui.Model;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.multipart.MultipartFile;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.EditionControllerApi;
 import nl.tudelft.labracore.api.ModuleControllerApi;
 import nl.tudelft.labracore.api.PersonControllerApi;
diff --git a/src/main/java/nl/tudelft/queue/service/ReportService.java b/src/main/java/nl/tudelft/queue/service/ReportService.java
index 094f8def0e28990663cfbb8ecb73c0edf15e4af8..e7506445b8e7e8a59522369cdaa3ecb598592107 100644
--- a/src/main/java/nl/tudelft/queue/service/ReportService.java
+++ b/src/main/java/nl/tudelft/queue/service/ReportService.java
@@ -19,10 +19,11 @@ package nl.tudelft.queue.service;
 
 import java.util.List;
 
+import jakarta.persistence.EntityNotFoundException;
+
 import org.springframework.stereotype.Service;
 import org.springframework.ui.Model;
 
-import jakarta.persistence.EntityNotFoundException;
 import lombok.AllArgsConstructor;
 import nl.tudelft.labracore.api.ProgramControllerApi;
 import nl.tudelft.labracore.api.dto.PersonSummaryDTO;
diff --git a/src/main/java/nl/tudelft/queue/service/RequestService.java b/src/main/java/nl/tudelft/queue/service/RequestService.java
index 1b7cf5340c24f619637403c446a7f77eaed3ec01..f7e5fcd5a7557b32900f979fbae7bb9292e89d9a 100644
--- a/src/main/java/nl/tudelft/queue/service/RequestService.java
+++ b/src/main/java/nl/tudelft/queue/service/RequestService.java
@@ -23,12 +23,13 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.locks.ReentrantLock;
 import java.util.stream.Collectors;
 
+import jakarta.transaction.Transactional;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.security.access.AccessDeniedException;
 import org.springframework.stereotype.Service;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.AssignmentControllerApi;
 import nl.tudelft.labracore.api.ModuleControllerApi;
 import nl.tudelft.labracore.api.QuestionControllerApi;
diff --git a/src/main/java/nl/tudelft/queue/service/RequestTableService.java b/src/main/java/nl/tudelft/queue/service/RequestTableService.java
index 26cccea2695012f9666ecf122c1cc73c8995198b..9dcdf40dc1d33cf44c5fb590738965ed7b842681 100644
--- a/src/main/java/nl/tudelft/queue/service/RequestTableService.java
+++ b/src/main/java/nl/tudelft/queue/service/RequestTableService.java
@@ -25,6 +25,9 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import jakarta.servlet.http.HttpSession;
+import jakarta.transaction.Transactional;
+
 import org.modelmapper.ModelMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
@@ -34,8 +37,6 @@ import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
 import org.springframework.ui.Model;
 
-import jakarta.servlet.http.HttpSession;
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.AssignmentControllerApi;
 import nl.tudelft.labracore.api.EditionControllerApi;
 import nl.tudelft.labracore.api.SessionControllerApi;
diff --git a/src/main/java/nl/tudelft/queue/service/SessionService.java b/src/main/java/nl/tudelft/queue/service/SessionService.java
index 83d4f4062be3e019e7104fb342bd2b42180af9fb..1cf3849cb3b4c0442e610c92e9dce2e6689e0f47 100644
--- a/src/main/java/nl/tudelft/queue/service/SessionService.java
+++ b/src/main/java/nl/tudelft/queue/service/SessionService.java
@@ -19,9 +19,10 @@ package nl.tudelft.queue.service;
 
 import java.util.*;
 
+import jakarta.transaction.Transactional;
+
 import org.springframework.stereotype.Service;
 
-import jakarta.transaction.Transactional;
 import lombok.AllArgsConstructor;
 import nl.tudelft.labracore.api.dto.RoomDetailsDTO;
 import nl.tudelft.labracore.api.dto.SessionDetailsDTO;
diff --git a/src/main/java/nl/tudelft/queue/service/TimeSlotService.java b/src/main/java/nl/tudelft/queue/service/TimeSlotService.java
index aaa8e4a6597fbe987a0a95752556472b777c348e..a019a15fd4e429da88cd6937358499953ba1e8cf 100644
--- a/src/main/java/nl/tudelft/queue/service/TimeSlotService.java
+++ b/src/main/java/nl/tudelft/queue/service/TimeSlotService.java
@@ -22,12 +22,13 @@ import java.time.temporal.ChronoUnit;
 import java.util.Comparator;
 import java.util.List;
 
+import jakarta.transaction.Transactional;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.sql.init.dependency.DependsOnDatabaseInitialization;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.SessionControllerApi;
 import nl.tudelft.labracore.api.dto.SessionDetailsDTO;
 import nl.tudelft.labracore.api.dto.SessionPatchDTO;
diff --git a/src/main/java/nl/tudelft/queue/service/TuDelftApiService.java b/src/main/java/nl/tudelft/queue/service/TuDelftApiService.java
new file mode 100644
index 0000000000000000000000000000000000000000..d30ec264480d026311b2c1c5adc3c3193f8b374a
--- /dev/null
+++ b/src/main/java/nl/tudelft/queue/service/TuDelftApiService.java
@@ -0,0 +1,44 @@
+/*
+ * Queue - A Queueing system that can be used to handle labs in higher education
+ * Copyright (C) 2016-2024  Delft University of Technology
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+package nl.tudelft.queue.service;
+
+import java.util.List;
+
+import org.springframework.stereotype.Service;
+
+import lombok.RequiredArgsConstructor;
+import nl.tudelft.api.TuInstructorControllerApi;
+import nl.tudelft.api.dto.CourseViewApiDTO;
+import nl.tudelft.labracore.lib.security.user.Person;
+
+@Service
+@RequiredArgsConstructor
+public class TuDelftApiService {
+
+	private final TuInstructorControllerApi instructorApi;
+
+	/**
+	 * Fetches courses for an instructor from studiegids using their email.
+	 *
+	 * @param  person The person to look up the taught courses for.
+	 * @return        The courses they are an instructor for.
+	 */
+	public List<CourseViewApiDTO> getCoursesForInstructor(Person person) {
+		return instructorApi.getCoursesTaughtBy(person.getEmail()).collectList().block();
+	}
+}
diff --git a/src/main/java/nl/tudelft/queue/startup/RequestRepairStartupService.java b/src/main/java/nl/tudelft/queue/startup/RequestRepairStartupService.java
index 5970744c33de6f56286d92f588bd11af86968c05..a30693f84d26a06040e93db76f3b5651a5ada2d2 100644
--- a/src/main/java/nl/tudelft/queue/startup/RequestRepairStartupService.java
+++ b/src/main/java/nl/tudelft/queue/startup/RequestRepairStartupService.java
@@ -17,6 +17,8 @@
  */
 package nl.tudelft.queue.startup;
 
+import jakarta.transaction.Transactional;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,7 +27,6 @@ import org.springframework.boot.context.event.ApplicationReadyEvent;
 import org.springframework.context.event.EventListener;
 import org.springframework.stereotype.Service;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.queue.model.QueueSession;
 import nl.tudelft.queue.model.Request;
 import nl.tudelft.queue.repository.QueueSessionRepository;
diff --git a/src/main/java/nl/tudelft/queue/startup/UnhideEditionsService.java b/src/main/java/nl/tudelft/queue/startup/UnhideEditionsService.java
index 51e9037ed72255194bf06559f4743451d576b92a..9bd30a6a7f48e66a3952db82f2e8c4f22394c7f0 100644
--- a/src/main/java/nl/tudelft/queue/startup/UnhideEditionsService.java
+++ b/src/main/java/nl/tudelft/queue/startup/UnhideEditionsService.java
@@ -17,6 +17,8 @@
  */
 package nl.tudelft.queue.startup;
 
+import jakarta.transaction.Transactional;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,7 +27,6 @@ import org.springframework.boot.context.event.ApplicationReadyEvent;
 import org.springframework.context.event.EventListener;
 import org.springframework.stereotype.Service;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.CourseControllerApi;
 import nl.tudelft.labracore.api.EditionControllerApi;
 import nl.tudelft.labracore.api.ProgramControllerApi;
diff --git a/src/main/resources/templates/course/my-courses.html b/src/main/resources/templates/course/my-courses.html
new file mode 100644
index 0000000000000000000000000000000000000000..0342c038827e344abbaf4e5946c57442fc3a51a7
--- /dev/null
+++ b/src/main/resources/templates/course/my-courses.html
@@ -0,0 +1,82 @@
+<!--
+
+    Queue - A Queueing system that can be used to handle labs in higher education
+    Copyright (C) 2016-2024  Delft University of Technology
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU Affero General Public License as
+    published by the Free Software Foundation, either version 3 of the
+    License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU Affero General Public License for more details.
+
+    You should have received a copy of the GNU Affero General Public License
+    along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+-->
+
+<!--@thymesVar id="courses" type="java.util.ArrayList<nl.tudelft.api.dto.CourseViewDTO>"-->
+
+<!DOCTYPE html>
+<html lang="en" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="~{container}">
+    <head>
+        <title>My Courses</title>
+    </head>
+
+    <body>
+        <main layout:fragment="content">
+            <h1 class="font-800 mb-5">My Courses</h1>
+            <p class="mb-3" th:if="${#lists.isEmpty(courses)}">
+                We did not manage to find any new courses in studiegids for you. If you believe this is a mistake,
+                <a class="link" th:href="@{/editions/request-course}">request a course here</a>
+            </p>
+            <div class="flex vertical" th:unless="${#lists.isEmpty(courses)}">
+                <p class="mb-3">
+                    We identified you as a teacher for the following courses. Click on manage to become a manager of any of these courses. This will
+                    allow you to create new editions
+                    <a class="link" th:href="@{/edition/add}">here</a>
+                    .
+                </p>
+                <form
+                    th:each="course: ${courses}"
+                    method="post"
+                    th:object="${create}"
+                    th:action="@{/course/create}"
+                    th:id="${course.name}+'_form'"></form>
+                <table class="table" data-style="surface">
+                    <thead>
+                        <tr class="table__header">
+                            <th>Course Code</th>
+                            <th>Course name</th>
+                            <th></th>
+                        </tr>
+                    </thead>
+                    <tbody>
+                        <tr th:each="course: ${courses}">
+                            <td>
+                                <input type="text" name="code" th:value="${course.code}" th:form="${course.name}+'_form'" hidden />
+                                <p th:text="${course.code}"></p>
+                            </td>
+                            <td th:unless="${course.name == null}">
+                                <input
+                                    type="text"
+                                    name="name"
+                                    th:value="${course.name}"
+                                    placeholder="Add course name"
+                                    th:form="${course.name}+'_form'"
+                                    th:hidden="${course.name != null}" />
+                                <p th:text="${course.name}" th:if="${course.name != null}"></p>
+                            </td>
+                            <td class="flex justify-end">
+                                <button class="button p-min" th:form="${course.name}+'_form'">Manage course</button>
+                            </td>
+                        </tr>
+                    </tbody>
+                </table>
+            </div>
+        </main>
+    </body>
+</html>
diff --git a/src/main/resources/templates/edition/create.html b/src/main/resources/templates/edition/create.html
index d9d75252dc5ed5cfa775b886f9aa8694a5beb598..9613c470485ee93af102364f18733921806d9596 100644
--- a/src/main/resources/templates/edition/create.html
+++ b/src/main/resources/templates/edition/create.html
@@ -37,15 +37,14 @@
 
                 <p class="mb-3" th:if="${#lists.isEmpty(courses)}">
                     You are not the manager of any course, please
-                    <a class="link" th:href="@{/editions/request-course}">request a course first</a>
+                    <a class="link" th:href="@{/course/my-courses}">find your course here</a>
                     .
                 </p>
 
                 <p class="mb-3" th:unless="${#lists.isEmpty(courses)}">
                     Select the course under which you want to create a course edition. If your course is not in the list, or has a different code,
                     please
-                    <a class="link" th:href="@{/editions/request-course}">request a course first</a>
-                    .
+                    <a class="link" th:href="@{/course/my-courses}">find your course here</a>
                 </p>
 
                 <div class="flex gap-3 align-center mb-5">
diff --git a/src/test/java/dummy/DummyEntity.java b/src/test/java/dummy/DummyEntity.java
index 9844a9d1ad2169236ccaa33863ba183136be46de..c37d248e958a6dcce2dd0bd47ed1bb7ce458c20d 100644
--- a/src/test/java/dummy/DummyEntity.java
+++ b/src/test/java/dummy/DummyEntity.java
@@ -20,6 +20,7 @@ package dummy;
 import jakarta.persistence.Entity;
 import jakarta.persistence.GeneratedValue;
 import jakarta.persistence.Id;
+
 import lombok.Data;
 
 @Data
diff --git a/src/test/java/nl/tudelft/queue/controller/AdminControllerTest.java b/src/test/java/nl/tudelft/queue/controller/AdminControllerTest.java
index 17d27e5340eed82a45fb77ba664032beb981b4bc..2aad9fd63b2819a744900ec045f427d2c68408cf 100644
--- a/src/test/java/nl/tudelft/queue/controller/AdminControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/AdminControllerTest.java
@@ -24,6 +24,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 import java.util.Comparator;
 import java.util.List;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,7 +35,6 @@ import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.EditionControllerApi;
 import nl.tudelft.labracore.api.dto.EditionDetailsDTO;
 import nl.tudelft.labracore.api.dto.RoomDetailsDTO;
diff --git a/src/test/java/nl/tudelft/queue/controller/AnnouncementControllerTest.java b/src/test/java/nl/tudelft/queue/controller/AnnouncementControllerTest.java
index 2235e00683d507308aa2c8a5f9820c5bc7788067..a57b5986ebcb7637d4804fb0b3e6c3d14bde8446 100644
--- a/src/test/java/nl/tudelft/queue/controller/AnnouncementControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/AnnouncementControllerTest.java
@@ -28,6 +28,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 import java.time.LocalDateTime;
 import java.util.List;
 
+import jakarta.transaction.Transactional;
+
 import org.hamcrest.core.IsNot;
 import org.hamcrest.core.StringContains;
 import org.junit.jupiter.api.BeforeEach;
@@ -41,7 +43,6 @@ import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.AuthorizationControllerApi;
 import nl.tudelft.queue.model.misc.Announcement;
 import nl.tudelft.queue.repository.AnnouncementRepository;
diff --git a/src/test/java/nl/tudelft/queue/controller/AssignmentControllerTest.java b/src/test/java/nl/tudelft/queue/controller/AssignmentControllerTest.java
index 0771e45ce6829564e5163be47404117ec86f7ca2..feaddf34ac8827a084fd34eef14c61e4294dc1cd 100644
--- a/src/test/java/nl/tudelft/queue/controller/AssignmentControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/AssignmentControllerTest.java
@@ -28,6 +28,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 import java.time.LocalDateTime;
 import java.util.List;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
@@ -39,7 +41,6 @@ import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.AssignmentControllerApi;
 import nl.tudelft.labracore.api.dto.*;
 import reactor.core.publisher.Mono;
diff --git a/src/test/java/nl/tudelft/queue/controller/AuthControllerTest.java b/src/test/java/nl/tudelft/queue/controller/AuthControllerTest.java
index bd18046546a8e8830a100863b2a2a7e16032fcb8..56f8c3714612a999a5410649ee969f1e09fc0b74 100644
--- a/src/test/java/nl/tudelft/queue/controller/AuthControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/AuthControllerTest.java
@@ -20,13 +20,14 @@ package nl.tudelft.queue.controller;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.web.servlet.MockMvc;
 
-import jakarta.transaction.Transactional;
 import test.test.TestQueueApplication;
 
 @Transactional
diff --git a/src/test/java/nl/tudelft/queue/controller/EditionControllerTest.java b/src/test/java/nl/tudelft/queue/controller/EditionControllerTest.java
index a02343be5c6a24c6542ca01d3ccc6ee0bc41ac5b..4e92f3cbfe8867d4bb1ede1109e09e719c20ffe1 100644
--- a/src/test/java/nl/tudelft/queue/controller/EditionControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/EditionControllerTest.java
@@ -29,6 +29,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 
 import java.util.List;
 
+import jakarta.transaction.Transactional;
+
 import org.hamcrest.Matchers;
 import org.hamcrest.core.StringContains;
 import org.junit.jupiter.api.BeforeEach;
@@ -46,7 +48,6 @@ import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.EditionControllerApi;
 import nl.tudelft.labracore.api.RoleControllerApi;
 import nl.tudelft.labracore.api.dto.*;
diff --git a/src/test/java/nl/tudelft/queue/controller/EditionStatusControllerTest.java b/src/test/java/nl/tudelft/queue/controller/EditionStatusControllerTest.java
index eb915d707b38dd2f3058e0a9f26f260208c967a4..1c672a3255734d05ccb5eca098df9c8587b62599 100644
--- a/src/test/java/nl/tudelft/queue/controller/EditionStatusControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/EditionStatusControllerTest.java
@@ -27,6 +27,8 @@ import static test.JsonContentMatcher.jsonContent;
 import java.util.List;
 import java.util.TreeMap;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -40,7 +42,6 @@ import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.dto.EditionDetailsDTO;
 import nl.tudelft.queue.dto.view.statistics.RequestFrequencyViewDto;
 import test.TestDatabaseLoader;
diff --git a/src/test/java/nl/tudelft/queue/controller/FeedbackControllerTest.java b/src/test/java/nl/tudelft/queue/controller/FeedbackControllerTest.java
index 09b99d890b6031b9e02a1e59146af03b1bc4ce99..6bff12f56f8876148b27b2eeb77ca605bbe0215a 100644
--- a/src/test/java/nl/tudelft/queue/controller/FeedbackControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/FeedbackControllerTest.java
@@ -31,6 +31,8 @@ import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Objects;
 
+import jakarta.transaction.Transactional;
+
 import org.hamcrest.BaseMatcher;
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
@@ -44,7 +46,6 @@ import org.springframework.data.domain.Page;
 import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 
-import jakarta.transaction.Transactional;
 import lombok.SneakyThrows;
 import nl.tudelft.labracore.api.StudentGroupControllerApi;
 import nl.tudelft.labracore.api.dto.PersonSummaryDTO;
diff --git a/src/test/java/nl/tudelft/queue/controller/HistoryControllerTest.java b/src/test/java/nl/tudelft/queue/controller/HistoryControllerTest.java
index d38394413d15aa2d7a41786c691d4f2512b3089b..11bfcfe988dc094c094a73116c345f6023cbe398 100644
--- a/src/test/java/nl/tudelft/queue/controller/HistoryControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/HistoryControllerTest.java
@@ -27,6 +27,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 
 import java.util.List;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
@@ -40,7 +42,6 @@ import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.EditionControllerApi;
 import nl.tudelft.labracore.api.StudentGroupControllerApi;
 import nl.tudelft.labracore.api.dto.*;
diff --git a/src/test/java/nl/tudelft/queue/controller/HomeControllerTest.java b/src/test/java/nl/tudelft/queue/controller/HomeControllerTest.java
index 22f3a06e3daada449b40e807da42d6f79fd59b94..48b5938d46feb9b5cd1cedcc83c9d3e8d458729c 100644
--- a/src/test/java/nl/tudelft/queue/controller/HomeControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/HomeControllerTest.java
@@ -29,6 +29,8 @@ import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import jakarta.transaction.Transactional;
+
 import org.hamcrest.BaseMatcher;
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
@@ -45,7 +47,6 @@ import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.MvcResult;
 
-import jakarta.transaction.Transactional;
 import lombok.SneakyThrows;
 import nl.tudelft.labracore.api.EditionControllerApi;
 import nl.tudelft.labracore.api.PersonControllerApi;
diff --git a/src/test/java/nl/tudelft/queue/controller/LabControllerTest.java b/src/test/java/nl/tudelft/queue/controller/LabControllerTest.java
index 74077bbbfda4aafbfbb28671945c7c8efdf9e6b6..c45de6a5e236550d14cb64c00a465a30688102c8 100644
--- a/src/test/java/nl/tudelft/queue/controller/LabControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/LabControllerTest.java
@@ -28,6 +28,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 import java.util.Arrays;
 import java.util.List;
 
+import jakarta.transaction.Transactional;
+
 import org.hamcrest.Matchers;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -46,7 +48,6 @@ import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilde
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.SessionControllerApi;
 import nl.tudelft.labracore.api.StudentGroupControllerApi;
 import nl.tudelft.labracore.api.dto.*;
diff --git a/src/test/java/nl/tudelft/queue/controller/LabRequestControllerTest.java b/src/test/java/nl/tudelft/queue/controller/LabRequestControllerTest.java
index 66f646e097732be51f70d1c75d459537f86c7c43..d2516ca37255230d20a23eb6d7b842aad7b66349 100644
--- a/src/test/java/nl/tudelft/queue/controller/LabRequestControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/LabRequestControllerTest.java
@@ -28,6 +28,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 
 import java.util.*;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
@@ -44,7 +46,6 @@ import org.springframework.test.web.servlet.MvcResult;
 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
 import org.springframework.ui.Model;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.EditionControllerApi;
 import nl.tudelft.labracore.api.ModuleControllerApi;
 import nl.tudelft.labracore.api.dto.*;
diff --git a/src/test/java/nl/tudelft/queue/controller/MailControllerTest.java b/src/test/java/nl/tudelft/queue/controller/MailControllerTest.java
index e90ff44a8893f07c7af26750f59d98b1e6442ea8..959764a6954bbaf829c3468dc70847ce7aad463a 100644
--- a/src/test/java/nl/tudelft/queue/controller/MailControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/MailControllerTest.java
@@ -26,6 +26,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 
 import java.util.List;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
@@ -37,7 +39,6 @@ import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.queue.dto.create.CourseRequestCreateDTO;
 import nl.tudelft.queue.service.mail.MailServiceProdImpl;
 import test.test.TestQueueApplication;
diff --git a/src/test/java/nl/tudelft/queue/controller/ModuleControllerTest.java b/src/test/java/nl/tudelft/queue/controller/ModuleControllerTest.java
index fdc393404bf386dc4da2e58e37c057c5d3843c3b..d856f0412ac4011d7206c7df590c23bb6ad98a9d 100644
--- a/src/test/java/nl/tudelft/queue/controller/ModuleControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/ModuleControllerTest.java
@@ -28,6 +28,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 
 import java.util.List;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
@@ -39,7 +41,6 @@ import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.ModuleControllerApi;
 import nl.tudelft.labracore.api.dto.*;
 import reactor.core.publisher.Mono;
diff --git a/src/test/java/nl/tudelft/queue/controller/ProfileControllerTest.java b/src/test/java/nl/tudelft/queue/controller/ProfileControllerTest.java
index 4dd113fc625fe7d543b82ea7196d2b93b370a640..1b0c81db218611845035f51b38912cb108d8fa74 100644
--- a/src/test/java/nl/tudelft/queue/controller/ProfileControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/ProfileControllerTest.java
@@ -25,6 +25,8 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
 
+import jakarta.transaction.Transactional;
+
 import org.hamcrest.CoreMatchers;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -35,7 +37,6 @@ import org.springframework.http.MediaType;
 import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.dto.PersonSummaryDTO;
 import nl.tudelft.librador.dto.DTOConverter;
 import nl.tudelft.queue.model.enums.Language;
diff --git a/src/test/java/nl/tudelft/queue/controller/RequestFilterControllerTest.java b/src/test/java/nl/tudelft/queue/controller/RequestFilterControllerTest.java
index 520505b4e4a6fb69756624a1a7973bc91d08552b..de76a75cc0624db206dcb0b668ef4baa5b6500f0 100644
--- a/src/test/java/nl/tudelft/queue/controller/RequestFilterControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/RequestFilterControllerTest.java
@@ -27,6 +27,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 
 import java.util.List;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
@@ -39,7 +41,6 @@ import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.queue.dto.util.RequestTableFilterDTO;
 import nl.tudelft.queue.service.RequestTableService;
 import test.test.TestQueueApplication;
diff --git a/src/test/java/nl/tudelft/queue/controller/SessionStatusControllerTest.java b/src/test/java/nl/tudelft/queue/controller/SessionStatusControllerTest.java
index 79b662981ce1aeed284779e74fbb7371e85e7d3e..853d3d6d96c9878135811ef2c583b7c0fc864255 100644
--- a/src/test/java/nl/tudelft/queue/controller/SessionStatusControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/SessionStatusControllerTest.java
@@ -25,6 +25,8 @@ import static test.JsonContentMatcher.jsonContent;
 
 import java.util.List;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
@@ -37,7 +39,6 @@ import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.queue.dto.view.statistics.AssistantSessionStatisticsViewDto;
 import nl.tudelft.queue.dto.view.statistics.session.GeneralSessionStatisticsViewDto;
 import nl.tudelft.queue.model.labs.RegularLab;
diff --git a/src/test/java/nl/tudelft/queue/controller/SharedEditionControllerTest.java b/src/test/java/nl/tudelft/queue/controller/SharedEditionControllerTest.java
index e080847367a188b6e7746654b28e81489321f72e..442ff044f78e8f6025d23299457b05e77fd4589e 100644
--- a/src/test/java/nl/tudelft/queue/controller/SharedEditionControllerTest.java
+++ b/src/test/java/nl/tudelft/queue/controller/SharedEditionControllerTest.java
@@ -27,6 +27,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 import java.util.Arrays;
 import java.util.List;
 
+import jakarta.transaction.Transactional;
+
 import org.apache.http.client.entity.UrlEncodedFormEntity;
 import org.apache.http.message.BasicNameValuePair;
 import org.apache.http.util.EntityUtils;
@@ -42,7 +44,6 @@ import org.springframework.security.test.context.support.WithUserDetails;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.RoleControllerApi;
 import nl.tudelft.labracore.api.dto.EditionCollectionDetailsDTO;
 import nl.tudelft.labracore.api.dto.EditionDetailsDTO;
diff --git a/src/test/java/nl/tudelft/queue/dto/create/CreateTest.java b/src/test/java/nl/tudelft/queue/dto/create/CreateTest.java
index 70d5ff303bc68cd0343fd35ab7615fc626c237be..79ba65fe6a0816dd6b7b7e1dac9982c85a7f836f 100644
--- a/src/test/java/nl/tudelft/queue/dto/create/CreateTest.java
+++ b/src/test/java/nl/tudelft/queue/dto/create/CreateTest.java
@@ -25,6 +25,8 @@ import java.util.List;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestInstance;
 import org.junit.jupiter.params.ParameterizedTest;
@@ -35,7 +37,6 @@ import org.springframework.boot.test.context.SpringBootTest;
 
 import dummy.DummyEntity;
 import dummy.DummyIdDTO;
-import jakarta.transaction.Transactional;
 import lombok.Getter;
 import nl.tudelft.librador.dto.DTOConverter;
 import nl.tudelft.librador.dto.create.Create;
diff --git a/src/test/java/nl/tudelft/queue/model/LabTest.java b/src/test/java/nl/tudelft/queue/model/LabTest.java
index 1726f34ebfa33000752f17a4842551d932b93865..04c49a92ca62b1c42677e98a20d8a01c7d80ae44 100644
--- a/src/test/java/nl/tudelft/queue/model/LabTest.java
+++ b/src/test/java/nl/tudelft/queue/model/LabTest.java
@@ -24,6 +24,8 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.time.LocalDateTime;
 import java.util.*;
 
+import jakarta.transaction.Transactional;
+
 import org.assertj.core.data.Offset;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -32,7 +34,6 @@ import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMock
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.queue.model.embeddables.AllowedRequest;
 import nl.tudelft.queue.model.embeddables.RequestEventInfo;
 import nl.tudelft.queue.model.enums.CommunicationMethod;
diff --git a/src/test/java/nl/tudelft/queue/service/CapacitySessionServiceTest.java b/src/test/java/nl/tudelft/queue/service/CapacitySessionServiceTest.java
index dff515d7ef3f04a81eec63955b4de3ba9a0a5d32..0716cffd64fd8d0773da03bec8626f3500aadee8 100644
--- a/src/test/java/nl/tudelft/queue/service/CapacitySessionServiceTest.java
+++ b/src/test/java/nl/tudelft/queue/service/CapacitySessionServiceTest.java
@@ -24,6 +24,8 @@ import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,7 +33,6 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.security.access.AccessDeniedException;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.dto.*;
 import nl.tudelft.queue.cache.RoomCacheManager;
 import nl.tudelft.queue.model.Request;
diff --git a/src/test/java/nl/tudelft/queue/service/EditionServiceTest.java b/src/test/java/nl/tudelft/queue/service/EditionServiceTest.java
index 8ab16a73cf71a9f7b472b822c3489d1d2954b470..55a795833f6a6ca77d14218706cd6dcf76a5e4b9 100644
--- a/src/test/java/nl/tudelft/queue/service/EditionServiceTest.java
+++ b/src/test/java/nl/tudelft/queue/service/EditionServiceTest.java
@@ -30,6 +30,8 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.mockito.ArgumentCaptor;
@@ -39,7 +41,6 @@ import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.http.MediaType;
 import org.springframework.mock.web.MockMultipartFile;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.EditionControllerApi;
 import nl.tudelft.labracore.api.PersonControllerApi;
 import nl.tudelft.labracore.api.RoleControllerApi;
diff --git a/src/test/java/nl/tudelft/queue/service/EditionStatusServiceTest.java b/src/test/java/nl/tudelft/queue/service/EditionStatusServiceTest.java
index 71be45e54d85a953a68325dd308ec2144d049250..a37b69e7ce0ccc3730849a672ad099ed9885d9dd 100644
--- a/src/test/java/nl/tudelft/queue/service/EditionStatusServiceTest.java
+++ b/src/test/java/nl/tudelft/queue/service/EditionStatusServiceTest.java
@@ -24,6 +24,8 @@ import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.stream.Stream;
 
+import jakarta.transaction.Transactional;
+
 import org.assertj.core.data.Percentage;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -31,7 +33,6 @@ import org.junit.jupiter.api.TestInstance;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.AssignmentControllerApi;
 import nl.tudelft.labracore.api.PersonControllerApi;
 import nl.tudelft.labracore.api.RoomControllerApi;
diff --git a/src/test/java/nl/tudelft/queue/service/FeedbackServiceTest.java b/src/test/java/nl/tudelft/queue/service/FeedbackServiceTest.java
index 2f7b1f597d6960cb2af6c82fc1fa3c55311b4a6a..f06c84353a1eaa7e91d256a32a10c777a80e4152 100644
--- a/src/test/java/nl/tudelft/queue/service/FeedbackServiceTest.java
+++ b/src/test/java/nl/tudelft/queue/service/FeedbackServiceTest.java
@@ -29,13 +29,14 @@ import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestInstance;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.PersonControllerApi;
 import nl.tudelft.labracore.api.dto.PersonSummaryDTO;
 import nl.tudelft.queue.dto.patch.FeedbackPatchDTO;
diff --git a/src/test/java/nl/tudelft/queue/service/LabServiceTest.java b/src/test/java/nl/tudelft/queue/service/LabServiceTest.java
index 6e003351b6ab58511e1bb23f5fdb99c57d100325..4c8883d5389553fd11e307796a16d7ee17e8cf9d 100644
--- a/src/test/java/nl/tudelft/queue/service/LabServiceTest.java
+++ b/src/test/java/nl/tudelft/queue/service/LabServiceTest.java
@@ -32,6 +32,8 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicLong;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.modelmapper.ModelMapper;
@@ -41,7 +43,6 @@ import org.springframework.boot.test.mock.mockito.SpyBean;
 import org.springframework.core.io.Resource;
 import org.springframework.ui.Model;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.SessionControllerApi;
 import nl.tudelft.labracore.api.dto.*;
 import nl.tudelft.queue.cache.SessionCacheManager;
diff --git a/src/test/java/nl/tudelft/queue/service/PermissionServiceTest.java b/src/test/java/nl/tudelft/queue/service/PermissionServiceTest.java
index 2eebbc3b281b06a60207f2a9946fedf3d4cc79e0..f9fa872069d46ceac318cac0a9610a3b9ed87b97 100644
--- a/src/test/java/nl/tudelft/queue/service/PermissionServiceTest.java
+++ b/src/test/java/nl/tudelft/queue/service/PermissionServiceTest.java
@@ -26,6 +26,8 @@ import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestInstance;
@@ -34,7 +36,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.annotation.Lazy;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.AuthorizationControllerApi;
 import nl.tudelft.labracore.api.CourseControllerApi;
 import nl.tudelft.labracore.api.dto.*;
diff --git a/src/test/java/nl/tudelft/queue/service/RequestServiceTest.java b/src/test/java/nl/tudelft/queue/service/RequestServiceTest.java
index 65396c5e23ac797d065e3b38f143b21a879a86a4..344137baab3d2fefe129517661712f05f6ef5ac0 100644
--- a/src/test/java/nl/tudelft/queue/service/RequestServiceTest.java
+++ b/src/test/java/nl/tudelft/queue/service/RequestServiceTest.java
@@ -28,6 +28,8 @@ import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,7 +38,6 @@ import org.springframework.boot.test.mock.mockito.SpyBean;
 import org.springframework.security.access.AccessDeniedException;
 import org.springframework.security.test.context.support.WithUserDetails;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.AssignmentControllerApi;
 import nl.tudelft.labracore.api.RoleControllerApi;
 import nl.tudelft.labracore.api.StudentGroupControllerApi;
diff --git a/src/test/java/nl/tudelft/queue/service/SessionStatusServiceTest.java b/src/test/java/nl/tudelft/queue/service/SessionStatusServiceTest.java
index f452e3c04d3761648ab5475e72f4ee74677eea02..915511992b3460050c41278973148cda6816b83a 100644
--- a/src/test/java/nl/tudelft/queue/service/SessionStatusServiceTest.java
+++ b/src/test/java/nl/tudelft/queue/service/SessionStatusServiceTest.java
@@ -24,13 +24,14 @@ import java.time.LocalDateTime;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
 
+import jakarta.transaction.Transactional;
+
 import org.assertj.core.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.dto.AssignmentDetailsDTO;
 import nl.tudelft.labracore.api.dto.EditionDetailsDTO;
 import nl.tudelft.labracore.api.dto.PersonSummaryDTO;
diff --git a/src/test/java/nl/tudelft/queue/service/WebSocketServiceTest.java b/src/test/java/nl/tudelft/queue/service/WebSocketServiceTest.java
index d402cd7bcc3492c020bad15c2d208cda805ba4a0..99b2c30d244cd71d6e9fada8160ce5561ecfaa15 100644
--- a/src/test/java/nl/tudelft/queue/service/WebSocketServiceTest.java
+++ b/src/test/java/nl/tudelft/queue/service/WebSocketServiceTest.java
@@ -25,6 +25,8 @@ import static org.mockito.Mockito.*;
 import java.util.List;
 import java.util.Set;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.mockito.ArgumentCaptor;
@@ -33,7 +35,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.mock.mockito.SpyBean;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.AssignmentControllerApi;
 import nl.tudelft.labracore.api.EditionControllerApi;
 import nl.tudelft.labracore.api.SessionControllerApi;
diff --git a/src/test/java/nl/tudelft/queue/service/mail/MailServiceTest.java b/src/test/java/nl/tudelft/queue/service/mail/MailServiceTest.java
index 045eb9f8bb35c9fa488cfa27287798444ed34694..95de0b7eabdb2905ee2d438c15bea12fa941df96 100644
--- a/src/test/java/nl/tudelft/queue/service/mail/MailServiceTest.java
+++ b/src/test/java/nl/tudelft/queue/service/mail/MailServiceTest.java
@@ -22,6 +22,8 @@ import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import jakarta.transaction.Transactional;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.mockito.ArgumentCaptor;
@@ -31,7 +33,6 @@ import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.mail.MailSender;
 import org.springframework.mail.SimpleMailMessage;
 
-import jakarta.transaction.Transactional;
 import nl.tudelft.labracore.api.PersonControllerApi;
 import nl.tudelft.labracore.api.dto.PersonDetailsDTO;
 import nl.tudelft.labracore.lib.security.user.DefaultRole;
diff --git a/src/test/java/test/TestDatabaseLoader.java b/src/test/java/test/TestDatabaseLoader.java
index 3ba279dbd3994996b29505e8942ca8a0afcb47e4..689db4479ad4a313985b91ce4b1a658d6cc5b219 100644
--- a/src/test/java/test/TestDatabaseLoader.java
+++ b/src/test/java/test/TestDatabaseLoader.java
@@ -24,13 +24,14 @@ import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import jakarta.annotation.PostConstruct;
+import jakarta.transaction.Transactional;
+
 import org.modelmapper.ModelMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.stereotype.Service;
 
-import jakarta.annotation.PostConstruct;
-import jakarta.transaction.Transactional;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import nl.tudelft.labracore.api.*;