diff --git a/.gitignore b/.gitignore
index deae167435ac8334cb04899d403e221ad9276dc0..9a0adf3187b08c52b41e6a637a5fb904ed1c582c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -88,4 +88,5 @@ buildNumber.properties
 
 # Custom
 /application.properties
-
+docker/data
+docker/data/**
diff --git a/airport-manager-api/pom.xml b/airport-manager-api/pom.xml
index 4593bc368fb62bfcd45509ec53e37d5b44c4dd73..8768a32d6121f2d70651122ed9cbba565843416a 100644
--- a/airport-manager-api/pom.xml
+++ b/airport-manager-api/pom.xml
@@ -3,7 +3,7 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>airpot-manager</artifactId>
-    <groupId>cz.fi.muni.pa165</groupId>
+    <groupId>cz.muni.fi.pa165</groupId>
     <version>1.0-SNAPSHOT</version>
   </parent>
 
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/airport/Airport.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/airport/Airport.java
similarity index 91%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/airport/Airport.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/airport/Airport.java
index d5219242d96c66f035228888a255e64b7ea4dc4c..168013cee7aa4825ee43e87a0d7294373caf7ec5 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/airport/Airport.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/airport/Airport.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.api.airport;
+package cz.muni.fi.pa165.api.airport;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
diff --git a/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/airport/requests/AirportRequest.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/airport/requests/AirportRequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..bdfc38b5f7d59445eba75b01741a8900a617ba00
--- /dev/null
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/airport/requests/AirportRequest.java
@@ -0,0 +1,11 @@
+package cz.muni.fi.pa165.api.airport.requests;
+
+public class AirportRequest {
+    private String name;
+    private String capacity;
+    private double landingPrice;
+    private double longitude;
+    private double latitude;
+    private String city;
+    private String country;
+}
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/Employee.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/Employee.java
similarity index 86%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/Employee.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/Employee.java
index 8e992f2e674681c6f6ed60889faa59a08d5a6aff..a4df372cfa476271729348460bf708849119a680 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/Employee.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/Employee.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.api.employee;
+package cz.muni.fi.pa165.api.employee;
 
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -8,7 +8,6 @@ import java.time.LocalDateTime;
 import java.util.UUID;
 
 @Data
-@NoArgsConstructor
 public class Employee {
 
     private UUID id;
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/Licence.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/Licence.java
similarity index 76%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/Licence.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/Licence.java
index 4633056d6bc3fe2972743a2c0c7d79c38cab6cd1..2c103ab5e5a4648f876b0336e78d10d3f7305919 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/Licence.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/Licence.java
@@ -1,10 +1,10 @@
-package cz.fi.muni.pa165.api.employee;
+package cz.muni.fi.pa165.api.employee;
 
+import cz.muni.fi.pa165.api.plane.PlaneType;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
-import java.time.LocalDate;
 import java.util.UUID;
 
 @Data
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/Pilot.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/Pilot.java
similarity index 50%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/Pilot.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/Pilot.java
index e41264c55f2a32ab856ea64744fcf01f254f7b5e..511acdd46d0e98a17076dfe0cab6076d4618cd96 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/Pilot.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/Pilot.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.api.employee;
+package cz.muni.fi.pa165.api.employee;
 
 import lombok.Data;
 
@@ -7,10 +7,5 @@ import java.util.List;
 @Data
 public class Pilot extends Employee {
 
-
-    public Pilot(List<Licence> licences) {
-        this.licences = licences;
-    }
-
     private List<Licence> licences;
 }
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/Steward.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/Steward.java
similarity index 76%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/Steward.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/Steward.java
index 2f44363c55d88343eaa17ea5764a972cdfbffcef..99bae6afeacb02be84a3bf5c1c13123a2c3065ff 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/Steward.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/Steward.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.api.employee;
+package cz.muni.fi.pa165.api.employee;
 
 import lombok.Data;
 
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/requests/EmployeeRequest.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/requests/EmployeeRequest.java
similarity index 84%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/requests/EmployeeRequest.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/requests/EmployeeRequest.java
index 770481dcaef98d0af6a3bbd99fc7cfa545917d5f..66a82bb3703f4a27f00124cc2ce59dfa8c5f61bf 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/requests/EmployeeRequest.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/requests/EmployeeRequest.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.api.employee.requests;
+package cz.muni.fi.pa165.api.employee.requests;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/requests/LicenceRequest.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/requests/LicenceRequest.java
similarity index 84%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/requests/LicenceRequest.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/requests/LicenceRequest.java
index 858e23e35a5d8c4198efb342505661777e81db82..418632c8ebc6ccf5eace605ee4db8669cf4c6d91 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/requests/LicenceRequest.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/requests/LicenceRequest.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.api.employee.requests;
+package cz.muni.fi.pa165.api.employee.requests;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/requests/PilotRequest.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/requests/PilotRequest.java
similarity index 86%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/requests/PilotRequest.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/requests/PilotRequest.java
index 0ba364b0a30eb84168d9f35b12b29cc2d48286ae..e398264690330b74e939df21597a27c249d4bf3b 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/requests/PilotRequest.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/requests/PilotRequest.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.api.employee.requests;
+package cz.muni.fi.pa165.api.employee.requests;
 
 import java.time.LocalDate;
 import java.util.List;
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/requests/StewardRequest.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/requests/StewardRequest.java
similarity index 86%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/requests/StewardRequest.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/requests/StewardRequest.java
index 3b495f308b122234c28cd58c97fce4e5b8c1eb23..1e8a9138d1ae3489a5d83f9e78576ed7567a1f13 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/requests/StewardRequest.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/employee/requests/StewardRequest.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.api.employee.requests;
+package cz.muni.fi.pa165.api.employee.requests;
 
 import java.time.LocalDate;
 import java.util.List;
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/flight/Flight.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/Flight.java
similarity index 91%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/flight/Flight.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/Flight.java
index e6c239340b44f5382fc1b3abefc57d4d7816e37b..10dba8a1511a1073ac20e3cb04bc6360290ab21a 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/flight/Flight.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/Flight.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.api.flight;
+package cz.muni.fi.pa165.api.flight;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/flight/FlightRealization.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/FlightRealization.java
similarity index 92%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/flight/FlightRealization.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/FlightRealization.java
index f5cc9acd46f5f3a355b03ec8214b86d34093d33c..ccecab0e89d4b263fe7a78a77dcde41450ea9c32 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/flight/FlightRealization.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/FlightRealization.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.api.flight;
+package cz.muni.fi.pa165.api.flight;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/flight/IssueReport.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/IssueReport.java
similarity index 88%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/flight/IssueReport.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/IssueReport.java
index 8701266a559a7c22b4b2cc947e1b89515df29bbd..d931de087eed87095ed9ffc3417621bfc9e4309d 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/flight/IssueReport.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/IssueReport.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.api.flight;
+package cz.muni.fi.pa165.api.flight;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/plane/Plane.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/plane/Plane.java
similarity index 79%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/plane/Plane.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/plane/Plane.java
index 4563667ba7a3a415b10faa2bf1bf37959a47d991..e1195ffde90b8161ce14feded57f9bc83b9e3587 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/plane/Plane.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/plane/Plane.java
@@ -1,6 +1,5 @@
-package cz.fi.muni.pa165.api.plane;
+package cz.muni.fi.pa165.api.plane;
 
-import cz.fi.muni.pa165.api.employee.PlaneType;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/PlaneType.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/plane/PlaneType.java
similarity index 73%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/PlaneType.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/plane/PlaneType.java
index c2759ffaee1b8d903bad3a43c7530fa33a66c290..53a7eb3e61781acf263b228bfc4a634d2dc91f79 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/employee/PlaneType.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/plane/PlaneType.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.api.employee;
+package cz.muni.fi.pa165.api.plane;
 
 public enum PlaneType {
     CESSNA,
diff --git a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/plane/requests/PlaneRequest.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/plane/requests/PlaneRequest.java
similarity index 71%
rename from airport-manager-api/src/main/java/cz/fi/muni/pa165/api/plane/requests/PlaneRequest.java
rename to airport-manager-api/src/main/java/cz/muni/fi/pa165/api/plane/requests/PlaneRequest.java
index 6a8df26f3ef01ed96f61adf13be72865af5b1d4f..a5d223676e5e30cbd5ef2cfeaf9c2ceb14c6a0d1 100644
--- a/airport-manager-api/src/main/java/cz/fi/muni/pa165/api/plane/requests/PlaneRequest.java
+++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/plane/requests/PlaneRequest.java
@@ -1,6 +1,6 @@
-package cz.fi.muni.pa165.api.plane.requests;
+package cz.muni.fi.pa165.api.plane.requests;
 
-import cz.fi.muni.pa165.api.employee.PlaneType;
+import cz.muni.fi.pa165.api.plane.PlaneType;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 
diff --git a/airport-manager-api/src/test/java/cz/fi/muni/pa165/AppTest.java b/airport-manager-api/src/test/java/cz/fi/muni/pa165/AppTest.java
index 2ffc6e6f10f5d7219f355c1871a22f5d837cb30b..1f9de34baf4b61c4082c4a0013d66900bf6de08d 100644
--- a/airport-manager-api/src/test/java/cz/fi/muni/pa165/AppTest.java
+++ b/airport-manager-api/src/test/java/cz/fi/muni/pa165/AppTest.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165;
+package cz.muni.fi.pa165;
 
 import static org.junit.Assert.assertTrue;
 
diff --git a/airports-flight-service/pom.xml b/airports-flight-service/pom.xml
index 713452cd98e06a0958ce05a6c38c7e3ed2cc5b9a..fca245292833544e5bb337e224fa99c1c84d4945 100644
--- a/airports-flight-service/pom.xml
+++ b/airports-flight-service/pom.xml
@@ -4,7 +4,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>cz.fi.muni.pa165</groupId>
+        <groupId>cz.muni.fi.pa165</groupId>
         <artifactId>airpot-manager</artifactId>
         <version>1.0-SNAPSHOT</version>
     </parent>
diff --git a/airports-flight-service/src/main/java/cz/fi/muni/pa165/flight/Main.java b/airports-flight-service/src/main/java/cz/muni/fi/pa165/Main.java
similarity index 78%
rename from airports-flight-service/src/main/java/cz/fi/muni/pa165/flight/Main.java
rename to airports-flight-service/src/main/java/cz/muni/fi/pa165/Main.java
index bb97d0df152c7ce1c796fd390dedd0a827a01d6a..95fba2588abb5949c14ddab99bca5e2023caddec 100644
--- a/airports-flight-service/src/main/java/cz/fi/muni/pa165/flight/Main.java
+++ b/airports-flight-service/src/main/java/cz/muni/fi/pa165/Main.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.flight;
+package cz.muni.fi.pa165;
 
 public class Main {
     public static void main(String[] args) {
diff --git a/airports-hr-service/pom.xml b/airports-hr-service/pom.xml
index 45d5ff16545ac3d603b1c3265eee321fcf27d99d..aae7b04121ea53c66d2ea6fdaccba958c4e9ea87 100644
--- a/airports-hr-service/pom.xml
+++ b/airports-hr-service/pom.xml
@@ -4,18 +4,20 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>cz.fi.muni.pa165</groupId>
+        <groupId>cz.muni.fi.pa165</groupId>
         <artifactId>airpot-manager</artifactId>
         <version>1.0-SNAPSHOT</version>
     </parent>
 
-    <groupId>cz.fi.muni.pa165</groupId>
+    <groupId>cz.muni.fi.pa165</groupId>
     <artifactId>airports-hr-service</artifactId>
 
     <properties>
         <maven.compiler.source>17</maven.compiler.source>
         <maven.compiler.target>17</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <swagger.version>3.0.0</swagger.version>
+        <swagger-ui.version>2.10.5</swagger-ui.version>
     </properties>
 
     <dependencies>
@@ -30,9 +32,17 @@
         </dependency>
         <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa -->
         <dependency>
-            <groupId>org.springframework.data</groupId>
-            <artifactId>spring-data-jpa</artifactId>
-            <version>3.2.4</version>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+            <scope>runtime</scope>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
@@ -43,12 +53,26 @@
             <artifactId>modelmapper</artifactId>
             <version>3.2.0</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger2</artifactId>
+            <version>${swagger.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>${swagger-ui.version}</version>
+        </dependency>
         <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-boot-starter</artifactId>
-            <version>3.0.0</version>
+            <version>${swagger.version}</version>
         </dependency>
-
     </dependencies>
 
     <build>
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/SwaggerConfig.java b/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/SwaggerConfig.java
deleted file mode 100644
index 3de301fbd5477b9125a1d3671273ccc0771fecd1..0000000000000000000000000000000000000000
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/SwaggerConfig.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package cz.fi.muni.pa165.hr;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
-
-import java.util.Arrays;
-
-@Configuration
-@EnableSwagger2
-public class SwaggerConfig {
-    @Bean
-    public Docket employees() {
-        return createDocket()
-                .groupName("Employees")
-                .select()
-                .apis(RequestHandlerSelectors.basePackage(
-                        cz.fi.muni.pa165.hr.rest.EmployeeController.class.getPackage().getName()))
-                .paths(PathSelectors.any())
-                .build();
-    }
-
-    @Bean
-    public Docket pilots() {
-        return createDocket()
-                .groupName("Pilots")
-                .select()
-                .apis(RequestHandlerSelectors.basePackage(
-                        cz.fi.muni.pa165.hr.rest.PilotController.class.getPackage().getName()))
-                .paths(PathSelectors.any())
-                .build();
-    }
-
-    @Bean
-    public Docket steward() {
-        return createDocket()
-                .groupName("Stewards")
-                .select()
-                .apis(RequestHandlerSelectors.basePackage(
-                        cz.fi.muni.pa165.hr.rest.StewardController.class.getPackage().getName()))
-                .paths(PathSelectors.any())
-                .build();
-    }
-
-    private Docket createDocket() {
-        return new Docket(DocumentationType.SWAGGER_2);
-    }
-
-}
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/dao/Pilot.java b/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/dao/Pilot.java
deleted file mode 100644
index 2be6360664bc0801d10cb442b8f313d38bede98e..0000000000000000000000000000000000000000
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/dao/Pilot.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package cz.fi.muni.pa165.hr.dao;
-
-import cz.fi.muni.pa165.api.employee.PlaneType;
-import cz.fi.muni.pa165.hr.Constants;
-import jakarta.persistence.*;
-import lombok.Data;
-
-import java.time.LocalDate;
-import java.util.List;
-import java.util.UUID;
-
-@Data
-@Entity
-@Table(name = "pilots", schema = Constants.HR_SCHEMA)
-@PrimaryKeyJoinColumn(name = "employee_id")
-public class Pilot extends Employee {
-
-    private List<PlaneType> licences;
-}
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/dao/Steward.java b/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/dao/Steward.java
deleted file mode 100644
index b5199bf5de93c5f21e5cfdf09455741c0ab0b4ba..0000000000000000000000000000000000000000
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/dao/Steward.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package cz.fi.muni.pa165.hr.dao;
-import cz.fi.muni.pa165.hr.Constants;
-import jakarta.persistence.*;
-import lombok.Data;
-
-import java.time.LocalDate;
-import java.util.List;
-import java.util.UUID;
-
-@Data
-@Entity
-@Table(name = "pilots", schema = Constants.HR_SCHEMA)
-@PrimaryKeyJoinColumn(name = "employee_id")
-public class Steward extends Employee{
-
-    private List<String> languages;
-}
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/repository/EmployeeRepository.java b/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/repository/EmployeeRepository.java
deleted file mode 100644
index 95c7e0a614c16ef0265b7d85d6c86bde34ed9254..0000000000000000000000000000000000000000
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/repository/EmployeeRepository.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package cz.fi.muni.pa165.hr.repository;
-
-import cz.fi.muni.pa165.hr.dao.Employee;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.UUID;
-
-@Repository
-public interface EmployeeRepository extends JpaRepository<Employee, UUID> {
-}
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/repository/PilotRepository.java b/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/repository/PilotRepository.java
deleted file mode 100644
index e214d7a9628cda2ba136d50d24451eeaef54f67e..0000000000000000000000000000000000000000
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/repository/PilotRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package cz.fi.muni.pa165.hr.repository;
-
-import cz.fi.muni.pa165.hr.dao.Employee;
-import cz.fi.muni.pa165.hr.dao.Pilot;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-import java.util.UUID;
-
-public interface PilotRepository extends JpaRepository<Pilot, UUID> {
-}
\ No newline at end of file
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/repository/StewardRepository.java b/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/repository/StewardRepository.java
deleted file mode 100644
index 87208d92e09bee15c216122a540251e34d132b2c..0000000000000000000000000000000000000000
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/repository/StewardRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package cz.fi.muni.pa165.hr.repository;
-
-import cz.fi.muni.pa165.hr.dao.Employee;
-import cz.fi.muni.pa165.hr.dao.Steward;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-import java.util.UUID;
-
-public interface StewardRepository extends JpaRepository<Steward, UUID> {
-}
\ No newline at end of file
diff --git a/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/Application.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/Application.java
new file mode 100644
index 0000000000000000000000000000000000000000..903975a952df7b3e00535713cb8855f93e4ba155
--- /dev/null
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/Application.java
@@ -0,0 +1,12 @@
+package cz.muni.fi.pa165.hr;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+
+@SpringBootApplication(scanBasePackages = {"cz.muni.fi.pa165.hr", "cz.muni.fi.pa165.hr.repository"})
+public class Application {
+    public static void main(String[] args) {
+        SpringApplication.run(Application.class, args);
+    }
+}
\ No newline at end of file
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/Constants.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/Constants.java
similarity index 73%
rename from airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/Constants.java
rename to airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/Constants.java
index 7a910e07412f07b366f279d63fabff535c857fb9..ac98fef79bf1a0c246337fc701c615520d6cfd63 100644
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/Constants.java
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/Constants.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.hr;
+package cz.muni.fi.pa165.hr;
 
 public class Constants {
 
diff --git a/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/SwaggerConfig.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/SwaggerConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..2cdfc4b376fcb0759e6272520f95e63739562478
--- /dev/null
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/SwaggerConfig.java
@@ -0,0 +1,29 @@
+package cz.muni.fi.pa165.hr;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig {
+
+    @Bean
+    public Docket facadesV1Api() {
+        return createDocket()
+                .groupName("Human Resources")
+                .select()
+                .apis(RequestHandlerSelectors.basePackage(
+                        cz.muni.fi.pa165.hr.rest.StewardController.class.getPackageName()))
+                .paths(PathSelectors.any())
+                .build();
+    }
+
+    private Docket createDocket() {
+        return new Docket(DocumentationType.SWAGGER_2);
+    }
+}
\ No newline at end of file
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/dao/Employee.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/Employee.java
similarity index 51%
rename from airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/dao/Employee.java
rename to airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/Employee.java
index d052457ede267c4a207b70f1397aa1be830f95c8..4bca8b9271f80593840cfc7172d21700d77768ae 100644
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/dao/Employee.java
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/Employee.java
@@ -1,21 +1,26 @@
-package cz.fi.muni.pa165.hr.dao;
+package cz.muni.fi.pa165.hr.dao;
 
-import cz.fi.muni.pa165.hr.Constants;
-import jakarta.persistence.Entity;
-import jakarta.persistence.Inheritance;
-import jakarta.persistence.InheritanceType;
-import jakarta.persistence.Table;
+import cz.muni.fi.pa165.hr.Constants;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
+import java.io.Serializable;
 import java.time.LocalDate;
 import java.util.UUID;
+import javax.persistence.*;
 
 @Data
 @Entity
 @Table(name = "employee", schema = Constants.HR_SCHEMA)
 @Inheritance(strategy = InheritanceType.JOINED)
-public class Employee {
+public class Employee implements Serializable {
 
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
     private UUID id;
     private String name;
     private String surname;
diff --git a/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/Language.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/Language.java
new file mode 100644
index 0000000000000000000000000000000000000000..602bd78d910d890e24c140dcec43d908168b6cac
--- /dev/null
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/Language.java
@@ -0,0 +1,18 @@
+package cz.muni.fi.pa165.hr.dao;
+
+import cz.muni.fi.pa165.hr.Constants;
+import lombok.Data;
+
+import javax.persistence.*;
+import java.util.UUID;
+
+@Data
+@Entity
+@Table(name = "language", schema = Constants.HR_SCHEMA)
+public class Language {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    private UUID id;
+    private String language;
+}
diff --git a/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/Pilot.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/Pilot.java
new file mode 100644
index 0000000000000000000000000000000000000000..1c9c11189c7a0d821d7cf621682e5506421c7cd6
--- /dev/null
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/Pilot.java
@@ -0,0 +1,19 @@
+package cz.muni.fi.pa165.hr.dao;
+
+import cz.muni.fi.pa165.hr.Constants;
+
+import javax.persistence.*;
+
+import lombok.Data;
+
+import java.util.Set;
+
+@Data
+@Entity
+@Table(name = "pilots", schema = Constants.HR_SCHEMA)
+@PrimaryKeyJoinColumn(name = "employee_id")
+public class Pilot extends Employee {
+
+    @OneToMany(cascade = CascadeType.ALL)
+    private Set<PilotLicence> licences;
+}
diff --git a/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/PilotLicence.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/PilotLicence.java
new file mode 100644
index 0000000000000000000000000000000000000000..d4571675bd8958edd3ab208b745f28f532051f31
--- /dev/null
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/PilotLicence.java
@@ -0,0 +1,20 @@
+package cz.muni.fi.pa165.hr.dao;
+
+import cz.muni.fi.pa165.hr.Constants;
+import lombok.Data;
+
+import javax.persistence.*;
+import java.util.UUID;
+
+@Data
+@Entity
+@Table(name = "pilot_licence", schema = Constants.HR_SCHEMA)
+public class PilotLicence {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    private UUID id;
+
+    @Enumerated(EnumType.ORDINAL)
+    private PlaneType type;
+}
diff --git a/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/PlaneType.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/PlaneType.java
new file mode 100644
index 0000000000000000000000000000000000000000..308de3d6847be2489c4c0bf6863c920a71a167e0
--- /dev/null
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/PlaneType.java
@@ -0,0 +1,9 @@
+package cz.muni.fi.pa165.hr.dao;
+
+public enum PlaneType {
+        CESSNA,
+        AIRBUS_A380,
+        AIRBUS_A350,
+        AIRBUS_A320,
+        AIRBUS_A310,
+}
diff --git a/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/Steward.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/Steward.java
new file mode 100644
index 0000000000000000000000000000000000000000..d2372c600d086cf9ea426606a734c9c2b5cd624a
--- /dev/null
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/dao/Steward.java
@@ -0,0 +1,19 @@
+package cz.muni.fi.pa165.hr.dao;
+
+import cz.muni.fi.pa165.hr.Constants;
+
+import javax.persistence.*;
+
+import lombok.Data;
+
+import java.util.Set;
+
+@Data
+@Entity
+@Table(name = "stewards", schema = Constants.HR_SCHEMA)
+@PrimaryKeyJoinColumn(name = "employee_id")
+public class Steward extends Employee{
+
+    @OneToMany(cascade = CascadeType.ALL)
+    private Set<Language> languages;
+}
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/excdption/EmployeeNtFoundException.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/excdption/EmployeeNtFoundException.java
similarity index 94%
rename from airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/excdption/EmployeeNtFoundException.java
rename to airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/excdption/EmployeeNtFoundException.java
index b8ab41d761017dc0a73af9a545b1440e5494f929..fb17a2d4d01dfcb1105085fba70aef458e885e9a 100644
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/excdption/EmployeeNtFoundException.java
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/excdption/EmployeeNtFoundException.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.hr.excdption;
+package cz.muni.fi.pa165.hr.excdption;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/facade/EmployeeFacade.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/facade/EmployeeFacade.java
similarity index 73%
rename from airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/facade/EmployeeFacade.java
rename to airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/facade/EmployeeFacade.java
index 24c45d941905faea25177eba09bd8869edc95158..88c87f927327645919c3524997faa91c0bb5bd5b 100644
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/facade/EmployeeFacade.java
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/facade/EmployeeFacade.java
@@ -1,14 +1,14 @@
-package cz.fi.muni.pa165.hr.facade;
+package cz.muni.fi.pa165.hr.facade;
 
-import cz.fi.muni.pa165.api.employee.Employee;
-import cz.fi.muni.pa165.api.employee.Pilot;
-import cz.fi.muni.pa165.api.employee.PlaneType;
-import cz.fi.muni.pa165.api.employee.Steward;
-import cz.fi.muni.pa165.api.employee.requests.EmployeeRequest;
-import cz.fi.muni.pa165.api.employee.requests.PilotRequest;
-import cz.fi.muni.pa165.api.employee.requests.StewardRequest;
-import cz.fi.muni.pa165.hr.service.EmployeeService;
-import lombok.AllArgsConstructor;
+import cz.muni.fi.pa165.api.employee.Employee;
+import cz.muni.fi.pa165.api.employee.Pilot;
+import cz.muni.fi.pa165.api.plane.PlaneType;
+import cz.muni.fi.pa165.api.employee.Steward;
+import cz.muni.fi.pa165.api.employee.requests.EmployeeRequest;
+import cz.muni.fi.pa165.api.employee.requests.PilotRequest;
+import cz.muni.fi.pa165.api.employee.requests.StewardRequest;
+import cz.muni.fi.pa165.hr.service.EmployeeService;
+import lombok.RequiredArgsConstructor;
 import org.modelmapper.ModelMapper;
 import org.springframework.stereotype.Service;
 
@@ -17,18 +17,18 @@ import java.util.List;
 import java.util.UUID;
 
 @Service
-@AllArgsConstructor
+@RequiredArgsConstructor
 public class EmployeeFacade {
     private final EmployeeService personService;
     private final ModelMapper modelMapper = new ModelMapper();
 
     public Steward createSteward(StewardRequest stewardRequest){
-        var result = personService.createSteward(modelMapper.map(stewardRequest, cz.fi.muni.pa165.hr.dao.Steward.class));
+        var result = personService.createSteward(modelMapper.map(stewardRequest, cz.muni.fi.pa165.hr.dao.Steward.class));
         return modelMapper.map(result, Steward.class);
     }
 
     public Pilot createPilot(PilotRequest pilotRequest){
-        var result = personService.createPilot(modelMapper.map(pilotRequest, cz.fi.muni.pa165.hr.dao.Pilot.class));
+        var result = personService.createPilot(modelMapper.map(pilotRequest, cz.muni.fi.pa165.hr.dao.Pilot.class));
         return modelMapper.map(result, Pilot.class);
     }
 
@@ -38,17 +38,17 @@ public class EmployeeFacade {
     }
 
     public Employee updateEmployee(UUID id, EmployeeRequest employeeRequest){
-        var result = personService.updateEmployee(id, modelMapper.map(employeeRequest, cz.fi.muni.pa165.hr.dao.Employee.class));
+        var result = personService.updateEmployee(id, modelMapper.map(employeeRequest, cz.muni.fi.pa165.hr.dao.Employee.class));
         return modelMapper.map(result, Employee.class);
     }
 
     public Pilot updatePilot(UUID id, PilotRequest pilotRequest){
-        var result = personService.updatePilot(id, modelMapper.map(pilotRequest, cz.fi.muni.pa165.hr.dao.Pilot.class));
+        var result = personService.updatePilot(id, modelMapper.map(pilotRequest, cz.muni.fi.pa165.hr.dao.Pilot.class));
         return modelMapper.map(result, Pilot.class);
     }
 
     public Steward updateSteward(UUID id, StewardRequest stewardRequest){
-        var result = personService.updateSteward(id, modelMapper.map(stewardRequest, cz.fi.muni.pa165.hr.dao.Steward.class));
+        var result = personService.updateSteward(id, modelMapper.map(stewardRequest, cz.muni.fi.pa165.hr.dao.Steward.class));
         return modelMapper.map(result, Steward.class);
     }
 
diff --git a/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/repository/EmployeeRepository.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/repository/EmployeeRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..7da72c34c5256bf348c042d70e921358707211ea
--- /dev/null
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/repository/EmployeeRepository.java
@@ -0,0 +1,11 @@
+package cz.muni.fi.pa165.hr.repository;
+
+import cz.muni.fi.pa165.hr.dao.Employee;
+import org.springframework.data.repository.CrudRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.UUID;
+
+@Repository
+public interface EmployeeRepository extends CrudRepository<Employee, UUID> {
+}
diff --git a/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/repository/PilotRepository.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/repository/PilotRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..d9cbad561a0886daeb99a51eb96ad180507f1924
--- /dev/null
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/repository/PilotRepository.java
@@ -0,0 +1,11 @@
+package cz.muni.fi.pa165.hr.repository;
+
+import cz.muni.fi.pa165.hr.dao.Pilot;
+import org.springframework.data.repository.CrudRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.UUID;
+
+@Repository
+public interface PilotRepository extends CrudRepository<Pilot, UUID> {
+}
\ No newline at end of file
diff --git a/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/repository/StewardRepository.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/repository/StewardRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..c26a5f90b0e2dd0f37a8b6f801671f87c6fbbb88
--- /dev/null
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/repository/StewardRepository.java
@@ -0,0 +1,11 @@
+package cz.muni.fi.pa165.hr.repository;
+
+import cz.muni.fi.pa165.hr.dao.Steward;
+import org.springframework.data.repository.CrudRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.UUID;
+
+@Repository
+public interface StewardRepository extends CrudRepository<Steward, UUID> {
+}
\ No newline at end of file
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/rest/EmployeeController.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/rest/EmployeeController.java
similarity index 60%
rename from airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/rest/EmployeeController.java
rename to airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/rest/EmployeeController.java
index 5c2294773c67b981760a67d1b58fa3cf5cacbc69..0c118ee47fd1d03bd2324e66ab4a4be3848093e0 100644
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/rest/EmployeeController.java
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/rest/EmployeeController.java
@@ -1,25 +1,26 @@
-package cz.fi.muni.pa165.hr.rest;
+package cz.muni.fi.pa165.hr.rest;
 
-import cz.fi.muni.pa165.api.employee.requests.EmployeeRequest;
-import cz.fi.muni.pa165.api.employee.Employee;
-import cz.fi.muni.pa165.hr.facade.EmployeeFacade;
+import cz.muni.fi.pa165.api.employee.requests.EmployeeRequest;
+import cz.muni.fi.pa165.api.employee.Employee;
+import cz.muni.fi.pa165.hr.facade.EmployeeFacade;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.PostConstruct;
 import java.util.UUID;
 
 @RestController
 @RequiredArgsConstructor
 public class EmployeeController {
 
-    private EmployeeFacade employeeFacade;
+    private final EmployeeFacade employeeFacade;
 
     @GetMapping("/employee/{id}")
     public Employee get(@PathVariable UUID id) {
         return employeeFacade.get(id);
     }
 
-    @PutMapping("/employee//{id}")
+    @PutMapping("/employee/{id}")
     public Employee update(@PathVariable UUID id, @RequestBody EmployeeRequest request){
         return employeeFacade.updateEmployee(id, request);
     }
@@ -29,4 +30,8 @@ public class EmployeeController {
         return employeeFacade.terminate(id);
     }
 
+    @PostConstruct
+    public void init(){
+        System.out.println("PICO");
+    }
 }
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/rest/PilotController.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/rest/PilotController.java
similarity index 77%
rename from airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/rest/PilotController.java
rename to airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/rest/PilotController.java
index 41ae2c0ff8d90d8ab34719eef266aaf4ae9ac44f..61ff84fa9722262b7962351583a7600b2cd374b9 100644
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/rest/PilotController.java
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/rest/PilotController.java
@@ -1,9 +1,9 @@
-package cz.fi.muni.pa165.hr.rest;
+package cz.muni.fi.pa165.hr.rest;
 
-import cz.fi.muni.pa165.api.employee.Pilot;
-import cz.fi.muni.pa165.api.employee.PlaneType;
-import cz.fi.muni.pa165.api.employee.requests.PilotRequest;
-import cz.fi.muni.pa165.hr.facade.EmployeeFacade;
+import cz.muni.fi.pa165.api.employee.Pilot;
+import cz.muni.fi.pa165.api.plane.PlaneType;
+import cz.muni.fi.pa165.api.employee.requests.PilotRequest;
+import cz.muni.fi.pa165.hr.facade.EmployeeFacade;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
@@ -15,7 +15,7 @@ import java.util.UUID;
 @RequiredArgsConstructor
 public class PilotController {
 
-    private EmployeeFacade employeeFacade;
+    private final EmployeeFacade employeeFacade;
 
     @PostMapping("/employee/pilot")
     public Pilot create(@RequestBody PilotRequest request) {
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/rest/StewardController.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/rest/StewardController.java
similarity index 71%
rename from airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/rest/StewardController.java
rename to airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/rest/StewardController.java
index 3be7a8971df384cde9ffeb7a0997f17a21cba662..b40bebcf61cac09ebb2a827403083ff38d1d5f96 100644
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/rest/StewardController.java
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/rest/StewardController.java
@@ -1,11 +1,9 @@
-package cz.fi.muni.pa165.hr.rest;
+package cz.muni.fi.pa165.hr.rest;
 
 
-import cz.fi.muni.pa165.api.employee.Employee;
-import cz.fi.muni.pa165.api.employee.Pilot;
-import cz.fi.muni.pa165.api.employee.Steward;
-import cz.fi.muni.pa165.api.employee.requests.StewardRequest;
-import cz.fi.muni.pa165.hr.facade.EmployeeFacade;
+import cz.muni.fi.pa165.api.employee.Steward;
+import cz.muni.fi.pa165.api.employee.requests.StewardRequest;
+import cz.muni.fi.pa165.hr.facade.EmployeeFacade;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
@@ -17,7 +15,7 @@ import java.util.UUID;
 @RequiredArgsConstructor
 public class StewardController {
 
-    private EmployeeFacade employeeFacade;
+    private final EmployeeFacade employeeFacade;
 
     @PostMapping("/employee/steward")
     public Steward createSteward(@RequestBody StewardRequest request) {
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/service/EmployeeService.java b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/service/EmployeeService.java
similarity index 83%
rename from airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/service/EmployeeService.java
rename to airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/service/EmployeeService.java
index 71a8da842f99b20a9bfc3f10f98fc6d6aace5b0c..eaee45d87485df991943a999643f3c1ce0f33050 100644
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/service/EmployeeService.java
+++ b/airports-hr-service/src/main/java/cz/muni/fi/pa165/hr/service/EmployeeService.java
@@ -1,15 +1,15 @@
-package cz.fi.muni.pa165.hr.service;
-
-import cz.fi.muni.pa165.api.employee.PlaneType;
-import cz.fi.muni.pa165.hr.dao.Employee;
-import cz.fi.muni.pa165.hr.dao.Pilot;
-import cz.fi.muni.pa165.hr.dao.Steward;
-import cz.fi.muni.pa165.hr.repository.EmployeeRepository;
-import cz.fi.muni.pa165.hr.repository.PilotRepository;
-import cz.fi.muni.pa165.hr.repository.StewardRepository;
+package cz.muni.fi.pa165.hr.service;
+
+import cz.muni.fi.pa165.api.plane.PlaneType;
+import cz.muni.fi.pa165.hr.dao.Employee;
+import cz.muni.fi.pa165.hr.dao.Pilot;
+import cz.muni.fi.pa165.hr.dao.Steward;
+import cz.muni.fi.pa165.hr.repository.EmployeeRepository;
+import cz.muni.fi.pa165.hr.repository.PilotRepository;
+import cz.muni.fi.pa165.hr.repository.StewardRepository;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
-import cz.fi.muni.pa165.hr.excdption.EmployeeNtFoundException;
+import cz.muni.fi.pa165.hr.excdption.EmployeeNtFoundException;
 
 import java.time.LocalDate;
 import java.time.LocalDateTime;
@@ -63,17 +63,17 @@ public class EmployeeService {
     }
 
     public List<Steward> getAvailableStewards(LocalDateTime from, LocalDateTime to) {
-        //TODO: needs special method in repository, implement when sober
+        //TODO: needs special method in repository
         return List.of();
     }
 
     public List<Pilot> getAvailablePilots(LocalDateTime from, LocalDateTime to) {
-        //TODO: needs special method in repository, implement when sober
+        //TODO: needs special method in repository
         return List.of();
     }
 
     public List<Pilot> getByLicense(PlaneType planeType) {
-        //TODO: needs repository offeres findBy method, which could be used, implement when sober
+        //TODO: needs repository offeres findBy method, which could be used
         return List.of();
     }
 
diff --git a/airports-hr-service/src/main/resources/application.properties b/airports-hr-service/src/main/resources/application.properties
new file mode 100644
index 0000000000000000000000000000000000000000..0e013ec7a6565ee630691c5186914a3d2a978e58
--- /dev/null
+++ b/airports-hr-service/src/main/resources/application.properties
@@ -0,0 +1,17 @@
+spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
+spring.jpa.hibernate.ddl-auto=update
+spring.jpa.generate-ddl=true
+spring.datasource.driver-class-name=org.postgresql.Driver
+spring.datasource.url=jdbc:postgresql://localhost:5432/airport-manager
+spring.datasource.username=root
+spring.datasource.password=123
+spring.jpa.properties.hibernate.hbm2ddl.create_namespaces=true
+jakarta.peristence.create-database-schemas=true
+
+
+springdoc.swagger-ui.path=/swagger-ui.html
+application-description=API Description
+application-version=1.0
+
+logging.level.org.springframework.web=DEBUG
+logging.level.io.springfox=DEBUG
\ No newline at end of file
diff --git a/airports-planes-service/pom.xml b/airports-planes-service/pom.xml
index 4054d3c2fee552ffd4f400254575085658dffbba..dc6f8df158d0251ca479fec07f40c683105136de 100644
--- a/airports-planes-service/pom.xml
+++ b/airports-planes-service/pom.xml
@@ -4,13 +4,13 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>cz.fi.muni.pa165</groupId>
+        <groupId>cz.muni.fi.pa165</groupId>
         <artifactId>airpot-manager</artifactId>
         <version>1.0-SNAPSHOT</version>
     </parent>
 
-    <groupId>cz.fi.muni.pa165</groupId>
     <artifactId>airports-planes-service</artifactId>
+    <version>1.0-SNAPSHOT</version>
 
     <properties>
         <maven.compiler.source>17</maven.compiler.source>
@@ -30,9 +30,17 @@
         </dependency>
         <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa -->
         <dependency>
-            <groupId>org.springframework.data</groupId>
-            <artifactId>spring-data-jpa</artifactId>
-            <version>3.2.4</version>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+            <scope>runtime</scope>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
@@ -43,14 +51,30 @@
             <artifactId>modelmapper</artifactId>
             <version>3.2.0</version>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger2</artifactId>
+            <version>${swagger.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>${swagger-ui.version}</version>
+        </dependency>
         <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-boot-starter</artifactId>
-            <version>3.0.0</version>
+            <version>${swagger.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.micrometer</groupId>
+            <artifactId>micrometer-core</artifactId>
         </dependency>
-
     </dependencies>
-
     <build>
         <plugins>
             <plugin>
diff --git a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/Constants.java b/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/Constants.java
deleted file mode 100644
index d382385fc0997bc593530e7abb1a58dc3e7496ca..0000000000000000000000000000000000000000
--- a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/Constants.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cz.fi.muni.pa165.planes;
-
-public class Constants {
-    public static final String HR_SCHEMA = "hr";
-}
diff --git a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/dao/Plane.java b/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/dao/Plane.java
deleted file mode 100644
index 0edea3f9edf1e0968909164cd0ca5330728721b0..0000000000000000000000000000000000000000
--- a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/dao/Plane.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package cz.fi.muni.pa165.planes.dao;
-
-import cz.fi.muni.pa165.api.employee.PlaneType;
-import cz.fi.muni.pa165.planes.Constants;
-import jakarta.persistence.*;
-import lombok.Data;
-
-import java.util.UUID;
-
-@Data
-@Entity
-@Table(name = "plane", schema = Constants.HR_SCHEMA)
-@Inheritance(strategy = InheritanceType.JOINED)
-public class Plane {
-
-    @Id
-    private UUID id;
-    private String name;
-    private PlaneType planeType;
-    private int maxCapacity;
-    private short pilotsRequired;
-
-}
diff --git a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/repository/PlaneRepository.java b/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/repository/PlaneRepository.java
deleted file mode 100644
index 38cc7ab4228e98eeabcab217d64ff94927beeced..0000000000000000000000000000000000000000
--- a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/repository/PlaneRepository.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package cz.fi.muni.pa165.planes.repository;
-
-import cz.fi.muni.pa165.api.employee.PlaneType;
-import cz.fi.muni.pa165.planes.dao.Plane;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-import java.util.UUID;
-
-@Repository
-public interface PlaneRepository extends JpaRepository<Plane, UUID> {
-
-    List<Plane> findByPlaneType(PlaneType planeType);
-}
diff --git a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/Application.java b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/Application.java
similarity index 89%
rename from airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/Application.java
rename to airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/Application.java
index 7f2aedff228b0f8491ee002dd408fb437cf6509c..efbea8fa9220385107105a3f2ee9e1d5058caea0 100644
--- a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/Application.java
+++ b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/Application.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.planes;
+package cz.muni.fi.pa165.planes;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/Constants.java b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/Constants.java
new file mode 100644
index 0000000000000000000000000000000000000000..3a40441a80311d5f14c0d84385bd84835a01f846
--- /dev/null
+++ b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/Constants.java
@@ -0,0 +1,5 @@
+package cz.muni.fi.pa165.planes;
+
+public class Constants {
+    public static final String PLANES_SCHEMA = "planes";
+}
diff --git a/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/Main.java b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/Main.java
new file mode 100644
index 0000000000000000000000000000000000000000..9c6bfdca7de6f9ab0f9a8cafc01af3234ca00640
--- /dev/null
+++ b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/Main.java
@@ -0,0 +1,7 @@
+package cz.muni.fi.pa165.planes;
+
+public class Main {
+    public static void main(String[] args) {
+        System.out.println("Hello world!");
+    }
+}
\ No newline at end of file
diff --git a/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/SwaggerConfig.java b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/SwaggerConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..40650a5319f4ae658bdbe4ea65b9c2bf1330cabb
--- /dev/null
+++ b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/SwaggerConfig.java
@@ -0,0 +1,30 @@
+package cz.muni.fi.pa165.planes;
+
+import cz.muni.fi.pa165.planes.rest.PlaneController;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig {
+
+    @Bean
+    public Docket facadesV1Api() {
+        return createDocket()
+                .groupName("Planes")
+                .select()
+                .apis(RequestHandlerSelectors.basePackage(
+                        PlaneController.class.getPackageName()))
+                .paths(PathSelectors.any())
+                .build();
+    }
+
+    private Docket createDocket() {
+        return new Docket(DocumentationType.SWAGGER_2);
+    }
+}
\ No newline at end of file
diff --git a/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/dao/Plane.java b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/dao/Plane.java
new file mode 100644
index 0000000000000000000000000000000000000000..d10d4d23c453b76926f60395a3b6abcaf5c3a0eb
--- /dev/null
+++ b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/dao/Plane.java
@@ -0,0 +1,22 @@
+package cz.muni.fi.pa165.planes.dao;
+
+import cz.muni.fi.pa165.planes.Constants;
+import lombok.Data;
+
+import javax.persistence.*;
+import java.util.UUID;
+
+@Data
+@Entity
+@Table(name = "plane", schema = Constants.PLANES_SCHEMA)
+public class Plane {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    private UUID id;
+    private String name;
+    private PlaneType planeType;
+    private int maxCapacity;
+    private short pilotsRequired;
+
+}
diff --git a/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/dao/PlaneType.java b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/dao/PlaneType.java
new file mode 100644
index 0000000000000000000000000000000000000000..744491dfa16ab932bef569b16088ecedd5a03938
--- /dev/null
+++ b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/dao/PlaneType.java
@@ -0,0 +1,9 @@
+package cz.muni.fi.pa165.planes.dao;
+
+public enum PlaneType {
+        CESSNA,
+        AIRBUS_A380,
+        AIRBUS_A350,
+        AIRBUS_A320,
+        AIRBUS_A310,
+}
diff --git a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/exception/PlaneNotFoundException.java b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/exception/PlaneNotFoundException.java
similarity index 94%
rename from airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/exception/PlaneNotFoundException.java
rename to airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/exception/PlaneNotFoundException.java
index 26b02b69c5c7e987dfa58c9392af2e8be6c2789c..5a90f1bbad8c21921fd38e2e7585a4a096f849ce 100644
--- a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/exception/PlaneNotFoundException.java
+++ b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/exception/PlaneNotFoundException.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165.planes.exception;
+package cz.muni.fi.pa165.planes.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/facade/PlaneFacade.java b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/facade/PlaneFacade.java
similarity index 70%
rename from airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/facade/PlaneFacade.java
rename to airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/facade/PlaneFacade.java
index e07721b2cb623f7e72d0e51403e428a466a48a5e..635c0a14288aa156e4a6afbe4b162eb5192a90e7 100644
--- a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/facade/PlaneFacade.java
+++ b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/facade/PlaneFacade.java
@@ -1,9 +1,9 @@
-package cz.fi.muni.pa165.planes.facade;
+package cz.muni.fi.pa165.planes.facade;
 
-import cz.fi.muni.pa165.api.employee.PlaneType;
-import cz.fi.muni.pa165.api.plane.Plane;
-import cz.fi.muni.pa165.api.plane.requests.PlaneRequest;
-import cz.fi.muni.pa165.planes.service.PlaneService;
+import cz.muni.fi.pa165.api.plane.PlaneType;
+import cz.muni.fi.pa165.api.plane.Plane;
+import cz.muni.fi.pa165.api.plane.requests.PlaneRequest;
+import cz.muni.fi.pa165.planes.service.PlaneService;
 import lombok.AllArgsConstructor;
 import org.modelmapper.ModelMapper;
 import org.springframework.stereotype.Service;
@@ -19,7 +19,7 @@ public class PlaneFacade {
     private final ModelMapper modelMapper = new ModelMapper();
 
     public Plane create(PlaneRequest planeRequest) {
-        var result = planeService.create(modelMapper.map(planeRequest, cz.fi.muni.pa165.planes.dao.Plane.class));
+        var result = planeService.create(modelMapper.map(planeRequest, cz.muni.fi.pa165.planes.dao.Plane.class));
         return modelMapper.map(result, Plane.class);
     }
 
@@ -34,7 +34,7 @@ public class PlaneFacade {
     }
 
     public List<Plane> getByType(PlaneType planeType) {
-        var result = planeService.getByType(planeType);
+        var result = planeService.getByType(modelMapper.map(planeType,cz.muni.fi.pa165.planes.dao.PlaneType.class));
         return result.stream().map(p -> modelMapper.map(p, Plane.class)).toList();
     }
 }
diff --git a/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/repository/PlaneRepository.java b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/repository/PlaneRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..28a319e1bb95dc6fc8b3450aeea1a2c4728afd10
--- /dev/null
+++ b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/repository/PlaneRepository.java
@@ -0,0 +1,15 @@
+package cz.muni.fi.pa165.planes.repository;
+
+import cz.muni.fi.pa165.planes.dao.PlaneType;
+import cz.muni.fi.pa165.planes.dao.Plane;
+import org.springframework.data.repository.CrudRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.UUID;
+
+@Repository
+public interface PlaneRepository extends CrudRepository<Plane, UUID> {
+
+    List<Plane> findByPlaneType(PlaneType planeType);
+}
diff --git a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/rest/PlaneController.java b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/rest/PlaneController.java
similarity index 78%
rename from airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/rest/PlaneController.java
rename to airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/rest/PlaneController.java
index c14286c3c146372bb803ff6e44a505f04b6aa41e..3a18f9d95f4417e231eecc1e4450be70ebc4497e 100644
--- a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/rest/PlaneController.java
+++ b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/rest/PlaneController.java
@@ -1,9 +1,9 @@
-package cz.fi.muni.pa165.planes.rest;
+package cz.muni.fi.pa165.planes.rest;
 
-import cz.fi.muni.pa165.api.employee.PlaneType;
-import cz.fi.muni.pa165.api.plane.Plane;
-import cz.fi.muni.pa165.api.plane.requests.PlaneRequest;
-import cz.fi.muni.pa165.planes.facade.PlaneFacade;
+import cz.muni.fi.pa165.planes.facade.PlaneFacade;
+import cz.muni.fi.pa165.api.plane.PlaneType;
+import cz.muni.fi.pa165.api.plane.Plane;
+import cz.muni.fi.pa165.api.plane.requests.PlaneRequest;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
diff --git a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/service/PlaneService.java b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/service/PlaneService.java
similarity index 77%
rename from airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/service/PlaneService.java
rename to airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/service/PlaneService.java
index ea2fb3865c9bc0d58101e4a03612b6ddf58c8836..56d1971794111eadfbfbeabb2f6f927a228c55db 100644
--- a/airports-planes-service/src/main/java/cz/fi/muni/pa165/planes/service/PlaneService.java
+++ b/airports-planes-service/src/main/java/cz/muni/fi/pa165/planes/service/PlaneService.java
@@ -1,9 +1,9 @@
-package cz.fi.muni.pa165.planes.service;
+package cz.muni.fi.pa165.planes.service;
 
-import cz.fi.muni.pa165.api.employee.PlaneType;
-import cz.fi.muni.pa165.planes.dao.Plane;
-import cz.fi.muni.pa165.planes.exception.PlaneNotFoundException;
-import cz.fi.muni.pa165.planes.repository.PlaneRepository;
+import cz.muni.fi.pa165.planes.dao.Plane;
+import cz.muni.fi.pa165.planes.dao.PlaneType;
+import cz.muni.fi.pa165.planes.exception.PlaneNotFoundException;
+import cz.muni.fi.pa165.planes.repository.PlaneRepository;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
diff --git a/airports-planes-service/src/main/resources/application.properties b/airports-planes-service/src/main/resources/application.properties
new file mode 100644
index 0000000000000000000000000000000000000000..0e013ec7a6565ee630691c5186914a3d2a978e58
--- /dev/null
+++ b/airports-planes-service/src/main/resources/application.properties
@@ -0,0 +1,17 @@
+spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
+spring.jpa.hibernate.ddl-auto=update
+spring.jpa.generate-ddl=true
+spring.datasource.driver-class-name=org.postgresql.Driver
+spring.datasource.url=jdbc:postgresql://localhost:5432/airport-manager
+spring.datasource.username=root
+spring.datasource.password=123
+spring.jpa.properties.hibernate.hbm2ddl.create_namespaces=true
+jakarta.peristence.create-database-schemas=true
+
+
+springdoc.swagger-ui.path=/swagger-ui.html
+application-description=API Description
+application-version=1.0
+
+logging.level.org.springframework.web=DEBUG
+logging.level.io.springfox=DEBUG
\ No newline at end of file
diff --git a/airports-service/pom.xml b/airports-service/pom.xml
index 68f090dfed96957dd3d1baeb64f8df1eba14ceea..ab47c7569127ca4ca80c57b7ba0a165ad2f800cb 100644
--- a/airports-service/pom.xml
+++ b/airports-service/pom.xml
@@ -1,78 +1,94 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <artifactId>airpot-manager</artifactId>
-    <groupId>cz.fi.muni.pa165</groupId>
-    <version>1.0-SNAPSHOT</version>
-  </parent>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>airpot-manager</artifactId>
+        <groupId>cz.muni.fi.pa165</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
 
-  <groupId>cz.fi.muni.pa165</groupId>
-  <artifactId>airports-service</artifactId>
-  <version>1.0-SNAPSHOT</version>
+    <groupId>cz.muni.fi.pa165</groupId>
+    <artifactId>airports-service</artifactId>
 
-  <name>airports-service</name>
-  <!-- FIXME change it to the project's website -->
-  <url>http://www.example.com</url>
+    <properties>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>airport-manager-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.modelmapper</groupId>
+            <artifactId>modelmapper</artifactId>
+            <version>3.2.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger2</artifactId>
+            <version>${swagger.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>${swagger-ui.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-boot-starter</artifactId>
+            <version>${swagger.version}</version>
+        </dependency>
+      <dependency>
+        <groupId>io.micrometer</groupId>
+        <artifactId>micrometer-core</artifactId>
+      </dependency>
 
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.source>17</maven.compiler.source>
-    <maven.compiler.target>17</maven.compiler.target>
-  </properties>
+    </dependencies>
 
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>${junit.version}</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
-      <plugins>
-        <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
-        <plugin>
-          <artifactId>maven-clean-plugin</artifactId>
-          <version>3.1.0</version>
-        </plugin>
-        <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
-        <plugin>
-          <artifactId>maven-resources-plugin</artifactId>
-          <version>3.0.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.8.0</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.22.1</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-jar-plugin</artifactId>
-          <version>3.0.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-install-plugin</artifactId>
-          <version>2.5.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-deploy-plugin</artifactId>
-          <version>2.8.2</version>
-        </plugin>
-        <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
-        <plugin>
-          <artifactId>maven-site-plugin</artifactId>
-          <version>3.7.1</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-project-info-reports-plugin</artifactId>
-          <version>3.0.0</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-</project>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git a/airports-service/src/main/java/cz/fi/muni/pa165/App.java b/airports-service/src/main/java/cz/fi/muni/pa165/App.java
deleted file mode 100644
index 9f961e35b4c10210447801fc18c3d98040c1d2e3..0000000000000000000000000000000000000000
--- a/airports-service/src/main/java/cz/fi/muni/pa165/App.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package cz.fi.muni.pa165;
-
-/**
- * Hello world!
- *
- */
-public class App 
-{
-    public static void main( String[] args )
-    {
-        System.out.println( "Hello World!" );
-    }
-}
diff --git a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/Application.java b/airports-service/src/main/java/cz/muni/fi/pa165/airport/Application.java
similarity index 71%
rename from airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/Application.java
rename to airports-service/src/main/java/cz/muni/fi/pa165/airport/Application.java
index 174ae68bff498ef2ff3461167f9f59162edf6a62..e9850df50ad457ab0a563f0a286bdebd51300618 100644
--- a/airports-hr-service/src/main/java/cz/fi/muni/pa165/hr/Application.java
+++ b/airports-service/src/main/java/cz/muni/fi/pa165/airport/Application.java
@@ -1,12 +1,11 @@
-package cz.fi.muni.pa165.hr;
+package cz.muni.fi.pa165.airport;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
 
 @SpringBootApplication
 public class Application {
     public static void main(String[] args) {
         SpringApplication.run(Application.class, args);
     }
-}
\ No newline at end of file
+}
diff --git a/airports-service/src/main/java/cz/muni/fi/pa165/airport/Constants.java b/airports-service/src/main/java/cz/muni/fi/pa165/airport/Constants.java
new file mode 100644
index 0000000000000000000000000000000000000000..6dcb1429d0ba9e356ab9d3570eb8aedd56f2c6c5
--- /dev/null
+++ b/airports-service/src/main/java/cz/muni/fi/pa165/airport/Constants.java
@@ -0,0 +1,7 @@
+package cz.muni.fi.pa165.airport;
+
+public class Constants {
+
+    public static final String AIRPORT_SCHEMA = "airport";
+
+}
diff --git a/airports-service/src/main/java/cz/muni/fi/pa165/airport/SwaggerConfig.java b/airports-service/src/main/java/cz/muni/fi/pa165/airport/SwaggerConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..cba41b5e286b4fb211283152f31a7af40f249c12
--- /dev/null
+++ b/airports-service/src/main/java/cz/muni/fi/pa165/airport/SwaggerConfig.java
@@ -0,0 +1,29 @@
+package cz.muni.fi.pa165.airport;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig {
+
+    @Bean
+    public Docket facadesV1Api() {
+        return createDocket()
+                .groupName("Airports")
+                .select()
+                .apis(RequestHandlerSelectors.basePackage(
+                        cz.muni.fi.pa165.airport.rest.AirportController.class.getPackageName()))
+                .paths(PathSelectors.any())
+                .build();
+    }
+
+    private Docket createDocket() {
+        return new Docket(DocumentationType.SWAGGER_2);
+    }
+}
\ No newline at end of file
diff --git a/airports-service/src/main/java/cz/muni/fi/pa165/airport/dao/Airport.java b/airports-service/src/main/java/cz/muni/fi/pa165/airport/dao/Airport.java
new file mode 100644
index 0000000000000000000000000000000000000000..31da2dbaf97c8d6fe86bd71d955790a75f37e079
--- /dev/null
+++ b/airports-service/src/main/java/cz/muni/fi/pa165/airport/dao/Airport.java
@@ -0,0 +1,24 @@
+package cz.muni.fi.pa165.airport.dao;
+
+import cz.muni.fi.pa165.airport.Constants;
+import lombok.Data;
+
+import javax.persistence.*;
+import java.util.UUID;
+
+@Data
+@Entity
+@Table(name = "airport", schema = Constants.AIRPORT_SCHEMA)
+public class Airport {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    private UUID id;
+    private String name;
+    private String capacity;
+    private Double landingPrice;
+    private Double longitude;
+    private Double latitude;
+    private String city;
+    private String country;
+}
diff --git a/airports-service/src/main/java/cz/muni/fi/pa165/airport/exception/AirportNotFoundException.java b/airports-service/src/main/java/cz/muni/fi/pa165/airport/exception/AirportNotFoundException.java
new file mode 100644
index 0000000000000000000000000000000000000000..f8b41af38734ac73846955f1a38bd4367064bfd9
--- /dev/null
+++ b/airports-service/src/main/java/cz/muni/fi/pa165/airport/exception/AirportNotFoundException.java
@@ -0,0 +1,27 @@
+package cz.muni.fi.pa165.airport.exception;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ResponseStatus(HttpStatus.NOT_FOUND)
+public class AirportNotFoundException extends RuntimeException{
+    public AirportNotFoundException() {
+        super();
+    }
+
+    public AirportNotFoundException(String message) {
+        super(message);
+    }
+
+    public AirportNotFoundException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public AirportNotFoundException(Throwable cause) {
+        super(cause);
+    }
+
+    protected AirportNotFoundException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
+        super(message, cause, enableSuppression, writableStackTrace);
+    }
+}
diff --git a/airports-service/src/main/java/cz/muni/fi/pa165/airport/facade/AirportFacade.java b/airports-service/src/main/java/cz/muni/fi/pa165/airport/facade/AirportFacade.java
new file mode 100644
index 0000000000000000000000000000000000000000..b6e0dc6aee1a7ff3c7567a0bb8711cb82fd5466a
--- /dev/null
+++ b/airports-service/src/main/java/cz/muni/fi/pa165/airport/facade/AirportFacade.java
@@ -0,0 +1,40 @@
+package cz.muni.fi.pa165.airport.facade;
+
+import cz.muni.fi.pa165.airport.service.AirportService;
+import cz.muni.fi.pa165.api.airport.Airport;
+import cz.muni.fi.pa165.api.airport.requests.AirportRequest;
+import lombok.AllArgsConstructor;
+import org.modelmapper.ModelMapper;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.UUID;
+
+@Service
+@AllArgsConstructor
+public class AirportFacade {
+
+    private final AirportService airportService;
+
+    private final ModelMapper modelMapper = new ModelMapper();
+
+    public Airport create(AirportRequest airportRequest) {
+        var result = airportService.create(modelMapper.map(airportRequest, cz.muni.fi.pa165.airport.dao.Airport.class));
+        return modelMapper.map(result, Airport.class);
+    }
+
+    public Airport get(UUID id) {
+        var result = airportService.get(id);
+        return modelMapper.map(result, Airport.class);
+    }
+
+    public Airport update(UUID id, AirportRequest airportRequest) {
+        var result = airportService.update(id, modelMapper.map(airportRequest, cz.muni.fi.pa165.airport.dao.Airport.class));
+        return modelMapper.map(result, Airport.class);
+    }
+
+    public List<Airport> getByCountry(String country) {
+        var result = airportService.getByCountry(country);
+        return result.stream().map(p -> modelMapper.map(p, Airport.class)).toList();
+    }
+}
diff --git a/airports-service/src/main/java/cz/muni/fi/pa165/airport/repository/AirportRepository.java b/airports-service/src/main/java/cz/muni/fi/pa165/airport/repository/AirportRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..68adef86cde5cc0f016fe0245456dcb75f2d8fdd
--- /dev/null
+++ b/airports-service/src/main/java/cz/muni/fi/pa165/airport/repository/AirportRepository.java
@@ -0,0 +1,11 @@
+package cz.muni.fi.pa165.airport.repository;
+
+import cz.muni.fi.pa165.airport.dao.Airport;
+import org.springframework.data.repository.CrudRepository;
+
+import java.util.List;
+import java.util.UUID;
+
+public interface AirportRepository extends CrudRepository<Airport, UUID> {
+    List<Airport> findByCountry(String country);
+}
diff --git a/airports-service/src/main/java/cz/muni/fi/pa165/airport/rest/AirportController.java b/airports-service/src/main/java/cz/muni/fi/pa165/airport/rest/AirportController.java
new file mode 100644
index 0000000000000000000000000000000000000000..64bd6060d54241d901b43e1f98b02111be51cc9f
--- /dev/null
+++ b/airports-service/src/main/java/cz/muni/fi/pa165/airport/rest/AirportController.java
@@ -0,0 +1,37 @@
+package cz.muni.fi.pa165.airport.rest;
+
+import cz.muni.fi.pa165.airport.facade.AirportFacade;
+import cz.muni.fi.pa165.api.airport.Airport;
+import cz.muni.fi.pa165.api.airport.requests.AirportRequest;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.UUID;
+
+@RestController
+@RequiredArgsConstructor
+public class AirportController {
+
+    private AirportFacade airportFacade;
+
+    @PostMapping("/airport")
+    public Airport create(@RequestBody AirportRequest request) {
+        return airportFacade.create(request);
+    }
+
+    @GetMapping("/airport/{id}")
+    public Airport get(@PathVariable UUID id) {
+        return airportFacade.get(id);
+    }
+
+    @PutMapping("/airport/{id}")
+    public Airport update(@PathVariable UUID id, @RequestBody AirportRequest request) {
+        return airportFacade.update(id, request);
+    }
+
+    @GetMapping("/airport/country")
+    public List<Airport> getByLicence(@RequestParam String country) {
+        return airportFacade.getByCountry(country);
+    }
+}
diff --git a/airports-service/src/main/java/cz/muni/fi/pa165/airport/service/AirportService.java b/airports-service/src/main/java/cz/muni/fi/pa165/airport/service/AirportService.java
new file mode 100644
index 0000000000000000000000000000000000000000..78274f9ec25bbf7af1eb6e33086a3bcb5d384e34
--- /dev/null
+++ b/airports-service/src/main/java/cz/muni/fi/pa165/airport/service/AirportService.java
@@ -0,0 +1,43 @@
+package cz.muni.fi.pa165.airport.service;
+
+import cz.muni.fi.pa165.airport.dao.Airport;
+import cz.muni.fi.pa165.airport.exception.AirportNotFoundException;
+import cz.muni.fi.pa165.airport.repository.AirportRepository;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.UUID;
+
+@Service
+@RequiredArgsConstructor
+public class AirportService {
+
+    private final AirportRepository airportRepository;
+
+    public Airport create(Airport airport) {
+        return airportRepository.save(airport);
+    }
+
+    public Airport get(UUID id) {
+        return airportRepository.findById(id).orElseThrow(AirportNotFoundException::new);
+    }
+
+    public Airport update(UUID id, Airport airportUpdate) {
+        var airport = airportRepository.findById(id).orElseThrow(AirportNotFoundException::new);
+        if (airportUpdate.getCapacity() != null) {
+            airport.setCapacity(airportUpdate.getCapacity());
+        }
+        if (airportUpdate.getLandingPrice() != null) {
+            airport.setLandingPrice(airportUpdate.getLandingPrice());
+        }
+        if (airportUpdate.getName() != null) {
+            airport.setName(airportUpdate.getName());
+        }
+        return airportRepository.save(airport);
+    }
+
+    public List<Airport> getByCountry(String country) {
+        return airportRepository.findByCountry(country);
+    }
+}
diff --git a/airports-service/src/main/resources/application.properties b/airports-service/src/main/resources/application.properties
new file mode 100644
index 0000000000000000000000000000000000000000..0e013ec7a6565ee630691c5186914a3d2a978e58
--- /dev/null
+++ b/airports-service/src/main/resources/application.properties
@@ -0,0 +1,17 @@
+spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
+spring.jpa.hibernate.ddl-auto=update
+spring.jpa.generate-ddl=true
+spring.datasource.driver-class-name=org.postgresql.Driver
+spring.datasource.url=jdbc:postgresql://localhost:5432/airport-manager
+spring.datasource.username=root
+spring.datasource.password=123
+spring.jpa.properties.hibernate.hbm2ddl.create_namespaces=true
+jakarta.peristence.create-database-schemas=true
+
+
+springdoc.swagger-ui.path=/swagger-ui.html
+application-description=API Description
+application-version=1.0
+
+logging.level.org.springframework.web=DEBUG
+logging.level.io.springfox=DEBUG
\ No newline at end of file
diff --git a/airports-service/src/test/java/cz/fi/muni/pa165/AppTest.java b/airports-service/src/test/java/cz/muni/fi/pa165/airport/AppTest.java
similarity index 88%
rename from airports-service/src/test/java/cz/fi/muni/pa165/AppTest.java
rename to airports-service/src/test/java/cz/muni/fi/pa165/airport/AppTest.java
index 2ffc6e6f10f5d7219f355c1871a22f5d837cb30b..e1d71a49e34ac8d1406fff4416def14b64f9f431 100644
--- a/airports-service/src/test/java/cz/fi/muni/pa165/AppTest.java
+++ b/airports-service/src/test/java/cz/muni/fi/pa165/airport/AppTest.java
@@ -1,4 +1,4 @@
-package cz.fi.muni.pa165;
+package cz.muni.fi.pa165.airport;
 
 import static org.junit.Assert.assertTrue;
 
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7ecea3c3a080105c7a1252fe55687aa53b83c3cc
--- /dev/null
+++ b/docker/docker-compose.yml
@@ -0,0 +1,21 @@
+---
+version: "3.3"
+services:
+  adminer:
+    image: adminer
+    restart: unless-stopped
+    ports:
+      - 8099:8080
+
+  db:
+    image: postgres:10
+    restart: unless-stopped
+    ports:
+      - 5432:5432
+    environment:
+      POSTGRES_USER: root
+      POSTGRES_PASSWORD: 123
+      POSTGRES_DB: mydb
+    volumes:
+      - ./data/db:/var/lib/postgresql/data
+
diff --git a/pom.xml b/pom.xml
index 9580ff14340f64b8edb13c9dc0bc4b8c1f3762cd..995390cb6b4ef26bd49706f2cc44a27221ebbc7b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
-    <groupId>cz.fi.muni.pa165</groupId>
+    <groupId>cz.muni.fi.pa165</groupId>
     <artifactId>airpot-manager</artifactId>
     <version>1.0-SNAPSHOT</version>
     <packaging>pom</packaging>
@@ -11,14 +11,13 @@
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-        <version>3.0.3</version>
-        <relativePath/> <!-- lookup parent from repository -->
+        <version>2.4.3</version>
     </parent>
 
     <modules>
+        <module>airports-hr-service</module>
         <module>airport-manager-api</module>
         <module>airports-service</module>
-        <module>airports-hr-service</module>
         <module>airports-planes-service</module>
         <module>airports-flight-service</module>
     </modules>
@@ -30,6 +29,8 @@
         <junit.version>4.13.2</junit.version>
         <lombok.version>1.18.30</lombok.version>
         <spring.version>6.1.4</spring.version>
+        <swagger.version>3.0.0</swagger.version>
+        <swagger-ui.version>2.10.5</swagger-ui.version>
     </properties>
 
     <dependencies>
@@ -57,6 +58,21 @@
             <groupId>org.springframework</groupId>
             <artifactId>spring-web</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger2</artifactId>
+            <version>${swagger.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>${swagger-ui.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-boot-starter</artifactId>
+            <version>${swagger.version}</version>
+        </dependency>
     </dependencies>
     <build>
         <pluginManagement>