diff --git a/goofy-server/pom.xml b/goofy-server/pom.xml
index a92d657af8673df68b85264952515f03fb7879c9..f8d753f5d528032048c252681d424c6395df787e 100644
--- a/goofy-server/pom.xml
+++ b/goofy-server/pom.xml
@@ -85,11 +85,15 @@
 			<scope>runtime</scope>
 		</dependency>
 
-		<!-- common lang -->
+		<!-- commons -->
 		<dependency>
 			<groupId>org.apache.commons</groupId>
 			<artifactId>commons-lang3</artifactId>
 		</dependency>
+		<dependency>
+			<groupId>commons-io</groupId>
+			<artifactId>commons-io</artifactId>
+		</dependency>
 
 		<!-- Test -->
 		<dependency>
diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/CommandController.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/CommandController.java
index 0240ea1d8764f1f86974bc5ef385460410df4670..096ff2d2f6a411f9650626cf5b6019520899f1b4 100644
--- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/CommandController.java
+++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/CommandController.java
@@ -7,6 +7,7 @@ import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseStatus;
 
@@ -25,8 +26,9 @@ public class CommandController {
 
 		@PostMapping
 		@ResponseStatus(code = HttpStatus.CREATED)
-		public ResponseEntity<Void> createCommandByVorgang(@PathVariable String vorgangId, @PathVariable long vorgangVersion) {
-			var created = service.createVorgangCommand(vorgangId, vorgangVersion);
+		public ResponseEntity<Void> createCommandByVorgang(@PathVariable String vorgangId, @PathVariable long vorgangVersion,
+				@RequestBody VorgangCommand command) {
+			var created = service.createVorgangCommand(vorgangId, vorgangVersion, command);
 
 			return ResponseEntity.created(linkTo(CommandController.class).slash(created.getId()).toUri()).build();
 		}
diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/CommandService.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/CommandService.java
index b7f49d2e81af2af23a238f9f2ec55f5a207dc542..f547e8b37bfa85fd0d4be9af29dc8d413108275b 100644
--- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/CommandService.java
+++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/CommandService.java
@@ -1,11 +1,23 @@
 package de.itvsh.goofy.vorgang.command;
 
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
 import org.springframework.stereotype.Service;
 
+import de.itvsh.goofy.vorgang.command.VorgangCommand.CommandStatus;
+
 @Service
 class CommandService {
 
-	public VorgangCommand createVorgangCommand(String vorgangId, long version) {
-		return null;
+	private Map<String, VorgangCommand> idToCommand = new HashMap<>();
+
+	public VorgangCommand createVorgangCommand(String vorgangId, long version, VorgangCommand command) {
+		// FIXME(Replace dummy implementation)
+
+		var newCommand = VorgangCommand.builder().id(UUID.randomUUID().toString()).status(CommandStatus.DONE).order(command.getOrder()).build();
+		idToCommand.put(newCommand.getId(), newCommand);
+		return newCommand;
 	}
 }
diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/VorgangCommand.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/VorgangCommand.java
index 02e55b89e4c6895098bdcb2f0014932a02072f10..74969e75909567dd1bea6a1f783a57d51a6fd884 100644
--- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/VorgangCommand.java
+++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/VorgangCommand.java
@@ -1,12 +1,31 @@
 package de.itvsh.goofy.vorgang.command;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Getter;
+import lombok.NoArgsConstructor;
 
 @Builder
 @Getter
+@AllArgsConstructor(access = AccessLevel.PRIVATE)
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public class VorgangCommand {
 
+	enum CommandStatus {
+		DONE;
+	}
+
+	enum VorgangCommandOrder {
+		ANNEHMEN
+	}
+
+	@JsonIgnore
 	private String id;
+	@JsonIgnore
+	private CommandStatus status;
 
+	private VorgangCommandOrder order;
 }
diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/VorgangCommandProcessor.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/VorgangCommandProcessor.java
index 3b0ab87ca109d393e3df0e4a9525c512b97a5a89..ec0bcee4a4afb7e4a03efbb861cdc7548e682b41 100644
--- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/VorgangCommandProcessor.java
+++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/VorgangCommandProcessor.java
@@ -32,7 +32,7 @@ class VorgangCommandProcessor implements RepresentationModelProcessor<EntityMode
 	private EntityModel<? extends Vorgang> addLinkIfTransactionAllowed(VorgangStatus newStatus, LinkRelation relation, Vorgang vorgang,
 			EntityModel<? extends Vorgang> model) {
 		if (vorgang.getStatus().isTransactionAllowedTo(newStatus)) {
-			return model.add(linkTo(methodOn(CommandByVorgangController.class).createCommandByVorgang(vorgang.getId(), 42))
+			return model.add(linkTo(methodOn(CommandByVorgangController.class).createCommandByVorgang(vorgang.getId(), 42, null))
 					.withRel(relation));
 		}
 		return model;
diff --git a/goofy-server/src/test/java/de/itvsh/goofy/TestUtils.java b/goofy-server/src/test/java/de/itvsh/goofy/TestUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..0ad86d064ce150bc341d74db49763941ed82e1cc
--- /dev/null
+++ b/goofy-server/src/test/java/de/itvsh/goofy/TestUtils.java
@@ -0,0 +1,31 @@
+package de.itvsh.goofy;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.commons.io.IOUtils;
+
+public class TestUtils {
+	private TestUtils() {
+	}
+
+	public static InputStream loadFile(final String fileName) {
+		InputStream stream = TestUtils.class.getClassLoader().getResourceAsStream(fileName);
+		if (stream == null) {
+			throw new RuntimeException("File '" + fileName + "' not found."); // NOSONAR
+		}
+		return stream;
+	}
+
+	public static String loadTextFile(final String fileName) {
+		try {
+			return IOUtils.toString(loadFile(fileName), "UTF-8");
+		} catch (IOException e) {
+			throw new RuntimeException(e); // NOSONAR
+		}
+	}
+
+	public static String loadTextFile(final String fileName, final String... args) {
+		return String.format(loadTextFile(fileName), (Object[]) args);
+	}
+}
diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/command/CommandControllerTest.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/command/CommandControllerTest.java
index 515d37444d5604812d1ccf8cbf06a3abcdf0a96a..428499d54c8b56b60aca5524d0a6eb71167626ec 100644
--- a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/command/CommandControllerTest.java
+++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/command/CommandControllerTest.java
@@ -1,6 +1,7 @@
 package de.itvsh.goofy.vorgang.command;
 
 import static de.itvsh.goofy.vorgang.command.CommandController.*;
+import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
@@ -10,14 +11,19 @@ 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.springframework.http.MediaType;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.ResultActions;
 import org.springframework.test.web.servlet.setup.MockMvcBuilders;
 
+import de.itvsh.goofy.TestUtils;
 import de.itvsh.goofy.vorgang.VorgangHeaderTestFactory;
 import de.itvsh.goofy.vorgang.command.CommandController.CommandByVorgangController;
+import de.itvsh.goofy.vorgang.command.VorgangCommand.VorgangCommandOrder;
 
 class CommandControllerTest {
 
@@ -39,12 +45,16 @@ class CommandControllerTest {
 		void initTest() {
 			mockMvc = MockMvcBuilders.standaloneSetup(controller).build();
 
-			when(service.createVorgangCommand(anyString(), anyLong())).thenReturn(VorgangCommandTestFactory.create());
+			when(service.createVorgangCommand(anyString(), anyLong(), any())).thenReturn(VorgangCommandTestFactory.create());
 		}
 
 		@Nested
 		@DisplayName("Create Command by Vorgang")
 		class CreateCommand {
+
+			@Captor
+			private ArgumentCaptor<VorgangCommand> commandCaptor;
+
 			@DisplayName("should return CREATED")
 			@Test
 			void returnCreated() throws Exception {
@@ -56,7 +66,8 @@ class CommandControllerTest {
 			void callService() throws Exception {
 				doRequest();
 
-				verify(service).createVorgangCommand(VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.VERSION);
+				verify(service).createVorgangCommand(eq(VorgangHeaderTestFactory.ID), eq(VorgangHeaderTestFactory.VERSION), commandCaptor.capture());
+				assertThat(commandCaptor.getValue().getOrder()).isEqualTo(VorgangCommandTestFactory.ORDER);
 			}
 
 			@DisplayName("should have location header")
@@ -68,7 +79,10 @@ class CommandControllerTest {
 
 			private ResultActions doRequest() throws Exception {
 				return mockMvc
-						.perform(post(CommandByVorgangController.BY_VORGANG_PATH, VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.VERSION))
+						.perform(post(CommandByVorgangController.BY_VORGANG_PATH, VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.VERSION)
+								.contentType(MediaType.APPLICATION_JSON)
+								.content(TestUtils.loadTextFile("jsonTemplates/command/createVorgangCommand.json.tmpl",
+										VorgangCommandOrder.ANNEHMEN.name())))
 						.andExpect(status().is2xxSuccessful());
 			}
 		}
diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/command/VorgangCommandTestFactory.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/command/VorgangCommandTestFactory.java
index 30ad7b2f447b98448afc99edcd15de3c685a8108..895c8957e2ee1b81e9ebd8e1b3ee4418d3915cca 100644
--- a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/command/VorgangCommandTestFactory.java
+++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/command/VorgangCommandTestFactory.java
@@ -2,9 +2,12 @@ package de.itvsh.goofy.vorgang.command;
 
 import java.util.UUID;
 
+import de.itvsh.goofy.vorgang.command.VorgangCommand.VorgangCommandOrder;
+
 public class VorgangCommandTestFactory {
 
 	public static final String ID = UUID.randomUUID().toString();
+	public static final VorgangCommandOrder ORDER = VorgangCommandOrder.ANNEHMEN;
 
 	public static VorgangCommand create() {
 		return createBuilder().build();
@@ -12,6 +15,7 @@ public class VorgangCommandTestFactory {
 
 	public static VorgangCommand.VorgangCommandBuilder createBuilder() {
 		return VorgangCommand.builder()
-				.id(ID);
+				.id(ID)
+				.order(ORDER);
 	}
 }
diff --git a/goofy-server/src/test/resources/jsonTemplates/command/createVorgangCommand.json.tmpl b/goofy-server/src/test/resources/jsonTemplates/command/createVorgangCommand.json.tmpl
new file mode 100644
index 0000000000000000000000000000000000000000..64d27c8846dd5cd0654e7af502fded4231eb7b4e
--- /dev/null
+++ b/goofy-server/src/test/resources/jsonTemplates/command/createVorgangCommand.json.tmpl
@@ -0,0 +1,3 @@
+{
+	"order": "%s"
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 5ed3a1e9cb3ec33fd3024d5cdba11fb50b9b4815..5770a4d82f4985ce47179e06cfd653593d4f2f32 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,6 +24,7 @@
 		<grpc.spring-boot-starter.version>2.10.1.RELEASE</grpc.spring-boot-starter.version>
 		<spring-admin.version>2.3.1</spring-admin.version>
 		<mapstruct.version>1.4.1.Final</mapstruct.version>
+		<commons-io.version>2.8.0</commons-io.version>
 
 		<lorem.version>2.1</lorem.version>
 
@@ -46,13 +47,13 @@
 				<scope>import</scope>
 			</dependency>
 			<!-- keycloak -->
-	        <dependency>
-	            <groupId>org.keycloak.bom</groupId>
-	            <artifactId>keycloak-adapter-bom</artifactId>
-	            <version>12.0.2</version>
-	            <type>pom</type>
-	            <scope>import</scope>
-	        </dependency>
+			<dependency>
+				<groupId>org.keycloak.bom</groupId>
+				<artifactId>keycloak-adapter-bom</artifactId>
+				<version>12.0.2</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
 
 			<dependency>
 				<groupId>de.codecentric</groupId>
@@ -60,6 +61,13 @@
 				<version>${spring-admin.version}</version>
 			</dependency>
 
+			<!-- commons -->
+			<dependency>
+				<groupId>commons-io</groupId>
+				<artifactId>commons-io</artifactId>
+				<version>${commons-io.version}</version>
+			</dependency>
+
 			<!-- tools -->
 			<dependency>
 				<groupId>org.mapstruct</groupId>