diff --git a/src/lib/Nav.svelte b/src/lib/Nav.svelte
index 913ca31..2a93e8e 100644
--- a/src/lib/Nav.svelte
+++ b/src/lib/Nav.svelte
@@ -100,6 +100,7 @@
Nicht zu planende ZPA-Prüfungen
Nicht zugeordnete ZPA-Prüfungen
Constraints
+ EXaHM/SEB
Räume
Zusätzliche Prüfungen
Anmeldungszuordnung (ZPA/Primuss)
diff --git a/src/routes/exam/kdp/+page.server.js b/src/routes/exam/kdp/+page.server.js
new file mode 100644
index 0000000..a0d2cfe
--- /dev/null
+++ b/src/routes/exam/kdp/+page.server.js
@@ -0,0 +1,48 @@
+import { env } from '$env/dynamic/private';
+import { request, gql } from 'graphql-request';
+
+export async function load({ params }) {
+ const query = gql`
+ query {
+ zpaExamsToPlanWithConstraints {
+ zpaExam {
+ zpaID
+ semester
+ ancode
+ module
+ mainExamer
+ mainExamerID
+ examType
+ examTypeFull
+ duration
+ isRepeaterExam
+ groups
+ primussAncodes {
+ program
+ ancode
+ }
+ }
+ constraints {
+ ancode
+ notPlannedByMe
+ online
+ excludeDays
+ possibleDays
+ sameSlot
+ roomConstraints {
+ placesWithSocket
+ lab
+ exahm
+ seb
+ }
+ }
+ }
+ }
+ `;
+
+ const data = await request(env.PLEXAMS_SERVER, query);
+
+ return {
+ zpaExamsToPlanWithConstraints: data.zpaExamsToPlanWithConstraints
+ };
+}
diff --git a/src/routes/exam/kdp/+page.svelte b/src/routes/exam/kdp/+page.svelte
new file mode 100644
index 0000000..2c8b7ae
--- /dev/null
+++ b/src/routes/exam/kdp/+page.svelte
@@ -0,0 +1,79 @@
+
+
+
+ {exams.length} Prüfungen mit EXaHM oder SEB
+
+
+
+
+
+ | Ancode |
+ Modulname |
+ Prüfender |
+ EXaHM/SEB |
+ DA |
+ DC |
+ IB |
+ IC |
+ IF |
+ IG |
+ IN |
+ IS |
+ IT |
+ WD |
+ WT |
+ GN |
+ DE |
+ GS |
+ ID |
+ Gruppen |
+
+
+
+ {#each exams as exam}
+
+ | {exam.zpaExam.ancode} |
+ {exam.zpaExam.module} |
+ {exam.zpaExam.mainExamer} |
+
+ {exam.constraints.roomConstraints.exahm ? 'EXaHM' : 'SEB'}
+ |
+ {#each ['DA', 'DC', 'IB', 'IC', 'IF', 'IG', 'IN', 'IS', 'IT', 'WD', 'WT', 'GN', 'DE', 'GS', 'ID'] as program}
+
+ |
+ {/each}
+ {exam.zpaExam.groups.join(', ')} |
+
+ {/each}
+
+