diff --git a/opp/core/src/main/java/PreparationNote.java b/opp/core/src/main/java/PreparationNote.java
index 876f903f45a543807737c9a6ee8a990757b4a41f..58ac8db18cd34776cc09a8adb7fd9cc31973067a 100644
--- a/opp/core/src/main/java/PreparationNote.java
+++ b/opp/core/src/main/java/PreparationNote.java
@@ -1,10 +1,77 @@
 import java.time.Instant;
 import java.time.LocalDateTime;
+import java.util.Objects;
 
-public record PreparationNote(
-        Id<PreparationNote> preparationNoteId,
-        String text,
-        Operation operationId,
-        Instant lastUpdate
-) {
+import java.util.Objects;
+
+public class PreparationNote {
+    private String noteId;      // Eindeutige Identifikation der Notiz
+    private String operationId; // ID der zugehörigen Operation
+    private String content;     // Inhalt der Notiz
+
+    // Konstruktor zur Initialisierung der Notiz-Attribute
+    public PreparationNote(String noteId, String operationId, String content) {
+        this.noteId = noteId;
+        this.operationId = operationId;
+        this.content = content;
+    }
+
+    // Getter und Setter Methoden für die Attribute
+    public String getId() {
+        return noteId;
+    }
+
+    public void setNoteId(String noteId) {
+        this.noteId = noteId;
+    }
+
+    public String getOperationId() {
+        return operationId;
+    }
+
+    public void setOperationId(String operationId) {
+        this.operationId = operationId;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    // toString Methode zur Darstellung der Notiz als String
+    @Override
+    public String toString() {
+        return "PreparationNote{" +
+                "noteId='" + noteId + '\'' +
+                ", operationId='" + operationId + '\'' +
+                ", content='" + content + '\'' +
+                '}';
+    }
+
+    // equals Methode zum Vergleichen von zwei PreparationNote Objekten
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        PreparationNote that = (PreparationNote) o;
+        return Objects.equals(noteId, that.NoteId) &&
+                Objects.equals(operationId, that.operationId) &&
+                Objects.equals(content, that.content);
+    }
+    // hashCode Methode zur Berechnung des Hashcodes eines PreparationNote Objekts
+    @Override
+    public int hashCode() {
+        return Objects.hash(noteId, operationId, content);
+    }
 }
+
+//public record PreparationNote(
+//        Id<PreparationNote> preparationNoteId,
+//        String text,
+//        Operation operationId,
+//        Instant lastUpdate
+//) {
+
diff --git a/opp/core/src/main/java/PreparationNoteCommand.java b/opp/core/src/main/java/PreparationNoteCommand.java
new file mode 100644
index 0000000000000000000000000000000000000000..4581407480159030077bd461dc98811926b06ce9
--- /dev/null
+++ b/opp/core/src/main/java/PreparationNoteCommand.java
@@ -0,0 +1,27 @@
+public class PreparationNoteCommand {
+    private String operationId;
+    private String content;
+
+    // Konstruktor zur Initialisierung der Command-Attribute
+    public PreparationNoteCommand(String operationId, String content) {
+        this.operationId = operationId;
+        this.content = content;
+    }
+
+    // Getter und Setter Methoden für die Attribute
+    public String getOperationId() {
+        return operationId;
+    }
+
+    public void setOperationId(String operationId) {
+        this.operationId = operationId;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+}
diff --git a/opp/core/src/main/java/PreparationNoteService.java b/opp/core/src/main/java/PreparationNoteService.java
new file mode 100644
index 0000000000000000000000000000000000000000..485c834dfa8432e1a2432823773422ba9539920d
--- /dev/null
+++ b/opp/core/src/main/java/PreparationNoteService.java
@@ -0,0 +1,9 @@
+import java.util.List;
+
+public interface PreparationNoteService {
+    PreparationNote createNote(PreparationNoteCommand command);    // Methode zum Erstellen einer neuen Notiz
+    PreparationNote updateNote(String noteId, PreparationNoteCommand command); // Methode zum Aktualisieren einer Notiz
+    void deleteNote(String noteId);                     // Methode zum Löschen einer Notiz
+    PreparationNote getNoteById(String noteId);         // Methode zum Abrufen einer Notiz nach ID
+    List<PreparationNote> getNotesByOperationId(String operationId); // Methode zum Abrufen von Notizen nach Operation-ID
+}
diff --git a/opp/core/src/main/java/Room.java b/opp/core/src/main/java/Room.java
index a221942fdbe97984f79a5cf6b37971037806271c..a0de6ea20f8feb336fc332d59a35536a746f478a 100644
--- a/opp/core/src/main/java/Room.java
+++ b/opp/core/src/main/java/Room.java
@@ -1,8 +1,72 @@
 import java.time.Instant;
+import java.util.Objects;
 
-public record Room(
-        Id<Room> roomId,
-        String roomName,
-        Instant lastUpdate
-) {
+public class Room {
+    private String roomId;  // Eindeutige Identifikation des Raum
+    private String roomName;// Name des Raums
+    private int capacity;   // Kapazität des Raums
+
+    // Konstruktor zur Initialisierung der Raum-Attribute
+    public Room(String RoomId, String roomName, int capacity) {
+        this.roomId = roomId;
+        this.roomName = RoomName;
+        this.capacity = capacity;
+    }
+
+    // Getter und Setter Methoden für die Attribute
+    public String getRoomId() {
+        return RoomId;
+    }
+
+    public void setRoomId(String roomId) {
+        this.id = RoomId;
+    }
+
+    public String getRoomName() {
+        return roomName;
+    }
+
+    public void setRoomName(String roomName) {
+        this.roomName = roomName;
+    }
+
+    public int getCapacity() {
+        return capacity;
+    }
+
+    public void setCapacity(int capacity) {
+        this.capacity = capacity;
+    }
+
+    // toString Methode zur Darstellung des Raums als String
+    @Override
+    public String toString() {
+        return "Room{" +
+                "roomId='" + roomId + '\'' +
+                ", roomName='" + roomName + '\'' +
+                ", capacity=" + capacity +
+                '}';
+    }
+
+    // equals Methode zum Vergleichen von zwei Room Objekten    
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        Room room = (Room) o;
+        return capacity == room.capacity &&
+                Objects.equals(roomId, room.roomId) &&
+                Objects.equals(roomName, room.roomName);
+    }
+    // hashCode Methode zur Berechnung des Hashcodes eines Room Objekts
+    @Override
+    public int hashCode() {
+        return Objects.hash(roomId, roomName, capacity);
+    }
 }
+
+//public record Room(
+//      Id<Room> roomId,
+//      String roomName,
+//      Instant lastUpdate
+//) {
diff --git a/opp/core/src/main/java/RoomCommand.java b/opp/core/src/main/java/RoomCommand.java
new file mode 100644
index 0000000000000000000000000000000000000000..64b61b069287535d1df32231d151a2cef1404809
--- /dev/null
+++ b/opp/core/src/main/java/RoomCommand.java
@@ -0,0 +1,27 @@
+public class RoomCommand {
+    private String roomName;
+    private int capacity;
+
+    // Konstruktor zur Initialisierung der Kommando-Attribute
+    public RoomCommand(String roomName, int capacity) {
+        this.roomName = roomName;
+        this.capacity = capacity;
+    }
+
+    // Getter und Setter Methoden für die Attribute
+    public String getRoomName() {
+        return roomName;
+    }
+
+    public void setRoomName(String roomName) {
+        this.roomName = roomName;
+    }
+
+    public int getCapacity() {
+        return capacity;
+    }
+
+    public void setCapacity(int capacity) {
+        this.capacity = capacity;
+    }
+}
diff --git a/opp/core/src/main/java/RoomService.java b/opp/core/src/main/java/RoomService.java
new file mode 100644
index 0000000000000000000000000000000000000000..35eb0b2002c13e28dd4d8ccd673d1503ddfa5820
--- /dev/null
+++ b/opp/core/src/main/java/RoomService.java
@@ -0,0 +1,9 @@
+import java.util.List;
+
+public interface RoomService {
+    Room createRoom(RoomCommand command);    // Methode zum Erstellen eines neuen Raums
+    Room updateRoom(String roomId, RoomCommand command); // Methode zum Aktualisieren eines Raums
+    void deleteRoom(String roomId);           // Methode zum Löschen eines Raums
+    Room getRoomById(String roomId);          // Methode zum Abrufen eines Raums nach ID
+    List<Room> getAllRooms();                 // Methode zum Abrufen aller Räume
+}
diff --git a/opp/core/target/classes/Address.class b/opp/core/target/classes/Address.class
new file mode 100644
index 0000000000000000000000000000000000000000..adbd5537a46e784576b7b9b6ccf00d87e175a23c
Binary files /dev/null and b/opp/core/target/classes/Address.class differ
diff --git a/opp/core/target/classes/Gender.class b/opp/core/target/classes/Gender.class
new file mode 100644
index 0000000000000000000000000000000000000000..ac53ff2ef3596301c868e48036d31a9c0a0ef6eb
Binary files /dev/null and b/opp/core/target/classes/Gender.class differ
diff --git a/opp/core/target/classes/Id$Serializer.class b/opp/core/target/classes/Id$Serializer.class
new file mode 100644
index 0000000000000000000000000000000000000000..dbac8a9b131bb4ad2c0fcea4cb43ea81023b898d
Binary files /dev/null and b/opp/core/target/classes/Id$Serializer.class differ
diff --git a/opp/core/target/classes/Id.class b/opp/core/target/classes/Id.class
new file mode 100644
index 0000000000000000000000000000000000000000..e5873cf6a32fd5846d93b2370a5bffa059f3e9ff
Binary files /dev/null and b/opp/core/target/classes/Id.class differ
diff --git a/opp/core/target/classes/OPStaff.class b/opp/core/target/classes/OPStaff.class
new file mode 100644
index 0000000000000000000000000000000000000000..06070f6a4bc10cf60375f1e4c83b89ad9ad85f4a
Binary files /dev/null and b/opp/core/target/classes/OPStaff.class differ
diff --git a/opp/core/target/classes/ObjectModification.class b/opp/core/target/classes/ObjectModification.class
new file mode 100644
index 0000000000000000000000000000000000000000..588f70f92288db51ae51517932615dedf69cc705
Binary files /dev/null and b/opp/core/target/classes/ObjectModification.class differ
diff --git a/opp/core/target/classes/Operation$Command.class b/opp/core/target/classes/Operation$Command.class
new file mode 100644
index 0000000000000000000000000000000000000000..50e9efcbc8ea59d96005d4e3762328e98c15999b
Binary files /dev/null and b/opp/core/target/classes/Operation$Command.class differ
diff --git a/opp/core/target/classes/Operation$Create.class b/opp/core/target/classes/Operation$Create.class
new file mode 100644
index 0000000000000000000000000000000000000000..13a9a1483cd8b02387f6d01cfc5e7cea9c7787a5
Binary files /dev/null and b/opp/core/target/classes/Operation$Create.class differ
diff --git a/opp/core/target/classes/Operation$Delete.class b/opp/core/target/classes/Operation$Delete.class
new file mode 100644
index 0000000000000000000000000000000000000000..1135d2fba16f3cd17e875a68b6eaaa806a7c90e4
Binary files /dev/null and b/opp/core/target/classes/Operation$Delete.class differ
diff --git a/opp/core/target/classes/Operation$Filter.class b/opp/core/target/classes/Operation$Filter.class
new file mode 100644
index 0000000000000000000000000000000000000000..a5e735be1fe720f49d92fe70fbef6da7f06bc13f
Binary files /dev/null and b/opp/core/target/classes/Operation$Filter.class differ
diff --git a/opp/core/target/classes/Operation$Update.class b/opp/core/target/classes/Operation$Update.class
new file mode 100644
index 0000000000000000000000000000000000000000..af2c52d6acdc6f02f178605ef3fb8add3f774f61
Binary files /dev/null and b/opp/core/target/classes/Operation$Update.class differ
diff --git a/opp/core/target/classes/Operation.class b/opp/core/target/classes/Operation.class
new file mode 100644
index 0000000000000000000000000000000000000000..48b26effbdd4963729a88d12e5663ce28985c163
Binary files /dev/null and b/opp/core/target/classes/Operation.class differ
diff --git a/opp/core/target/classes/OperationService.class b/opp/core/target/classes/OperationService.class
new file mode 100644
index 0000000000000000000000000000000000000000..0f6951126176c05bc185143d4286ce708494442a
Binary files /dev/null and b/opp/core/target/classes/OperationService.class differ
diff --git a/opp/core/target/classes/OperationServiceImpl.class b/opp/core/target/classes/OperationServiceImpl.class
new file mode 100644
index 0000000000000000000000000000000000000000..68a2df94faa436e17a7e7e988b4164b1d43d4f67
Binary files /dev/null and b/opp/core/target/classes/OperationServiceImpl.class differ
diff --git a/opp/core/target/classes/OperationTeam.class b/opp/core/target/classes/OperationTeam.class
new file mode 100644
index 0000000000000000000000000000000000000000..391e573fd4a13e9b33326d1395e6ffc9a43c5840
Binary files /dev/null and b/opp/core/target/classes/OperationTeam.class differ
diff --git a/opp/core/target/classes/Patient.class b/opp/core/target/classes/Patient.class
new file mode 100644
index 0000000000000000000000000000000000000000..82166c29b978f52ee44fc3834d1112f0357f91ca
Binary files /dev/null and b/opp/core/target/classes/Patient.class differ
diff --git a/opp/core/target/classes/PreparationNote.class b/opp/core/target/classes/PreparationNote.class
new file mode 100644
index 0000000000000000000000000000000000000000..c25ee08f38b5dc6011cf268c640783d8921566e0
Binary files /dev/null and b/opp/core/target/classes/PreparationNote.class differ
diff --git a/opp/core/target/classes/Repository.class b/opp/core/target/classes/Repository.class
new file mode 100644
index 0000000000000000000000000000000000000000..cb25898652c9522a5df8b448701fd02c0778ef6c
Binary files /dev/null and b/opp/core/target/classes/Repository.class differ
diff --git a/opp/core/target/classes/Role.class b/opp/core/target/classes/Role.class
new file mode 100644
index 0000000000000000000000000000000000000000..ee33bc1c32fae99bfe7d57666788d84d7222fb33
Binary files /dev/null and b/opp/core/target/classes/Role.class differ
diff --git a/opp/core/target/classes/Room.class b/opp/core/target/classes/Room.class
new file mode 100644
index 0000000000000000000000000000000000000000..fb0932d7270622d0b902788c72d0edbbdff7663f
Binary files /dev/null and b/opp/core/target/classes/Room.class differ
diff --git a/opp/jdbc-repo-impl/target/classes/JDBCRepository.class b/opp/jdbc-repo-impl/target/classes/JDBCRepository.class
new file mode 100644
index 0000000000000000000000000000000000000000..13bfa06cfcba8bd9e40b0699c3a973332cd55f34
Binary files /dev/null and b/opp/jdbc-repo-impl/target/classes/JDBCRepository.class differ
diff --git a/opp/jdbc-repo-impl/target/test-classes/Tests.class b/opp/jdbc-repo-impl/target/test-classes/Tests.class
new file mode 100644
index 0000000000000000000000000000000000000000..1ab5b918e2abe0b771719bbe2b107a8f77452a64
Binary files /dev/null and b/opp/jdbc-repo-impl/target/test-classes/Tests.class differ