From 4abb54697dbd9ec291502a783e5651d95c4e5fd0 Mon Sep 17 00:00:00 2001
From: Krzysztof Witukiewicz <krzysztof.witukiewicz@mgm-tp.com>
Date: Fri, 17 Jan 2025 12:28:15 +0100
Subject: [PATCH] OZG-6706 OZG-7498 Delete module bescheid-manager

---
 bescheid-manager/pom.xml                      | 170 --------
 .../bescheid/BescheidGrpcService.java         |  87 ----
 .../de/ozgcloud/bescheid/BescheidMapper.java  | 267 ------------
 .../de/ozgcloud/bescheid/SentInfoMapper.java  |  74 ----
 ...ot.autoconfigure.AutoConfiguration.imports |   6 -
 .../src/main/resources/dummy-bescheid.pdf     | Bin 10120 -> 0 bytes
 .../bescheid.nachrichtTemplate.txt.ftlh       |   7 -
 .../bescheid/BescheidGrpcServiceTest.java     | 318 --------------
 .../BescheidManagerConfigTestFactory.java     |  45 --
 .../ozgcloud/bescheid/BescheidMapperTest.java | 286 -------------
 .../bescheid/BescheidTestFactory.java         |  83 ----
 ...cheidManagerConfigResponseTestFactory.java |  38 --
 .../bescheid/GrpcBescheidTestFactory.java     |  37 --
 ...rpcBescheidWithoutDocumentTestFactory.java |  50 ---
 .../GrpcGetAllBescheidRequestTestFactory.java |  38 --
 ...rpcGetBescheidDraftRequestTestFactory.java |  38 --
 ...pcGetBescheidDraftResponseTestFactory.java |  36 --
 .../GrpcGetBescheidRequestTestFactory.java    |  38 --
 .../GrpcGetBescheidResponseTestFactory.java   |  36 --
 .../bescheid/GrpcSentInfoTestFactory.java     |  37 --
 .../ozgcloud/bescheid/SentInfoMapperTest.java |  72 ----
 .../bescheid/SentInfoTestFactory.java         |  53 ---
 .../vorgang/PostfachAddressTestFactory.java   |  50 ---
 .../vorgang/ServiceKontoTestFactory.java      |  41 --
 .../bescheid/vorgang/VorgangTestFactory.java  |  51 ---
 .../AttachedItemTestFactory.java              | 140 -------
 .../document/DocumentTestFactory.java         |  48 ---
 .../org.junit.jupiter.api.extension.Extension |   1 -
 .../src/test/resources/SD_answer.xml          | 393 ------------------
 .../resources/SD_answer_field_template.xml    | 299 -------------
 .../test/resources/SD_answer_without_text.xml |   8 -
 .../src/test/resources/application-itcase.yml |  27 --
 .../test/resources/junit-platform.properties  |   1 -
 .../org.mockito.plugins.MockMaker             |   1 -
 .../templates/dummy.template.txt.ftlh         |   6 -
 pom.xml                                       |   1 -
 vorgang-manager-server/pom.xml                |   8 -
 37 files changed, 2891 deletions(-)
 delete mode 100644 bescheid-manager/pom.xml
 delete mode 100644 bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidGrpcService.java
 delete mode 100644 bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidMapper.java
 delete mode 100644 bescheid-manager/src/main/java/de/ozgcloud/bescheid/SentInfoMapper.java
 delete mode 100644 bescheid-manager/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 delete mode 100644 bescheid-manager/src/main/resources/dummy-bescheid.pdf
 delete mode 100644 bescheid-manager/src/main/resources/templates/bescheid.nachrichtTemplate.txt.ftlh
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidGrpcServiceTest.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidManagerConfigTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidMapperTest.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcBescheidManagerConfigResponseTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcBescheidTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcBescheidWithoutDocumentTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetAllBescheidRequestTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidDraftRequestTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidDraftResponseTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidRequestTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidResponseTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcSentInfoTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/SentInfoMapperTest.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/SentInfoTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/PostfachAddressTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/ServiceKontoTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/VorgangTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/common/attached_item/AttachedItemTestFactory.java
 delete mode 100644 bescheid-manager/src/test/java/de/ozgcloud/document/DocumentTestFactory.java
 delete mode 100644 bescheid-manager/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
 delete mode 100644 bescheid-manager/src/test/resources/SD_answer.xml
 delete mode 100644 bescheid-manager/src/test/resources/SD_answer_field_template.xml
 delete mode 100644 bescheid-manager/src/test/resources/SD_answer_without_text.xml
 delete mode 100644 bescheid-manager/src/test/resources/application-itcase.yml
 delete mode 100644 bescheid-manager/src/test/resources/junit-platform.properties
 delete mode 100644 bescheid-manager/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
 delete mode 100644 bescheid-manager/src/test/resources/templates/dummy.template.txt.ftlh

diff --git a/bescheid-manager/pom.xml b/bescheid-manager/pom.xml
deleted file mode 100644
index b5f83a10d..000000000
--- a/bescheid-manager/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-<!--
-
-    Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
-    Ministerpräsidenten des Landes Schleswig-Holstein
-    Staatskanzlei
-    Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-
-    Lizenziert unter der EUPL, Version 1.2 oder - sobald
-    diese von der Europäischen Kommission genehmigt wurden -
-    Folgeversionen der EUPL ("Lizenz");
-    Sie dürfen dieses Werk ausschließlich gemäß
-    dieser Lizenz nutzen.
-    Eine Kopie der Lizenz finden Sie hier:
-
-    https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-
-    Sofern nicht durch anwendbare Rechtsvorschriften
-    gefordert oder in schriftlicher Form vereinbart, wird
-    die unter der Lizenz verbreitete Software "so wie sie
-    ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-    ausdrücklich oder stillschweigend - verbreitet.
-    Die sprachspezifischen Genehmigungen und Beschränkungen
-    unter der Lizenz sind dem Lizenztext zu entnehmen.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>de.ozgcloud.common</groupId>
-		<artifactId>ozgcloud-common-parent</artifactId>
-		<version>4.9.0-SNAPSHOT</version>
-		<relativePath />
-	</parent>
-
-	<groupId>de.ozgcloud.bescheid</groupId>
-	<artifactId>bescheid-manager</artifactId>
-	<name>OZG-Cloud Bescheid Manager</name>
-	<version>1.24.0-SNAPSHOT</version>
-	<inceptionYear>2020</inceptionYear>
-
-	<properties>
-		<vorgang-manager.version>2.20.0-SNAPSHOT</vorgang-manager.version>
-		<nachrichten-manager.version>2.16.0-SNAPSHOT</nachrichten-manager.version>
-		<document-manager.version>1.2.0-SNAPSHOT</document-manager.version>
-		<api-lib.version>0.14.0</api-lib.version>
-		<spring-cloud-config-client.version>4.2.0</spring-cloud-config-client.version>
-	</properties>
-
-	<dependencies>
-		<!-- ozg-cloud -->
-		<dependency>
-			<groupId>de.ozgcloud.document</groupId>
-			<artifactId>document-manager-server</artifactId>
-			<version>${document-manager.version}</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>de.ozgcloud.vorgang</groupId>
-			<artifactId>vorgang-manager-interface</artifactId>
-			<version>${vorgang-manager.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>de.ozgcloud.nachrichten</groupId>
-			<artifactId>nachrichten-manager-interface</artifactId>
-			<version>${nachrichten-manager.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>de.ozgcloud.command</groupId>
-			<artifactId>command-manager</artifactId>
-			<version>${vorgang-manager.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>de.ozgcloud.vorgang</groupId>
-			<artifactId>vorgang-manager-utils</artifactId>
-			<version>${vorgang-manager.version}</version>
-		</dependency>
-
-		<dependency>
-			<groupId>de.ozgcloud.common</groupId>
-			<artifactId>ozgcloud-common-lib</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>de.ozgcloud.api-lib</groupId>
-			<artifactId>api-lib-core</artifactId>
-			<version>${api-lib.version}</version>
-			<scope>runtime</scope>
-		</dependency>
-
-
-		<!-- spring -->
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-validation</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>net.devh</groupId>
-			<artifactId>grpc-client-spring-boot-starter</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>net.devh</groupId>
-			<artifactId>grpc-server-spring-boot-starter</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>io.grpc</groupId>
-			<artifactId>grpc-inprocess</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-freemarker</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.springframework</groupId>
-			<artifactId>spring-webflux</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>io.projectreactor.netty</groupId>
-			<artifactId>reactor-netty-http</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework.security</groupId>
-			<artifactId>spring-security-core</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-configuration-processor</artifactId>
-			<optional>true</optional>
-		</dependency>
-
-		<dependency>
-			<groupId>org.springframework.cloud</groupId>
-			<artifactId>spring-cloud-starter-config</artifactId>
-			<version>${spring-cloud-config-client.version}</version>
-		</dependency>
-
-		<dependency>
-			<groupId>com.fasterxml.jackson.datatype</groupId>
-			<artifactId>jackson-datatype-jsr310</artifactId>
-		</dependency>
-
-
-		<!--dev tools-->
-		<dependency>
-			<groupId>org.mapstruct</groupId>
-			<artifactId>mapstruct</artifactId>
-		</dependency>
-
-		<!--TEST-->
-		<dependency>
-			<groupId>de.ozgcloud.command</groupId>
-			<artifactId>command-manager</artifactId>
-			<version>${vorgang-manager.version}</version>
-			<type>test-jar</type>
-			<scope>test</scope>
-		</dependency>
-	</dependencies>
-
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-failsafe-plugin</artifactId>
-			</plugin>
-		</plugins>
-	</build>
-</project>
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidGrpcService.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidGrpcService.java
deleted file mode 100644
index bbce7c025..000000000
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidGrpcService.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-import java.util.Optional;
-import java.util.stream.Stream;
-
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Component;
-
-import de.ozgcloud.bescheid.BescheidServiceGrpc.BescheidServiceImplBase;
-import de.ozgcloud.document.bescheid.Bescheid;
-import de.ozgcloud.document.bescheid.BescheidService;
-import de.ozgcloud.document.bescheid.vorgang.VorgangId;
-import io.grpc.stub.StreamObserver;
-import lombok.RequiredArgsConstructor;
-import net.devh.boot.grpc.server.service.GrpcService;
-
-@GrpcService
-@RequiredArgsConstructor
-@Deprecated
-@Component("deprecatedBescheidGrpcService")
-class BescheidGrpcService extends BescheidServiceImplBase {
-
-	private final BescheidService service;
-	@Qualifier("deprecatedBescheidMapper")
-	private final BescheidMapper mapper;
-
-	@Override
-	public void getBescheidDraft(GrpcGetBescheidDraftRequest request, StreamObserver<GrpcGetBescheidDraftResponse> responseObserver) {
-		var bescheidDraft = service.findDraft(request.getVorgangId());
-
-		responseObserver.onNext(buildGetBescheidDraftResponse(bescheidDraft));
-		responseObserver.onCompleted();
-	}
-
-	private GrpcGetBescheidDraftResponse buildGetBescheidDraftResponse(Optional<Bescheid> bescheidDraft) {
-		return bescheidDraft.map(mapper::toGetBescheidDraftResponse).orElseGet(GrpcGetBescheidDraftResponse::getDefaultInstance);
-	}
-
-	@Override
-	public void getConfig(GrpcBescheidManagerConfigRequest request, StreamObserver<GrpcBescheidManagerConfigResponse> responseObserver) {
-		responseObserver.onNext(mapper.fromBescheidManagerConfig(service.getConfig()));
-		responseObserver.onCompleted();
-	}
-
-	@Override
-	public void getAll(GrpcGetAllBescheidRequest request, StreamObserver<GrpcGetAllBescheidResponse> responseObserver) {
-		var bescheide = service.findAll(VorgangId.from(request.getVorgangId()));
-
-		responseObserver.onNext(buildGetAllBescheidResponse(bescheide));
-		responseObserver.onCompleted();
-	}
-
-	GrpcGetAllBescheidResponse buildGetAllBescheidResponse(Stream<Bescheid> bescheidItems) {
-		return GrpcGetAllBescheidResponse.newBuilder().addAllBescheid(bescheidItems.map(mapper::toBescheid).toList()).build();
-	}
-
-	@Override
-	public void getBescheid(GrpcGetBescheidRequest request, StreamObserver<GrpcGetBescheidResponse> responseObserver) {
-		var bescheid = service.getBescheid(request.getId());
-
-		responseObserver.onNext(mapper.toGetBescheidResponse(bescheid));
-		responseObserver.onCompleted();
-	}
-}
\ No newline at end of file
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidMapper.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidMapper.java
deleted file mode 100644
index a554ec056..000000000
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidMapper.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-import static de.ozgcloud.document.bescheid.Bescheid.*;
-
-import java.time.LocalDate;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-
-import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.mapstruct.AnnotateWith;
-import org.mapstruct.CollectionMappingStrategy;
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.NullValueCheckStrategy;
-import org.mapstruct.NullValuePropertyMappingStrategy;
-import org.mapstruct.ReportingPolicy;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import de.ozgcloud.command.Command;
-import de.ozgcloud.common.binaryfile.FileId;
-import de.ozgcloud.common.datatype.StringBasedValue;
-import de.ozgcloud.document.bescheid.Bescheid;
-import de.ozgcloud.document.bescheid.Bescheid.SendBy;
-import de.ozgcloud.document.bescheid.BescheidCallContextAttachingInterceptor;
-import de.ozgcloud.document.bescheid.BescheidId;
-import de.ozgcloud.document.bescheid.BescheidManagerConfig;
-import de.ozgcloud.document.bescheid.SentInfo;
-import de.ozgcloud.document.bescheid.UserId;
-import de.ozgcloud.document.bescheid.vorgang.VorgangId;
-import de.ozgcloud.document.common.attached_item.AttachedItem;
-import de.ozgcloud.document.common.attached_item.AttachedItemService;
-
-@Mapper(uses = { SentInfoMapper.class }, //
-		unmappedTargetPolicy = ReportingPolicy.WARN, //
-		collectionMappingStrategy = CollectionMappingStrategy.ADDER_PREFERRED, //
-		nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, //
-		nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS) //
-@AnnotateWith(value = Component.class, elements = @AnnotateWith.Element(strings = "deprecatedBescheidMapper"))
-@Deprecated
-public abstract class BescheidMapper {
-
-	@Autowired
-	private SentInfoMapper sentInfoMapper;
-
-	@Mapping(target = "sentInfoOrBuilder", ignore = true)
-	@Mapping(target = "defaultInstanceForType", ignore = true)
-	@Mapping(target = "mergeFrom", ignore = true)
-	@Mapping(target = "clearField", ignore = true)
-	@Mapping(target = "clearOneof", ignore = true)
-	@Mapping(target = "mergeSentInfo", ignore = true)
-	@Mapping(target = "mergeUnknownFields", ignore = true)
-	@Mapping(target = "bescheidDocumentBytes", ignore = true)
-	@Mapping(target = "beschiedenAmBytes", ignore = true)
-	@Mapping(target = "idBytes", ignore = true)
-	@Mapping(target = "nachrichtSubjectBytes", ignore = true)
-	@Mapping(target = "nachrichtTextBytes", ignore = true)
-	@Mapping(target = "sendByBytes", ignore = true)
-	@Mapping(target = "statusBytes", ignore = true)
-	@Mapping(target = "unknownFields", ignore = true)
-	@Mapping(target = "allFields", ignore = true)
-	@Mapping(target = "beschiedenAm", source = "beschiedenAm", dateFormat = "yyyy-MM-dd")
-	@Mapping(target = "nachrichtText", expression = "java(fromOptional(bescheid.getNachrichtText()))")
-	@Mapping(target = "nachrichtSubject", expression = "java(fromOptional(bescheid.getNachrichtSubject()))")
-	@Mapping(target = "attachmentsList", source = "attachments")
-	abstract GrpcBescheid toBescheid(Bescheid bescheid);
-
-	String toString(FileId fileId) {
-		return fileId.toString();
-	}
-
-	String toString(BescheidId bescheidId) {
-		return bescheidId.toString();
-	}
-
-	String fromOptional(Optional<String> optionalString) {
-		return optionalString.orElse(StringUtils.EMPTY);
-	}
-
-	@Mapping(target = "featuresOrBuilder", ignore = true)
-	@Mapping(target = "defaultInstanceForType", ignore = true)
-	@Mapping(target = "mergeFrom", ignore = true)
-	@Mapping(target = "clearField", ignore = true)
-	@Mapping(target = "clearOneof", ignore = true)
-	@Mapping(target = "mergeFeatures", ignore = true)
-	@Mapping(target = "mergeUnknownFields", ignore = true)
-	@Mapping(target = "javaVersionBytes", ignore = true)
-	@Mapping(target = "unknownFields", ignore = true)
-	@Mapping(target = "versionBytes", ignore = true)
-	@Mapping(target = "allFields", ignore = true)
-	abstract GrpcBescheidManagerConfigResponse fromBescheidManagerConfig(BescheidManagerConfig bescheidManagerConfig);
-
-	@Mapping(target = "defaultInstanceForType", ignore = true)
-	@Mapping(target = "bescheidOrBuilder", ignore = true)
-	@Mapping(target = "bescheid", ignore = true)
-	@Mapping(target = "mergeFrom", ignore = true)
-	@Mapping(target = "clearField", ignore = true)
-	@Mapping(target = "clearOneof", ignore = true)
-	@Mapping(target = "mergeBescheid", ignore = true)
-	@Mapping(target = "mergeUnknownFields", ignore = true)
-	@Mapping(target = "unknownFields", ignore = true)
-	@Mapping(target = "allFields", ignore = true)
-	abstract GrpcGetBescheidResponse toGetBescheidResponse(Bescheid bescheid);
-
-	@Mapping(target = "defaultInstanceForType", ignore = true)
-	@Mapping(target = "bescheidOrBuilder", ignore = true)
-	@Mapping(target = "mergeFrom", ignore = true)
-	@Mapping(target = "clearField", ignore = true)
-	@Mapping(target = "clearOneof", ignore = true)
-	@Mapping(target = "mergeBescheid", ignore = true)
-	@Mapping(target = "mergeUnknownFields", ignore = true)
-	@Mapping(target = "unknownFields", ignore = true)
-	@Mapping(target = "allFields", ignore = true)
-	abstract GrpcGetBescheidDraftResponse toGetBescheidDraftResponse(Bescheid bescheid);
-
-	Bescheid mapFromAttachedItem(AttachedItem item) {
-		return buildBescheidBuilder(item.getItem())
-				.id(BescheidId.from(item.getId()))
-				.version(item.getVersion())
-				.vorgangId(VorgangId.from(item.getVorgangId()))
-				.build();
-	}
-
-	Bescheid mapFromCommand(Command command) {
-		return buildBescheidBuilder(command.getBodyObject())
-				.vorgangId(VorgangId.from(command.getVorgangId()))
-				.build();
-	}
-
-	private Bescheid.BescheidBuilder buildBescheidBuilder(Map<String, Object> bescheidMap) {
-		var bescheidBuilder = Bescheid.builder();
-		Optional.ofNullable(MapUtils.getBoolean(bescheidMap, Bescheid.FIELD_BEWILLIGT)).ifPresent(bescheidBuilder::bewilligt);
-		getBeschiedenAm(bescheidMap).ifPresent(bescheidBuilder::beschiedenAm);
-		getStatus(bescheidMap).ifPresent(bescheidBuilder::status);
-		getCreatedBy(bescheidMap).ifPresent(bescheidBuilder::createdBy);
-		getBescheidDocument(bescheidMap).ifPresent(bescheidBuilder::bescheidDocument);
-		bescheidBuilder.nachrichtSubject(getNachrichtSubject(bescheidMap));
-		bescheidBuilder.nachrichtText(getNachrichtText(bescheidMap));
-		getSendBy(bescheidMap).ifPresent(bescheidBuilder::sendBy);
-		mapToAttachments(bescheidMap.get(Bescheid.FIELD_ATTACHMENTS)).ifPresent(bescheidBuilder::attachments);
-		getSentInfo(bescheidMap).ifPresent(bescheidBuilder::sentInfo);
-		return bescheidBuilder;
-	}
-
-	Optional<LocalDate> getBeschiedenAm(Map<String, Object> bescheidMap) {
-		return getStringValue(bescheidMap, Bescheid.FIELD_BESCHIEDEN_AM).map(LocalDate::parse);
-	}
-
-	Optional<Bescheid.Status> getStatus(Map<String, Object> bescheidMap) {
-		return getStringValue(bescheidMap, Bescheid.FIELD_STATUS).map(Bescheid.Status::valueOf);
-	}
-
-	Optional<UserId> getCreatedBy(Map<String, Object> bescheidMap) {
-		return getStringValue(bescheidMap, Bescheid.FIELD_CREATED_BY).map(UserId::from);
-	}
-
-	Optional<SendBy> getSendBy(Map<String, Object> bescheidMap) {
-		return getStringValue(bescheidMap, Bescheid.FIELD_SEND_BY).map(SendBy::valueOf);
-	}
-
-	Optional<FileId> getBescheidDocument(Map<String, Object> bescheidMap) {
-		return getStringValue(bescheidMap, Bescheid.FIELD_BESCHEID_DOCUMENT).map(FileId::from);
-	}
-
-	private Optional<String> getNachrichtSubject(Map<String, Object> bescheidMap) {
-		return getStringValue(bescheidMap, Bescheid.FIELD_NACHRICHT_SUBJECT);
-	}
-
-	private Optional<String> getNachrichtText(Map<String, Object> bescheidMap) {
-		return getStringValue(bescheidMap, Bescheid.FIELD_NACHRICHT_TEXT);
-	}
-
-	private Optional<String> getStringValue(Map<String, Object> srcMap, String field) {
-		return Optional.ofNullable(MapUtils.getString(srcMap, field)).map(StringUtils::trimToNull);
-	}
-
-	Optional<List<FileId>> mapToAttachments(Object attachments) {
-		if (Objects.isNull(attachments) || StringUtils.isEmpty(String.valueOf(attachments))) {
-			return Optional.empty();
-		}
-		if (attachments instanceof Collection<?> attachmentList) {
-			return Optional.of(attachmentList.stream().map(String::valueOf).map(FileId::from).toList());
-		}
-		return Optional.of(Collections.singletonList(FileId.from((String) attachments)));
-	}
-
-	private Optional<SentInfo> getSentInfo(Map<String, Object> itemMap) {
-		return Optional.ofNullable(MapUtils.getMap(itemMap, Bescheid.FIELD_SENT_INFO)).map(sentInfoMapper::toSentInfo);
-	}
-
-	@Mapping(target = "client", constant = BescheidCallContextAttachingInterceptor.BESCHEID_MANAGER_CLIENT_NAME)
-	@Mapping(target = "itemName", constant = AttachedItemService.BESCHEID_ITEM_NAME)
-	@Mapping(target = "item", expression = "java(mapToItem(bescheid))")
-	public abstract AttachedItem mapFromBescheid(Bescheid bescheid);
-
-	String mapToString(StringBasedValue value) {
-		return value.toString();
-	}
-
-	public Map<String, Object> mapToItem(Bescheid bescheid) {
-		var result = new HashMap<String, Object>();
-		result.put(Bescheid.FIELD_BEWILLIGT, bescheid.isBewilligt());
-		mapBeschiedenAm(bescheid).ifPresent(beschiedenAm -> result.put(Bescheid.FIELD_BESCHIEDEN_AM, beschiedenAm));
-		mapStatus(bescheid).ifPresent(status -> result.put(Bescheid.FIELD_STATUS, status));
-		mapBescheidDocument(bescheid).ifPresent(bescheidDocumentId -> result.put(Bescheid.FIELD_BESCHEID_DOCUMENT, bescheidDocumentId));
-		mapSendBy(bescheid).ifPresent(sendBy -> result.put(Bescheid.FIELD_SEND_BY, sendBy));
-		bescheid.getNachrichtSubject().ifPresent(subject -> result.put(Bescheid.FIELD_NACHRICHT_SUBJECT, subject));
-		bescheid.getNachrichtText().ifPresent(text -> result.put(Bescheid.FIELD_NACHRICHT_TEXT, text));
-		mapSentInfo(bescheid).ifPresent(sentInfo -> result.put(FIELD_SENT_INFO, sentInfo));
-		mapAttachmentIds(bescheid.getAttachments()).ifPresent(attachmentIds -> result.put(FIELD_ATTACHMENTS, attachmentIds));
-		return Collections.unmodifiableMap(result);
-	}
-
-	private Optional<String> mapBeschiedenAm(Bescheid bescheid) {
-		return Optional.ofNullable(bescheid.getBeschiedenAm()).map(LocalDate::toString);
-	}
-
-	private Optional<String> mapStatus(Bescheid bescheid) {
-		return Optional.ofNullable(bescheid.getStatus()).map(Bescheid.Status::name);
-	}
-
-	private Optional<String> mapBescheidDocument(Bescheid bescheid) {
-		return Optional.ofNullable(bescheid.getBescheidDocument()).map(FileId::toString);
-	}
-
-	private Optional<String> mapSendBy(Bescheid bescheid) {
-		return Optional.ofNullable(bescheid.getSendBy()).map(Bescheid.SendBy::name);
-	}
-
-	public Optional<Map<String, Object>> mapSentInfo(Bescheid bescheid) {
-		return Optional.ofNullable(bescheid.getSentInfo()).map(sentInfoMapper::toMap);
-	}
-
-	Optional<List<String>> mapAttachmentIds(List<FileId> attachments) {
-		return attachments.isEmpty() ? Optional.empty() : Optional.of(attachments.stream().map(FileId::toString).toList());
-	}
-
-}
\ No newline at end of file
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/SentInfoMapper.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/SentInfoMapper.java
deleted file mode 100644
index b5045081f..000000000
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/SentInfoMapper.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-import java.time.ZonedDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.commons.collections.MapUtils;
-import org.mapstruct.AnnotateWith;
-import org.mapstruct.CollectionMappingStrategy;
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.ReportingPolicy;
-import org.springframework.stereotype.Component;
-
-import de.ozgcloud.document.bescheid.SentInfo;
-
-@Mapper(unmappedTargetPolicy = ReportingPolicy.WARN, collectionMappingStrategy = CollectionMappingStrategy.ADDER_PREFERRED)
-@AnnotateWith(value = Component.class, elements = @AnnotateWith.Element(strings = "deprecatedSentInfoMapper"))
-@Deprecated
-public interface SentInfoMapper {
-
-	String GRPC_DATE_TIME_FORMATTER = "yyyy-MM-dd'T'HH:mm:ss'Z'";
-
-	@Mapping(target = "defaultInstanceForType", ignore = true)
-	@Mapping(target = "mergeFrom", ignore = true)
-	@Mapping(target = "clearField", ignore = true)
-	@Mapping(target = "clearOneof", ignore = true)
-	@Mapping(target = "mergeUnknownFields", ignore = true)
-	@Mapping(target = "sentAtBytes", ignore = true)
-	@Mapping(target = "sentByBytes", ignore = true)
-	@Mapping(target = "unknownFields", ignore = true)
-	@Mapping(target = "allFields", ignore = true)
-	@Mapping(target = "sentAt", source = "sentAt", dateFormat = GRPC_DATE_TIME_FORMATTER)
-	GrpcSentInfo mapTo(SentInfo sentInfo);
-
-	default SentInfo toSentInfo(Map<String, Object> sentInfoMap) {
-		return SentInfo.builder()
-				.sentBy(MapUtils.getString(sentInfoMap, SentInfo.FIELD_SENT_BY))
-				.sentAt(ZonedDateTime.parse(MapUtils.getString(sentInfoMap, SentInfo.FIELD_SENT_AT), DateTimeFormatter.ISO_DATE_TIME))
-				.build();
-	}
-
-	default Map<String, Object> toMap(SentInfo sentInfo) {
-		var result = new HashMap<String, Object>();
-		result.put(SentInfo.FIELD_SENT_BY, sentInfo.getSentBy());
-		result.put(SentInfo.FIELD_SENT_AT, sentInfo.getSentAt().format(DateTimeFormatter.ISO_DATE_TIME));
-		return Collections.unmodifiableMap(result);
-	}
-}
diff --git a/bescheid-manager/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/bescheid-manager/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index 633af9720..000000000
--- a/bescheid-manager/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1,6 +0,0 @@
-net.devh.boot.grpc.client.autoconfigure.GrpcClientAutoConfiguration
-net.devh.boot.grpc.client.autoconfigure.GrpcClientMetricAutoConfiguration
-net.devh.boot.grpc.client.autoconfigure.GrpcClientHealthAutoConfiguration
-net.devh.boot.grpc.client.autoconfigure.GrpcClientSecurityAutoConfiguration
-net.devh.boot.grpc.client.autoconfigure.GrpcDiscoveryClientAutoConfiguration
-net.devh.boot.grpc.common.autoconfigure.GrpcCommonCodecAutoConfiguration
diff --git a/bescheid-manager/src/main/resources/dummy-bescheid.pdf b/bescheid-manager/src/main/resources/dummy-bescheid.pdf
deleted file mode 100644
index 38e37a52ebeddf42ace077231b0a015ece6ef7ea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 10120
zcmY!laB<T$)HCB!J-p=bp2OP?&*w5yFi^-(%Hp!I(f3KsOE1Y#Fjg>72-0`U%qdAN
z(s#>AEJ<}qP0mkAwX@?YE-6Y)%;l<>liRzOi^))+<+shzYfg{eJ^MDvA>zZAbsMZX
zB0A>U&wXIJZ=a?AhJa-=5+(LIx_>a?cW`Kzahznq$FxyVJi6&+5})=C{q9vS({?2-
zDHU}3pm&tzDbMT128mN&XG{z+GOF5ob#KuzHr8k!FUiHXqLx_ZO<OiwJo?Vdm2Z6G
z&;0m)YV+j#tN-~*Yqb?D<eYfxl~2s(@cAoO3T>T#rKaAkf^mI<=`XI-ycDQ|Q}a?l
ze&hmq4a6`sGXu$jm|Uh90bqtB0H6V6s9<PpXkvjJ98ariYoxDEePL@XRr|x+c$1Fz
zM%~`EHwqu|-<&r0h^LIdOmtb2dRUTmgyNA&x<8q7yeCd+aftl$L*t5~szU=?#nIco
zo45Fi&s<^>Am-zp`CZiO#-_K-vs7!Boc<ObbSY=nQ&FAwGp&`6b2jd~`~6?_<1=S|
z?t4D3_}$+0H%Aulc2;Tj5t!z|oZRT)fB2M?(~0bshRg*2n4A}9B6~kbI?bq;>EY?M
z{q|Q@ob%!w1())qjFS5g0_&I__9Qy#tmkcKI{53Av^GcKwMD&84}090cxSnDjmXEN
zhm$|fe!X>mj`JUdM|&4PY&@{>*d(?i|3yEZ+IZmXL^WUb=0#ygj($84@#69N{~8@X
zyqqp2Pb|=pQ~7>Q@R60;XXT3lOCE3hC$HT1Z__5<1M)vlIRt1w=2`u4i`8C5U0Y@2
z(<iu><rMS%{Qu$+-vpUU$4mv3J1;yJ6|e5OaU#*_ncb9)r_ZMxzcc@TeAUA6xOipv
zlbl5jdwlZ(B;_8dDyNtSiN)zpHlL^!AGc|4&1|2#zMIKUR6dDX+V6~?chXc}zjBI<
zy8X^15q(MJ?Ths9E9X0#{$$sgYOs@`>eKxb{TE-cF3H_BO;e3qzF9;j#-Vn)&AB(~
z(la-A$V{{B>3(=p`w8cb&S{S=&NF{Dj{7XR`1^$0A8xv~os?^NdDOJ#7oXvoztZPk
znQfYQ$MM?4i>y-m2PWr8JzGE9rqi%?=A{_TW$SwPPOO}km?rP^gwd#_oT1>|8OE}^
z&s|>F*KV{`5uUc`=#c_ly<qR2llI1@#o{-Qs`P$2GuQv(vs=&q_42A5H?5sjv(EAJ
zW_>B=-wkOzTTkA}pS)eI`A*t9jkMRAPD`%6-u}C)de`o4c^}L2?p?XKuh2Pq_41{a
zwU@0{7UmwFb#?Wt@O2S!;jvFwt<lhr4GP+GBQoU0hFPrlW=x$qFYUtXEpysZ8>Vz~
ze%P*ZBPs9$%N*Tv4$-bVZzRd)t<%Uatop-gsG#;?sb=A}t$~w_CkXsaTEr6H$eL2`
z<aF}jY86%2pjp#d;$obyop81|dgS$4zmF<8_b+vSXiQt~?=xrd2Q{v2FO5l^9*K%s
z0qaxpk4|ezKmQ@6TfVmC<(DmA&wX9ErK`wj?zFxHE2qw&^b{$t>rAXOE=>!)%yTjQ
z)Zs@y(M$(h%DwZwi{la(u3uE+taSROPh^U%>C6l3{9ml_EOaTG`$l~E>2$UC)+Z;|
z)knHrkmPyu!gmAXmANU=YU=MjIZ`{9o_luWQuMi~!e<Lzc5dFO8mJbXd*905@Ap$h
z#e<@s{R%(%vn+pX^Znt}DGgp1#Xi?78O=zzrk;?Uzp&<MrNOnyljWAbnEAz@&F`G=
z7i-shmX>oT8cJp!ED+AupJieB{m;KWEzj-Zo4)fO)|zisdj8rsmv7TvR}1@WbeG{%
zVEu1u#U1`kl<Tw6z4OV!Jlt&T$}tfd?TP<AJHIGTnsMXO>IX_M&sVp3tTT#l`gnTI
zOcC|v?$3OdSbTm}r~Yi)-qqzs3pMWvlx#~l@||5s_-{n4`KivrPn~PLD_hTbPFA?K
zyCx*eWxW}T`w^D#CP$~Wty~f2n@*|tPh8`D>UE49Ux3n#BUS3NCcfQb5&h@Ye%r%g
zCJIRlZl9Xs^x~bb$5{>!M$=^7%b|K#IDQx=DxWo($vNG4l7aQ?XPdQmUp2aP)jKp~
zYfEKq(+~ELwJob#*J*D|y>x%g4u#uAc`s}Gc051lbG@tb_}wMbe#}ZuJYBVB)1+x9
z?>$I3^zc0Qqg~P>)t|Y9C-ED<DgM@0Q*<-2W!k)xi;q5By!F!E+xMR4+~2gfeCex>
zLle$sc15o<di>^W@R<ZgwJ%4jHcmg8T&r<H+3}0QgPf@5^DXNl`px?pmxt^un0>8d
z?*#XtOE27#R^AZG3VWLJhimbi7{AxIgRX5c>MFao{i*0LuBodR&2ikeg0Dxa%5p`n
zrdVF^i3`cK>+%<?SWXMu`Qm6?`iYmteBGQUZ)>0T<>T+&B*i0DY#M$yJb}BZHBqVc
zgr8!Of$+Rdds+|rZV9T9%iZ0zSMjKr`qy*c)_LCC5p3#l;WIC%()0~mf=(>1ZrrnA
z?vC$WHhP)67N{>*^^7}ncy)^MIo^Yw>EZ9Cw0eJ^%&pvhB6+5V^_Ft;&?%3vT{C&x
zQoY^ByCDDiw|mbk-f+Kv`>wW)F>UYuljeIRD)*l6tjGw^QVvdC)YD<46n(3!W8SIf
zw(5dLjyt8i7W_EisW4@k|HTHLIVmDi>v=+)*e7u`%k&<a7<5T$$xG2&EK4tD&pM$v
z`I3dFzT^@fwaF)Ev(5a%6EyF*-8F_M6>KR^_e`>Kmp++nV3<4MlSn7$lnEmI@89mU
zDLMb`-ebuMtLGQh`L3wMN9bKk^f8mu)=dh~o1*`-P5rN3<wim7Wo-W)ndW30`kveR
zqQgvi;xiso)k|}IjrImEGuJ9v>vKJ^vxzmJmZ|u?Z$k{@_3vVjCW(mub-t%k?{{tr
zzxh<pf7?Z0+<CRrf9KsB%~BqEFDJyznVB-nc<r`3bL`^R9eaN|wX%4A|Mj1>dpd6{
z2;9_|(QIrsW0T_%HuF0Lhu6J0C+(3ODY@~Hvw>sn-UniLu7)0%?6f?g@cIk~6(*&l
z=XQx6nq+l$;*;4Y`Tg$vIqSWD_Fsu4gBgErKiNLX^?09b@;oMKk=mlwa$Ps%)%Q=g
zndqa^pY`gKNql^W`;+w@dv@~QynI78`o!TNdBfB!6Sm2U*H5KJZ`x}&_vng)Tk^lA
zewxP9e0};v<J4B;uo)Yf@>!Ewt6WsHLn0lQR2<?G)c&C<m^fvgM_|AMwyL*>w6)@`
zHQPQP$=r3C<xyDtXW?bRX1lYWXo_*|v~2a>bRaT?`N)F0SKf=`S-;<VBL8LWdGmSu
zCErXaJae!nVfBwMhS9FaCsi33H*e#zI&So4L(ZFiPg5J^vz(H*{`_$Yii!#hoN;hh
z_A2eY`?8WV6ZcIB3=Dht)v_nm(roRu1cUsql0Q^$Fl;&+U8}SIIPdK{8}9IS-%TiN
zzQ#NKPQf+a{GAU&&1DJ?E9bo^XRf$=;Z2*CR(e_UG2X+^gPYXv2$VNJX^T4LcF)y(
z&+9fxbCngnyYC2;tX30|v{NlR#k+pTL+d;XkE3}-hqKH(RvLzBG5hR1_`dDk6^XP}
zmD951iVm~z=}*;t@I3JD<|~Y9j;u;06*5;}u>JK@O|JF2bVYkroK~^j^7(=tabfWa
zEkCCf_nh?Gd)MUkC)LY76IQFm>o#nCux{g%Q~uHkya@-dTXk=en5*g@a8W3IqF?LN
zOCPq_t8RUxcjJrO=byDF=lxzLwsniiGY<AizQ3!hs@~g7xU;QXKV|d3O`%)Aruv?|
zf8H)>^@<IKdyjv~oH^_1>!6J3>l3c2HLvkF&GGugv@aXvA4i>R|NhkK)V8#Uw`Rv!
zW=aKDHJV1BIC1L3ucA#oF58bDpY&&kEZf@+XZd<$^=>>|BYSVt;nigo*ZAT$G8g?V
z`*3UFNj}rEh#dCKvRld|_NBDP-+I_yR&k8a{mq93vhNmM%2<7yPfjZ~g?+NDN!gB!
z_WFgN*57#8BHOp@$>OpX+Yg6Xo7`S_jZd{~!;&Y@|5_9-{k!^!Xnt7SqD!Ce$#_Lh
zUl;x2e9|j^0qZ&24@+9l@v<z@NVWBNzA9qB2kQ(;Yn3+z7x;wBI&Lhy%;)yI=4@<e
z$?iq97q!>5Uj2SkC?=xy`jl|3jcIkS3zOIG{9ShM!M;5=)5LXG7C(QKwp%RhM6_R@
zo`0pI*yqV-W!E_!@49u5S9?<b&xc1AK3UqHkY4|(vGiZXrQ}~T?aR;3Tfb3IXa1g>
z2A>7?72ECoH=Eu362F&?{J%9j8=g1Mo8iG}scV~}q4YB*EX=P@dA~>St|c?R|L*eT
z(`!Ec;dhVBlFc&dXSYTDstL2PTa#lZr*d=I${>pfF5#sDnymGj9!m?BiOgFf;<9&&
z(zHX>OAVYgLq$}VZg|Ce>Y4XL8&k&>&sGM_ShP*#>`#N(zPqB0q1$qQmMDD<6L<4#
zTo-j<M@_c(DTjjVI_H-$v=v(}UlV+BQu4J|Zzd#P6A|02Z};u4`Mtl#9$w(ipEJMa
zk@fw5SGv-}JI>VpI578qwdv30mXqG3+3z!*^h9maH0JVi`<B%{*nUd!+lz^|?w>dB
zuYP~pequfMF#-K~>2h~o7kk)QD&%fwln{Se++)dFCjIeOk6C-~$%Nc(Jd;m8`a1Im
zPhPkF;YA^jt~4cuOjEn|IjY99Y{jPL4EA}~zKe+NdL*)Vy40jr!G%Ysbh+^9Y0mlA
zCG%56TQF<-ZdXP2t}T|WTU8fi?x@Z9xp390{JiS#>Gt)UZj<`?+8-X2{je?b(}wF)
z_FW46saP;wPlbK^Az^=6%eshr{kxvqrPMVR>#EwV+!l}?H^uWz%F9h>oXpIxzx(?1
z>8BhkxkqbKlO$cHHP%a3OmE!5GcS&<_Vj{c$t9D#3IsK@8Ee<?e`97_zxBnMT|%$2
zVgpWIS@_&^r{y`-9q+S>&rFN4KK&=@*Y0`wp`jt$@BcY`c;AJ-S^2UuRd=?o(c85&
z{qnQ+ZRS>v_4f}lU1l#gli#~^+ky?12R<+TExW#d=bp1)XNzAAS$E&<`}MOkcAvG7
z=l<xO&7ybrP-M~CD&=poRriw8&hA(pwc%uh_5H#G;i7w7%Y%B^F3sQOH2+S<nQ*P#
zB|&?SK0O-SV=2IDCFnS>Lt{o^o%W5hSC4N~5C8M-ZS}ISDWyjzi~oOS&EI!TKaQ*Z
z&)+r5Kc6pN_vAzLeeEf=rjMQe>6SN$OnAPu_DIgQ)U;H|9Jbwy6DD2{cR17W<kp4H
zcjn}@J+w$%-T!#GOu;cmW4;Hn4l*}vEFUajR^t0$ec(02Nybn<0oex&a#DPk>^NcN
zYAVb(Bg!Fu$M@K+*L5v2uFCpF&iTqMzC6<1|N76#Usg4TT>tj>SoA&--+LvuFU~E$
zH;?DtUjD2b-iN1pU$6Np_jS&l$~6gQ(QOvTw7&1Vk!`59u6fC0u0QWDDV#iUfy-%K
zt7*wk4sM&%&pa&EY*c$Cn*tB8&P+bX>Z^Ap{!DB0&I2w*2j_F&i<wZAs3tD7)4(;*
zQ2a-X!p?$uK>;NTpYYDVx!_lZNYF}s<?c0q&Ifx>npU=IQ>J0`jnk9&g|5<=zT^{^
z=G*m?x2@d0(C72KChz%cX63U>Y!b}=%6z8YEbKtbmCS2PglG3&|4`;`_Wo<?<39yO
zF4Oy8_is=1nQ=$g?pRZ1ZtRRqr^!~1np_W-e>q+K{wdcoUEz((%p^@GdYNWFO)^U~
zoNm%^OPg6YgVB5T&!g+yCvV^X`C3NA@6wDub$dT6wRg9+-WB()dv%j<|IhM<JBN1b
zM`{22GiNPRT>VFO?-~3oyQc56{%*IY?|F!oVUyo4yOU?Gq@{dtQp-Nm#ADVyHRAB&
z>zi-x7kLoMXv3r<{veXEk1If_!Ih!4Z;CRLjL-u<Mg^sYc!u>1XPK^WZHQoqV^DJV
zTgiBi>%%k#W2QMCnLZq=oXWi%l^ML|2|k#@uzrb3bBKdb!%88CC2IbG&YW3Jy{Y$~
zm#}^QU4DP+e07(Vv#xK*k`fQ`{dj0q;by;zy-T-kJNme+`rp&JTdm7Owr>sHZ7X;7
ze(kMgUwT$^KKz!<^ZCT(OBJ(@DoNy+xg~IY;tjL8&D-1N$2|L-6i>_J%U^YlfBR`<
zc`Z#);?S3$XO4tKGjwwwh+&w;6!F!Ik%fDKWox`n!)B4tmUAKu#j6;WaVZ2b++zw*
zE3G_bJ=J-Y+E(c$Qu3Fl9uLhbF3{#ya#t5wm7hBC#MP}*{^_?3)7~4hoqu_=-q!5*
z)Z|lzG21h~_4fqU)nA$)9zOl}m9zhJ*7Ier<h_1c?^|k*v!Uc<Dc0J;jc#X7Y{<N!
zs(REl(>1#0nvCOtr%56*OmY{S9KK|V&1Jjp&v)|UFAn>SEWf5TY+(^Np#LO<U1@&w
zvR^;>T>durY*qMV75;s@>I{p8Wx6I#bN?JoU`fAQbRqTOMjiQ6AD$)izwuMsy!dkc
z9fPl1nb%4;$GU3oXMA!_|NGthHUWqC{RuBWb1!%G4N2D5=c2D~oYl@`9kV;WT<xt?
z-t&q>iBpSv-*&nE^9~kkS!yYpd?IO6Pt7#P;~5g`^<$H-yi^SKKOpp6@r1KE|5=+W
zpEk^3H|Cd;)B98~t$lk%MQgjTjm*P`0{rD4Kd^pE|7ZN^>;LJ@KC#~Wy4WYO&pWl>
zDcA4Aj{e0v=Ch}U{%yVX=l`DR$L)^xo-W*1@VvkH+{!J_*q$B@$?>`OtUX<xO*lio
zP4@QLH@aKI@1K4%y}B?pHf!3WU1wCqmo65Ye6nZv<gjeN^xUw<AGNhk5eZr>37rSH
zdm4pV)*fug-RXG!x$%YtS2KRsNL}WXmf3hvQQGH*LSFL%UK2Bm{N~MO72TI6zS!=#
zop)Al!6~-&HxlBWuA9PDq$(Y9F`jAW%GO`qS6Y<XfAsL~KbPAOedBrUDIJbWe`c2N
z6g(<ZvrKn?&6(4G`OBWQYTw~F82tY1zCTY4zw!GfJy~0xxPS4&g9mfw?^Ri!T3M?e
zUuB*B?d-~w57H9O;@=$hAFR`zf5v0`#5XzFRc>wPR%vf|p8R}r{u#F;Nnd|m(y>(g
zd0k`ApX@2hUzop${;KV~zxZqVOY=pa8gI<~<#6QuNt;v0*3F5$G1>de>B4=n^Ox)M
zxZbZ{DZFbF|E^c&TxVzh%bR+MJ@@6!zTOMHyUQLjzR+JkKfk$Z_pd8<9&h=NP1>HN
zUvM`?_ohRgYHez3U&N|an`V9Po^F;GaVqMQ?k=6!Ysbohf3B}ln|=1PeXZ*y{g0oQ
zoEO`+@#QfkcfrG(w<$#n&Yt(~pZXn}Yn$G@s{gd{SlNv1cH_4Nt7Ow|DPH6Yep_JY
z`tWw+mgW|fm9k22ANYI9<gmM2FWB^}QaAkcIo7Mfs(M?qUWhkbRh`cJZiP`G?^MqB
zcdooo_4!(IHPiImqN6^t`AV%yf@gRZm2TC3@!U7|ZB&`*l_#4%v1!+To%t%uGjU>@
z;2AaEy9LulG9^>rKb>be;m_HN_f__PZT5e_K7lpv#@EA7HXpzKa(#7HZFIWxkNoBD
zB4UC>uS$1!KQ^BD#D8-AkJzIB>*d-f&6oRizg+!)_*Yr~{)%wBD+NV+-oIb?UG_x#
z^#;#<GyXgmpM3fM;n>S{bMxQ)+WTHTZ|#M1{|-uS6}|nBtxN8=$eQ=+yC=>6qfz<F
zdiJjy$x`v39=FTKMQgu*Ec=1uaeB;;rT=D_oD%Y5eqt%VC*bJ8B)&5;85TQE9E{|<
z_vir&ySv4X?q&=2vobP|5}FRb?Ps=UkK<F}3-Eo?P;lc(fx+Q}l6-!F3I`90i1r8U
zylok=VcPnS*%Pk3nszxbc51J5EPHaBJKyE}gNdK^EDQL|adA?XroXd<?!{MMqWqj=
zcqC@Jsh!z#@Qk61bIv;Hvc3O)iSB;hWyO5O@tnc#FPGytp0~AU`F_CG`Q#?4s%3)5
z%6{y!uFrpKyzZxPp~nCH50{@^URU>X{dG_Nuw8$`>us;?Em}Bloxx3~b+g5rR{wjF
zd+}Ow`WN9%QO+K6hf;rRJNfF4*``^x4tsJKUmp9Owq&+s>;8#9%__sMIaWzOauHtq
zOYg3qQQIEAvvVcbf8KJd<C5QG^KZ|Jl~-*R?mX~UwA@kpN@nTgUH)JHXLKw#%uK%&
zzLbB}yvP%7XUzUK+dV9dzukDC|3>&kwc@u1cJKdh`?-_BD=#>)?Zt@&T$^t^?pe8k
zE%jY!VqeOn^(!|_lQ?M}8sVO&s2&pGe<on%A+|TlvqCI*j~!fn=%vd1%EEv3|3i%4
zuP9Jknfz62j;q*4-c8@7e%9;CB(D!nR9Ms&n%I_-IY;Zvq^Gm8M6WG4Gl8o(W#ThA
z(Q87xpREs#aM#O<3re)reA>5qL*tX;_p1t|K4-tXA8Ijo&6WR7t;Q$#oOf}hPm<<c
zxp9-n+J|SKO<Xwf#|hnq3nX}sFh6pz*rab|WFjN(%|5NmH1uj{QnrPSiImXw_Qewm
zOa$aP`@@&5-5<5a?M|24EvAn}g@=DQq#pOE_n0WU+v(!OgKHNqyt}yZ#jYC;88#AK
zU80Y!3WYzu?R0TQ&y|p{@N2PYak|z*!puoFQXFl^m@dvf^5MbMx{iw%E_mq3btx65
z#JpMgW|hd^#)=FZJ+@=bN#FM*J%8}vghPiAyVJ!AhStL$6Tf^pcK71Mh=LRcIo&Wz
z`$pD_FS^>lwH)zntgsQ`?l)&mvJk7fW@{wZH?_OE-JPxN=-$Q|5<ExU+Kx@Ux!-?J
zkh@DB!*e4$xqHoO-&;;ye19-Q!_3CWPUYAW&DFP(YAgh%tJ{ioxx2G5EnfWFAT?R=
z%B$ltZ)H3AA0J3wIAe$9mhd}La@;-jyMqc@lZ`tJMct1nUHl;TD%mwhL5i#QaYAFl
zg8GyamA-3j%oh(ZxbYk|GZI)Vc+jC^;(-d+)9*4Ygq-}>XTRN{)4`{8v8UDj`-2mk
zzEo(4OmTPF{=LO5kds}Gw>^K-b7P6VMT-yqC^*V=p8fFS!Vuo>#smTNzKdM^Z{#L_
zZb|H0K8Ksf<?xB_9=1mrsXAenGX3shJ7cQ9zgx?*Vx{DPGa-vouZw?t^jk^MR6g+L
zsT&#W%j#qN?&i&kuM~=vwmNc-<Jj@$bDgUkcFtIJ=GCdJQVyQS9x8IHdwP4q+7>&n
z^YdrVR8vmjcyDoU`vd__A;I?yj~H9nJZ89@uoGGubl5}GQ!{A#qup&G6SMZXUg`=;
zeA2&YpT{+28CTt(k_*ZXr_2eNWOC|fQno2aZs^{O#kZbv<U0Ii+;X9@>hFozjBu6M
zDMn4V*Q~L0DO)VhxMYp8;T5ihJ`=n;mN32FpYmA$<Mu!ev-2w*_pkc6Zuhch@tdrh
zrnyMHw0L@AUSHt*e5WXhulqFQluor~d`mjP8K~p2_SClOfJNP2l`EIYbXv&f&haXZ
zPd?%&Qz-D2Jwq*c67!X9F@jxB4Gta7^2t9^;l7gHan<x$(LC<|a@f|zO2=N=ZCi52
zcZ%L)!&BK#Hp|X=cSf3jRq6?`6sx`{TzMyvi#@}pIV5`B#=_9e@~i#+94d4PHDB;7
zbxz+#_pd?MG{Ya;ddxSpdS}t681#RNPQ2wdkH;bl0>h1L+wNFQm38=~@$XG=_)Q5n
zSIO1!vF_C`SILB>+qk{$N-^H|{n9Fq%X@mo#V*Rk_jLuCH)qZ53Nddgm~l=?^f=cn
z=}I-lS1Wl~Uz~dH-WzDO?a^(6wS5d{b3M+M&N-(bx_*IG@Xgm8OG74zMTvi^;$LaF
zm+yOLUv^Z8(vA&gPv`Um)hBc3^atlRe=ZJLr0d<gN?FrbZt3rfzMp?eF8R95#l&N6
zXpP?)_RO3|uT~_!3KXcH(xbgq)a~wF6ZunBL8~nP%{;-HQFC}zT+2JJ!mHB_ciFXN
zvbvqn%F&5^G51ff=j(!pt0V)i`z(F6`St!a>c2%73dZcPTl9Hf&%%D$SFhyf$CvIF
zUvoc1ZC3&Rs|CMZUDnF?OId!@;{LR1XVv*N%c`GE-5jv0kmaMrS9Q1KNYCd6Er0xE
z7B;WgYcX@TbnLEUrnw*1y>1s^lxS0&<SX+)efGlsF9)nHF$nEbePa5s+V;_>-9l0)
zSWcNL)apLUp0H2qyC1uq^v8Ece%I|Wt<V+<)p&SlyZ2FT0e$yg^ADU~rmgJtn0jAY
zF#mA*>R;a!_OjmB)!N5cSR-uzVgqOXlJnCYlx5qEH-9*$)3LeWxB7#>ENXf(dk*~h
z_$TQ2<>&EM=S%9Ye7|^Eeq*S7<45HSlZ*dYzPJ3p^Tf`T#kWizw@+}a<3IE}J<RG}
zw#D7g=Xv+PQ(Rt{wtTf;wZH!yzd6tRm~Vg1zV_%r`jMHdW}Y~6<jl&M#>UUnzX<Eg
z)lB^PTRevEF?XN1#PN^k9&eXV|LfoQQS*3k&-cRrkIx)bKk%dFG3RyRH_7eVvhC4t
z``qOtA6a}p@zZ_A<YMFF@+U=X^c~boCb0E9eD?UwoX0OqEjMs3Pd&1nIbZzV+=}*(
z`{eWgJaa5$zo++NLfEESe&=7!mHg9eD_%GMmVcrYKkvt<gZi6=%jNgXuB<xmT|Hw)
z`ATJ*xMvdivClT_Tx)A(etYrJ#DbDc=la5x$M36K{t9^U>uqS?+qK@ZH}it|+l8+!
zSTM14LvN0{blUs$_@vTbYvXn&bKgtf^L%g56VsH6p1FN~;p){z?|MYC^j)&0m8I3q
zHc8uf%jT}tmOU2czIyf7-fQ2Z?6a<Z+j?m7kMp0mJXht{uAH{ZX43Jv7bo*izuvf`
zxQfN#+lRble&!h&<}V8+pZD}!ypg`=?g=SR<wP}|0|z}VEbiV74ZBtsWWIf??ZWSI
z^Bby#kH&rqzO~7A;a+pcs%`Q2t$9C$-oMMvH(^=RHy7XV{6p~%vi(^EC!{1WG44ya
z<ut2iW5k}GxPY*>4|z3{Hr-A2xFZ?7B4wWcsU(5Jx>{~i7x;(;6dXvOdB(YE4f~3{
z#%@pA&*%hCNqIXXt4~XtpDUvLAN%Fxo#mkUYP8vG&^$G03ftV=!Vn}4Vsn`zrn5sT
z3sUvn^7BeuQj3#|G7C!bi@;pJ#N1SUCr1#__Q_02ElMoO%+Cu>Ey_&e(s#>AOfOb2
z;R364a>}oW)-^RTR?syzFjg=$GB;PSv@nd-_bf@w$xL?4OV3GFFyPX6EKW|%D*>@U
zRzaE0i3J|1nduoNAT3<_!6m7=VG0%o5R=_9b5e~IKy&XwTy}PF*IOW5?*m<pU}!;L
zEkf+1vw6)10xj?Bxa2Q8w<xx#2swFuRxW(e@AaD@L0>b-aGE0fy?ys$Z+Y1^*xfc>
zo#<1db$;pFWiPJs?`rbgHrG_{*u!_GC)o1liWVyQE?=JNnt%7YpUc7MvyWM7GjA)N
zcl{!E?%2umMWrUr%=}7KAK7Zs^NYR~t~#`9m-Tm6+Z&!*fg+b2q@USbeYf+SqSEzU
zCJ%Saepb5S59hsfcB6%*X9B+@B$RAri@z=15wp_i+4XG21GDPWPbOtX{f+#s(Aylc
z(nOa@{m5?JPi+>~%FFlEJKPge=dw)BZ`zY=Tlsy>eFgc7`9DtVaj#2RHd8(ARKc^K
zhM!uWPyTmG>Q2At`STN||2Z<pez!vLKat{NbL<c1cUt~`=JZrYH^H}}-~Ow2?RUEn
z|LMMSlW)&$z5o9pFJJ7J8s@IKb1XmskCv(|5m5k7K>ER@NhP4v6jD^03Kn%rEKUU_
zE!^oSv#7YlIU}(Mlq!4@p=={VF8%P#l#-0%XmfLO1#=@K1ych91rQrV8<`p?n3<U=
zn3xzV7+Y9^X|TAtIar;su`yVWiHR{6NZi!a3@mPGWS{_&Gc_|-h=n9DP(p;Hc?D3G
z2;$NY$q&uT1TADy0HrdNWM^oA@U)wu0w@Sj<qeVK^Ycm+z#4+M^aG0WlY>)BqV)q@
z-1I|ID@tOKQ!|n-aG(Vwrl;x$Bo=`(h=~Gdl}%7;aeir0a%!=HAxLqMzHe$uW+Eup
zfm~#2X{u*zU~Fk@ZeU<;VQ!*eVPdFfVPR=*W^8V5X=-E<tM6WvUs_;eqaUmvQk0li
zTmUjWxl-RbSl=bJEHgPZ$lXcbQ=z1&G}X>d-#I_8BsH(3SiuNnIa0O*IR;dE*x2a9
z9a_w#kM24yg!2@Lavvx%yfagZqZPou196@6OF`j>WVs>8HORI*Czd4U<frR{f~!~o
z<hCF#egA^gJjY~EK@|-#OFtqqN+GW_CkH|p#B%BTB<7`Sq@?P)xN4$A18mukjg7u@
zQEFmIevyrvtDBpFfhj0pjSLLTEDa3IO$-doObraojqJejno^pa3R7p|3{hid1d@lS
zGjTI8Ff)T<O9KNlV~Dtsfq?-i!i-!E42+HKxFA+$=I6O2mZWO9SQ!}@85@`x85kNG
zm>L*s8yKk@7^rI^g-1nEY8sb;f}shQ0URipnVK4#Dx@hu#VifX4Hdw$3VARw0|P@#
z3^5~9GjuUaBNGF3F#{uW40RTUCPwJ$EDX(zF~p2bF~!U=?Xa-4FhSRAX<&$9ucfh>
zDTX=|GbFc^6eVWnq!xkJtOaLQr79Sj=m+KJmneW!QV^HEXI@&qf*~l@K^zx_XayTL
zQ%hG@Lo;J1Ge=8D7efmpQzv5=OJ`#XGb3X+LsK(5F2YJc$=4-6**POMIlH(tS3%$0
z&B)l$$k4>i)WX8e$=J}s#N5Ey$<)Zr)Xl)nz`y{M2#ZS+i%P&zYH4O{&ZVmA>hHz{
E02zuBVgLXD

diff --git a/bescheid-manager/src/main/resources/templates/bescheid.nachrichtTemplate.txt.ftlh b/bescheid-manager/src/main/resources/templates/bescheid.nachrichtTemplate.txt.ftlh
deleted file mode 100644
index a16717f3f..000000000
--- a/bescheid-manager/src/main/resources/templates/bescheid.nachrichtTemplate.txt.ftlh
+++ /dev/null
@@ -1,7 +0,0 @@
-Sehr geehrte/r Antragsteller/in,
-
-im Folgenden erhalten Sie Ihren Bescheid.
-
-${(signature)!"Mit freundlichen Grüßen
-
-Ihre Verwaltung"}
\ No newline at end of file
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidGrpcServiceTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidGrpcServiceTest.java
deleted file mode 100644
index 588b93f1a..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidGrpcServiceTest.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-import static org.assertj.core.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.*;
-import static org.mockito.Mockito.*;
-
-import java.util.Optional;
-import java.util.stream.Stream;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.DisplayName;
-import org.junit.jupiter.api.Nested;
-import org.junit.jupiter.api.Test;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Captor;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Spy;
-
-import de.ozgcloud.bescheid.vorgang.VorgangTestFactory;
-import de.ozgcloud.common.attached_item.AttachedItemTestFactory;
-import de.ozgcloud.document.bescheid.Bescheid;
-import de.ozgcloud.document.bescheid.BescheidService;
-import de.ozgcloud.document.bescheid.vorgang.VorgangId;
-import de.ozgcloud.document.common.attached_item.AttachedItemMapper;
-import de.ozgcloud.document.common.attached_item.AttachedItemService;
-import io.grpc.stub.StreamObserver;
-
-class BescheidGrpcServiceTest {
-
-	@Spy
-	@InjectMocks
-	private BescheidGrpcService grpcService;
-
-	@Mock
-	private AttachedItemService attachedItemService;
-	@Mock
-	private AttachedItemMapper attachedItemMapper;
-	@Mock
-	private BescheidService service;
-	@Mock
-	private BescheidMapper mapper;
-
-	@DisplayName("Get bescheid draft")
-	@Nested
-	class TestGetBescheidDraft {
-
-		@Mock
-		private StreamObserver<GrpcGetBescheidDraftResponse> responseObserver;
-		@Captor
-		private ArgumentCaptor<GrpcGetBescheidDraftResponse> responseCaptor;
-
-		private final GrpcGetBescheidDraftRequest request = GrpcGetBescheidDraftRequestTestFactory.create();
-
-		private final GrpcGetBescheidDraftResponse response = GrpcGetBescheidDraftResponseTestFactory.create();
-
-		private final Bescheid bescheid = BescheidTestFactory.create();
-
-		@DisplayName("on existing draft")
-		@Nested
-		class TestOnExistingDraft {
-
-			@BeforeEach
-			void mock() {
-				when(service.findDraft(any())).thenReturn(Optional.of(bescheid));
-				when(mapper.toGetBescheidDraftResponse(any())).thenReturn(response);
-			}
-
-			@Test
-			void shouldCallService() {
-				grpcService.getBescheidDraft(request, responseObserver);
-
-				verify(service).findDraft(VorgangTestFactory.ID_STR);
-			}
-
-			@Test
-			void shouldCallMapper() {
-				grpcService.getBescheidDraft(request, responseObserver);
-
-				verify(mapper).toGetBescheidDraftResponse(bescheid);
-			}
-
-			@Test
-			void shouldCallNext() {
-				grpcService.getBescheidDraft(request, responseObserver);
-
-				verify(responseObserver).onNext(response);
-			}
-
-			@Test
-			void shouldCallCompleted() {
-				grpcService.getBescheidDraft(request, responseObserver);
-
-				verify(responseObserver).onCompleted();
-			}
-		}
-
-		@DisplayName("on missing draft")
-		@Nested
-		class TestOnMissingDraft {
-
-			@Test
-			void shouldCallNextWhenNoBescheid() {
-				when(service.findDraft(any())).thenReturn(Optional.empty());
-
-				grpcService.getBescheidDraft(request, responseObserver);
-
-				verify(responseObserver).onNext(responseCaptor.capture());
-				assertThat(responseCaptor.getValue().hasBescheid()).isFalse();
-			}
-		}
-	}
-
-	@Nested
-	class TestGetConfig {
-
-		private static final GrpcBescheidManagerConfigResponse RESPONSE = GrpcBescheidManagerConfigResponse.newBuilder().build();
-
-		@Mock
-		private GrpcBescheidManagerConfigRequest request;
-		@Mock
-		private StreamObserver<GrpcBescheidManagerConfigResponse> responseObserver;
-		@Captor
-		private ArgumentCaptor<GrpcBescheidManagerConfigResponse> responseCaptor;
-
-		@Test
-		void shouldCallBescheidService() {
-			getConfig();
-
-			verify(service).getConfig();
-		}
-
-		@Test
-		void shouldCallGrpcBescheidMapper() {
-			var config = BescheidManagerConfigTestFactory.create();
-			when(service.getConfig()).thenReturn(config);
-
-			getConfig();
-
-			verify(mapper).fromBescheidManagerConfig(config);
-		}
-
-		@Test
-		void shouldCallNext() {
-			when(mapper.fromBescheidManagerConfig(any())).thenReturn(RESPONSE);
-
-			getConfig();
-
-			verify(responseObserver).onNext(RESPONSE);
-		}
-
-		@Test
-		void shouldCallCompleted() {
-			getConfig();
-
-			verify(responseObserver).onCompleted();
-		}
-
-		private void getConfig() {
-			grpcService.getConfig(request, responseObserver);
-		}
-	}
-
-	@Nested
-	class TestGetAll {
-
-		private final GrpcGetAllBescheidResponse response = GrpcGetAllBescheidResponse.newBuilder().build();
-
-		private final GrpcGetAllBescheidRequest request = GrpcGetAllBescheidRequestTestFactory.create();
-
-		@Mock
-		private StreamObserver<GrpcGetAllBescheidResponse> responseObserver;
-		@Captor
-		private ArgumentCaptor<GrpcGetAllBescheidResponse> responseCaptor;
-		@Captor
-		private ArgumentCaptor<VorgangId> vorgangIdCaptor;
-
-		private final Stream<Bescheid> bescheide = Stream.of(BescheidTestFactory.create());
-
-		@BeforeEach
-		void init() {
-			when(service.findAll(any())).thenReturn(bescheide);
-			doReturn(response).when(grpcService).buildGetAllBescheidResponse(any());
-		}
-
-		@Test
-		void shouldCallFindAllBescheid() {
-			getAll();
-
-			verify(service).findAll(VorgangTestFactory.ID);
-		}
-
-		@Test
-		void shouldCallBuildResponse() {
-			getAll();
-
-			verify(grpcService).buildGetAllBescheidResponse(bescheide);
-		}
-
-		@Test
-		void shouldCallOnNext() {
-			getAll();
-
-			verify(responseObserver).onNext(response);
-		}
-
-		@Test
-		void shouldCallOnCompleted() {
-			getAll();
-
-			verify(responseObserver).onCompleted();
-		}
-
-		private void getAll() {
-			grpcService.getAll(request, responseObserver);
-		}
-	}
-
-	@Nested
-	class TestBuildResponseAllBescheid {
-
-		private final Bescheid bescheid = BescheidTestFactory.create();
-		private final Stream<Bescheid> bescheide = Stream.of(bescheid);
-
-		private final GrpcBescheid grpcBescheid = GrpcBescheidTestFactory.create();
-
-		@BeforeEach
-		void init() {
-			when(mapper.toBescheid(any())).thenReturn(grpcBescheid);
-		}
-
-		@Test
-		void shouldCallMapper() {
-			grpcService.buildGetAllBescheidResponse(bescheide);
-
-			verify(mapper).toBescheid(bescheid);
-		}
-
-		@Test
-		void shouldReturnResponse() {
-			var response = grpcService.buildGetAllBescheidResponse(bescheide);
-
-			assertThat(response.getBescheidList()).containsExactly(grpcBescheid);
-		}
-	}
-
-	@DisplayName("Get bescheid")
-	@Nested
-	class TestGetBescheid {
-
-		private final Bescheid bescheid = BescheidTestFactory.create();
-		private final GrpcGetBescheidResponse response = GrpcGetBescheidResponseTestFactory.create();
-
-		@Mock
-		private StreamObserver<GrpcGetBescheidResponse> responseObserver;
-
-		@BeforeEach
-		void mock() {
-			when(service.getBescheid(any())).thenReturn(bescheid);
-			when(mapper.toGetBescheidResponse(any())).thenReturn(response);
-		}
-
-		@Test
-		void shouldCallService() {
-			getBescheid();
-
-			verify(service).getBescheid(AttachedItemTestFactory.ID);
-		}
-
-		@Test
-		void shouldCallMapper() {
-			getBescheid();
-
-			verify(mapper).toGetBescheidResponse(bescheid);
-		}
-
-		@Test
-		void shouldCallOnNext() {
-			getBescheid();
-
-			verify(responseObserver).onNext(response);
-		}
-
-		@Test
-		void shouldCallCompleted() {
-			getBescheid();
-
-			verify(responseObserver).onCompleted();
-		}
-
-		private void getBescheid() {
-			grpcService.getBescheid(GrpcGetBescheidRequestTestFactory.create(), responseObserver);
-		}
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidManagerConfigTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidManagerConfigTestFactory.java
deleted file mode 100644
index 58d8b8982..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidManagerConfigTestFactory.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-import de.ozgcloud.document.bescheid.BescheidManagerConfig;
-import de.ozgcloud.document.bescheid.BescheidManagerConfig.BescheidManagerConfigBuilder;
-import de.ozgcloud.document.bescheid.BescheidManagerConfig.Features;
-
-public class BescheidManagerConfigTestFactory {
-
-	public static final String VERSION = "1.0.0";
-	public static final String JAVA_VERSION = "21";
-
-	public static BescheidManagerConfig create() {
-		return createBuilder().build();
-	}
-
-	public static BescheidManagerConfigBuilder createBuilder() {
-		return BescheidManagerConfig.builder()
-				.version(VERSION)
-				.javaVersion(JAVA_VERSION)
-				.features(Features.builder().canCreateBescheidDocument(true).build());
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidMapperTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidMapperTest.java
deleted file mode 100644
index 8df8268a7..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidMapperTest.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-import static org.assertj.core.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.*;
-import static org.mockito.Mockito.*;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.lang3.StringUtils;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.DisplayName;
-import org.junit.jupiter.api.Nested;
-import org.junit.jupiter.api.Test;
-import org.mapstruct.factory.Mappers;
-import org.mockito.InjectMocks;
-import org.mockito.Spy;
-
-import de.ozgcloud.bescheid.vorgang.VorgangTestFactory;
-import de.ozgcloud.command.CommandTestFactory;
-import de.ozgcloud.common.attached_item.AttachedItemTestFactory;
-import de.ozgcloud.document.DocumentTestFactory;
-import de.ozgcloud.document.bescheid.Bescheid;
-import de.ozgcloud.document.bescheid.BescheidCallContextAttachingInterceptor;
-import de.ozgcloud.document.common.attached_item.AttachedItemService;
-
-class BescheidMapperTest {
-
-	@Spy
-	@InjectMocks
-	private final BescheidMapper mapper = Mappers.getMapper(BescheidMapper.class);
-	@Spy
-	private final SentInfoMapper sentInfoMapper = Mappers.getMapper(SentInfoMapper.class);
-
-	@Nested
-	class TestToBescheid {
-
-		@BeforeEach
-		void mock() {
-			when(sentInfoMapper.mapTo(any())).thenReturn(GrpcSentInfoTestFactory.create());
-		}
-
-		@Test
-		void shouldCallSentInfoMapper() {
-			mapper.toBescheid(BescheidTestFactory.create());
-
-			verify(sentInfoMapper).mapTo(BescheidTestFactory.SENT_INFO);
-		}
-
-		@Test
-		void shouldMapAllFields() {
-			var result = mapper.toBescheid(BescheidTestFactory.create());
-
-			assertThat(result).usingRecursiveComparison().isEqualTo(GrpcBescheidWithoutDocumentTestFactory.create());
-		}
-	}
-
-	@Nested
-	class TestFromBescheidManagerConfig {
-
-		@Test
-		void shouldMapAllFields() {
-			var result = mapper.fromBescheidManagerConfig(BescheidManagerConfigTestFactory.create());
-
-			assertThat(result).usingRecursiveComparison().isEqualTo(GrpcBescheidManagerConfigResponseTestFactory.create());
-		}
-	}
-
-	@DisplayName("Map from attachedItem ")
-	@Nested
-	class TestMapFromAttachItem {
-
-		@Test
-		void shouldMapItem() {
-			var bescheidWithoutDocument = AttachedItemTestFactory.createBescheidWithoutDocumentBuilder().vorgangId(VorgangTestFactory.ID_STR).build();
-
-			var bescheid = mapper.mapFromAttachedItem(bescheidWithoutDocument);
-
-			assertThat(bescheid).usingRecursiveComparison().isEqualTo(BescheidTestFactory.create());
-		}
-	}
-
-	@DisplayName("Map to attachments")
-	@Nested
-	class TestMapToAttachments {
-
-		@Test
-		void shouldMapAttachmentsToEmptyList() {
-			var attachments = mapper.mapToAttachments(null);
-
-			assertThat(attachments).isEmpty();
-		}
-
-		@Test
-		void shouldMapAttachmentsToList() {
-			var attachments = mapper.mapToAttachments(BescheidTestFactory.ATTACHMENTS);
-
-			assertThat(attachments).hasValue(BescheidTestFactory.ATTACHMENTS);
-		}
-
-		@Test
-		void shouldMapOneElementToList() {
-			var attachments = mapper.mapToAttachments(List.of(BescheidTestFactory.ATTACHMENT));
-
-			assertThat(attachments).hasValue(Collections.singletonList(BescheidTestFactory.ATTACHMENT));
-		}
-
-		@Test
-		void shouldMapEmptyStringToEmptyList() {
-			var attachments = mapper.mapToAttachments(StringUtils.EMPTY);
-
-			assertThat(attachments).isEmpty();
-		}
-	}
-
-	@DisplayName("To get bescheid draft response")
-	@Nested
-	class TestToGetBescheidDraftResponse {
-
-		@Test
-		void shouldMap() {
-			var response = mapper.toGetBescheidDraftResponse(BescheidTestFactory.create());
-
-			assertThat(response).usingRecursiveComparison().isEqualTo(GrpcGetBescheidDraftResponseTestFactory.create());
-		}
-	}
-
-	@DisplayName("Map from command")
-	@Nested
-	class TestMapFromCommand {
-
-		@Test
-		void shouldMap() {
-			var command = CommandTestFactory.createBuilder().bodyObject(AttachedItemTestFactory.createBescheidItem())
-					.vorgangId(VorgangTestFactory.ID_STR).build();
-
-			var result = mapper.mapFromCommand(command);
-
-			assertThat(result).usingRecursiveComparison().ignoringFields("id", "version").isEqualTo(BescheidTestFactory.create());
-		}
-	}
-
-	@Nested
-	class TestMapFromBescheid {
-
-		@Test
-		void shouldSetClient() {
-			var result = mapper.mapFromBescheid(BescheidTestFactory.create());
-
-			assertThat(result.getClient()).isEqualTo(BescheidCallContextAttachingInterceptor.BESCHEID_MANAGER_CLIENT_NAME);
-		}
-
-		@Test
-		void shouldSetItemName() {
-			var result = mapper.mapFromBescheid(BescheidTestFactory.create());
-
-			assertThat(result.getItemName()).isEqualTo(AttachedItemService.BESCHEID_ITEM_NAME);
-		}
-
-		@Test
-		void shouldCallMapBescheidToItem() {
-			var bescheid = BescheidTestFactory.create();
-
-			mapper.mapFromBescheid(bescheid);
-
-			verify(mapper).mapToItem(bescheid);
-		}
-
-		@Test
-		void shouldSetItem() {
-			var itemMap = Map.<String, Object>of("key", "value");
-			doReturn(itemMap).when(mapper).mapToItem(any());
-
-			var result = mapper.mapFromBescheid(BescheidTestFactory.create());
-
-			assertThat(result.getItem()).isEqualTo(itemMap);
-		}
-	}
-
-	@Nested
-	class TestMapBescheidToItem {
-
-		@Test
-		void shouldSetBewilligt() {
-			var result = mapper.mapToItem(BescheidTestFactory.create());
-
-			assertThat(result).containsEntry(Bescheid.FIELD_BEWILLIGT, BescheidTestFactory.BEWILLIGT);
-		}
-
-		@Test
-		void shouldSetBeschiedenAm() {
-			var result = mapper.mapToItem(BescheidTestFactory.create());
-
-			assertThat(result).containsEntry(Bescheid.FIELD_BESCHIEDEN_AM, BescheidTestFactory.BESCHIEDEN_AM_STR);
-		}
-
-		@Test
-		void shouldSetStatus() {
-			var result = mapper.mapToItem(BescheidTestFactory.create());
-
-			assertThat(result).containsEntry(Bescheid.FIELD_STATUS, BescheidTestFactory.STATUS.name());
-		}
-
-		@Test
-		void shouldSetBescheidDocument() {
-			var result = mapper.mapToItem(BescheidTestFactory.create());
-
-			assertThat(result.get(Bescheid.FIELD_BESCHEID_DOCUMENT)).hasToString(DocumentTestFactory.ID);
-		}
-
-		@Test
-		void shouldSetSendBy() {
-			var result = mapper.mapToItem(BescheidTestFactory.create());
-
-			assertThat(result).containsEntry(Bescheid.FIELD_SEND_BY, BescheidTestFactory.SEND_BY.name());
-		}
-
-		@Test
-		void shouldSetNachrichtSubject() {
-			var result = mapper.mapToItem(BescheidTestFactory.create());
-
-			assertThat(result).containsEntry(Bescheid.FIELD_NACHRICHT_SUBJECT, BescheidTestFactory.NACHRICHT_SUBJECT);
-		}
-
-		@Test
-		void shouldSetNachrichtText() {
-			var result = mapper.mapToItem(BescheidTestFactory.create());
-
-			assertThat(result).containsEntry(Bescheid.FIELD_NACHRICHT_TEXT, BescheidTestFactory.NACHRICHT_TEXT);
-		}
-
-		@Test
-		void shouldCallSentInfoMapper() {
-			mapper.mapToItem(BescheidTestFactory.create());
-
-			verify(sentInfoMapper).toMap(BescheidTestFactory.SENT_INFO);
-		}
-
-		@Test
-		void shouldSetSentInfo() {
-			var result = mapper.mapToItem(BescheidTestFactory.create());
-
-			assertThat(result).containsEntry(Bescheid.FIELD_SENT_INFO, SentInfoTestFactory.asMap());
-		}
-
-		@Test
-		void shouldSetAttachments() {
-			var result = mapper.mapToItem(BescheidTestFactory.create());
-
-			assertThat(result).containsEntry(Bescheid.FIELD_ATTACHMENTS,
-					List.of(BescheidTestFactory.ATTACHMENT_STR, BescheidTestFactory.ATTACHMENT_STR));
-		}
-
-		@Test
-		void shouldNotAddEmptyEntries() {
-			var result = mapper.mapToItem(Bescheid.builder().build());
-
-			assertThat(result).containsOnlyKeys(Bescheid.FIELD_BEWILLIGT);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidTestFactory.java
deleted file mode 100644
index f1dc5b994..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidTestFactory.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-import java.time.LocalDate;
-import java.util.List;
-import java.util.Optional;
-import java.util.UUID;
-
-import com.thedeanda.lorem.LoremIpsum;
-
-import de.ozgcloud.bescheid.vorgang.VorgangTestFactory;
-import de.ozgcloud.common.attached_item.AttachedItemTestFactory;
-import de.ozgcloud.common.binaryfile.FileId;
-import de.ozgcloud.document.DocumentTestFactory;
-import de.ozgcloud.document.bescheid.Bescheid;
-import de.ozgcloud.document.bescheid.Bescheid.SendBy;
-import de.ozgcloud.document.bescheid.Bescheid.Status;
-import de.ozgcloud.document.bescheid.BescheidId;
-import de.ozgcloud.document.bescheid.SentInfo;
-import de.ozgcloud.document.bescheid.common.user.UserProfileTestFactory;
-
-public class BescheidTestFactory {
-
-	public final static boolean BEWILLIGT = true;
-
-	public final static BescheidId ID = BescheidId.from(AttachedItemTestFactory.ID);
-	public final static Status STATUS = Status.DRAFT;
-	public final static String BESCHIEDEN_AM_STR = "2021-01-10";
-	public final static LocalDate BESCHIEDEN_AM = LocalDate.parse(BESCHIEDEN_AM_STR);
-	public final static SendBy SEND_BY = SendBy.NACHRICHT;
-
-	public final static String NACHRICHT_TEXT = LoremIpsum.getInstance().getWords(5);
-	public final static String NACHRICHT_SUBJECT = LoremIpsum.getInstance().getWords(5);
-
-	public final static String ATTACHMENT_STR = UUID.randomUUID().toString();
-	public final static FileId ATTACHMENT = FileId.from(ATTACHMENT_STR);
-	public final static List<FileId> ATTACHMENTS = List.of(ATTACHMENT, ATTACHMENT);
-
-	public final static SentInfo SENT_INFO = SentInfoTestFactory.create();
-
-	public static Bescheid create() {
-		return createBuilder().build();
-	}
-
-	public static Bescheid.BescheidBuilder createBuilder() {
-		return Bescheid.builder()
-				.id(ID)
-				.version(AttachedItemTestFactory.VERSION)
-				.vorgangId(VorgangTestFactory.ID)
-				.createdBy(UserProfileTestFactory.ID)
-				.bewilligt(BEWILLIGT)
-				.status(STATUS)
-				.bescheidDocument(FileId.from(DocumentTestFactory.ID))
-				.beschiedenAm(BESCHIEDEN_AM)
-				.sendBy(SEND_BY)
-				.sentInfo(SENT_INFO)
-				.nachrichtSubject(Optional.of(NACHRICHT_SUBJECT))
-				.nachrichtText(Optional.of(NACHRICHT_TEXT))
-				.attachments(ATTACHMENTS);
-	}
-}
\ No newline at end of file
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcBescheidManagerConfigResponseTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcBescheidManagerConfigResponseTestFactory.java
deleted file mode 100644
index 2657fdf48..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcBescheidManagerConfigResponseTestFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-public class GrpcBescheidManagerConfigResponseTestFactory {
-
-	public static GrpcBescheidManagerConfigResponse create() {
-		return createBuilder().build();
-	}
-
-	public static GrpcBescheidManagerConfigResponse.Builder createBuilder() {
-		return GrpcBescheidManagerConfigResponse.newBuilder()
-				.setVersion(BescheidManagerConfigTestFactory.VERSION)
-				.setJavaVersion(BescheidManagerConfigTestFactory.JAVA_VERSION)
-				.setFeatures(GrpcBescheidManagerFeatures.newBuilder().setCanCreateBescheidDocument(true).build());
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcBescheidTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcBescheidTestFactory.java
deleted file mode 100644
index 6b0aade2a..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcBescheidTestFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-class GrpcBescheidTestFactory {
-
-	public static GrpcBescheid create() {
-		return createBuilder().build();
-	}
-
-	public static GrpcBescheid.Builder createBuilder() {
-		return GrpcBescheid.newBuilder()
-				.setBewilligt(BescheidTestFactory.BEWILLIGT)
-				.setNachrichtText(BescheidTestFactory.NACHRICHT_TEXT);
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcBescheidWithoutDocumentTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcBescheidWithoutDocumentTestFactory.java
deleted file mode 100644
index 63fc4ee48..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcBescheidWithoutDocumentTestFactory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-import de.ozgcloud.common.attached_item.AttachedItemTestFactory;
-import de.ozgcloud.common.binaryfile.FileId;
-import de.ozgcloud.document.DocumentTestFactory;
-
-public class GrpcBescheidWithoutDocumentTestFactory {
-
-	public static GrpcBescheid create() {
-		return createBuilder().build();
-	}
-
-	public static GrpcBescheid.Builder createBuilder() {
-		return GrpcBescheid.newBuilder()
-				.setId(AttachedItemTestFactory.ID)
-				.setVersion(AttachedItemTestFactory.VERSION)
-				.setStatus(BescheidTestFactory.STATUS.name())
-				.setBeschiedenAm(BescheidTestFactory.BESCHIEDEN_AM_STR)
-				.setBewilligt(BescheidTestFactory.BEWILLIGT)
-				.setBescheidDocument(DocumentTestFactory.ID)
-				.addAllAttachments(BescheidTestFactory.ATTACHMENTS.stream().map(FileId::toString).toList())
-				.setSendBy(BescheidTestFactory.SEND_BY.name())
-				.setNachrichtText(BescheidTestFactory.NACHRICHT_TEXT)
-				.setNachrichtSubject(BescheidTestFactory.NACHRICHT_SUBJECT)
-				.setSentInfo(GrpcSentInfoTestFactory.create());
-	}
-}
\ No newline at end of file
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetAllBescheidRequestTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetAllBescheidRequestTestFactory.java
deleted file mode 100644
index 22d51915f..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetAllBescheidRequestTestFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-import de.ozgcloud.bescheid.vorgang.VorgangTestFactory;
-
-public class GrpcGetAllBescheidRequestTestFactory {
-
-	public static GrpcGetAllBescheidRequest create() {
-		return createBuilder().build();
-	}
-
-	public static GrpcGetAllBescheidRequest.Builder createBuilder() {
-		return GrpcGetAllBescheidRequest.newBuilder()
-				.setVorgangId(VorgangTestFactory.ID_STR);
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidDraftRequestTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidDraftRequestTestFactory.java
deleted file mode 100644
index 0440b2611..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidDraftRequestTestFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-import de.ozgcloud.bescheid.vorgang.VorgangTestFactory;
-
-public class GrpcGetBescheidDraftRequestTestFactory {
-
-	public static GrpcGetBescheidDraftRequest create() {
-		return createBuilder().build();
-	}
-
-	public static GrpcGetBescheidDraftRequest.Builder createBuilder() {
-		return GrpcGetBescheidDraftRequest.newBuilder()
-				.setVorgangId(VorgangTestFactory.ID_STR);
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidDraftResponseTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidDraftResponseTestFactory.java
deleted file mode 100644
index 194ab93d8..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidDraftResponseTestFactory.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-public class GrpcGetBescheidDraftResponseTestFactory {
-
-	public static GrpcGetBescheidDraftResponse create() {
-		return createBuilder().build();
-	}
-
-	public static GrpcGetBescheidDraftResponse.Builder createBuilder() {
-		return GrpcGetBescheidDraftResponse.newBuilder()
-				.setBescheid(GrpcBescheidWithoutDocumentTestFactory.create());
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidRequestTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidRequestTestFactory.java
deleted file mode 100644
index f75a24c13..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidRequestTestFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-import de.ozgcloud.common.attached_item.AttachedItemTestFactory;
-
-public class GrpcGetBescheidRequestTestFactory {
-
-	public static GrpcGetBescheidRequest create() {
-		return createBuilder().build();
-	}
-
-	public static GrpcGetBescheidRequest.Builder createBuilder() {
-		return GrpcGetBescheidRequest.newBuilder()
-				.setId(AttachedItemTestFactory.ID);
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidResponseTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidResponseTestFactory.java
deleted file mode 100644
index bb3d89186..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcGetBescheidResponseTestFactory.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-public class GrpcGetBescheidResponseTestFactory {
-
-	public static GrpcGetBescheidResponse create() {
-		return createBuilder().build();
-	}
-
-	public static GrpcGetBescheidResponse.Builder createBuilder() {
-		return GrpcGetBescheidResponse.newBuilder()
-				.setBescheid(GrpcBescheidWithoutDocumentTestFactory.create());
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcSentInfoTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcSentInfoTestFactory.java
deleted file mode 100644
index f4294c9a9..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/GrpcSentInfoTestFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-public class GrpcSentInfoTestFactory {
-
-	public static GrpcSentInfo create() {
-		return createBuilder().build();
-	}
-
-	public static GrpcSentInfo.Builder createBuilder() {
-		return GrpcSentInfo.newBuilder()
-				.setSentAt(SentInfoTestFactory.SENT_AT_STR)
-				.setSentBy(SentInfoTestFactory.SENT_BY);
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/SentInfoMapperTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/SentInfoMapperTest.java
deleted file mode 100644
index 763eb8a0a..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/SentInfoMapperTest.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-import static org.assertj.core.api.Assertions.*;
-
-import org.junit.jupiter.api.DisplayName;
-import org.junit.jupiter.api.Nested;
-import org.junit.jupiter.api.Test;
-import org.mapstruct.factory.Mappers;
-
-class SentInfoMapperTest {
-
-	private final SentInfoMapper mapper = Mappers.getMapper(SentInfoMapper.class);
-
-	@DisplayName("Map to")
-	@Nested
-	class TestMapTo {
-
-		@Test
-		void shouldMap() {
-			var mappedSentInfo = mapper.mapTo(SentInfoTestFactory.create());
-
-			assertThat(mappedSentInfo).usingRecursiveComparison().isEqualTo(GrpcSentInfoTestFactory.create());
-		}
-	}
-
-	@DisplayName("Map to SentInfo")
-	@Nested
-	class TestToSentInfo {
-
-		@Test
-		void shouldMap() {
-			var mappedSentInfo = mapper.toSentInfo(SentInfoTestFactory.asMap());
-
-			assertThat(mappedSentInfo).usingRecursiveComparison().isEqualTo(SentInfoTestFactory.create());
-		}
-	}
-
-	@DisplayName("As map")
-	@Nested
-	class TestAsMap {
-
-		@Test
-		void shouldMap() {
-			var mappedSentInfo = mapper.toMap(SentInfoTestFactory.create());
-
-			assertThat(mappedSentInfo).isEqualTo(SentInfoTestFactory.asMap());
-		}
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/SentInfoTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/SentInfoTestFactory.java
deleted file mode 100644
index 9f37996ad..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/SentInfoTestFactory.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid;
-
-import java.time.ZonedDateTime;
-import java.util.Map;
-
-import de.ozgcloud.document.bescheid.SentInfo;
-import de.ozgcloud.document.bescheid.SentInfo.SentInfoBuilder;
-
-public class SentInfoTestFactory {
-
-	public static final String SENT_BY = "sent-by-user";
-	public static final String SENT_AT_STR = "2024-01-01T00:00:00Z";
-	public static final ZonedDateTime SENT_AT = ZonedDateTime.parse(SENT_AT_STR);
-
-	public static SentInfo create() {
-		return createBuilder().build();
-	}
-
-	public static SentInfoBuilder createBuilder() {
-		return SentInfo.builder()
-				.sentBy(SENT_BY)
-				.sentAt(SENT_AT);
-	}
-
-	public static Map<String, Object> asMap() {
-		return Map.of(
-				SentInfo.FIELD_SENT_BY, SentInfoTestFactory.SENT_BY,
-				SentInfo.FIELD_SENT_AT, SentInfoTestFactory.SENT_AT_STR);
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/PostfachAddressTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/PostfachAddressTestFactory.java
deleted file mode 100644
index 8543f3ccc..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/PostfachAddressTestFactory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid.vorgang;
-
-import java.util.Map;
-import java.util.UUID;
-
-import de.ozgcloud.document.bescheid.vorgang.Vorgang;
-import de.ozgcloud.document.bescheid.vorgang.Vorgang.PostfachAddress.PostfachAddressBuilder;
-
-public class PostfachAddressTestFactory {
-
-	public static final String POSTFACH_ID = UUID.randomUUID().toString();
-	public static final String FIELD_POSTFACH_ID = "postfachId";
-
-	public static final int TYPE = 1;
-	public static final String VERSION = "1.0";
-
-	public static Vorgang.PostfachAddress create() {
-		return createBuilder().build();
-	}
-
-	public static PostfachAddressBuilder createBuilder() {
-		return Vorgang.PostfachAddress.builder()
-				.type(TYPE)
-				.version(VERSION)
-				.identifier(Map.of(FIELD_POSTFACH_ID, POSTFACH_ID));
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/ServiceKontoTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/ServiceKontoTestFactory.java
deleted file mode 100644
index aca9cb3f0..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/ServiceKontoTestFactory.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid.vorgang;
-
-import de.ozgcloud.document.bescheid.vorgang.Vorgang.ServiceKonto;
-
-public class ServiceKontoTestFactory {
-
-	public static final String TYPE = "type";
-
-	public static ServiceKonto create() {
-		return createBuilder().build();
-	}
-
-	public static ServiceKonto.ServiceKontoBuilder createBuilder() {
-		return ServiceKonto.builder()
-				.type(TYPE)
-				.postfachAddress(PostfachAddressTestFactory.create());
-	}
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/VorgangTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/VorgangTestFactory.java
deleted file mode 100644
index b8ff7d6ec..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/VorgangTestFactory.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.bescheid.vorgang;
-
-import java.util.UUID;
-
-import de.ozgcloud.document.bescheid.vorgang.Vorgang;
-import de.ozgcloud.document.bescheid.vorgang.VorgangId;
-
-public class VorgangTestFactory {
-
-	public static final String ID_STR = UUID.randomUUID().toString();
-	public static final VorgangId ID = VorgangId.from(ID_STR);
-	public static final long VERSION = 1L;
-
-	public static Vorgang create() {
-		return createBuilder().build();
-	}
-
-	public static Vorgang.VorgangBuilder createBuilder() {
-		return Vorgang.builder()
-				.id(ID)
-				.version(VERSION)
-				.serviceKonto(ServiceKontoTestFactory.create())
-				.vorgangName("KFAS_LIVE_KI_10_Haltverbot_befristet")
-				.vorgangNummer("ABC-123-XY")
-				.aktenzeichen("DE-HÖÄ-003");
-	}
-
-}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/common/attached_item/AttachedItemTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/common/attached_item/AttachedItemTestFactory.java
deleted file mode 100644
index 1af82ad13..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/common/attached_item/AttachedItemTestFactory.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.common.attached_item;
-
-import static de.ozgcloud.bescheid.SentInfoTestFactory.*;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import de.ozgcloud.bescheid.BescheidTestFactory;
-import de.ozgcloud.bescheid.SentInfoTestFactory;
-import de.ozgcloud.bescheid.vorgang.VorgangTestFactory;
-import de.ozgcloud.command.CommandTestFactory;
-import de.ozgcloud.common.binaryfile.FileId;
-import de.ozgcloud.document.Document;
-import de.ozgcloud.document.DocumentService;
-import de.ozgcloud.document.DocumentTestFactory;
-import de.ozgcloud.document.bescheid.Bescheid;
-import de.ozgcloud.document.bescheid.SentInfo;
-import de.ozgcloud.document.bescheid.common.user.UserProfileTestFactory;
-import de.ozgcloud.document.common.attached_item.AttachedItem;
-import de.ozgcloud.document.common.attached_item.AttachedItem.AttachedItemBuilder;
-import de.ozgcloud.document.common.attached_item.AttachedItemService;
-
-public class AttachedItemTestFactory {
-
-	public static final String ID = "bescheid-item-id";
-	public static final long VERSION = 10L;
-	public static final String CLIENT = "client";
-	public static final Map<String, Object> SENT_INFO = SentInfoTestFactory.asMap();
-
-	public static AttachedItem create() {
-		return createBuilder().build();
-	}
-
-	public static AttachedItem createBescheid() {
-		return createBescheidBuilder().build();
-	}
-
-	public static AttachedItem.AttachedItemBuilder createBescheidBuilder() {
-		return createBuilder()
-				.itemName(AttachedItemService.BESCHEID_ITEM_NAME)
-				.item(createBescheidItem());
-	}
-
-	public static Map<String, Object> createBescheidItem() {
-		var item = new HashMap<String, Object>();
-		item.put(Bescheid.FIELD_STATUS, BescheidTestFactory.STATUS.name());
-		item.put(Bescheid.FIELD_BESCHIEDEN_AM, BescheidTestFactory.BESCHIEDEN_AM_STR);
-		item.put(Bescheid.FIELD_BEWILLIGT, BescheidTestFactory.BEWILLIGT);
-		item.put(Bescheid.FIELD_BESCHEID_DOCUMENT, DocumentTestFactory.ID);
-		item.put(Bescheid.FIELD_ATTACHMENTS, new ArrayList<>(List.of(BescheidTestFactory.ATTACHMENT_STR, BescheidTestFactory.ATTACHMENT_STR)));
-		item.put(Bescheid.FIELD_SEND_BY, BescheidTestFactory.SEND_BY.name());
-		item.put(Bescheid.FIELD_NACHRICHT_TEXT, BescheidTestFactory.NACHRICHT_TEXT);
-		item.put(Bescheid.FIELD_NACHRICHT_SUBJECT, BescheidTestFactory.NACHRICHT_SUBJECT);
-		item.put(Bescheid.FIELD_CREATED_BY, UserProfileTestFactory.ID_STR);
-		item.put(Bescheid.FIELD_SENT_INFO, SENT_INFO);
-		return item;
-	}
-
-	public static AttachedItem createBescheidWithoutDocument() {
-		return createBescheidWithoutDocumentBuilder().build();
-	}
-
-	public static AttachedItem.AttachedItemBuilder createBescheidWithoutDocumentBuilder() {
-		return createBuilder()
-				.itemName(AttachedItemService.BESCHEID_ITEM_NAME)
-				.item(createBescheidItemWithoutDocument());
-	}
-
-	private static Map<String, Object> createBescheidItemWithoutDocument() {
-		var item = new HashMap<String, Object>();
-		item.put(AttachedItem.PROPERTY_ID, AttachedItemTestFactory.ID);
-		item.put(AttachedItem.PROPERTY_VERSION, AttachedItemTestFactory.VERSION);
-		item.put(Bescheid.FIELD_VORGANG_ID, VorgangTestFactory.ID);
-		item.put(Bescheid.FIELD_CREATED_BY, UserProfileTestFactory.ID);
-		item.put(Bescheid.FIELD_STATUS, BescheidTestFactory.STATUS.name());
-		item.put(Bescheid.FIELD_BESCHIEDEN_AM, BescheidTestFactory.BESCHIEDEN_AM);
-		item.put(Bescheid.FIELD_BEWILLIGT, BescheidTestFactory.BEWILLIGT);
-		item.put(Bescheid.FIELD_BESCHEID_DOCUMENT, FileId.from(DocumentTestFactory.ID));
-		item.put(Bescheid.FIELD_ATTACHMENTS, BescheidTestFactory.ATTACHMENTS);
-		item.put(Bescheid.FIELD_SEND_BY, BescheidTestFactory.SEND_BY.name());
-		item.put(Bescheid.FIELD_NACHRICHT_TEXT, BescheidTestFactory.NACHRICHT_TEXT);
-		item.put(Bescheid.FIELD_NACHRICHT_SUBJECT, BescheidTestFactory.NACHRICHT_SUBJECT);
-		item.put(Bescheid.FIELD_SENT_INFO, Map.of(
-				SentInfo.FIELD_SENT_BY, SENT_BY,
-				SentInfo.FIELD_SENT_AT, SENT_AT_STR));
-		return item;
-	}
-
-	public static AttachedItem createDocument() {
-		return createDocumentBuilder().build();
-	}
-
-	public static AttachedItem.AttachedItemBuilder createDocumentBuilder() {
-		return createBuilder()
-				.itemName(DocumentService.DOCUMENT_ITEM_NAME)
-				.item(createDocumentItem());
-	}
-
-	public static HashMap<String, Object> createDocumentItem() {
-		var map = new HashMap<String, Object>();
-		map.put(Document.FIELD_DOCUMENT_TYPE, DocumentService.DOCUMENT_TYPE);
-		map.put(Document.FIELD_DOCUMENT_FILE, DocumentTestFactory.DOCUMENT_FILE);
-		map.put(Document.FIELD_NACHRICHT_TEXT, DocumentTestFactory.NACHRICHT_TEXT);
-		map.put(Document.FIELD_NACHRICHT_SUBJECT, DocumentTestFactory.NACHRICHT_SUBJECT);
-		return map;
-	}
-
-	public static AttachedItemBuilder createBuilder() {
-		return AttachedItem.builder()
-				.id(ID)
-				.version(VERSION)
-				.client(CLIENT)
-				.vorgangId(CommandTestFactory.VORGANG_ID);
-	}
-}
\ No newline at end of file
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentTestFactory.java
deleted file mode 100644
index 0484d6f54..000000000
--- a/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentTestFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.document;
-
-import de.ozgcloud.document.Document.DocumentBuilder;
-
-public class DocumentTestFactory {
-
-	public static final String ID = "documentId";
-	public static final String TYPE = "type";
-	public static final String DOCUMENT_FILE = "file-id";
-	public static final String NACHRICHT_SUBJECT = "subject";
-	public static final String NACHRICHT_TEXT = "text";
-
-	public static Document create() {
-		return createBuilder().build();
-	}
-
-	public static DocumentBuilder createBuilder() {
-		return Document.builder()
-				.id(ID)
-				.type(TYPE)
-				.fileId(DOCUMENT_FILE)
-				.nachrichtSubject(NACHRICHT_SUBJECT)
-				.nachrichtText(NACHRICHT_TEXT);
-	}
-}
diff --git a/bescheid-manager/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/bescheid-manager/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
deleted file mode 100644
index 79b126e6c..000000000
--- a/bescheid-manager/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
+++ /dev/null
@@ -1 +0,0 @@
-org.mockito.junit.jupiter.MockitoExtension
\ No newline at end of file
diff --git a/bescheid-manager/src/test/resources/SD_answer.xml b/bescheid-manager/src/test/resources/SD_answer.xml
deleted file mode 100644
index 172f70cc7..000000000
--- a/bescheid-manager/src/test/resources/SD_answer.xml
+++ /dev/null
@@ -1,393 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<root>
-   <SmartDocument Version="2.0">
-      <Selection>
-         <TypistID>E53F295BC2794A6697155664D0F30880</TypistID>
-         <UserGroupID>88FC6F29D71C4BB096B71BC9B3C860F8</UserGroupID>
-         <AuthorID>E53F295BC2794A6697155664D0F30880</AuthorID>
-         <TemplateGroupID>94A1C1208DF0479CB58E3CFB0A6057BC</TemplateGroupID>
-         <Template>KFAS_LIVE_KI_10_Haltverbot_befristet</Template>
-         <TemplateID Timestamp="1704722931920">7ACEA5AE7C3642978ACCC48182EBCD6E</TemplateID>
-         <Blocks>
-            <Block VersionID="15DCCB4DFE1A414796EBA44352C7AAFF">CC2A9C0E14164B9A967CEE8DCD41B3B5</Block>
-            <Placeholders>
-               <Placeholder ID="125E766AF0424D4992F8F04C806F75EB">CC2A9C0E14164B9A967CEE8DCD41B3B5</Placeholder>
-            </Placeholders>
-         </Blocks>
-      </Selection>
-      <Variables/>
-      <QuestionAnswers>
-         <Question ID="07BE1279C0504852AEFBB264D165E139"
-                   Description="Tagesdatum"
-                   OriginalValue="2024-01-08"><![CDATA[08.01.2024]]></Question>
-         <Question ID="23BB945F7BA44321B09A0A984D541DD1"
-                   Description="Tage Halteverbot"
-                   ContentId="23BB945F7BA44321B09A0A984D541DD1"
-                   IsFormatted="true"
-                   ContentType="XML">
-            <Records>
-               <Record>
-                  <Field Name="71F5F35C4FD94982A1F8321A73E9B593">
-                     <Value><![CDATA[nein]]></Value>
-                     <QuestionAnswers>
-                        <Question ID="58F6E456AE1F4E13907D78E158BF4847" Description="Freitag">
-                           <Answer ID="313DC774D89E45D8864FC33983C95923"
-                                   Description="Nein"
-                                   IsFormatted="true"
-                                   ContentId="313DC774D89E45D8864FC33983C95923"/>
-                        </Question>
-                     </QuestionAnswers>
-                  </Field>
-                  <Field Name="B66C9D21D31A4293852EEDCAB57C593B">
-                     <Value><![CDATA[nein]]></Value>
-                     <QuestionAnswers>
-                        <Question ID="EF33891FF01A42B0BEFB1E78E3FC023D" Description="Samstag">
-                           <Answer ID="24CD7BEAB973475A998C7EAB9C4D1AE3"
-                                   Description="Nein"
-                                   IsFormatted="true"
-                                   ContentId="24CD7BEAB973475A998C7EAB9C4D1AE3"/>
-                        </Question>
-                     </QuestionAnswers>
-                  </Field>
-                  <Field Name="67082AAB675E457180A7014531C46CB3">
-                     <Value><![CDATA[nein]]></Value>
-                     <QuestionAnswers>
-                        <Question ID="60C6CD1F29084A26BEC493A862583AAB" Description="Montag">
-                           <Answer ID="13A1D81A4DB74AAEB2A6E684C575B768"
-                                   Description="Nein"
-                                   IsFormatted="true"
-                                   ContentId="13A1D81A4DB74AAEB2A6E684C575B768"/>
-                        </Question>
-                     </QuestionAnswers>
-                  </Field>
-                  <Field Name="3FD23F8F98EF459A95B50448DEDFF20E">
-                     <Value><![CDATA[ja]]></Value>
-                     <QuestionAnswers>
-                        <Question ID="C8BC6BFFE8BE4E6BBDC4CBCD34377DB2" Description="Mittwoch">
-                           <Answer ID="97B676CAC9B74D00B574F319B2D20BB5"
-                                   Description="Ja"
-                                   IsFormatted="true"
-                                   ContentId="97B676CAC9B74D00B574F319B2D20BB5"/>
-                        </Question>
-                     </QuestionAnswers>
-                  </Field>
-                  <Field Name="09658B4DA4BB4295822A42C0AA8FC2EC">
-                     <Value><![CDATA[nein]]></Value>
-                     <QuestionAnswers>
-                        <Question ID="39BF39565D4043078ABEEC9601A091E7" Description="Donnerstag">
-                           <Answer ID="8D4A19B4D3AF448FB720E9160E7A40D2"
-                                   Description="Nein"
-                                   IsFormatted="true"
-                                   ContentId="8D4A19B4D3AF448FB720E9160E7A40D2"/>
-                        </Question>
-                     </QuestionAnswers>
-                  </Field>
-                  <Field Name="975867EBE97547ACA6B8D85F1D8D39C8">
-                     <Value><![CDATA[nein]]></Value>
-                     <QuestionAnswers>
-                        <Question ID="03906ABB93494C6EB087D87C4C70217C" Description="Dienstag">
-                           <Answer ID="B9ACD0E74C6B41BEA700C9EB8FCFFC25"
-                                   Description="Nein"
-                                   IsFormatted="true"
-                                   ContentId="B9ACD0E74C6B41BEA700C9EB8FCFFC25"/>
-                        </Question>
-                     </QuestionAnswers>
-                  </Field>
-                  <Field Name="AF89873144744EDC9A1B78776F3D25F5">
-                     <Value><![CDATA[nein]]></Value>
-                     <QuestionAnswers>
-                        <Question ID="06349259221C4DEFBB4FE9FD33D76403" Description="Sonntag">
-                           <Answer ID="853ED74B536C4BD8AF95193450F18201"
-                                   Description="Nein"
-                                   IsFormatted="true"
-                                   ContentId="853ED74B536C4BD8AF95193450F18201"/>
-                        </Question>
-                     </QuestionAnswers>
-                  </Field>
-               </Record>
-            </Records>
-         </Question>
-         <Question ID="28CB094DAD1A4604B08CE7C5D2177C03" Description="Beschilderung">
-            <Answer ID="D2CA0BC90987429DA8CCF855C496DBAB"
-                    Description="Ja"
-                    IsFormatted="true"
-                    ContentId="D2CA0BC90987429DA8CCF855C496DBAB"/>
-         </Question>
-         <Question ID="736372FDB0A2407CBBFB15DE71FD1450"
-                   Description="Geschlecht Antragssteller">
-            <Answer ID="4E80D616EB364F2EA9C567C1D7F8AED8"
-                    Description="männlich"
-                    IsFormatted="true"
-                    ContentId="4E80D616EB364F2EA9C567C1D7F8AED8"/>
-         </Question>
-         <Question ID="97E309BDBDB548F48D162D289056B313" Description="Uhrzeit Halteverbot">
-            <Answer ID="E45BE1342D5F43D59E21986C377DA1B0"
-                    Description="ganztägig"
-                    IsFormatted="true"
-                    ContentId="E45BE1342D5F43D59E21986C377DA1B0"/>
-         </Question>
-         <Question ID="992F241A1DF4497A8B4568E69B9C567C"
-                   Description="Vor Ort geltende Parkregelung">
-            <Answer ID="7437DBBAAA6F468DBFAC138607C123FA"
-                    Description="Parken am Seitenstreifen"
-                    IsFormatted="true"
-                    ContentId="7437DBBAAA6F468DBFAC138607C123FA"/>
-         </Question>
-         <Question ID="9BD81FB0E5FF4235A094BE3D21544615"
-                   Description="Name Ansprechperson / Firma"
-                   AlternativeParentID="736372FDB0A2407CBBFB15DE71FD1450">
-            <Answer ID="CCD833A8C8C34E5D9564676CAFCF4DD8"
-                    Description="männlich"
-                    IsFormatted="true"
-                    ContentId="CCD833A8C8C34E5D9564676CAFCF4DD8"/>
-         </Question>
-         <Question ID="9CE081D9122E43B1B778863AE32AB29F" Description="Protokoll">
-            <Answer ID="C2E7328389584B33A0D4DB82D8FA2671"
-                    Description="Ja"
-                    IsFormatted="true"
-                    ContentId="C2E7328389584B33A0D4DB82D8FA2671"/>
-         </Question>
-         <Question ID="B651AC699A4F4B768DC34DE87BBD578C"
-                   Description="Gründe für Halteverbot"
-                   ContentId="B651AC699A4F4B768DC34DE87BBD578C"
-                   IsFormatted="true"
-                   ContentType="XML">
-            <Records>
-               <Record>
-                  <Field Name="DE3D244EB8754929955FF571D374C635">
-                     <Value><![CDATA[nein]]></Value>
-                     <QuestionAnswers>
-                        <Question ID="35AECC80B19C426CAB60195F0839E968" Description="Container">
-                           <Answer ID="9034F5BDB3CE48429C95D7E8C5144E35"
-                                   Description="Nein"
-                                   IsFormatted="true"
-                                   ContentId="9034F5BDB3CE48429C95D7E8C5144E35"/>
-                        </Question>
-                     </QuestionAnswers>
-                  </Field>
-                  <Field Name="4EE22B7DF177414796C4458EDA2BDAAD">
-                     <Value><![CDATA[nein]]></Value>
-                     <QuestionAnswers>
-                        <Question ID="A167DD3CA6B14A459F350FFD725FD121" Description="Baufahrzeug">
-                           <Answer ID="D4D84D211E5640F4921BB280026B786C"
-                                   Description="Nein"
-                                   IsFormatted="true"
-                                   ContentId="D4D84D211E5640F4921BB280026B786C"/>
-                        </Question>
-                     </QuestionAnswers>
-                  </Field>
-                  <Field Name="D406E7038AD64786AC0E54C8033BAAB0">
-                     <Value><![CDATA[nein]]></Value>
-                     <QuestionAnswers>
-                        <Question ID="CB595FC6EC054D408FFCA67ACA1E33D6" Description="Materiallagerung">
-                           <Answer ID="A74A7B407B5B4681BF254948837912AC"
-                                   Description="Nein"
-                                   IsFormatted="true"
-                                   ContentId="A74A7B407B5B4681BF254948837912AC"/>
-                        </Question>
-                     </QuestionAnswers>
-                  </Field>
-                  <Field Name="2BBBB7D558014C4297747D4E841CBB93">
-                     <Value><![CDATA[ja]]></Value>
-                     <QuestionAnswers>
-                        <Question ID="38B11C2200034615B41F7DB88136B2C6" Description="Umzug">
-                           <Answer ID="D7B3F786760D48DBAEE9DC3A8F555EA8"
-                                   Description="Ja"
-                                   IsFormatted="true"
-                                   ContentId="D7B3F786760D48DBAEE9DC3A8F555EA8"/>
-                        </Question>
-                     </QuestionAnswers>
-                  </Field>
-                  <Field Name="6B173C517C4F48C7A8E212E6CF2ACF23">
-                     <Value><![CDATA[nein]]></Value>
-                     <QuestionAnswers>
-                        <Question ID="C67E6013B0554AEC9EDF897DD29794C3" Description="Hubsteiger / Kran">
-                           <Answer ID="FF2D2B532E3343228C59C072DCE783C1"
-                                   Description="Nein"
-                                   IsFormatted="true"
-                                   ContentId="FF2D2B532E3343228C59C072DCE783C1"/>
-                        </Question>
-                     </QuestionAnswers>
-                  </Field>
-                  <Field Name="AB9698E6B2EA4DAAB0A0F51E2B127F32">
-                     <Value><![CDATA[nein]]></Value>
-                     <QuestionAnswers>
-                        <Question ID="8356F526632542AEA6D30E41B4FF4872" Description="sonstiges">
-                           <Answer ID="A2776865599D44C28213EACCC0861BE5"
-                                   Description="Nein"
-                                   IsFormatted="true"
-                                   ContentId="A2776865599D44C28213EACCC0861BE5"/>
-                        </Question>
-                     </QuestionAnswers>
-                  </Field>
-               </Record>
-            </Records>
-         </Question>
-         <Question ID="C7C9CCBF9633499EAB08D1BBB84BFD98" Description="Richtigkeit">
-            <Answer ID="386B6CDC94D2498F9576ED949322491C"
-                    Description="Ja"
-                    IsFormatted="true"
-                    ContentId="386B6CDC94D2498F9576ED949322491C"/>
-         </Question>
-         <Question ID="C7D1A20B17CD4C96BF55A2738B8A4631" Description="Kenntnisnahme">
-            <Answer ID="27B4C15818DD4F3087EF6D4822EE1215"
-                    Description="Ja"
-                    IsFormatted="true"
-                    ContentId="27B4C15818DD4F3087EF6D4822EE1215"/>
-         </Question>
-      </QuestionAnswers>
-      <Fields>
-         <Field ID="3C5C7920FB444A9DB2F5239339599BD7"/>
-         <Field ID="41237CC02584421A8D65990E7F78F833"><![CDATA[24]]></Field>
-         <Field ID="423CB6F4AEB54A44BC67F97626ADC06C"><![CDATA[christoph.steuber@kiel.de]]></Field>
-         <Field ID="442D48B946C64853B78DB99D9341AAC8"/>
-         <Field ID="4D4178B6F808409391990233D33BF54C"><![CDATA[21727]]></Field>
-         <Field ID="5AE5217E97F845B48D4274894BC2F043"/>
-         <Field ID="635CEB0B41DE44EFB2207122CCB8EE1D"><![CDATA[0431789456]]></Field>
-         <Field ID="6B06CD242FC64865BFC5B770BB03EAA4"><![CDATA[ESTORF]]></Field>
-         <Field ID="769E3AC926154741AABE870EB802E2AD"/>
-         <Field ID="7AF097E4E741455685CD543ABB7CE337"><![CDATA[OSTERBERG]]></Field>
-         <Field ID="8CA72E11F95F4352AE6FB8001BE79508"><![CDATA[06.12.2023]]></Field>
-         <Field ID="8D38662ADBF2408B8C8DDB5294A5A5A9"><![CDATA[Fleet]]></Field>
-         <Field ID="CA36A227CFEC4B89A40CA8B0CF4460C0"><![CDATA[9]]></Field>
-         <Field ID="CC330D642D7D465FA611D029F6A06344"/>
-         <Field ID="D316B8AE41A3496495C058CCB3766F3A"><![CDATA[CHRISTOPH ALÄXANDER]]></Field>
-         <Field ID="DB270EC247D5476A9D8BFA008E872D7D"><![CDATA[Kiel]]></Field>
-         <Field ID="DE7F7E00C8C246AEA9FFDF7F89E2FB03"><![CDATA[06.12.2023]]></Field>
-         <Field ID="F1826BE2F3D04E508F6401E8AA1D08C1"><![CDATA[10]]></Field>
-         <Field ID="FEC37A441C9D46189533DBD9CFD0E0E8"><![CDATA[STEUBER]]></Field>
-         <Field ID="FECCC52ABB614390BAE2577AD8C44262"><![CDATA[24103]]></Field>
-         <Field ID="root/CustomerData/Dateiname"><![CDATA[Fleet_9-Verk-AO_01-08_06.12.2023-06.12.2023]]></Field>
-         <NachrichtenText>Nachrichtentext</NachrichtenText>
-      </Fields>
-      <DocumentProperties>
-         <Guid>7ACEA5AE7C3642978ACCC48182EBCD6E</Guid>
-         <BuiltIn>
-            <creator>Pascal Sauermann</creator>
-         </BuiltIn>
-         <Extended/>
-         <Custom>
-            <Author name="Author"
-                    type="lpwstr"
-                    property="true"
-                    variable="false"
-                    xml="false">psa</Author>
-            <Typist name="Typist"
-                    type="lpwstr"
-                    property="true"
-                    variable="false"
-                    xml="false">psa</Typist>
-            <TemplateId name="TemplateId"
-                        type="lpwstr"
-                        property="true"
-                        variable="false"
-                        xml="false">7ACEA5AE7C3642978ACCC48182EBCD6E</TemplateId>
-            <Template name="Template"
-                      type="lpwstr"
-                      property="true"
-                      variable="false"
-                      xml="false">KFAS_LIVE_KI_10_Haltverbot_befristet</Template>
-         </Custom>
-      </DocumentProperties>
-   </SmartDocument>
-   <CustomerData>
-      <bescheid>
-         <bescheidVom/>
-         <genehmigt>true</genehmigt>
-      </bescheid>
-      <userData>
-         <firstName>Tobias</firstName>
-         <lastName>Bruns</lastName>
-         <email>tobias.bruns@external.mgm-tp.com</email>
-      </userData>
-      <vorgang>
-         <vorgangName>KFAS_LIVE_KI_10_Haltverbot_befristet</vorgangName>
-         <serviceKonto>
-            <type>OSI</type>
-            <postfachAddresses>
-               <item>
-                  <identifier>
-                     <postfachId>76f1ae54-1cf1-4ae1-c0b4-08d950d6cfc0</postfachId>
-                  </identifier>
-                  <type>1</type>
-                  <version>1.0</version>
-               </item>
-            </postfachAddresses>
-         </serviceKonto>
-         <eingang>
-            <zustaendigeStelle>
-               <organisationseinheitenId>268084622</organisationseinheitenId>
-               <email/>
-            </zustaendigeStelle>
-            <antragsteller>
-               <vorname>CHRISTOPH ALÄXANDER</vorname>
-               <nachname>STEUBER</nachname>
-            </antragsteller>
-            <formData>
-               <Stammdaten__Antragstellende_Person_>
-                  <Adresse_Kiel_vorbefüllt_mit_Kontaktdaten>
-                     <AS_E-Mail>christoph.steuber@kiel.de</AS_E-Mail>
-                     <Postleitzahl>21727</Postleitzahl>
-                     <AS_Telefon>0431789456</AS_Telefon>
-                     <Wohnort>ESTORF</Wohnort>
-                     <Straße>OSTERBERG</Straße>
-                     <Hausnummer>24</Hausnummer>
-                  </Adresse_Kiel_vorbefüllt_mit_Kontaktdaten>
-                  <Angabe_zur_Person__Firma>männlich</Angabe_zur_Person__Firma>
-                  <Verantwortliche_Person_für_die_Aufstellung_der_Beschilderung/>
-                  <AS_Name1>
-                     <AS_Name1>
-                        <AS_Vorname>CHRISTOPH ALÄXANDER</AS_Vorname>
-                        <AS_Name>STEUBER</AS_Name>
-                     </AS_Name1>
-                  </AS_Name1>
-               </Stammdaten__Antragstellende_Person_>
-               <Antrag_abschließen>
-                  <Ich_bestätige__dass_die_Beschilderung_entsprechend_den_wichtigen_Hinweisen_durchgeführt_wird>ja</Ich_bestätige__dass_die_Beschilderung_entsprechend_den_wichtigen_Hinweisen_durchgeführt_wird>
-                  <Hiermit_bestätige_ich_die_Kenntnisnahme_des_Vorgehens_bei_parkenden_KFZ>ja</Hiermit_bestätige_ich_die_Kenntnisnahme_des_Vorgehens_bei_parkenden_KFZ>
-                  <Ich_bestätige_hiermit__dass_ein_Protokoll_entsprechend_den_wichtigen_Hinweisen_erstellt_wird>ja</Ich_bestätige_hiermit__dass_ein_Protokoll_entsprechend_den_wichtigen_Hinweisen_erstellt_wird>
-                  <Hiermit_bestätige_ich_die_Richtigkeit_der_gemachten_Angaben>ja</Hiermit_bestätige_ich_die_Richtigkeit_der_gemachten_Angaben>
-               </Antrag_abschließen>
-               <Angaben_zur_Parkregelung_und_zur_Beschilderung>
-                  <Länge_der_Fläche_in_Metern>10</Länge_der_Fläche_in_Metern>
-                  <Ort_des_Haltverbotes>
-                     <Postleitzahl>24103</Postleitzahl>
-                     <Wohnort>Kiel</Wohnort>
-                     <Straße>Fleet</Straße>
-                     <Hausnummer>9</Hausnummer>
-                  </Ort_des_Haltverbotes>
-                  <Beginn_des_Haltverbotes>06.12.2023</Beginn_des_Haltverbotes>
-                  <Gründe>
-                     <Container>nein</Container>
-                     <Baufahrzeug>nein</Baufahrzeug>
-                     <Materiallagerung>nein</Materiallagerung>
-                     <Umzug>ja</Umzug>
-                     <Hubsteiger__Kran>nein</Hubsteiger__Kran>
-                     <Sonstiges>nein</Sonstiges>
-                  </Gründe>
-                  <Uhrzeit>
-                     <ganztägig>ja</ganztägig>
-                  </Uhrzeit>
-                  <Vor_Ort_geltende_Parkregelung>Parken am Seitenstreifen</Vor_Ort_geltende_Parkregelung>
-                  <Objektgruppe_Hinweis_kein_Abschleppen_möglich/>
-                  <Tage_Haltverbot>
-                     <Freitag>nein</Freitag>
-                     <Samstag>nein</Samstag>
-                     <Montag>nein</Montag>
-                     <Mittwoch>ja</Mittwoch>
-                     <Donnerstag>nein</Donnerstag>
-                     <Dienstag>nein</Dienstag>
-                     <Sonntag>nein</Sonntag>
-                  </Tage_Haltverbot>
-                  <Ende_des_Haltverbotes>06.12.2023</Ende_des_Haltverbotes>
-               </Angaben_zur_Parkregelung_und_zur_Beschilderung>
-               <Informationen_und_Hinweise_zu_erforderlichen_Unterlagen/>
-            </formData>
-         </eingang>
-         <vorgangNummer>KFAS_LIVE_KI_10_Haltverbot_befristet-GZpJckhu</vorgangNummer>
-         <aktenzeichen/>
-      </vorgang>
-      <Dateiname>Fleet_9-Verk-AO_01-08_06.12.2023-06.12.2023</Dateiname>
-      <Dateiname>Fleet_9-Verk-AO_01-08_06.12.2023-06.12.2023</Dateiname>
-   </CustomerData>
-</root>
\ No newline at end of file
diff --git a/bescheid-manager/src/test/resources/SD_answer_field_template.xml b/bescheid-manager/src/test/resources/SD_answer_field_template.xml
deleted file mode 100644
index 7ad2b6b9b..000000000
--- a/bescheid-manager/src/test/resources/SD_answer_field_template.xml
+++ /dev/null
@@ -1,299 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?><!--
-  ~ Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
-  ~ Ministerpräsidenten des Landes Schleswig-Holstein
-  ~ Staatskanzlei
-  ~ Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-  ~
-  ~ Lizenziert unter der EUPL, Version 1.2 oder - sobald
-  ~ diese von der Europäischen Kommission genehmigt wurden -
-  ~ Folgeversionen der EUPL ("Lizenz");
-  ~ Sie dürfen dieses Werk ausschließlich gemäß
-  ~ dieser Lizenz nutzen.
-  ~ Eine Kopie der Lizenz finden Sie hier:
-  ~
-  ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-  ~
-  ~ Sofern nicht durch anwendbare Rechtsvorschriften
-  ~ gefordert oder in schriftlicher Form vereinbart, wird
-  ~ die unter der Lizenz verbreitete Software "so wie sie
-  ~ ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-  ~ ausdrücklich oder stillschweigend - verbreitet.
-  ~ Die sprachspezifischen Genehmigungen und Beschränkungen
-  ~ unter der Lizenz sind dem Lizenztext zu entnehmen.
-  -->
-<root>
-	<SmartDocument Version="2.0">
-		<Selection>
-			<TypistID>072D2DBF07C049858DFB716BDBAAE83A</TypistID>
-			<UserGroupID>
-				DA9D309EF1374D8A920CC9878DD3D629
-			</UserGroupID>
-			<AuthorID>072D2DBF07C049858DFB716BDBAAE83A
-			</AuthorID>
-			<TemplateGroupID>94A1C1208DF0479CB58E3CFB0A6057BC</TemplateGroupID>
-			<Template>
-				KFAS_LIVE_KI_10_Haltverbot_befristet
-			</Template>
-			<TemplateID VersionID="87731D1F4AB74952979B58497D95EA86">
-				7ACEA5AE7C3642978ACCC48182EBCD6E
-			</TemplateID>
-			<Blocks>
-				<Block VersionID="15DCCB4DFE1A414796EBA44352C7AAFF">
-					CC2A9C0E14164B9A967CEE8DCD41B3B5
-				</Block>
-				<Placeholders>
-					<Placeholder ID="125E766AF0424D4992F8F04C806F75EB">
-						CC2A9C0E14164B9A967CEE8DCD41B3B5
-					</Placeholder>
-				</Placeholders>
-			</Blocks>
-			<FixedValues/>
-		</Selection>
-		<Variables/>
-		<QuestionAnswers>
-			<Question ID="07BE1279C0504852AEFBB264D165E139" Description="Tagesdatum" OriginalValue="2024-06-25">
-				25.06.2024
-			</Question>
-			<Question ID="23BB945F7BA44321B09A0A984D541DD1" Description="Tage Halteverbot"
-					  ContentId="23BB945F7BA44321B09A0A984D541DD1" IsFormatted="true" ContentType="XML">
-				<Records>
-					<Record>
-						<Field Name="71F5F35C4FD94982A1F8321A73E9B593">
-							<Value>nein</Value>
-							<QuestionAnswers>
-								<Question ID="58F6E456AE1F4E13907D78E158BF4847" Description="Freitag">
-									<Answer ID="313DC774D89E45D8864FC33983C95923" Description="Nein" IsFormatted="true"
-											ContentId="313DC774D89E45D8864FC33983C95923"/>
-								</Question>
-							</QuestionAnswers>
-						</Field>
-						<Field Name="B66C9D21D31A4293852EEDCAB57C593B">
-							<Value>ja</Value>
-							<QuestionAnswers>
-								<Question ID="EF33891FF01A42B0BEFB1E78E3FC023D" Description="Samstag">
-									<Answer ID="F22F6FE074784CCD950430166F42B33F" Description="Ja" IsFormatted="true"
-											ContentId="F22F6FE074784CCD950430166F42B33F"/>
-								</Question>
-							</QuestionAnswers>
-						</Field>
-						<Field Name="67082AAB675E457180A7014531C46CB3">
-							<Value>ja</Value>
-							<QuestionAnswers>
-								<Question ID="60C6CD1F29084A26BEC493A862583AAB" Description="Montag">
-									<Answer ID="8EAE05F9D89C46AE8CCB08A24104CC17" Description="Ja" IsFormatted="true"
-											ContentId="8EAE05F9D89C46AE8CCB08A24104CC17"/>
-								</Question>
-							</QuestionAnswers>
-						</Field>
-						<Field Name="3FD23F8F98EF459A95B50448DEDFF20E">
-							<Value>ja</Value>
-							<QuestionAnswers>
-								<Question ID="C8BC6BFFE8BE4E6BBDC4CBCD34377DB2" Description="Mittwoch">
-									<Answer ID="97B676CAC9B74D00B574F319B2D20BB5" Description="Ja" IsFormatted="true"
-											ContentId="97B676CAC9B74D00B574F319B2D20BB5"/>
-								</Question>
-							</QuestionAnswers>
-						</Field>
-						<Field Name="09658B4DA4BB4295822A42C0AA8FC2EC">
-							<Value>nein</Value>
-							<QuestionAnswers>
-								<Question ID="39BF39565D4043078ABEEC9601A091E7" Description="Donnerstag">
-									<Answer ID="8D4A19B4D3AF448FB720E9160E7A40D2" Description="Nein" IsFormatted="true"
-											ContentId="8D4A19B4D3AF448FB720E9160E7A40D2"/>
-								</Question>
-							</QuestionAnswers>
-						</Field>
-						<Field Name="975867EBE97547ACA6B8D85F1D8D39C8">
-							<Value>nein</Value>
-							<QuestionAnswers>
-								<Question ID="03906ABB93494C6EB087D87C4C70217C" Description="Dienstag">
-									<Answer ID="B9ACD0E74C6B41BEA700C9EB8FCFFC25" Description="Nein" IsFormatted="true"
-											ContentId="B9ACD0E74C6B41BEA700C9EB8FCFFC25"/>
-								</Question>
-							</QuestionAnswers>
-						</Field>
-						<Field Name="AF89873144744EDC9A1B78776F3D25F5">
-							<Value>nein</Value>
-							<QuestionAnswers>
-								<Question ID="06349259221C4DEFBB4FE9FD33D76403" Description="Sonntag">
-									<Answer ID="853ED74B536C4BD8AF95193450F18201" Description="Nein" IsFormatted="true"
-											ContentId="853ED74B536C4BD8AF95193450F18201"/>
-								</Question>
-							</QuestionAnswers>
-						</Field>
-					</Record>
-				</Records>
-			</Question>
-			<Question ID="28CB094DAD1A4604B08CE7C5D2177C03" Description="Beschilderung">
-				<Answer ID="605F18E32DE04FF2B058BD66F2DE9C06" Description="Nein" IsFormatted="true"
-						ContentId="605F18E32DE04FF2B058BD66F2DE9C06"/>
-			</Question>
-			<Question ID="736372FDB0A2407CBBFB15DE71FD1450" Description="Geschlecht Antragssteller">
-				<Answer ID="CCFD78217BC84D339F582F4B5703A7B6" Description="keine Angabe" IsFormatted="true"
-						ContentId="CCFD78217BC84D339F582F4B5703A7B6"/>
-			</Question>
-			<Question ID="97E309BDBDB548F48D162D289056B313" Description="Uhrzeit Halteverbot">
-				<Answer ID="E45BE1342D5F43D59E21986C377DA1B0" Description="ganztägig" IsFormatted="true"
-						ContentId="E45BE1342D5F43D59E21986C377DA1B0"/>
-			</Question>
-			<Question ID="992F241A1DF4497A8B4568E69B9C567C" Description="Vor Ort geltende Parkregelung">
-				<Answer ID="9875A84F77164A9C88426FD6A01D784F" Description="Parken am Fahrbahnrand" IsFormatted="true"
-						ContentId="9875A84F77164A9C88426FD6A01D784F"/>
-			</Question>
-			<Question ID="9BD81FB0E5FF4235A094BE3D21544615" Description="Name Ansprechperson / Firma"
-					  AlternativeParentID="736372FDB0A2407CBBFB15DE71FD1450">
-				<Answer ID="FC9E396BAA894B52A475BCE1184230D9" Description="keine Angabe" IsFormatted="true"
-						ContentId="FC9E396BAA894B52A475BCE1184230D9"/>
-			</Question>
-			<Question ID="9CE081D9122E43B1B778863AE32AB29F" Description="Protokoll">
-				<Answer ID="8490AF83642D4D26A408A2C431F52183" Description="Nein" IsFormatted="true"
-						ContentId="8490AF83642D4D26A408A2C431F52183"/>
-			</Question>
-			<Question ID="B651AC699A4F4B768DC34DE87BBD578C" Description="Gründe für Halteverbot"
-					  ContentId="B651AC699A4F4B768DC34DE87BBD578C" IsFormatted="true" ContentType="XML">
-				<Records/>
-			</Question>
-			<Question ID="C33A6D64E1B542CB97520C1F32D18C35" Description="Unterschrift">
-				<Answer ID="68A02377AE9D473C9F6BAFF4EF150DE5" Description="Reusche" IsFormatted="true"
-						ContentId="68A02377AE9D473C9F6BAFF4EF150DE5"/>
-			</Question>
-			<Question ID="C7C9CCBF9633499EAB08D1BBB84BFD98" Description="Richtigkeit">
-				<Answer ID="6DF6B7C6A88D4F2282B8366027B0032D" Description="Nein" IsFormatted="true"
-						ContentId="6DF6B7C6A88D4F2282B8366027B0032D"/>
-			</Question>
-			<Question ID="C7D1A20B17CD4C96BF55A2738B8A4631" Description="Kenntnisnahme">
-				<Answer ID="50BBC8449BEB4AFEB774AC706F1D66B9" Description="Nein" IsFormatted="true"
-						ContentId="50BBC8449BEB4AFEB774AC706F1D66B9"/>
-			</Question>
-		</QuestionAnswers>
-		<Fields>
-			<Field ID="3C5C7920FB444A9DB2F5239339599BD7"/>
-			<Field ID="41237CC02584421A8D65990E7F78F833"/>
-			<Field ID="423CB6F4AEB54A44BC67F97626ADC06C"/>
-			<Field ID="442D48B946C64853B78DB99D9341AAC8">16:23</Field>
-			<Field ID="4D4178B6F808409391990233D33BF54C"/>
-			<Field ID="5AE5217E97F845B48D4274894BC2F043">03:25</Field>
-			<Field ID="635CEB0B41DE44EFB2207122CCB8EE1D"/>
-			<Field ID="6B06CD242FC64865BFC5B770BB03EAA4"/>
-			<Field ID="769E3AC926154741AABE870EB802E2AD"/>
-			<Field ID="7AF097E4E741455685CD543ABB7CE337"/>
-			<Field ID="8CA72E11F95F4352AE6FB8001BE79508">25.05.2023</Field>
-			<Field ID="8D38662ADBF2408B8C8DDB5294A5A5A9"/>
-			<Field ID="CA36A227CFEC4B89A40CA8B0CF4460C0">23</Field>
-			<Field ID="CC330D642D7D465FA611D029F6A06344">KFAS_LIVE_KI_10_Haltverbot_befristet-JhQDdq2F</Field>
-			<Field ID="D316B8AE41A3496495C058CCB3766F3A"/>
-			<Field ID="DB270EC247D5476A9D8BFA008E872D7D">Kiel</Field>
-			<Field ID="DE7F7E00C8C246AEA9FFDF7F89E2FB03">05.05.2023</Field>
-			<Field ID="F1826BE2F3D04E508F6401E8AA1D08C1"/>
-			<Field ID="FEC37A441C9D46189533DBD9CFD0E0E8"/>
-			<Field ID="FECCC52ABB614390BAE2577AD8C44262">24114</Field>
-			<Field ID="Template.56E7AA0956C7486292E9A02114CB231C">Nachrichten Field Text</Field>
-			<Field ID="root/CustomerData/Dateiname">_23-Verk-AO_05-23_05.05.2023-25.05.2023</Field>
-		</Fields>
-		<DocumentProperties>
-			<Guid>7ACEA5AE7C3642978ACCC48182EBCD6E</Guid>
-			<BuiltIn>
-				<creator>MGM</creator>
-			</BuiltIn>
-			<Extended/>
-			<Custom>
-				<Author name="Author" type="lpwstr" property="true" variable="false" xml="false">MGM</Author>
-				<Typist name="Typist" type="lpwstr" property="true" variable="false" xml="false">MGM</Typist>
-				<TemplateId name="TemplateId" type="lpwstr" property="true" variable="false" xml="false">
-					7ACEA5AE7C3642978ACCC48182EBCD6E
-				</TemplateId>
-				<Template name="Template" type="lpwstr" property="true" variable="false" xml="false">
-					KFAS_LIVE_KI_10_Haltverbot_befristet
-				</Template>
-			</Custom>
-		</DocumentProperties>
-	</SmartDocument>
-	<CustomerData>
-		<bescheid>
-			<bescheidVom>2023-06-26</bescheidVom>
-			<genehmigt>true</genehmigt>
-		</bescheid>
-		<userData>
-			<firstName>Theo</firstName>
-			<lastName>Test</lastName>
-		</userData>
-		<vorgang>
-			<vorgangName>KFAS_LIVE_KI_10_Haltverbot_befristet</vorgangName>
-			<eingang>
-				<zustaendigeStelle>
-					<organisationseinheitenId>10363455</organisationseinheitenId>
-					<email/>
-				</zustaendigeStelle>
-				<antragsteller/>
-				<formData>
-					<Antrag_abschlie_en>
-						<Ich_best_tige__dass_die_Beschilderung_entsprechend_den_wichtigen_Hinweisen_durchgef_hrt_wird>
-							ja
-						</Ich_best_tige__dass_die_Beschilderung_entsprechend_den_wichtigen_Hinweisen_durchgef_hrt_wird>
-						<Ich_best_tige_hiermit__dass_ein_Protokoll_entsprechend_den_wichtigen_Hinweisen_erstellt_wird>
-							ja
-						</Ich_best_tige_hiermit__dass_ein_Protokoll_entsprechend_den_wichtigen_Hinweisen_erstellt_wird>
-						<Hiermit_best_tige_ich_die_Kenntnisnahme_des_Vorgehens_bei_parkenden_KFZ>ja
-						</Hiermit_best_tige_ich_die_Kenntnisnahme_des_Vorgehens_bei_parkenden_KFZ>
-						<Hiermit_best_tige_ich_die_Richtigkeit_der_gemachten_Angaben>ja
-						</Hiermit_best_tige_ich_die_Richtigkeit_der_gemachten_Angaben>
-					</Antrag_abschlie_en>
-					<Stammdaten__Antragstellende_Person_>
-						<Adresse_Kiel_vorbef_llt_mit_Kontaktdaten>
-							<AS_E-Mail>Bjoern.Reusche@kiel.de</AS_E-Mail>
-							<Postleitzahl>24114</Postleitzahl>
-							<AS_Telefon>015142536149</AS_Telefon>
-							<Wohnort>Kiel</Wohnort>
-							<Stra_e>Je?stra?e</Stra_e>
-							<Hausnummer>23</Hausnummer>
-						</Adresse_Kiel_vorbef_llt_mit_Kontaktdaten>
-						<Nachname>Reusche</Nachname>
-						<Angabe_zur_Person__Firma>m?nnlich</Angabe_zur_Person__Firma>
-						<Verantwortliche_Person_f_r_die_Aufstellung_der_Beschilderung/>
-						<Vorname>Bj?rn</Vorname>
-					</Stammdaten__Antragstellende_Person_>
-					<Angaben_zur_Parkregelung_und_zur_Beschilderung>
-						<Objektgruppe_Hinweis_kein_Abschleppen_m_glich/>
-						<Ort_des_Haltverbotes>
-							<Postleitzahl>24114</Postleitzahl>
-							<Wohnort>Kiel</Wohnort>
-							<Stra_e>Je?stra?e</Stra_e>
-							<Hausnummer>23</Hausnummer>
-						</Ort_des_Haltverbotes>
-						<L_nge_der_Fl_che_in_Metern>25</L_nge_der_Fl_che_in_Metern>
-						<Gr_nde>
-							<Container>nein</Container>
-							<Baufahrzeug>nein</Baufahrzeug>
-							<Materiallagerung>nein</Materiallagerung>
-							<Umzug>ja</Umzug>
-							<Hubsteiger__Kran>nein</Hubsteiger__Kran>
-							<Sonstiges>ja</Sonstiges>
-						</Gr_nde>
-						<Beginn_des_Haltverbotes>05.05.2023</Beginn_des_Haltverbotes>
-						<Bitte_erl_utern_Sie_Ihren_Grund>Verl?ngerung bisher ab 01.04.2023
-						</Bitte_erl_utern_Sie_Ihren_Grund>
-						<Uhrzeit>
-							<Ende_des_Haltverbotes__Uhrzeit_>16:23</Ende_des_Haltverbotes__Uhrzeit_>
-							<Beginn_des_Haltverbotes__Uhrzeit_>03:25</Beginn_des_Haltverbotes__Uhrzeit_>
-						</Uhrzeit>
-						<Vor_Ort_geltende_Parkregelung>Parken am Fahrbahnrand</Vor_Ort_geltende_Parkregelung>
-						<Tage_Haltverbot>
-							<Freitag>nein</Freitag>
-							<Samstag>ja</Samstag>
-							<Montag>ja</Montag>
-							<Mittwoch>ja</Mittwoch>
-							<Donnerstag>nein</Donnerstag>
-							<Dienstag>nein</Dienstag>
-							<Sonntag>nein</Sonntag>
-						</Tage_Haltverbot>
-						<Ende_des_Haltverbotes>25.05.2023</Ende_des_Haltverbotes>
-					</Angaben_zur_Parkregelung_und_zur_Beschilderung>
-					<Informationen_und_Hinweise_zu_erforderlichen_Unterlagen/>
-				</formData>
-			</eingang>
-			<vorgangNummer>KFAS_LIVE_KI_10_Haltverbot_befristet-JhQDdq2F</vorgangNummer>
-			<aktenzeichen>KFAS_LIVE_KI_10_Haltverbot_befristet-JhQDdq2F</aktenzeichen>
-		</vorgang>
-		<Dateiname>_23-Verk-AO_05-23_05.05.2023-25.05.2023</Dateiname>
-	</CustomerData>
-</root>
diff --git a/bescheid-manager/src/test/resources/SD_answer_without_text.xml b/bescheid-manager/src/test/resources/SD_answer_without_text.xml
deleted file mode 100644
index 62f2d0263..000000000
--- a/bescheid-manager/src/test/resources/SD_answer_without_text.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<root>
-   <SmartDocument Version="2.0">
-      <Fields>
-     
-      </Fields>
-   </SmartDocument>
-</root>
\ No newline at end of file
diff --git a/bescheid-manager/src/test/resources/application-itcase.yml b/bescheid-manager/src/test/resources/application-itcase.yml
deleted file mode 100644
index aa8dcc284..000000000
--- a/bescheid-manager/src/test/resources/application-itcase.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-logging:
-  level:
-    ROOT: WARN,
-    '[org.springframework]': ERROR
-    '[de.ozgcloud]': WARN
-  config: classpath:log4j2-local.xml
-  
-grpc:
-  server:
-    port: -1
-
-ozgcloud:
-  admin:
-    sync:
-      enabled: false
-  bescheid:
-    smart-documents:
-      url: https://demo-de.smartdocuments.com/wsxmldeposit/deposit/unattended
-      basicAuth:
-        username: MGM
-        password: MGM
-      templateGroup: Kiel
-      template: Halteverbot
-spring:
-  cloud:
-    config:
-      enabled: false
diff --git a/bescheid-manager/src/test/resources/junit-platform.properties b/bescheid-manager/src/test/resources/junit-platform.properties
deleted file mode 100644
index 1cebb76d5..000000000
--- a/bescheid-manager/src/test/resources/junit-platform.properties
+++ /dev/null
@@ -1 +0,0 @@
-junit.jupiter.extensions.autodetection.enabled = true
\ No newline at end of file
diff --git a/bescheid-manager/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/bescheid-manager/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
deleted file mode 100644
index ca6ee9cea..000000000
--- a/bescheid-manager/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
+++ /dev/null
@@ -1 +0,0 @@
-mock-maker-inline
\ No newline at end of file
diff --git a/bescheid-manager/src/test/resources/templates/dummy.template.txt.ftlh b/bescheid-manager/src/test/resources/templates/dummy.template.txt.ftlh
deleted file mode 100644
index 9182e3f00..000000000
--- a/bescheid-manager/src/test/resources/templates/dummy.template.txt.ftlh
+++ /dev/null
@@ -1,6 +0,0 @@
-Sehr geehrte/r Antragsteller/in,
-im folgenden wird evtl was ersetzt
-
-<#if domatch>replacedValue<#else>valueToReplace</#if>
-
-Mit freundlichen Grüßen
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index c247f7786..125f744d1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,7 +40,6 @@
 		<module>vorgang-manager-server</module>
 		<module>vorgang-manager-utils</module>
 		<module>vorgang-manager-command</module>
-		<module>bescheid-manager</module>
 		<module>vorgang-manager-base</module>
 	</modules>
 
diff --git a/vorgang-manager-server/pom.xml b/vorgang-manager-server/pom.xml
index 7ab016718..91bdc0b46 100644
--- a/vorgang-manager-server/pom.xml
+++ b/vorgang-manager-server/pom.xml
@@ -53,7 +53,6 @@
 		<zufi-manager-interface.version>1.6.0</zufi-manager-interface.version>
 
 		<user-manager-interface.version>2.12.0</user-manager-interface.version>
-		<bescheid-manager.version>1.24.0-SNAPSHOT</bescheid-manager.version>
 		<processor-manager.version>0.5.0</processor-manager.version>
 		<nachrichten-manager.version>2.17.0-SNAPSHOT</nachrichten-manager.version>
 		<api-lib.version>0.16.0-SNAPSHOT</api-lib.version>
@@ -118,13 +117,6 @@
 			<scope>runtime</scope>
 		</dependency>
 
-		<dependency>
-			<groupId>de.ozgcloud.bescheid</groupId>
-			<artifactId>bescheid-manager</artifactId>
-			<version>${bescheid-manager.version}</version>
-			<scope>runtime</scope>
-		</dependency>
-
 		<dependency>
 			<groupId>de.ozgcloud.zufi</groupId>
 			<artifactId>zufi-manager-interface</artifactId>
-- 
GitLab