diff --git a/common/src/test/java/de/ozgcloud/eingang/common/formdata/AntragstellerTestFactory.java b/common/src/test/java/de/ozgcloud/eingang/common/formdata/AntragstellerTestFactory.java
index ed3ed7816b082b0139413eceee38a8196b63e968..ce9d59c38cf6f5ee88d9c8fc40c150001bebbc0a 100644
--- a/common/src/test/java/de/ozgcloud/eingang/common/formdata/AntragstellerTestFactory.java
+++ b/common/src/test/java/de/ozgcloud/eingang/common/formdata/AntragstellerTestFactory.java
@@ -37,9 +37,9 @@ public class AntragstellerTestFactory {
 	public static final String SUB_VERBOTENE_VEREINIGUNG_KEY = "MitgliedschaftInVerboternerVereinigung";
 	public static final String SUB_VERBOTENE_VEREINIGUNG_VALUE = "true";
 
-	public static final String VORNAME = "Helge";
-	public static final String NACHNAME = "Schneider";
-	public static final String GEBURTSNAME = "Schneider";
+	public static final String VORNAME = "Theo";
+	public static final String NACHNAME = "Test";
+	public static final String GEBURTSNAME = "Toast";
 	public static final String GEBURTSDATUM = "30.8.1955";
 	public static final String GEBURTSORT = "Mülheim an der Ruhr";
 	public static final String EMAIL = "schneider@helgeschneider.local";
diff --git a/enterprise-adapter/pom.xml b/enterprise-adapter/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..96d272d79816e7c89ccb25e7294ac1ba79fc2752
--- /dev/null
+++ b/enterprise-adapter/pom.xml
@@ -0,0 +1,82 @@
+<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.itvsh.kop.eingangsadapter</groupId>
+		<artifactId>parent</artifactId>
+		<version>1.13.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>enterprise-adapter</artifactId>
+	<name>EM - Enterprise Interface Adapter</name>
+
+	<properties>
+		<spring-boot.build-image.imageName>
+			docker.ozg-sh.de/enterprise-interface-adapter:build-latest
+		</spring-boot.build-image.imageName>
+	</properties>
+
+	<dependencies>
+		<!--spring-->
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-web</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-actuator</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>de.itvsh.kop.eingangsadapter</groupId>
+			<artifactId>common</artifactId>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.springframework.boot</groupId>
+				<artifactId>spring-boot-maven-plugin</artifactId>
+			</plugin>
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-plugin</artifactId>
+			</plugin>
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-failsafe-plugin</artifactId>
+			</plugin>
+
+			<plugin>
+				<groupId>org.jacoco</groupId>
+				<artifactId>jacoco-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+
+	<profiles>
+		<profile>
+			<id>ci-build</id>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.springframework.boot</groupId>
+						<artifactId>spring-boot-maven-plugin</artifactId>
+						<executions>
+							<execution>
+								<id>build-image</id>
+								<phase>
+									install</phase>
+								<goals>
+									<goal>build-image</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
+</project>
\ No newline at end of file
diff --git a/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryData.java b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryData.java
new file mode 100644
index 0000000000000000000000000000000000000000..70268f833726fb7fa913872bfbb30d7436341da4
--- /dev/null
+++ b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryData.java
@@ -0,0 +1,35 @@
+package de.ozgcloud.eingang.enterprise.entry;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import lombok.Builder;
+import lombok.Getter;
+import lombok.extern.jackson.Jacksonized;
+
+@Builder
+@Getter
+@Jacksonized
+public class EntryData {
+
+	private ControlData control;
+
+	@Builder
+	@Getter
+	@Jacksonized
+	public static class ControlData {
+		private String transactionId;
+		private String zustaendigeStelle;
+		private String[] leikaIds;
+		private ResultEndpoint resultEndpoint;
+		private String formId;
+		@JsonProperty("name")
+		private String formName;
+
+		@Builder
+		@Getter
+		@Jacksonized
+		public static class ResultEndpoint {
+			private String address;
+		}
+	}
+}
diff --git a/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/ControlDataTestFactory.java b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/ControlDataTestFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..9f26f3e2c8262ba57cbc3eb69385636f737c5e3a
--- /dev/null
+++ b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/ControlDataTestFactory.java
@@ -0,0 +1,30 @@
+package de.ozgcloud.eingang.enterprise.entry;
+
+import de.ozgcloud.eingang.enterprise.entry.EntryData.ControlData;
+import de.ozgcloud.eingang.enterprise.entry.EntryData.ControlData.ResultEndpoint;
+
+public class ControlDataTestFactory {
+
+	public static final String TRANSACTION_ID = "4e7a6ae7-4d0f-444d-8971-7cfc051c9924";
+	public static final String ZUSTAENDIGE_STELLE = "248240886";
+	public static final String[] LEIKA_IDS = new String[] { "99108011000000", "99108011153000" };
+
+	public static final String RESULT_ENDPOIN_ADDRESS = "https://idalabs.de/backend/api";
+
+	public static final String FORM_ID = "KFAS_LIVE_KI_10_Haltverbot_befristet";
+	public static final String NAME = "Anmeldung zur Einrichtung einer zeitlich befristeten Haltverbotszone gem. § 45 Abs. 1 Straßenverkehrsordnung (StVO)";
+
+	public static ControlData create() {
+		return createBuilder().build();
+	}
+
+	public static ControlData.ControlDataBuilder createBuilder() {
+		return ControlData.builder()
+				.transactionId(TRANSACTION_ID)
+				.zustaendigeStelle(ZUSTAENDIGE_STELLE)
+				.leikaIds(LEIKA_IDS)
+				.resultEndpoint(ResultEndpoint.builder().address(RESULT_ENDPOIN_ADDRESS).build())
+				.formId(FORM_ID)
+				.formName(NAME);
+	}
+}
diff --git a/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryDataMapper.java b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryDataMapper.java
new file mode 100644
index 0000000000000000000000000000000000000000..bb40354bfc7e8fe34cc7464d06c60789d1dc7d92
--- /dev/null
+++ b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryDataMapper.java
@@ -0,0 +1,32 @@
+package de.ozgcloud.eingang.enterprise.entry;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import de.ozgcloud.eingang.common.formdata.FormData;
+
+@Component
+class EntryDataMapper {
+
+	@Autowired
+	private ObjectMapper objectMapper;
+
+	public FormData mapEntryData(InputStream request) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	EntryData readRequest(InputStream request) {
+		try {
+			return objectMapper.readValue(request, EntryData.class);
+		} catch (IOException e) {
+			throw new ReadingRequestException(e);
+		}
+
+	}
+}
diff --git a/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryDataMapperTest.java b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryDataMapperTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..9ae7f427464b5c23530855e1fbee2e88ef82565d
--- /dev/null
+++ b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryDataMapperTest.java
@@ -0,0 +1,40 @@
+package de.ozgcloud.eingang.enterprise.entry;
+
+import static org.assertj.core.api.Assertions.*;
+
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Spy;
+
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import de.itvsh.kop.common.test.TestUtils;
+
+class EntryDataMapperTest {
+
+	@InjectMocks
+	private EntryDataMapper mapper;
+
+	@Spy
+	private ObjectMapper objectMapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+
+	@Nested
+	class TestMappingEntryData {
+
+		@Nested
+		class TestReadRequest {
+			@Test
+			void shouldReadJson() {
+				var jsonInput = TestUtils.loadFile("request/simple.json");
+
+				var read = mapper.readRequest(jsonInput);
+
+				assertThat(read).usingRecursiveComparison().isEqualTo(EntryDataTestFactory.create());
+			}
+		}
+
+	}
+
+}
diff --git a/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryDataTestFactory.java b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryDataTestFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..ef11b273345c61a2713add9a7b7d7a9664aee8f7
--- /dev/null
+++ b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryDataTestFactory.java
@@ -0,0 +1,13 @@
+package de.ozgcloud.eingang.enterprise.entry;
+
+public class EntryDataTestFactory {
+
+	public static EntryData create() {
+		return createBuilder().build();
+	}
+
+	public static EntryData.EntryDataBuilder createBuilder() {
+		return EntryData.builder()
+				.control(ControlDataTestFactory.create());
+	}
+}
diff --git a/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/ReadingRequestException.java b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/ReadingRequestException.java
new file mode 100644
index 0000000000000000000000000000000000000000..d1d4e3f9c4467aac99cf52838c164f3f1e26f49c
--- /dev/null
+++ b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/ReadingRequestException.java
@@ -0,0 +1,14 @@
+package de.ozgcloud.eingang.enterprise.entry;
+
+import de.itvsh.kop.common.errorhandling.TechnicalException;
+
+public class ReadingRequestException extends TechnicalException {
+
+	private static final String MESSAGE = "Error reading Request.";
+
+	public ReadingRequestException(Exception cause) {
+		super(MESSAGE, cause);
+
+	}
+
+}
diff --git a/enterprise-adapter/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/enterprise-adapter/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
new file mode 100644
index 0000000000000000000000000000000000000000..79b126e6cdb86bec1f4f08c205de8961bde1934a
--- /dev/null
+++ b/enterprise-adapter/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
@@ -0,0 +1 @@
+org.mockito.junit.jupiter.MockitoExtension
\ No newline at end of file
diff --git a/enterprise-adapter/src/test/resources/junit-platform.properties b/enterprise-adapter/src/test/resources/junit-platform.properties
new file mode 100644
index 0000000000000000000000000000000000000000..1cebb76d5a58ac034b2627d12411d82d1e85821e
--- /dev/null
+++ b/enterprise-adapter/src/test/resources/junit-platform.properties
@@ -0,0 +1 @@
+junit.jupiter.extensions.autodetection.enabled = true
\ No newline at end of file
diff --git a/enterprise-adapter/src/test/resources/request/simple.json b/enterprise-adapter/src/test/resources/request/simple.json
new file mode 100644
index 0000000000000000000000000000000000000000..aae35e5dff4c81bf23edd6c0c961bcd7bdd59742
--- /dev/null
+++ b/enterprise-adapter/src/test/resources/request/simple.json
@@ -0,0 +1,32 @@
+{
+	"control": {
+		"transactionId": "4e7a6ae7-4d0f-444d-8971-7cfc051c9924",
+		"zustaendigeStelle": "248240886",
+		"leikaIds": [
+			"99108011000000",
+			"99108011153000"
+		],
+		"resultEndpoint": {
+			"address": "https://idalabs.de/backend/api"
+		},
+		"formId": "KFAS_LIVE_KI_10_Haltverbot_befristet",
+		"name": "Anmeldung zur Einrichtung einer zeitlich befristeten Haltverbotszone gem. § 45 Abs. 1 Straßenverkehrsordnung (StVO)"
+	},
+	 "antragsteller": {
+            "label": "Antragstellende Person",
+            "value": {
+                "person_oder_firma": {
+                    "label": "Anrede",
+                    "stringValue": "Herr"
+                },
+                "vorname": {
+                    "label": "Vorname",
+                    "stringValue": "Theo"
+                },
+                "nachname": {
+                    "label": "Nachname",
+                    "stringValue": "Test"
+                }
+			}
+        }
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 159a629dfb724cef66d31bd051cf94e8a3cb4026..163fadcc95d6404bd5adc2458afa062ddd751736 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,17 +24,19 @@
     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">
+<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.itvsh.kop.common</groupId>
 		<artifactId>kop-common-parent</artifactId>
 		<version>2.3.2-SNAPSHOT</version>
-		<relativePath/> <!-- lookup parent from repository -->
+		<relativePath /> <!-- lookup parent from repository -->
 	</parent>
-	
+
 	<groupId>de.itvsh.kop.eingangsadapter</groupId>
 	<artifactId>parent</artifactId>
 	<version>1.13.0-SNAPSHOT</version>
@@ -50,6 +52,7 @@
 		<module>semantik-adapter</module>
 		<module>formcycle-adapter</module>
 		<module>xta-adapter</module>
+		<module>enterprise-adapter</module>
 	</modules>
 
 	<properties>
@@ -154,9 +157,9 @@
 				</plugin>
 				<plugin>
 					<groupId>com.evolvedbinary.maven.jvnet</groupId>
-        			<artifactId>jaxb30-maven-plugin</artifactId>
-        			<version>${jaxb3-plugin.version}</version>
-        			<executions>
+					<artifactId>jaxb30-maven-plugin</artifactId>
+					<version>${jaxb3-plugin.version}</version>
+					<executions>
 						<execution>
 							<goals>
 								<goal>generate</goal>
@@ -206,9 +209,9 @@
 				</plugin>
 			</plugins>
 		</pluginManagement>
-		
+
 		<plugins>
-			
+
 		</plugins>
 	</build>