diff --git a/FitConnect.sln b/FitConnect.sln
index af5f9912ddf0213976d1033a0e8401646d2689b4..40c705a9142618ca27886cb9ca0df8280ab0f746 100644
--- a/FitConnect.sln
+++ b/FitConnect.sln
@@ -10,6 +10,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "E2ETests", "E2ETests\E2ETes
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EncryptionTests", "EncryptionTests\EncryptionTests.csproj", "{68F1EC39-B234-4422-9AA8-E55CFA15025D}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Services", "Services\Services.csproj", "{1BB06AF4-492C-4041-A947-FE65F7A48698}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -32,6 +34,10 @@ Global
 		{68F1EC39-B234-4422-9AA8-E55CFA15025D}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{68F1EC39-B234-4422-9AA8-E55CFA15025D}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{68F1EC39-B234-4422-9AA8-E55CFA15025D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{1BB06AF4-492C-4041-A947-FE65F7A48698}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{1BB06AF4-492C-4041-A947-FE65F7A48698}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1BB06AF4-492C-4041-A947-FE65F7A48698}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{1BB06AF4-492C-4041-A947-FE65F7A48698}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(NestedProjects) = preSolution
 		{73CE5625-4C13-458E-B524-0DAA850F4041} = {D382641C-B027-411A-814C-C8C20A9505F3}
diff --git a/FitConnect/FitConnect.csproj b/FitConnect/FitConnect.csproj
index fa839cf281b8d60182b6c71db6f86ba79cb71e77..f6330364cebcc075ea833106642456413c70a4bb 100644
--- a/FitConnect/FitConnect.csproj
+++ b/FitConnect/FitConnect.csproj
@@ -24,6 +24,7 @@
 
     <ItemGroup>
         <Folder Include="Interfaces" />
+        <Folder Include="Models\Api" />
     </ItemGroup>
 
 </Project>
diff --git a/FitConnect/Models/Api/Services/SubmissionService.cs b/FitConnect/Models/Api/Services/SubmissionService.cs
deleted file mode 100644
index 1bd90c40ed4dd9dd87e415a01a257ab431d9008a..0000000000000000000000000000000000000000
--- a/FitConnect/Models/Api/Services/SubmissionService.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using FitConnect.Models.Api.Models;
-
-namespace FitConnect.Models.Api.Services;
-
-public class SubmissionService {
-    internal SubmissionCreatedDto CreateSubmission(CreateSubmission submission) {
-        // @PostMapping("/submissions")
-        throw new NotImplementedException();
-    }
-
-    internal bool AddSubmissionAttachment(string submissionId, string attachmentId,
-        string encryptedAttachmentContent) {
-        // @PutMapping(value = "/submissions/{submissionId}/attachments/{attachmentId}", consumes = "application/jose")
- 
-        throw new NotImplementedException();
-    }
-
-    internal SubmissionReducedDto SubmitSubmission(string submissionId,
-        SubmitSubmissionDto submitSubmission) {
-       //@PutMapping(value = "/submissions/{submissionId}", consumes = "application/json") 
-       throw new NotImplementedException();
-    }
-
-}
diff --git a/Services/DestinationService.cs b/Services/DestinationService.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0f13f80c0fd7b499da0dfb406db17518c13641fe
--- /dev/null
+++ b/Services/DestinationService.cs
@@ -0,0 +1,11 @@
+namespace FitConnect.Services;
+
+internal class DestinationService {
+
+    // @PostMapping("/destinations")
+    // @GetMapping("/destinations/{destinationId}")
+    // @DeleteMapping("/destinations/{destinationId}")
+    // @PatchMapping("/destinations/{destinationId}")
+    // @GetMapping("/destinations")
+    // @PutMapping("/destinations/{destinationId}")  
+}
\ No newline at end of file
diff --git a/Services/InfoService.cs b/Services/InfoService.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1b2e9aca9837487db360041be2852cc56b8496d4
--- /dev/null
+++ b/Services/InfoService.cs
@@ -0,0 +1,8 @@
+namespace FitConnect.Services;
+
+internal class InfoService {
+    //  @GetMapping("/info")
+    internal string GetInfo() {
+        throw new NotImplementedException();
+    }
+}
diff --git a/Services/Models/ApiInfoDto.cs b/Services/Models/ApiInfoDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..439bda3bddc7944702bd037d82d67d17bff71c2a
--- /dev/null
+++ b/Services/Models/ApiInfoDto.cs
@@ -0,0 +1,5 @@
+namespace FitConnect.Services.Models;
+
+internal class ApiInfoDto {
+    
+}
diff --git a/FitConnect/Models/Api/Models/CallbackDto.cs b/Services/Models/CallbackDto.cs
similarity index 60%
rename from FitConnect/Models/Api/Models/CallbackDto.cs
rename to Services/Models/CallbackDto.cs
index 379d4d7cf8b092706345b3fa1a535b9edb6bbb97..83d577540c64863b1c52da7d794db61a468f6023 100644
--- a/FitConnect/Models/Api/Models/CallbackDto.cs
+++ b/Services/Models/CallbackDto.cs
@@ -1,8 +1,8 @@
 using System.Text.Json.Serialization;
 
-namespace FitConnect.Models.Api.Models;
+namespace FitConnect.Services.Models;
 
-internal class CallbackDto {
+public class CallbackDto {
     [JsonPropertyName("url")]
     public string Url { get; set; }
 }
\ No newline at end of file
diff --git a/FitConnect/Models/Api/Models/CreateCallbackDto.cs b/Services/Models/CreateCallbackDto.cs
similarity index 70%
rename from FitConnect/Models/Api/Models/CreateCallbackDto.cs
rename to Services/Models/CreateCallbackDto.cs
index 13fc9392c07ea18fa5034cc81a407dab4f6ba083..8900885c1500ea4d01197bf32584502d6a7091fd 100644
--- a/FitConnect/Models/Api/Models/CreateCallbackDto.cs
+++ b/Services/Models/CreateCallbackDto.cs
@@ -1,8 +1,8 @@
 using System.Text.Json.Serialization;
 
-namespace FitConnect.Models.Api.Models;
+namespace FitConnect.Services.Models;
 
-internal class CreateCallbackDto {
+public class CreateCallbackDto {
     [JsonPropertyName("url")]
     public string Url { get; set; }
 
diff --git a/FitConnect/Models/Api/Models/CreateSubmission.cs b/Services/Models/CreateSubmission.cs
similarity index 92%
rename from FitConnect/Models/Api/Models/CreateSubmission.cs
rename to Services/Models/CreateSubmission.cs
index 4faa1d3d6dd8f69c21f0fa372223b0823b87ce88..c3bd7bd34102412251be0505492164b65b7d3f5c 100644
--- a/FitConnect/Models/Api/Models/CreateSubmission.cs
+++ b/Services/Models/CreateSubmission.cs
@@ -1,6 +1,6 @@
 using System.Text.Json.Serialization;
 
-namespace FitConnect.Models.Api.Models;
+namespace FitConnect.Services.Models;
 
 internal class CreateSubmission {
     [JsonPropertyName("destinationId")]
diff --git a/Services/Models/Destination/ContactInformationDto.cs b/Services/Models/Destination/ContactInformationDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b4c1da94c11fd8df242f2ead067752568cf61c44
--- /dev/null
+++ b/Services/Models/Destination/ContactInformationDto.cs
@@ -0,0 +1,20 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Services.Models;
+
+public class ContactInformationDto {
+    [JsonPropertyName("legalName")]
+    public string LegalName;
+
+    [JsonPropertyName("address")]
+    public string Address;
+
+    [JsonPropertyName("phone")]
+    public string Phone;
+
+    [JsonPropertyName("email")]
+    public string Email;
+
+    [JsonPropertyName("unit")]
+    public string Unit;
+}
\ No newline at end of file
diff --git a/Services/Models/Destination/CreateDestinationDto.cs b/Services/Models/Destination/CreateDestinationDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b3f474daa0aa126d80ab0d3a825416e236e8c8c9
--- /dev/null
+++ b/Services/Models/Destination/CreateDestinationDto.cs
@@ -0,0 +1,36 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Services.Models;
+
+public class CreateDestinationDto {
+    [JsonPropertyName("contactInformation")]
+    public ContactInformationDto ContactInformation;
+
+
+    [JsonPropertyName("services")]
+    public List<DestinationServiceDto> Services;
+
+
+    [JsonPropertyName("callback")]
+    public CreateCallbackDto Callback;
+
+
+    [JsonPropertyName("encryptionKid")]
+    public string EncryptionKid;
+
+
+    [JsonPropertyName("encryptionPublicKey")]
+    public string EncryptionPublicKey;
+
+
+    [JsonPropertyName("signingPublicKey")]
+    public string SigningPublicKey;
+
+
+    [JsonPropertyName("metadataVersions")]
+    public List<string> metadataVersions;
+
+
+    [JsonPropertyName("replyChannels")]
+    public DestinationReplyChannelsDto ReplyChannels;
+}
diff --git a/Services/Models/Destination/DeMailDto.cs b/Services/Models/Destination/DeMailDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..26a69e65279c6386f6a3c17de98129dd99d293cf
--- /dev/null
+++ b/Services/Models/Destination/DeMailDto.cs
@@ -0,0 +1,4 @@
+namespace FitConnect.Services.Models;
+
+public class DeMailDto {
+}
\ No newline at end of file
diff --git a/Services/Models/Destination/DestinationListDto.cs b/Services/Models/Destination/DestinationListDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7f0a7ea3ff396a7335fef28cb8cd9aa8e17685a4
--- /dev/null
+++ b/Services/Models/Destination/DestinationListDto.cs
@@ -0,0 +1,20 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Services.Models;
+
+public class DestinationListDto {
+    [JsonPropertyName("count")]
+    public int Count;
+
+
+    [JsonPropertyName("offset")]
+    public int Offset;
+
+
+    [JsonPropertyName("totalCount")]
+    public long TotalCount;
+
+
+    [JsonPropertyName("destinations")]
+    public List<PrivateDestinationDto> Destinations;
+}
\ No newline at end of file
diff --git a/Services/Models/Destination/DestinationReplyChannelsDto.cs b/Services/Models/Destination/DestinationReplyChannelsDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..609a73a2078d2105108e32e0fa4c051833a7d678
--- /dev/null
+++ b/Services/Models/Destination/DestinationReplyChannelsDto.cs
@@ -0,0 +1,33 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Services.Models;
+
+public class DestinationReplyChannelsDto {
+    public EmailDto? EMail;
+
+
+    public DeMailDto? DeMail;
+
+
+    public FinkDto? Fink;
+
+
+    public ElsterDto? Elster;
+
+
+    public DestinationReplyChannelsDto(
+        EmailDto eMail,
+        DeMailDto deMail,
+        FinkDto fink,
+        ElsterDto elster) {
+        this.EMail = EMail;
+        this.DeMail = DeMail;
+        this.Fink = Fink;
+        this.Elster = Elster;
+    }
+
+
+    public bool IsEmpty() {
+        return EMail == null && DeMail == null && Fink == null && Elster == null;
+    }
+}
\ No newline at end of file
diff --git a/Services/Models/Destination/DestinationServiceDto.cs b/Services/Models/Destination/DestinationServiceDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ea2d277d7985594fb675aecc7ce5ee0ffa25a923
--- /dev/null
+++ b/Services/Models/Destination/DestinationServiceDto.cs
@@ -0,0 +1,15 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Services.Models;
+
+public class DestinationServiceDto {
+    [JsonPropertyName("identifier")]
+    public string Identifier;
+
+    [JsonPropertyName("submissionSchemas")]
+    public List<SubmissionSchemaDto> SubmissionSchemas;
+
+
+    [JsonPropertyName("regions")]
+    public List<string> Regions;
+}
\ No newline at end of file
diff --git a/Services/Models/Destination/ElsterDto.cs b/Services/Models/Destination/ElsterDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7410f97c1784d7c09a4b4228ef0e2e5936c34867
--- /dev/null
+++ b/Services/Models/Destination/ElsterDto.cs
@@ -0,0 +1,4 @@
+namespace FitConnect.Services.Models;
+
+public class ElsterDto {
+}
\ No newline at end of file
diff --git a/Services/Models/Destination/EmailDto.cs b/Services/Models/Destination/EmailDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b13c0beaf684c0c7d104df1722baa6222c5d79d5
--- /dev/null
+++ b/Services/Models/Destination/EmailDto.cs
@@ -0,0 +1,4 @@
+namespace FitConnect.Services.Models;
+
+public class EmailDto {
+}
\ No newline at end of file
diff --git a/Services/Models/Destination/FinkDto.cs b/Services/Models/Destination/FinkDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8af1b41b858479c29efb66967429ee4ca28cc93b
--- /dev/null
+++ b/Services/Models/Destination/FinkDto.cs
@@ -0,0 +1,4 @@
+namespace FitConnect.Services.Models;
+
+public class FinkDto {
+}
\ No newline at end of file
diff --git a/Services/Models/Destination/PatchDestinationDto.cs b/Services/Models/Destination/PatchDestinationDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..59ad71b3c32cb28e8d34f694c1ee3f22a461d531
--- /dev/null
+++ b/Services/Models/Destination/PatchDestinationDto.cs
@@ -0,0 +1,32 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Services.Models;
+
+public class PatchDestinationDto {
+    [JsonPropertyName("status")]
+    public string Status;
+
+
+    [JsonPropertyName("contactInformation")]
+    public ContactInformationDto ContactInformation;
+
+
+    [JsonPropertyName("services")]
+    public List<DestinationServiceDto> Services;
+
+
+    [JsonPropertyName("callback")]
+    public CreateCallbackDto Callback;
+
+
+    [JsonPropertyName("encryptionKid")]
+    public string EncryptionKid;
+
+
+    [JsonPropertyName("metadataVersions")]
+    public List<string> metadataVersions;
+
+
+    [JsonPropertyName("replyChannels")]
+    public DestinationReplyChannelsDto ReplyChannels;
+}
\ No newline at end of file
diff --git a/Services/Models/Destination/PrivateDestinationDto.cs b/Services/Models/Destination/PrivateDestinationDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7f6dd0e543d968dd929ce8fb947d2f5a5eeee966
--- /dev/null
+++ b/Services/Models/Destination/PrivateDestinationDto.cs
@@ -0,0 +1,36 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Services.Models;
+
+public class PrivateDestinationDto {
+    [JsonPropertyName("destinationId")]
+    public string DestinationId;
+
+
+    [JsonPropertyName("status")]
+    public string Status;
+
+
+    [JsonPropertyName("services")]
+    public List<DestinationServiceDto> Services;
+
+
+    [JsonPropertyName("encryptionKid")]
+    public string EncryptionKid;
+
+
+    [JsonPropertyName("contactInformation")]
+    public ContactInformationDto ContactInformation;
+
+
+    [JsonPropertyName("callback")]
+    public CallbackDto Callback;
+
+
+    [JsonPropertyName("metadataVersions")]
+    public List<string> MetadataVersions;
+
+
+    [JsonPropertyName("replyChannels")]
+    public DestinationReplyChannelsDto ReplyChannels;
+}
\ No newline at end of file
diff --git a/Services/Models/Destination/PublicDestinationDto.cs b/Services/Models/Destination/PublicDestinationDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..19ce3b4f0903af6084d737296cdc101e84e7355e
--- /dev/null
+++ b/Services/Models/Destination/PublicDestinationDto.cs
@@ -0,0 +1,28 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Services.Models;
+
+public class PublicDestinationDto {
+    [JsonPropertyName("destinationId")]
+    public string DestinationId;
+
+
+    [JsonPropertyName("status")]
+    public string Status;
+
+
+    [JsonPropertyName("services")]
+    public List<DestinationServiceDto> Services;
+
+
+    [JsonPropertyName("encryptionKid")]
+    public string EncryptionKid;
+
+
+    [JsonPropertyName("metadataVersions")]
+    public List<string> MetadataVersions;
+
+
+    [JsonPropertyName("replyChannels")]
+    public DestinationReplyChannelsDto ReplyChannels;
+}
\ No newline at end of file
diff --git a/Services/Models/Destination/SubmissionSchemaDto.cs b/Services/Models/Destination/SubmissionSchemaDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..970a898f0b5bf2206532129d6ad870ed33a36c38
--- /dev/null
+++ b/Services/Models/Destination/SubmissionSchemaDto.cs
@@ -0,0 +1,13 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Services.Models;
+
+public class SubmissionSchemaDto {
+    [JsonPropertyName("schemaUri")]
+    public string schemaUri;
+
+
+    [JsonPropertyName("mimeType")]
+    //private SubmissionSchemaMimeTypeDto mimeType;
+    public int mimeType;
+}
\ No newline at end of file
diff --git a/Services/Models/Destination/UpdateDestinationDto.cs b/Services/Models/Destination/UpdateDestinationDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f5b2842388cd00cb9e68ec6d9643977e45d6173a
--- /dev/null
+++ b/Services/Models/Destination/UpdateDestinationDto.cs
@@ -0,0 +1,32 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Services.Models;
+
+public class UpdateDestinationDto {
+    [JsonPropertyName("status")]
+    public string Status;
+
+
+    [JsonPropertyName("contactInformation")]
+    public ContactInformationDto ContactInformation;
+
+
+    [JsonPropertyName("services")]
+    public List<DestinationServiceDto> Services;
+
+
+    [JsonPropertyName("callback")]
+    public CreateCallbackDto Callback;
+
+
+    [JsonPropertyName("encryptionKid")]
+    public string EncryptionKid;
+
+
+    [JsonPropertyName("metadataVersions")]
+    public List<string> metadataVersions;
+
+
+    [JsonPropertyName("replyChannels")]
+    public DestinationReplyChannelsDto ReplyChannels;
+}
\ No newline at end of file
diff --git a/FitConnect/Models/Api/Models/ServiceTypeDto.cs b/Services/Models/ServiceTypeDto.cs
similarity index 88%
rename from FitConnect/Models/Api/Models/ServiceTypeDto.cs
rename to Services/Models/ServiceTypeDto.cs
index 7da1aed2309bd78d8b9ac4948f67ff1218b1a66a..c3ed37c03a71e52be7e83d58296eda37682eb4eb 100644
--- a/FitConnect/Models/Api/Models/ServiceTypeDto.cs
+++ b/Services/Models/ServiceTypeDto.cs
@@ -1,6 +1,6 @@
 using System.Text.Json.Serialization;
 
-namespace FitConnect.Models.Api.Models;
+namespace FitConnect.Services.Models;
 
 internal class ServiceTypeDto {
     [JsonPropertyName("name")]
diff --git a/FitConnect/Models/Api/Models/SubmissionCreatedDto.cs b/Services/Models/Submission/SubmissionCreatedDto.cs
similarity index 88%
rename from FitConnect/Models/Api/Models/SubmissionCreatedDto.cs
rename to Services/Models/Submission/SubmissionCreatedDto.cs
index 95f03c946d46ab59cfc0d6327216ad16ff974cef..e279046dea05e4b626b3aecee4525430b3fb0912 100644
--- a/FitConnect/Models/Api/Models/SubmissionCreatedDto.cs
+++ b/Services/Models/Submission/SubmissionCreatedDto.cs
@@ -1,6 +1,6 @@
 using System.Text.Json.Serialization;
 
-namespace FitConnect.Models.Api.Models;
+namespace FitConnect.Services.Models;
 
 internal class SubmissionCreatedDto {
     [JsonPropertyName("destinationId")]
diff --git a/Services/Models/Submission/SubmissionDto.cs b/Services/Models/Submission/SubmissionDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..08df2fbcb41a399ae7c36ef712e0d2d21035e915
--- /dev/null
+++ b/Services/Models/Submission/SubmissionDto.cs
@@ -0,0 +1,39 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Services.Models;
+
+internal class SubmissionDto{
+    
+    [JsonPropertyName("destinationId")]
+    public string DestinationId;
+
+    
+    [JsonPropertyName("submissionId")]
+    public string SubmissionId;
+
+    
+    [JsonPropertyName("caseId")]
+    public string CaseId;
+
+    
+    [JsonPropertyName("attachments")]
+    public List<string> Attachments;
+
+
+        
+    [JsonPropertyName("serviceType")]
+    public ServiceTypeDto ServiceType;
+
+
+    [JsonPropertyName("callback")]
+    public CallbackDto Callback;
+
+    
+    [JsonPropertyName("encryptedMetadata")]
+    public string EncryptedMetadata;
+
+    
+    [JsonPropertyName("encryptedData")]
+    public string EncryptedData;
+
+}
\ No newline at end of file
diff --git a/Services/Models/Submission/SubmissionForPickupDto.cs b/Services/Models/Submission/SubmissionForPickupDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5be2b1ea0ac7cb263ec26bf3cebf60c18f03eb43
--- /dev/null
+++ b/Services/Models/Submission/SubmissionForPickupDto.cs
@@ -0,0 +1,14 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Services.Models;
+
+internal class SubmissionForPickupDto {
+    [JsonPropertyName("destinationId")]
+    public string DestinationId;
+
+    [JsonPropertyName("submissionId")]
+    public string SubmissionId;
+
+    [JsonPropertyName("caseId")]
+    public string CaseId;
+}
\ No newline at end of file
diff --git a/FitConnect/Models/Api/Models/SubmissionReducedDto.cs b/Services/Models/Submission/SubmissionReducedDto.cs
similarity index 92%
rename from FitConnect/Models/Api/Models/SubmissionReducedDto.cs
rename to Services/Models/Submission/SubmissionReducedDto.cs
index 4c7de5e28fbf6203180c3ab6964330d0cbebcae9..04bb6a1cd0ee8f67786af3416fc4b8c37351501b 100644
--- a/FitConnect/Models/Api/Models/SubmissionReducedDto.cs
+++ b/Services/Models/Submission/SubmissionReducedDto.cs
@@ -1,6 +1,6 @@
 using System.Text.Json.Serialization;
 
-namespace FitConnect.Models.Api.Models;
+namespace FitConnect.Services.Models;
 
 public class SubmissionReducedDto {
     [JsonPropertyName("destinationId")]
diff --git a/Services/Models/Submission/SubmissionsForPickupDto.cs b/Services/Models/Submission/SubmissionsForPickupDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..978aa6cd686b7461fde89ee5c668196593f69389
--- /dev/null
+++ b/Services/Models/Submission/SubmissionsForPickupDto.cs
@@ -0,0 +1,19 @@
+using System.Text.Json.Serialization;
+
+namespace FitConnect.Services.Models;
+
+internal class SubmissionsForPickupDto {
+
+    [JsonPropertyName("count")]
+    public int Count;
+
+    [JsonPropertyName("offset")]
+    public int Offset;
+
+    [JsonPropertyName("totalCount")]
+    public long TotalCount;
+
+    [JsonPropertyName("submissions")]
+    public List<SubmissionForPickupDto> Submissions;
+
+}
\ No newline at end of file
diff --git a/FitConnect/Models/Api/Models/SubmitSubmissionDto.cs b/Services/Models/Submission/SubmitSubmissionDto.cs
similarity index 59%
rename from FitConnect/Models/Api/Models/SubmitSubmissionDto.cs
rename to Services/Models/Submission/SubmitSubmissionDto.cs
index c8b7ca655fa89acf3426cf2120262343c39bc6a1..ed2e1eee27beee3249666e011d645acfd4340d66 100644
--- a/FitConnect/Models/Api/Models/SubmitSubmissionDto.cs
+++ b/Services/Models/Submission/SubmitSubmissionDto.cs
@@ -1,11 +1,11 @@
 using System.Text.Json.Serialization;
 
-namespace FitConnect.Models.Api.Models;
+namespace FitConnect.Services.Models;
 
 internal class SubmitSubmissionDto {
     [JsonPropertyName("encryptedMetadata")]
-    private string EncryptedMetadata;
+    public string EncryptedMetadata;
 
     [JsonPropertyName("encryptedData")]
-    private string EncryptedData;
+    public string EncryptedData;
 }
\ No newline at end of file
diff --git a/Services/Services.csproj b/Services/Services.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..d40e84f583e5ba3b179dcf00dee7f62eae272b2d
--- /dev/null
+++ b/Services/Services.csproj
@@ -0,0 +1,10 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+    <PropertyGroup>
+        <TargetFramework>net6.0</TargetFramework>
+        <ImplicitUsings>enable</ImplicitUsings>
+        <Nullable>enable</Nullable>
+        <RootNamespace>FitConnect.Services</RootNamespace>
+    </PropertyGroup>
+
+</Project>
diff --git a/Services/Services.csproj.DotSettings b/Services/Services.csproj.DotSettings
new file mode 100644
index 0000000000000000000000000000000000000000..8576e8bbd751729dd6bce2522b5687250532e1bf
--- /dev/null
+++ b/Services/Services.csproj.DotSettings
@@ -0,0 +1,4 @@
+<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=models_005Cdestination/@EntryIndexedValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=models_005Cdestinations/@EntryIndexedValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=models_005Csubmission/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
\ No newline at end of file
diff --git a/Services/SubmissionService.cs b/Services/SubmissionService.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9905772dba1206f4fac97ce3ce7e2e4057e63569
--- /dev/null
+++ b/Services/SubmissionService.cs
@@ -0,0 +1,37 @@
+using FitConnect.Services.Models;
+
+namespace FitConnect.Services;
+
+public class SubmissionService {
+    // @PostMapping("/submissions")
+    internal SubmissionCreatedDto CreateSubmission(CreateSubmission submission) {
+        throw new NotImplementedException();
+    }
+
+    // @PutMapping(value = "/submissions/{submissionId}/attachments/{attachmentId}", consumes = "application/jose")
+    internal bool AddSubmissionAttachment(string submissionId, string attachmentId,
+        string encryptedAttachmentContent) {
+        throw new NotImplementedException();
+    }
+
+    //@PutMapping(value = "/submissions/{submissionId}", consumes = "application/json") 
+    internal SubmissionReducedDto SubmitSubmission(string submissionId,
+        SubmitSubmissionDto submitSubmission) {
+        throw new NotImplementedException();
+    }
+
+    // @GetMapping("/submissions")
+    internal SubmissionsForPickupDto ListSubmissions(string destinationId, int offset, int limit) {
+        throw new NotImplementedException();
+    }
+
+    // @GetMapping("/submissions/{submissionId}")
+    internal SubmissionDto GetSubmission(string submissionId) {
+        throw new NotImplementedException();
+    }
+
+    // @GetMapping(value = "/submissions/{submissionId}/attachments/{attachmentId}", produces = "application/jose")
+    internal string GetAttachment(string submissionId, string attachmentId) {
+        throw new NotImplementedException();
+    }
+}