diff --git a/src/main/java/nl/tudelft/queue/service/LabService.java b/src/main/java/nl/tudelft/queue/service/LabService.java
index 79eea8c1d5f22d102d726949917ec18d5c81f22f..ab2149ab5bd26e95d5b9f0350141a0f81725cdad 100644
--- a/src/main/java/nl/tudelft/queue/service/LabService.java
+++ b/src/main/java/nl/tudelft/queue/service/LabService.java
@@ -18,6 +18,7 @@
 package nl.tudelft.queue.service;
 
 import static java.time.LocalDateTime.now;
+import static nl.tudelft.labracore.api.dto.RolePersonDetailsDTO.TypeEnum.*;
 import static nl.tudelft.queue.misc.QueueSessionStatus.*;
 
 import java.io.IOException;
diff --git a/src/main/java/nl/tudelft/queue/service/RoleDTOService.java b/src/main/java/nl/tudelft/queue/service/RoleDTOService.java
index 440df091fab771c0fb58ee997fa3e869466b4381..6c8db09539daa094cf4544dc4244e0c908437bb8 100644
--- a/src/main/java/nl/tudelft/queue/service/RoleDTOService.java
+++ b/src/main/java/nl/tudelft/queue/service/RoleDTOService.java
@@ -28,6 +28,8 @@ import nl.tudelft.labracore.api.RoleControllerApi;
 import nl.tudelft.labracore.api.dto.*;
 import nl.tudelft.labracore.lib.security.user.Person;
 import nl.tudelft.queue.cache.EditionRolesCacheManager;
+import nl.tudelft.queue.cache.SessionCacheManager;
+import nl.tudelft.queue.model.QueueSession;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -40,6 +42,9 @@ public class RoleDTOService {
 	@Autowired
 	private RoleControllerApi rApi;
 
+	@Autowired
+	private SessionCacheManager sessionCacheManager;
+
 	public List<String> names(List<PersonSummaryDTO> people) {
 		return people.stream().map(PersonSummaryDTO::getDisplayName).collect(Collectors.toList());
 	}
@@ -131,6 +136,17 @@ public class RoleDTOService {
 		return roles(eDto, Set.of(TA));
 	}
 
+	public List<PersonSummaryDTO> assistantsAndManagers(QueueSession<?> qSession) {
+		return erCache
+				.getAndIgnoreMissing(sessionCacheManager.getRequired(qSession.getId()).getEditions().stream()
+						.map(EditionSummaryDTO::getId))
+				.stream().flatMap(rh -> rh.getRoles().stream())
+				.filter(role -> Set.of(TA, HEAD_TA, TEACHER, TEACHER_RO).contains(role.getType()))
+				.map(RolePersonDetailsDTO::getPerson)
+				.distinct()
+				.collect(Collectors.toList());
+	}
+
 	public List<PersonSummaryDTO> headTAs(EditionDetailsDTO eDto) {
 		return roles(eDto, Set.of(HEAD_TA));
 	}
diff --git a/src/main/resources/templates/lab/view/components/slots-info.html b/src/main/resources/templates/lab/view/components/slots-info.html
index 12fd5772c5a6c2dcfcaeff31abff62365c4e38a0..dce4117b6db56306dc113e222208e830a80d4d24 100644
--- a/src/main/resources/templates/lab/view/components/slots-info.html
+++ b/src/main/resources/templates/lab/view/components/slots-info.html
@@ -34,6 +34,10 @@
             <a href="#ts-capacity-tab" class="nav-link" data-toggle="list" aria-selected="true"><i
                     class="fa fa-chair"></i> Edit Time-slot Capacity</a>
         </li>
+        <li class="nav-item" role="tab">
+            <a href="#ts-distribution-tab" class="nav-link" data-toggle="list" aria-selected="true"><i
+                    class="fa fa-solid fa-people"></i> Distribute Requests</a>
+        </li>
     </ul>
 
     <div class="tab-content">
@@ -192,6 +196,30 @@
             </div>
         </th:block>
 
+        <th:block th:if="${@permissionService.canManageSession(qSession.data)}">
+            <div id="ts-distribution-tab" class="tab-pane fade">
+                <h2>Distribute Requests</h2>
+                <p>Distribute pending requests among selected TAs.</p>
+                <form th:with="allAssistants = ${@roleDTOService.assistantsAndManagers(qSession.data)}">
+                    <label class="col-sm-1 col-form-label" for="assistant-select">Select Assistants:</label>
+                    <div class="col-sm-3">
+                        <select multiple class="selectpicker form-control"
+                                id="assistant-select"
+                                data-live-search="true"
+                                required>
+                            <th:block th:each="assistant : ${allAssistants}">
+                                <option th:value="${assistant.id}"
+                                        th:text="|${assistant.displayName}|">
+                                </option>
+                            </th:block>
+                        </select>
+                    </div>
+                </form>
+
+
+            </div>
+        </th:block>
+
         <hr>
     </div>