diff --git a/java/roomBooking/src/main/java/com/uva/monolith/RoomBookingApplication.java b/java/roomBooking/src/main/java/com/uva/monolith/RoomBookingApplication.java
index 732bfa2bde19a9dc448c797b6ecb03b255905b74..0a5db248da6e6be909302e323931f79151b0ed62 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/RoomBookingApplication.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/RoomBookingApplication.java
@@ -1,4 +1,4 @@
-package com.uva.api;
+package com.uva.monolith;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/config/SecurityConfig.java b/java/roomBooking/src/main/java/com/uva/monolith/config/SecurityConfig.java
index 914469e06839e24f3a61ea1a6414dfa726a516c1..8264f84a2e9f57dabaedc5892ea8a3ca0e931232 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/config/SecurityConfig.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/config/SecurityConfig.java
@@ -1,4 +1,4 @@
-package com.uva.api.config;
+package com.uva.monolith.config;
 
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -8,8 +8,8 @@ import org.springframework.security.config.annotation.web.configuration.EnableWe
 import org.springframework.security.web.SecurityFilterChain;
 import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
 
-import com.uva.api.filter.JwtAuthenticationFilter;
-import com.uva.api.services.users.models.UserRol;
+import com.uva.monolith.filter.JwtAuthenticationFilter;
+import com.uva.monolith.services.users.models.UserRol;
 
 @Configuration
 @EnableWebSecurity
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/GlobalExceptionHandler.java b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/GlobalExceptionHandler.java
index 5681a607c7b0885255a2259e809cb4bb29bf456d..9428c51a9c63c3623d44752c9e3cbe6cf78ac19f 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/GlobalExceptionHandler.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/GlobalExceptionHandler.java
@@ -1,4 +1,4 @@
-package com.uva.api.exceptions;
+package com.uva.monolith.exceptions;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/HotelNotFoundException.java b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/HotelNotFoundException.java
index dc466f6f5f91da47dbe73c34b97059c817937f13..129a0b1086b4b78eb1f1725b9f241f51ce5540f8 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/HotelNotFoundException.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/HotelNotFoundException.java
@@ -1,4 +1,4 @@
-package com.uva.api.exceptions;
+package com.uva.monolith.exceptions;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidDateRangeException.java b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidDateRangeException.java
index 58bf97d7b6dceb1db771de7058da6f159480a5b9..5fea986ef1e9279c459bc5aff10932049f283333 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidDateRangeException.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidDateRangeException.java
@@ -1,4 +1,4 @@
-package com.uva.api.exceptions;
+package com.uva.monolith.exceptions;
 
 public class InvalidDateRangeException extends RuntimeException {
     public InvalidDateRangeException(String message) {
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidRequestException.java b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidRequestException.java
index 677cc4b7cb71bb20c3a9644ff2a8d3552546ea2c..ca09e054420dd174c4d2c3424dcc8fe74b6c8576 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidRequestException.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/exceptions/InvalidRequestException.java
@@ -1,4 +1,4 @@
-package com.uva.api.exceptions;
+package com.uva.monolith.exceptions;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/filter/JwtAuthenticationFilter.java b/java/roomBooking/src/main/java/com/uva/monolith/filter/JwtAuthenticationFilter.java
index 8833440bd4de52d07ffd2f259c98fc40cd3311cf..c564150f9e122628ca3684070442cad730ff61a4 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/filter/JwtAuthenticationFilter.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/filter/JwtAuthenticationFilter.java
@@ -1,4 +1,4 @@
-package com.uva.api.filter;
+package com.uva.monolith.filter;
 
 import com.auth0.jwt.JWT;
 import com.auth0.jwt.JWTVerifier;
@@ -13,7 +13,7 @@ import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
 import org.springframework.stereotype.Component;
 
-import com.uva.api.services.users.models.UserRol;
+import com.uva.monolith.services.users.models.UserRol;
 
 import jakarta.servlet.FilterChain;
 import jakarta.servlet.ServletException;
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/controllers/BookingController.java b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/controllers/BookingController.java
index b454a36ad9426669bf38b13f7e155bae1fe58801..602f16a2f96e27d3e855440136cbcb41f9b57ab0 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/controllers/BookingController.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/controllers/BookingController.java
@@ -1,7 +1,7 @@
-package com.uva.api.services.bookings.controllers;
+package com.uva.monolith.services.bookings.controllers;
 
-import com.uva.api.services.bookings.models.Booking;
-import com.uva.api.services.bookings.services.BookingService;
+import com.uva.monolith.services.bookings.models.Booking;
+import com.uva.monolith.services.bookings.services.BookingService;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/models/Booking.java b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/models/Booking.java
index a1df84f14be05489e7ce63038c8da9a657b773cb..533ee0c7a1fa053dce449b855f1e46e08dabbe66 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/models/Booking.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/models/Booking.java
@@ -1,4 +1,4 @@
-package com.uva.api.services.bookings.models;
+package com.uva.monolith.services.bookings.models;
 
 import jakarta.persistence.Basic;
 import jakarta.persistence.CascadeType;
@@ -13,8 +13,8 @@ import jakarta.persistence.ManyToOne;
 import jakarta.persistence.Table;
 import java.time.LocalDate;
 
-import com.uva.api.services.hotels.models.Room;
-import com.uva.api.services.users.models.Client;
+import com.uva.monolith.services.hotels.models.Room;
+import com.uva.monolith.services.users.models.Client;
 
 @Entity
 @Table(name = "bookings")
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/repositories/BookingRepository.java b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/repositories/BookingRepository.java
index 50af181f35e9257564ae50c3bfe443fe34906ce5..b5ace65939b898798e6e5416fedda793388f2615 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/repositories/BookingRepository.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/repositories/BookingRepository.java
@@ -1,5 +1,5 @@
 // BookingRepository.java
-package com.uva.api.services.bookings.repositories;
+package com.uva.monolith.services.bookings.repositories;
 
 import jakarta.transaction.Transactional;
 
@@ -11,7 +11,7 @@ import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.query.Param;
 
-import com.uva.api.services.bookings.models.Booking;
+import com.uva.monolith.services.bookings.models.Booking;
 
 public interface BookingRepository extends JpaRepository<Booking, Integer> {
         @Query("SELECT b FROM Booking b WHERE b.userId.id = ?1")
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/services/BookingService.java b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/services/BookingService.java
index 25544132e4f9444d5373d5a5395057f0e2f3cc74..176f49dd951630c9118b24536e8a7dd6f5a15521 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/services/BookingService.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/bookings/services/BookingService.java
@@ -1,11 +1,11 @@
-package com.uva.api.services.bookings.services;
-
-import com.uva.api.services.bookings.models.Booking;
-import com.uva.api.services.bookings.repositories.BookingRepository;
-import com.uva.api.services.hotels.models.Room;
-import com.uva.api.services.hotels.repositories.RoomRepository;
-import com.uva.api.services.users.models.Client;
-import com.uva.api.services.users.repositories.ClientRepository;
+package com.uva.monolith.services.bookings.services;
+
+import com.uva.monolith.services.bookings.models.Booking;
+import com.uva.monolith.services.bookings.repositories.BookingRepository;
+import com.uva.monolith.services.hotels.models.Room;
+import com.uva.monolith.services.hotels.repositories.RoomRepository;
+import com.uva.monolith.services.users.models.Client;
+import com.uva.monolith.services.users.repositories.ClientRepository;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/controllers/HotelController.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/controllers/HotelController.java
index 3321df6ffd2a2269c2fbc7d759dc72d6983d9ce1..781cb6278b0b40d237b603d7cfc61a63b7b2af0f 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/controllers/HotelController.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/controllers/HotelController.java
@@ -1,4 +1,4 @@
-package com.uva.api.services.hotels.controllers;
+package com.uva.monolith.services.hotels.controllers;
 
 import java.util.List;
 import java.util.Map;
@@ -11,16 +11,16 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
-import com.uva.api.exceptions.HotelNotFoundException;
-import com.uva.api.exceptions.InvalidDateRangeException;
-import com.uva.api.exceptions.InvalidRequestException;
-import com.uva.api.services.bookings.repositories.BookingRepository;
-import com.uva.api.services.hotels.models.Hotel;
-import com.uva.api.services.hotels.models.Room;
-import com.uva.api.services.hotels.repositories.HotelRepository;
-import com.uva.api.services.hotels.repositories.RoomRepository;
-import com.uva.api.services.users.models.HotelManager;
-import com.uva.api.services.users.repositories.HotelManagerRepository;
+import com.uva.monolith.exceptions.HotelNotFoundException;
+import com.uva.monolith.exceptions.InvalidDateRangeException;
+import com.uva.monolith.exceptions.InvalidRequestException;
+import com.uva.monolith.services.bookings.repositories.BookingRepository;
+import com.uva.monolith.services.hotels.models.Hotel;
+import com.uva.monolith.services.hotels.models.Room;
+import com.uva.monolith.services.hotels.repositories.HotelRepository;
+import com.uva.monolith.services.hotels.repositories.RoomRepository;
+import com.uva.monolith.services.users.models.HotelManager;
+import com.uva.monolith.services.users.repositories.HotelManagerRepository;
 
 @RestController
 @RequestMapping("hotels")
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Address.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Address.java
index 61fbf6068b1cdf6eb93ea9cbe9646c60970c51bb..5f31a2a530da46c00460ad6cc6151b0769c1da61 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Address.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Address.java
@@ -1,4 +1,4 @@
-package com.uva.api.services.hotels.models;
+package com.uva.monolith.services.hotels.models;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Hotel.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Hotel.java
index 71e9c04e3c2a9b2da2daa88c8b348fd40ac7436d..21f5cec8b44f9fae1a566b7af92964d30b654546 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Hotel.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Hotel.java
@@ -1,8 +1,8 @@
-package com.uva.api.services.hotels.models;
+package com.uva.monolith.services.hotels.models;
 
 import java.util.List;
 
-import com.uva.api.services.users.models.HotelManager;
+import com.uva.monolith.services.users.models.HotelManager;
 
 import jakarta.persistence.Basic;
 import jakarta.persistence.CascadeType;
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Room.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Room.java
index 368e6d712d23aaa5ee148f7760e34fdc6dc35301..72a6a728f729dc7b93b727606172de7cbe385ebb 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Room.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/Room.java
@@ -1,9 +1,9 @@
-package com.uva.api.services.hotels.models;
+package com.uva.monolith.services.hotels.models;
 
 import java.util.List;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.uva.api.services.bookings.models.Booking;
+import com.uva.monolith.services.bookings.models.Booking;
 
 import jakarta.persistence.Basic;
 import jakarta.persistence.CascadeType;
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/RoomType.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/RoomType.java
index 7f85313a41d439e451a460ad182f15a33ecf5868..b9e82584850795afa7c7392248e3a6472ce24ac0 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/RoomType.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/models/RoomType.java
@@ -1,4 +1,4 @@
-package com.uva.api.services.hotels.models;
+package com.uva.monolith.services.hotels.models;
 
 public enum RoomType {
     SINGLE,
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/HotelRepository.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/HotelRepository.java
index 320adb8df197599f0daa3f76ebea6a398c64f8a2..eddb6640a275284cb70bde60a29afd33039ba454 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/HotelRepository.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/HotelRepository.java
@@ -1,11 +1,11 @@
-package com.uva.api.services.hotels.repositories;
+package com.uva.monolith.services.hotels.repositories;
 
 import java.util.List;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
 
-import com.uva.api.services.hotels.models.Hotel;
+import com.uva.monolith.services.hotels.models.Hotel;
 
 public interface HotelRepository extends JpaRepository<Hotel, Integer> {
     @Query("SELECT h FROM Hotel h WHERE h.hotelManager.id = ?1")
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/RoomRepository.java b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/RoomRepository.java
index 1f2a3fdca8896211a023a9cecf4ce3054e416463..15cc3d370129e0753b9ac9b1eb24136c93bf5405 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/RoomRepository.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/hotels/repositories/RoomRepository.java
@@ -1,9 +1,9 @@
-package com.uva.api.services.hotels.repositories;
+package com.uva.monolith.services.hotels.repositories;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
 
-import com.uva.api.services.hotels.models.Room;
+import com.uva.monolith.services.hotels.models.Room;
 
 import java.time.LocalDate;
 import java.util.List;
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/controllers/UserController.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/controllers/UserController.java
index ab6a975f09f3b6aec3bc5e24bfcc2a299857d4cb..15fc498b79e239020aba6833ae9dbfaa8eeb59ee 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/controllers/UserController.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/controllers/UserController.java
@@ -1,4 +1,4 @@
-package com.uva.api.services.users.controllers;
+package com.uva.monolith.services.users.controllers;
 
 import java.util.List;
 import java.util.Map;
@@ -19,9 +19,9 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.client.HttpClientErrorException;
 
-import com.uva.api.services.users.models.User;
-import com.uva.api.services.users.models.UserStatus;
-import com.uva.api.services.users.services.UserService;
+import com.uva.monolith.services.users.models.User;
+import com.uva.monolith.services.users.models.UserStatus;
+import com.uva.monolith.services.users.services.UserService;
 
 @RestController
 @RequestMapping("users")
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/AuthResponse.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/AuthResponse.java
index 9a4564dfcd91996ac3e5092f69079f2b8bb56a2f..8f334813beee8cb95caa275c66e46c9c539f2bd5 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/AuthResponse.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/AuthResponse.java
@@ -1,4 +1,4 @@
-package com.uva.api.services.users.models;
+package com.uva.monolith.services.users.models;
 
 public class AuthResponse {
 
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/Client.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/Client.java
index 1814b0b1905483e5aaa1f218499d19c4600f9a9a..e106ecd3789a0237602e3194feacab7ddcbf4dfd 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/Client.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/Client.java
@@ -1,11 +1,11 @@
-package com.uva.api.services.users.models;
+package com.uva.monolith.services.users.models;
 
 import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.List;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.uva.api.services.bookings.models.Booking;
+import com.uva.monolith.services.bookings.models.Booking;
 
 import jakarta.persistence.Basic;
 import jakarta.persistence.CascadeType;
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/HotelManager.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/HotelManager.java
index e185fa52d61da8118cea3959c288d58409167683..0e6f4b0aafa35ab8b23d202814c1fabefdcf86ed 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/HotelManager.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/HotelManager.java
@@ -1,9 +1,9 @@
-package com.uva.api.services.users.models;
+package com.uva.monolith.services.users.models;
 
 import java.util.ArrayList;
 import java.util.List;
 import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.uva.api.services.hotels.models.Hotel;
+import com.uva.monolith.services.hotels.models.Hotel;
 import jakarta.persistence.CascadeType;
 import jakarta.persistence.Entity;
 import jakarta.persistence.FetchType;
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/User.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/User.java
index e6262cec13171cbf18e398bdbe06564d23d4e874..ecfd33d1e39f6760f39fb0ad48fa195cd71432ea 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/User.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/User.java
@@ -1,4 +1,4 @@
-package com.uva.api.services.users.models;
+package com.uva.monolith.services.users.models;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserRol.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserRol.java
index 0a02cb622f9ed057d7f33e0cb526df38fa6610dc..f408ba5ef9d34d96c32d3c42a6c2c51b1c6f22b1 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserRol.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserRol.java
@@ -1,4 +1,4 @@
-package com.uva.api.services.users.models;
+package com.uva.monolith.services.users.models;
 
 public enum UserRol {
   ADMIN, HOTEL_ADMIN, CLIENT
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserStatus.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserStatus.java
index 883dc430e5dcf02722b5f516be941b37fda75f5a..362b8688260d4c13dc4a8eae205411c9d5533d79 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserStatus.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/models/UserStatus.java
@@ -1,4 +1,4 @@
-package com.uva.api.services.users.models;
+package com.uva.monolith.services.users.models;
 
 public enum UserStatus {
   NO_BOOKINGS, WITH_ACTIVE_BOOKINGS, WITH_INACTIVE_BOOKINGS;
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/ClientRepository.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/ClientRepository.java
index 7b56de6f701a9c1400e11fa63eeac5e709726e4a..1c1b46fbe665075b8f817367ff14ee65cf69ff76 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/ClientRepository.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/ClientRepository.java
@@ -1,9 +1,9 @@
-package com.uva.api.services.users.repositories;
+package com.uva.monolith.services.users.repositories;
 
 import java.util.Optional;
 import org.springframework.data.jpa.repository.JpaRepository;
 
-import com.uva.api.services.users.models.Client;
+import com.uva.monolith.services.users.models.Client;
 
 public interface ClientRepository extends JpaRepository<Client, Integer> {
   Optional<Client> findByEmail(String email);
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/HotelManagerRepository.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/HotelManagerRepository.java
index 5a6f077e8507d3d7d8b210e8868a5d72d4b0639a..092a251b199fdecd80a2654fc3e6c96d1b7eb7f4 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/HotelManagerRepository.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/HotelManagerRepository.java
@@ -1,9 +1,9 @@
-package com.uva.api.services.users.repositories;
+package com.uva.monolith.services.users.repositories;
 
 import java.util.Optional;
 import org.springframework.data.jpa.repository.JpaRepository;
 
-import com.uva.api.services.users.models.HotelManager;
+import com.uva.monolith.services.users.models.HotelManager;
 
 public interface HotelManagerRepository extends JpaRepository<HotelManager, Integer> {
   Optional<HotelManager> findByEmail(String email);
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/UserRepository.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/UserRepository.java
index fa555632f365ccdcdbbc65909cf1aee643c4c947..e5b44c976f095719854aa8070abc843b898036fe 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/UserRepository.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/repositories/UserRepository.java
@@ -1,10 +1,10 @@
-package com.uva.api.services.users.repositories;
+package com.uva.monolith.services.users.repositories;
 
 import java.util.Optional;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 
-import com.uva.api.services.users.models.User;
+import com.uva.monolith.services.users.models.User;
 
 public interface UserRepository extends JpaRepository<User, Integer> {
   Optional<User> findByEmail(String email);
diff --git a/java/roomBooking/src/main/java/com/uva/monolith/services/users/services/UserService.java b/java/roomBooking/src/main/java/com/uva/monolith/services/users/services/UserService.java
index b81c35c3d86d8d60a9efa2fac5136cb992ae1715..bdd5b9db80a7c699844cfcd48669171ffbe6b8f0 100644
--- a/java/roomBooking/src/main/java/com/uva/monolith/services/users/services/UserService.java
+++ b/java/roomBooking/src/main/java/com/uva/monolith/services/users/services/UserService.java
@@ -1,4 +1,4 @@
-package com.uva.api.services.users.services;
+package com.uva.monolith.services.users.services;
 
 import java.time.LocalDate;
 import java.util.List;
@@ -10,15 +10,15 @@ import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.HttpClientErrorException;
 
-import com.uva.api.services.users.models.AuthResponse;
-import com.uva.api.services.users.models.Client;
-import com.uva.api.services.users.models.HotelManager;
-import com.uva.api.services.users.models.User;
-import com.uva.api.services.users.models.UserRol;
-import com.uva.api.services.users.models.UserStatus;
-import com.uva.api.services.users.repositories.ClientRepository;
-import com.uva.api.services.users.repositories.HotelManagerRepository;
-import com.uva.api.services.users.repositories.UserRepository;
+import com.uva.monolith.services.users.models.AuthResponse;
+import com.uva.monolith.services.users.models.Client;
+import com.uva.monolith.services.users.models.HotelManager;
+import com.uva.monolith.services.users.models.User;
+import com.uva.monolith.services.users.models.UserRol;
+import com.uva.monolith.services.users.models.UserStatus;
+import com.uva.monolith.services.users.repositories.ClientRepository;
+import com.uva.monolith.services.users.repositories.HotelManagerRepository;
+import com.uva.monolith.services.users.repositories.UserRepository;
 
 @Service
 public class UserService {
diff --git a/java/services/auth/src/main/java/com/uva/authentication/api/UserAPI.java b/java/services/auth/src/main/java/com/uva/authentication/api/UserAPI.java
index 2714036cbcad837f3930b24879ab024f9a2b2c37..4955ba48f46cabea6cc76be3d018cbf0c80f059c 100644
--- a/java/services/auth/src/main/java/com/uva/authentication/api/UserAPI.java
+++ b/java/services/auth/src/main/java/com/uva/authentication/api/UserAPI.java
@@ -9,7 +9,6 @@ import org.springframework.web.client.HttpClientErrorException;
 import org.springframework.web.client.RestTemplate;
 
 import com.uva.authentication.models.RegisterRequest;
-import com.uva.authentication.models.remote.Response;
 import com.uva.authentication.models.remote.User;
 
 @Component
@@ -39,11 +38,11 @@ public class UserAPI {
    * @return User or null if not exists
    * @throws HttpClientErrorException
    */
-  public Response getUserByEmail(String email) {
+  public User getUserByEmail(String email) {
     String url = USER_API_URL + "?email={email}";
     System.err.println(url);
     try {
-      ResponseEntity<Response> userResponse = restTemplate.getForEntity(url, Response.class, email);
+      ResponseEntity<User> userResponse = restTemplate.getForEntity(url, User.class, email);
       return userResponse.getBody();
     } catch (HttpClientErrorException e) {
       if (e.getStatusCode() != HttpStatus.NOT_FOUND)
diff --git a/java/services/auth/src/main/java/com/uva/authentication/interceptor/AuthHttpInterceptor.java b/java/services/auth/src/main/java/com/uva/authentication/interceptor/AuthHttpInterceptor.java
index 094cb5a647bf500b92839eac8ee373f0df11ff2d..b64a0f69a673dcac07e93616c3affad5f6be3be5 100644
--- a/java/services/auth/src/main/java/com/uva/authentication/interceptor/AuthHttpInterceptor.java
+++ b/java/services/auth/src/main/java/com/uva/authentication/interceptor/AuthHttpInterceptor.java
@@ -7,7 +7,7 @@ import org.springframework.http.client.ClientHttpResponse;
 import org.springframework.http.client.ClientHttpRequestInterceptor;
 import org.springframework.stereotype.Component;
 
-import com.uva.authentication.models.remote.Response;
+import com.uva.authentication.models.remote.User;
 import com.uva.authentication.models.remote.UserRol;
 import com.uva.authentication.utils.JwtUtil;
 
@@ -20,7 +20,7 @@ public class AuthHttpInterceptor implements ClientHttpRequestInterceptor {
   private JwtUtil jwtUtil;
 
   private String token;
-  private final Response USER = new Response(-1, "auth", "auth@dev.com", null, UserRol.ADMIN);
+  private final User USER = new User(-1, "auth", "auth@dev.com", null, UserRol.ADMIN);
 
   private String getAccessToken() {
     if (token == null || token.isEmpty()) {
diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Booking.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/Booking.java
deleted file mode 100644
index 354c65d506674f162fa3009b593943be01a92e6f..0000000000000000000000000000000000000000
--- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Booking.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.uva.authentication.models.remote;
-
-import jakarta.persistence.Basic;
-import jakarta.persistence.CascadeType;
-import jakarta.persistence.Entity;
-import jakarta.persistence.FetchType;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.Table;
-
-@Entity
-@Table(name = "bookings")
-public class Booking {
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Basic(optional = false)
-    private int id;
-    @JoinColumn(name = "user_id", referencedColumnName = "id")
-    @ManyToOne(optional = false, fetch = FetchType.EAGER, cascade = CascadeType.MERGE)
-    private Client userId;
-
-    public Booking() {
-    }
-
-    public Booking(int id, Client userId) {
-        this.id = id;
-        this.userId = userId;
-    }
-
-    public void setId(int id) {
-        this.id = id;
-    }
-
-    public int getId() {
-        return this.id;
-    }
-
-    public void setUserId(Client userId) {
-        this.userId = userId;
-    }
-
-    public Client getUserId() {
-        return this.userId;
-    }
-
-}
diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Client.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/Client.java
deleted file mode 100644
index 5ebf50a3b5b1135b6c6b1f7206486c95a9e95b92..0000000000000000000000000000000000000000
--- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Client.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.uva.authentication.models.remote;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import jakarta.persistence.Basic;
-import jakarta.persistence.CascadeType;
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.EnumType;
-import jakarta.persistence.Enumerated;
-import jakarta.persistence.FetchType;
-import jakarta.persistence.OneToMany;
-import jakarta.persistence.Table;
-
-@Entity
-@Table(name = "user_client")
-public class Client extends User {
-
-  @Basic(optional = false)
-  @Column(nullable = false)
-  @Enumerated(EnumType.STRING)
-  private UserStatus status = UserStatus.NO_BOOKINGS;
-
-  @OneToMany(mappedBy = "userId", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
-  private List<Booking> bookings = new ArrayList<>();
-
-  public Client() {
-    super();
-  }
-
-  public Client(int id, String name, String email, String password, UserStatus status, List<Booking> bookings) {
-    super(id, name, email, password, UserRol.CLIENT);
-    setStatus(status);
-    setBookings(bookings);
-  }
-
-  public UserStatus getStatus() {
-    return this.status;
-  }
-
-  public void setStatus(UserStatus status) {
-    this.status = status;
-  }
-
-  public List<Booking> getBookings() {
-    return this.bookings;
-  }
-
-  public void setBookings(List<Booking> bookings) {
-    this.bookings = bookings;
-  }
-}
diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Hotel.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/Hotel.java
deleted file mode 100644
index 5710f9d545b57d39363435fa8776a856461291b6..0000000000000000000000000000000000000000
--- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Hotel.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.uva.authentication.models.remote;
-
-import jakarta.persistence.Basic;
-import jakarta.persistence.Entity;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.Table;
-
-@Entity
-@Table(name = "hotels")
-public class Hotel {
-
-  @Id
-  @GeneratedValue(strategy = GenerationType.IDENTITY)
-  @Basic(optional = false)
-  private int id;
-
-  @ManyToOne(optional = false)
-  @JoinColumn(name = "hotel_manager", referencedColumnName = "id")
-  private HotelManager hotelManager;
-
-  public Hotel() {
-  }
-
-  public Hotel(int id, HotelManager hotelManager) {
-    setId(id);
-    setHotelManager(hotelManager);
-  }
-
-  public int getId() {
-    return this.id;
-  }
-
-  public void setId(int id) {
-    this.id = id;
-  }
-
-  public void setHotelManager(HotelManager hotelManager) {
-    this.hotelManager = hotelManager;
-  }
-
-  public HotelManager getHotelManager() {
-    return hotelManager;
-  }
-}
diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/HotelManager.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/HotelManager.java
deleted file mode 100644
index dd58a508436be9e9e51a99d26038cf6efec373a6..0000000000000000000000000000000000000000
--- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/HotelManager.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.uva.authentication.models.remote;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import jakarta.persistence.CascadeType;
-import jakarta.persistence.Entity;
-import jakarta.persistence.FetchType;
-import jakarta.persistence.OneToMany;
-import jakarta.persistence.Table;
-
-@Entity
-@Table(name = "hotel_manager_user")
-public class HotelManager extends User {
-
-  @OneToMany(mappedBy = "hotelManager", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
-  private List<Hotel> hotels = new ArrayList<>();
-
-  public HotelManager() {
-    super();
-  }
-
-  public HotelManager(int id, String name, String email, String password, List<Hotel> hotels) {
-    super(id, name, email, password, UserRol.HOTEL_ADMIN);
-    setHotels(hotels);
-  }
-
-  public void setHotels(List<Hotel> hotels) {
-    this.hotels = hotels;
-  }
-
-}
diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Response.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/Response.java
deleted file mode 100644
index 566a2100f058a41ee7a2d2d0ec4ded4845322bee..0000000000000000000000000000000000000000
--- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/Response.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.uva.authentication.models.remote;
-
-import com.uva.authentication.models.RegisterRequest;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-import lombok.ToString;
-
-@Data
-@ToString(callSuper = true)
-@EqualsAndHashCode(callSuper = true)
-@NoArgsConstructor
-public class Response extends RegisterRequest {
-  private int id;
-}
diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/User.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/User.java
index a72ecfa8ef8f896afda01b7b1ead124c09b81fab..ae8de366340950b1bb5af476600408446a2d3f32 100644
--- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/User.java
+++ b/java/services/auth/src/main/java/com/uva/authentication/models/remote/User.java
@@ -1,95 +1,24 @@
 package com.uva.authentication.models.remote;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
-import jakarta.persistence.Basic;
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.EnumType;
-import jakarta.persistence.Enumerated;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
-import jakarta.persistence.Inheritance;
-import jakarta.persistence.InheritanceType;
-import jakarta.persistence.Table;
-
-@Entity
-@Inheritance(strategy = InheritanceType.JOINED)
-@Table(name = "users")
-public class User {
-
-  @Id
-  @GeneratedValue(strategy = GenerationType.IDENTITY)
-  @Basic(optional = false)
-  @Column(nullable = false)
+import com.uva.authentication.models.RegisterRequest;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+public class User extends RegisterRequest {
   private int id;
 
-  @Basic(optional = false)
-  @Column(nullable = false)
-  private String name;
-
-  @Basic(optional = false)
-  @Column(nullable = false, unique = true)
-  private String email;
-
-  @JsonIgnore
-  @Basic(optional = false)
-  @Column(nullable = false)
-  private String password;
-
-  @Basic(optional = false)
-  @Column(nullable = false)
-  @Enumerated(EnumType.STRING)
-  private UserRol rol = UserRol.CLIENT;
-
-  public User() {
-  }
-
-  public User(int id, String name, String email, String password, UserRol rol) {
-    setId(id);
-    setName(name);
+  public User(int id, String email, String password, String name, UserRol rol) {
+    super();
     setEmail(email);
+    setName(name);
+    setPassword(password);
     setRol(rol);
   }
-
-  public int getId() {
-    return this.id;
-  }
-
-  public void setId(int id) {
-    this.id = id;
-  }
-
-  public String getName() {
-    return this.name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public String getEmail() {
-    return this.email;
-  }
-
-  public void setEmail(String email) {
-    this.email = email;
-  }
-
-  public String getPassword() {
-    return password;
-  }
-
-  public void setPassword(String rawPassword) {
-    this.password = rawPassword;
-  }
-
-  public UserRol getRol() {
-    return this.rol;
-  }
-
-  public void setRol(UserRol rol) {
-    this.rol = rol;
-  }
 }
diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserRol.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserRol.java
index fe4d90dd1dd595f4c09ec699b452910352b406d5..b03ee5fd9103fc33f4572b698026428aea3601e0 100644
--- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserRol.java
+++ b/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserRol.java
@@ -1,5 +1,5 @@
 package com.uva.authentication.models.remote;
 
 public enum UserRol {
-  ADMIN, HOTEL_ADMIN, CLIENT
+  ADMIN, AUTH
 }
diff --git a/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserStatus.java b/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserStatus.java
deleted file mode 100644
index 5dd62bc5c75271eafa9daa58ad332aa8ad56d413..0000000000000000000000000000000000000000
--- a/java/services/auth/src/main/java/com/uva/authentication/models/remote/UserStatus.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.uva.authentication.models.remote;
-
-public enum UserStatus {
-  NO_BOOKINGS, WITH_ACTIVE_BOOKINGS, WITH_INACTIVE_BOOKINGS;
-}
diff --git a/java/services/auth/src/main/java/com/uva/authentication/repositories/ClientRepository.java b/java/services/auth/src/main/java/com/uva/authentication/repositories/ClientRepository.java
deleted file mode 100644
index 6d2b8eeb777f2d3c9800c51dc34fe72ea504efd3..0000000000000000000000000000000000000000
--- a/java/services/auth/src/main/java/com/uva/authentication/repositories/ClientRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.uva.authentication.repositories;
-
-import java.util.Optional;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-import com.uva.authentication.models.remote.Client;
-
-public interface ClientRepository extends JpaRepository<Client, Integer> {
-  Optional<Client> findByEmail(String email);
-}
\ No newline at end of file
diff --git a/java/services/auth/src/main/java/com/uva/authentication/repositories/HotelManagerRepository.java b/java/services/auth/src/main/java/com/uva/authentication/repositories/HotelManagerRepository.java
deleted file mode 100644
index c051ddd0425ff264337261645dbe6f17cfa55b51..0000000000000000000000000000000000000000
--- a/java/services/auth/src/main/java/com/uva/authentication/repositories/HotelManagerRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.uva.authentication.repositories;
-
-import java.util.Optional;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-import com.uva.authentication.models.remote.HotelManager;
-
-public interface HotelManagerRepository extends JpaRepository<HotelManager, Integer> {
-  Optional<HotelManager> findByEmail(String email);
-}
\ No newline at end of file
diff --git a/java/services/auth/src/main/java/com/uva/authentication/repositories/UserRepository.java b/java/services/auth/src/main/java/com/uva/authentication/repositories/UserRepository.java
deleted file mode 100644
index 65f98edd7f2d0700de933199ae54c484eb8c71a3..0000000000000000000000000000000000000000
--- a/java/services/auth/src/main/java/com/uva/authentication/repositories/UserRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.uva.authentication.repositories;
-
-import java.util.Optional;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-import com.uva.authentication.models.remote.User;
-
-public interface UserRepository extends JpaRepository<User, Integer> {
-  Optional<User> findByEmail(String email);
-}
\ No newline at end of file
diff --git a/java/services/auth/src/main/java/com/uva/authentication/services/AuthService.java b/java/services/auth/src/main/java/com/uva/authentication/services/AuthService.java
index bccba7f12b3403c2a65e301a35fde7e900d80ef7..37b16ff299c9f5848ca7604dca417e036d13afa6 100644
--- a/java/services/auth/src/main/java/com/uva/authentication/services/AuthService.java
+++ b/java/services/auth/src/main/java/com/uva/authentication/services/AuthService.java
@@ -9,7 +9,6 @@ import org.springframework.web.client.HttpClientErrorException;
 import com.uva.authentication.api.UserAPI;
 import com.uva.authentication.models.LoginRequest;
 import com.uva.authentication.models.RegisterRequest;
-import com.uva.authentication.models.remote.Response;
 import com.uva.authentication.models.remote.User;
 import com.uva.authentication.utils.JwtUtil;
 import com.uva.authentication.utils.SecurityUtils;
@@ -23,8 +22,7 @@ public class AuthService {
   @Autowired
   private UserAPI userAPI;
 
-  private boolean authenticateUser(LoginRequest request, Response user) {
-    System.err.println(user.getPassword() + " " + request.getPassword());
+  private boolean authenticateUser(LoginRequest request, User user) {
     return (user != null)
         ? SecurityUtils.checkPassword(request.getPassword(), user.getPassword())
         : false;
@@ -38,9 +36,7 @@ public class AuthService {
    * @throws HttpClientErrorException(FORBIDDEN) if the credentials are invalid
    */
   public String login(LoginRequest loginRequest) {
-    Response user = userAPI.getUserByEmail(loginRequest.getEmail());
-    System.err.println(user.getName() + ", " + user.getEmail() + ", " +
-        user.getRol() + ", " + user.getPassword());
+    User user = userAPI.getUserByEmail(loginRequest.getEmail());
 
     if (!authenticateUser(loginRequest, user)) {
       throw new HttpClientErrorException(HttpStatus.FORBIDDEN, "Invalid credentials");
diff --git a/java/services/auth/src/main/java/com/uva/authentication/utils/JwtUtil.java b/java/services/auth/src/main/java/com/uva/authentication/utils/JwtUtil.java
index 76cda7ebf748e7858cdc82ebc0c2608a2f7a26a0..7b5bbf50066d94d8de2fced81890d5ce8ea93569 100644
--- a/java/services/auth/src/main/java/com/uva/authentication/utils/JwtUtil.java
+++ b/java/services/auth/src/main/java/com/uva/authentication/utils/JwtUtil.java
@@ -7,7 +7,7 @@ import org.springframework.stereotype.Component;
 
 import com.auth0.jwt.JWT;
 import com.auth0.jwt.algorithms.Algorithm;
-import com.uva.authentication.models.remote.Response;
+import com.uva.authentication.models.remote.User;
 
 @Component
 public class JwtUtil {
@@ -25,7 +25,7 @@ public class JwtUtil {
     return jwtExpiration;
   }
 
-  public String generateToken(Response user) {
+  public String generateToken(User user) {
     Algorithm algorithm = Algorithm.HMAC256(secretKey);
     return JWT
         .create()
diff --git a/java/services/users/pom.xml b/java/services/users/pom.xml
index 7ee0d6abb08370c157323a0c6156b0602e4d2e5f..ebc7f265dda0729f0a8ece2f80537444a8d68328 100644
--- a/java/services/users/pom.xml
+++ b/java/services/users/pom.xml
@@ -63,6 +63,13 @@
 		<artifactId>jakarta.servlet-api</artifactId>
 		<scope>provided</scope>
     </dependency>
+		<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
+		<dependency>
+			<groupId>org.projectlombok</groupId>
+			<artifactId>lombok</artifactId>
+			<version>1.18.36</version>
+			<scope>provided</scope>
+		</dependency>
 	</dependencies>
 
 	<build>
diff --git a/java/services/users/src/main/java/com/uva/api/apis/BookingAPI.java b/java/services/users/src/main/java/com/uva/api/apis/BookingAPI.java
new file mode 100644
index 0000000000000000000000000000000000000000..f4886cdcc22725505b705b321f143ceeb152e4b4
--- /dev/null
+++ b/java/services/users/src/main/java/com/uva/api/apis/BookingAPI.java
@@ -0,0 +1,16 @@
+package com.uva.api.apis;
+
+import java.util.List;
+
+import org.springframework.stereotype.Component;
+
+import com.uva.api.models.remote.Booking;
+
+@Component
+public class BookingAPI {
+
+  public List<Booking> getAllBookingsByUserId(int id) {
+    return null;
+  }
+
+}
diff --git a/java/services/users/src/main/java/com/uva/api/models/Booking.java b/java/services/users/src/main/java/com/uva/api/models/Booking.java
deleted file mode 100644
index 88367c6f0d3a3abfab5365532684b14670fb3c13..0000000000000000000000000000000000000000
--- a/java/services/users/src/main/java/com/uva/api/models/Booking.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.uva.api.models;
-
-import java.time.LocalDate;
-
-public class Booking {
-
-  public LocalDate getEndDate() {
-    // TODO Auto-generated method stub
-    throw new UnsupportedOperationException("Unimplemented method 'getEndDate'");
-  }
-
-}
diff --git a/java/services/users/src/main/java/com/uva/api/models/Client.java b/java/services/users/src/main/java/com/uva/api/models/Client.java
index 238e23da769098da2b38750e0d207f3102d93225..d5f695ecc59fce3dc6685ce98fdbcd632a342ea8 100644
--- a/java/services/users/src/main/java/com/uva/api/models/Client.java
+++ b/java/services/users/src/main/java/com/uva/api/models/Client.java
@@ -1,40 +1,40 @@
 package com.uva.api.models;
 
 import java.time.LocalDate;
-import java.util.ArrayList;
 import java.util.List;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.uva.api.models.remote.Booking;
 
 import jakarta.persistence.Basic;
-import jakarta.persistence.CascadeType;
 import jakarta.persistence.Column;
 import jakarta.persistence.Entity;
 import jakarta.persistence.EnumType;
 import jakarta.persistence.Enumerated;
-import jakarta.persistence.FetchType;
-import jakarta.persistence.OneToMany;
 import jakarta.persistence.Table;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import lombok.ToString;
 
 @Entity
 @Table(name = "user_client")
+@NoArgsConstructor
+@Getter
+@Setter
+@Data
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
 public class Client extends User {
 
   @Basic(optional = false)
   @Column(nullable = false)
   @Enumerated(EnumType.STRING)
-  private UserStatus status;
+  private UserStatus status = UserStatus.NO_BOOKINGS;
 
-  @JsonIgnore
-  @OneToMany(mappedBy = "userId", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
   private List<Booking> bookings;
 
-  public Client() {
-    super();
-    bookings = new ArrayList<>();
-    status = UserStatus.NO_BOOKINGS;
-  }
-
   public Client(int id, String name, String email, String password, UserStatus status,
       List<Booking> bookings) {
     super(id, name, email, password, UserRol.CLIENT);
@@ -53,12 +53,4 @@ public class Client extends User {
   public void setStatus(UserStatus status) {
     this.status = status;
   }
-
-  public List<Booking> getBookings() {
-    return this.bookings;
-  }
-
-  public void setBookings(List<Booking> bookings) {
-    this.bookings = bookings;
-  }
 }
diff --git a/java/services/users/src/main/java/com/uva/api/models/Hotel.java b/java/services/users/src/main/java/com/uva/api/models/Hotel.java
deleted file mode 100644
index 29adbbe1663dc6276f89acd15ddba3f5c12d7c01..0000000000000000000000000000000000000000
--- a/java/services/users/src/main/java/com/uva/api/models/Hotel.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.uva.api.models;
-
-public class Hotel {
-
-}
diff --git a/java/services/users/src/main/java/com/uva/api/models/HotelManager.java b/java/services/users/src/main/java/com/uva/api/models/HotelManager.java
index 46570f3a368750dea2385f6b87c7ab63eda94e85..a4fdb514bc42db1649b4a50ae990fa6e18212873 100644
--- a/java/services/users/src/main/java/com/uva/api/models/HotelManager.java
+++ b/java/services/users/src/main/java/com/uva/api/models/HotelManager.java
@@ -1,37 +1,30 @@
 package com.uva.api.models;
 
-import java.util.ArrayList;
-import java.util.List;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import jakarta.persistence.CascadeType;
+import com.fasterxml.jackson.databind.JsonNode;
+
 import jakarta.persistence.Entity;
-import jakarta.persistence.FetchType;
-import jakarta.persistence.OneToMany;
 import jakarta.persistence.Table;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import lombok.ToString;
 
 @Entity
 @Table(name = "hotel_manager_user")
+@NoArgsConstructor
+@Getter
+@Setter
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
 public class HotelManager extends User {
 
-  @JsonIgnore
-  @OneToMany(mappedBy = "hotelManager", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
-  private List<Hotel> hotels;
-
-  public HotelManager() {
-    super();
-    hotels = new ArrayList<>();
-  }
+  private JsonNode hotels;
 
-  public HotelManager(int id, String name, String email, String password, List<Hotel> hotels) {
+  public HotelManager(int id, String name, String email, String password, JsonNode hotels) {
     super(id, name, email, password, UserRol.HOTEL_ADMIN);
     setHotels(hotels);
   }
-
-  public List<Hotel> getHotels() {
-    return this.hotels;
-  }
-
-  public void setHotels(List<Hotel> hotels) {
-    this.hotels = hotels;
-  }
 }
diff --git a/java/services/users/src/main/java/com/uva/api/models/User.java b/java/services/users/src/main/java/com/uva/api/models/User.java
index bdcb1b55e9b9d1e48ace421f8045489c63d78955..401f505bff181e250386defeb8f8bd7d6f477bd4 100644
--- a/java/services/users/src/main/java/com/uva/api/models/User.java
+++ b/java/services/users/src/main/java/com/uva/api/models/User.java
@@ -13,10 +13,24 @@ import jakarta.persistence.Id;
 import jakarta.persistence.Inheritance;
 import jakarta.persistence.InheritanceType;
 import jakarta.persistence.Table;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import lombok.ToString;
 
 @Entity
 @Inheritance(strategy = InheritanceType.JOINED)
 @Table(name = "users")
+@NoArgsConstructor
+@AllArgsConstructor
+@Setter
+@Getter
+@Data
+@EqualsAndHashCode
+@ToString
 public class User {
 
   @Id
@@ -33,6 +47,7 @@ public class User {
   @Column(nullable = false, unique = true)
   private String email;
 
+  @JsonIgnore
   @Basic(optional = false)
   @Column(nullable = false)
   private String password;
@@ -41,54 +56,4 @@ public class User {
   @Column(nullable = false)
   @Enumerated(EnumType.STRING)
   private UserRol rol = UserRol.CLIENT;
-
-  public User() {
-  }
-
-  public User(int id, String name, String email, String password, UserRol rol) {
-    setId(id);
-    setName(name);
-    setEmail(email);
-    setRol(rol);
-  }
-
-  public int getId() {
-    return this.id;
-  }
-
-  public void setId(int id) {
-    this.id = id;
-  }
-
-  public String getName() {
-    return this.name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public String getEmail() {
-    return this.email;
-  }
-
-  public void setEmail(String email) {
-    this.email = email;
-  }
-
-  public String getPassword() {
-    return password;
-  }
-
-  public void setPassword(String rawPassword) {
-    this.password = rawPassword;
-  }
-
-  public UserRol getRol() {
-    return this.rol;
-  }
-
-  public void setRol(UserRol rol) {
-    this.rol = rol;
-  }
-}
+}
\ No newline at end of file
diff --git a/java/services/users/src/main/java/com/uva/api/models/remote/Booking.java b/java/services/users/src/main/java/com/uva/api/models/remote/Booking.java
new file mode 100644
index 0000000000000000000000000000000000000000..edb2b0656c7a7f487f8c5f4e4465e8c34e4b55cb
--- /dev/null
+++ b/java/services/users/src/main/java/com/uva/api/models/remote/Booking.java
@@ -0,0 +1,21 @@
+package com.uva.api.models.remote;
+
+import java.time.LocalDate;
+
+import lombok.AllArgsConstructor;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import lombok.ToString;
+
+@Setter
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+@ToString
+@EqualsAndHashCode
+public class Booking {
+  private LocalDate startDate;
+  private LocalDate endDate;
+}
diff --git a/java/services/users/src/main/java/com/uva/api/services/UserService.java b/java/services/users/src/main/java/com/uva/api/services/UserService.java
index 820880fe62bc60b479e78a4483b736704c2a6630..31d030530a8027e3262d82a44477c6a2a3cb0e8e 100644
--- a/java/services/users/src/main/java/com/uva/api/services/UserService.java
+++ b/java/services/users/src/main/java/com/uva/api/services/UserService.java
@@ -10,12 +10,14 @@ import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.HttpClientErrorException;
 
+import com.uva.api.apis.BookingAPI;
 import com.uva.api.models.AuthResponse;
 import com.uva.api.models.Client;
 import com.uva.api.models.HotelManager;
 import com.uva.api.models.User;
 import com.uva.api.models.UserRol;
 import com.uva.api.models.UserStatus;
+import com.uva.api.models.remote.Booking;
 import com.uva.api.repositories.ClientRepository;
 import com.uva.api.repositories.HotelManagerRepository;
 import com.uva.api.repositories.UserRepository;
@@ -32,6 +34,9 @@ public class UserService {
   @Autowired
   private HotelManagerRepository hotelManagerRepository;
 
+  @Autowired
+  private BookingAPI bookingAPI;
+
   public List<User> getAllUsers() {
     return userRepository.findAll();
   }
@@ -44,6 +49,15 @@ public class UserService {
     return assertUser(userRepository.findById(id));
   }
 
+  public Client getClientById(int id) {
+    User user = assertUser(clientRepository.findById(id));
+    Client client = new Client();
+    BeanUtils.copyProperties(user, client);
+    List<Booking> bookings = bookingAPI.getAllBookingsByUserId(user.getId());
+    client.setBookings(bookings);
+    return client;
+  }
+
   public AuthResponse getUserByEmail(String email) {
     User u = assertUser(userRepository.findByEmail(email));
     AuthResponse auth = new AuthResponse();
@@ -68,7 +82,7 @@ public class UserService {
       case ADMIN:
         User admin = new User();
         BeanUtils.copyProperties(registerRequest, admin);
-        newUser = admin; // userAPI.save(admin);
+        newUser = userRepository.save(admin);
         break;
 
       case CLIENT: // Por defecto cliente normal