Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/contactDTO/DisplayContactDTO.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/contactDTO/DisplayContactDTO.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/contactDTO/DisplayContactDTO.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -0,0 +1,19 @@
+package mk.ukim.finki.it.reservengo.dto.contactDTO;
+
+import mk.ukim.finki.it.reservengo.model.domain.Contact;
+
+import java.util.Map;
+
+public record DisplayContactDTO(
+        String phone,
+        String email,
+        Map<String, String> socialLinks
+) {
+    public static DisplayContactDTO from(Contact contact) {
+        return new DisplayContactDTO(
+                contact.getPhone(),
+                contact.getEmail(),
+                contact.getSocialLinks()
+        );
+    }
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/localDTO/DisplayLocalDTO.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/localDTO/DisplayLocalDTO.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/localDTO/DisplayLocalDTO.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -0,0 +1,31 @@
+package mk.ukim.finki.it.reservengo.dto.localDTO;
+
+import mk.ukim.finki.it.reservengo.model.domain.Local;
+
+import java.util.List;
+
+public record DisplayLocalDTO(
+        Long id,
+        String name,
+        String description,
+        String address,
+        String workingHours,
+        String logo
+) {
+    public static DisplayLocalDTO fromLocal(Local local) {
+        return new DisplayLocalDTO(
+                local.getId(),
+                local.getName(),
+                local.getDescription(),
+                local.getAddress(),
+                local.getWorkingHours(),
+                local.getLogoUrl()
+        );
+    }
+
+    public static List<DisplayLocalDTO> fromLocals(List<Local> locals) {
+        return locals.stream()
+                .map(DisplayLocalDTO::fromLocal)
+                .toList();
+    }
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/localDTO/DisplayLocalDetailsDTO.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/localDTO/DisplayLocalDetailsDTO.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/localDTO/DisplayLocalDetailsDTO.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -0,0 +1,43 @@
+package mk.ukim.finki.it.reservengo.dto.localDTO;
+
+import mk.ukim.finki.it.reservengo.dto.contactDTO.DisplayContactDTO;
+import mk.ukim.finki.it.reservengo.model.domain.Event;
+import mk.ukim.finki.it.reservengo.model.domain.Local;
+import mk.ukim.finki.it.reservengo.model.enumerations.Service;
+
+import java.util.List;
+
+public record DisplayLocalDetailsDTO(
+        Long id,
+        String name,
+        String description,
+        String address,
+        String workingHours,
+        List<Service> services,
+        Double ratingAvg,
+        List<Event> events,
+        List<String> localPhotos,
+        String menuPhoto,
+        String menuLink,
+        DisplayContactDTO contact,
+        String logo
+) {
+    public static DisplayLocalDetailsDTO from(Local local) {
+        return new DisplayLocalDetailsDTO(
+                local.getId(),
+                local.getName(),
+                local.getDescription(),
+                local.getAddress(),
+                local.getWorkingHours(),
+                local.getAvailableServices(),
+                local.getAverageRating(),
+                local.getEvents(),
+                local.getLocalPhotos(),
+                local.getMenuPhoto(),
+                local.getMenuLink(),
+                DisplayContactDTO.from(local.getContact()),
+                local.getLogoUrl()
+        );
+    }
+
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/domain/Local.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/domain/Local.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/domain/Local.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -17,25 +17,4 @@
 @NoArgsConstructor
 public class Local {
-    public Local(String name, String description, String address, String workingHours, List<Service> availableServices, Map<Long, Integer> ratings, List<Event> events, List<String> localPhotos, String menuPhoto, String menuLink, Contact contact, List<Reservation> reservations, List<LocalWorker> workers) {
-        this.name = name;
-        this.description = description;
-        this.address = address;
-        this.workingHours = workingHours;
-        this.availableServices = availableServices;
-        this.ratings = ratings;
-        this.events = events;
-        this.localPhotos = localPhotos;
-        this.menuPhoto = menuPhoto;
-        this.menuLink = menuLink;
-        this.contact = contact;
-        this.reservations = reservations;
-        this.workers = workers;
-    }
-
-    public Local(String name) {
-        this.name = name;
-    }
-
-
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -80,14 +59,33 @@
     private String logoUrl;
 
-    public double calculateLocalAverageRating() {
-        if (ratings == null || ratings.isEmpty()) {
-            return 0.0;
-        }
-        double sum = 0.0;
-        for (Integer rating : ratings.values()) {
-            sum += rating;
-        }
-        return sum / ratings.size();
+    public Local(String name, String description, String address, String workingHours, List<Service> availableServices, Map<Long, Integer> ratings, List<Event> events, List<String> localPhotos, String menuPhoto, String menuLink, Contact contact, List<Reservation> reservations, List<LocalWorker> workers) {
+        this.name = name;
+        this.description = description;
+        this.address = address;
+        this.workingHours = workingHours;
+        this.availableServices = availableServices;
+        this.ratings = ratings;
+        this.events = events;
+        this.localPhotos = localPhotos;
+        this.menuPhoto = menuPhoto;
+        this.menuLink = menuLink;
+        this.contact = contact;
+        this.reservations = reservations;
+        this.workers = workers;
     }
 
+    public Local(String name) {
+        this.name = name;
+    }
+
+    public double getAverageRating() {
+        if (ratings == null || ratings.isEmpty()) {
+            return 0;
+        }
+
+        return ratings.values().stream()
+                .mapToInt(Integer::intValue)
+                .average()
+                .orElse(0.0);
+    }
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/domain/LocalManager.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/domain/LocalManager.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/domain/LocalManager.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -2,7 +2,12 @@
 
 import jakarta.persistence.Entity;
+import jakarta.persistence.EnumType;
+import jakarta.persistence.Enumerated;
+import jakarta.persistence.ManyToOne;
+import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
+import mk.ukim.finki.it.reservengo.model.enumerations.Position;
 import mk.ukim.finki.it.reservengo.model.enumerations.Role;
 
@@ -10,9 +15,15 @@
 @Entity
 @NoArgsConstructor
+@AllArgsConstructor
 @Data
-public class LocalManager extends LocalWorker {
+public class LocalManager extends User {
+    @ManyToOne
+    private Local local;
+
+    @Enumerated(EnumType.STRING)
+    private Position position;
+
     public LocalManager(String firstName, String lastName, String email, String password, String phoneNumber, Role userRole) {
         super(firstName, lastName, email, password, phoneNumber, userRole);
     }
-
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/domain/LocalWorker.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/domain/LocalWorker.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/domain/LocalWorker.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -27,4 +27,3 @@
         super(firstName, lastName, email, password, phoneNumber, userRole);
     }
-
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/EmailNotFoundException.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/EmailNotFoundException.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/EmailNotFoundException.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -3,5 +3,5 @@
 public class EmailNotFoundException extends RuntimeException {
     public EmailNotFoundException(String email) {
-        super("User with email: " + email + " not found");
+        super("User with email: " + email + " not found.");
     }
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/LocalAlreadyFavouredException.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/LocalAlreadyFavouredException.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/LocalAlreadyFavouredException.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -0,0 +1,7 @@
+package mk.ukim.finki.it.reservengo.model.exceptions;
+
+public class LocalAlreadyFavouredException extends RuntimeException{
+    public LocalAlreadyFavouredException(Long id) {
+        super("Local with id: " + id + " already favoured.");
+    }
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/LocalAlreadyUnfavouredException.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/LocalAlreadyUnfavouredException.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/LocalAlreadyUnfavouredException.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -0,0 +1,7 @@
+package mk.ukim.finki.it.reservengo.model.exceptions;
+
+public class LocalAlreadyUnfavouredException extends RuntimeException{
+    public LocalAlreadyUnfavouredException(Long id) {
+        super("Local with id: " + id + " already unfavoured.");
+    }
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/ReservationIdNotFoundException.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/ReservationIdNotFoundException.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/ReservationIdNotFoundException.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -3,5 +3,5 @@
 public class ReservationIdNotFoundException extends RuntimeException {
     public ReservationIdNotFoundException(Long id) {
-        super("Reservation with id: " + id + " not found");
+        super("Reservation with id: " + id + " not found.");
     }
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/UserEmailAlreadyExistsException.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/UserEmailAlreadyExistsException.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/exceptions/UserEmailAlreadyExistsException.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -3,5 +3,5 @@
 public class UserEmailAlreadyExistsException extends RuntimeException {
     public UserEmailAlreadyExistsException(String email) {
-        super("User with email: " + email + " already exists");
+        super("User with email: " + email + " already exists.");
     }
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/AdminServiceImpl.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/AdminServiceImpl.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/AdminServiceImpl.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -3,4 +3,5 @@
 import mk.ukim.finki.it.reservengo.dto.localDTO.CreateLocalDTO;
 import mk.ukim.finki.it.reservengo.service.intf.AdminService;
+import mk.ukim.finki.it.reservengo.service.intf.CustomerService;
 import mk.ukim.finki.it.reservengo.service.intf.LocalService;
 import org.springframework.stereotype.Service;
@@ -11,5 +12,5 @@
     private final LocalService localService;
 
-    public AdminServiceImpl(LocalService localService) {
+    public AdminServiceImpl(LocalService localService, CustomerService customerService) {
         this.localService = localService;
     }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/CustomerServiceImpl.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/CustomerServiceImpl.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/CustomerServiceImpl.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -1,7 +1,10 @@
 package mk.ukim.finki.it.reservengo.service.impl;
 
+import mk.ukim.finki.it.reservengo.dto.localDTO.DisplayLocalDTO;
 import mk.ukim.finki.it.reservengo.model.domain.Customer;
 import mk.ukim.finki.it.reservengo.model.domain.Local;
 import mk.ukim.finki.it.reservengo.model.exceptions.CustomerIdNotFoundException;
+import mk.ukim.finki.it.reservengo.model.exceptions.LocalAlreadyFavouredException;
+import mk.ukim.finki.it.reservengo.model.exceptions.LocalAlreadyUnfavouredException;
 import mk.ukim.finki.it.reservengo.model.exceptions.UserEmailAlreadyExistsException;
 import mk.ukim.finki.it.reservengo.repository.CustomerRepository;
@@ -26,7 +29,7 @@
 
     @Override
-    public List<Local> listFavouriteLocals(Long id) {
+    public List<DisplayLocalDTO> listFavouriteLocals(Long id) {
         Customer customer = customerRepository.findById(id).orElseThrow(() -> new CustomerIdNotFoundException(id));
-        return customer.getFavouriteLocals();
+        return DisplayLocalDTO.fromLocals(customer.getFavouriteLocals());
     }
 
@@ -36,8 +39,9 @@
         Local local = localService.getLocalById(localId);
 
-        if (!customer.getFavouriteLocals().contains(local)) {
-            customer.getFavouriteLocals().add(local);
+        if (customer.getFavouriteLocals().contains(local)) {
+            throw new LocalAlreadyFavouredException(localId);
         }
 
+        customer.getFavouriteLocals().add(local);
         customerRepository.save(customer);
     }
@@ -48,6 +52,9 @@
         Local local = localService.getLocalById(localId);
 
+        if (!customer.getFavouriteLocals().contains(local)) {
+            throw new LocalAlreadyUnfavouredException(localId);
+        }
+
         customer.getFavouriteLocals().remove(local);
-
         customerRepository.save(customer);
     }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/LocalServiceImpl.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/LocalServiceImpl.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/LocalServiceImpl.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -39,5 +39,3 @@
         localRepository.delete(local);
     }
-
-
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/ReservationServiceImpl.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/ReservationServiceImpl.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/ReservationServiceImpl.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -1,31 +1,9 @@
 package mk.ukim.finki.it.reservengo.service.impl;
 
-import mk.ukim.finki.it.reservengo.model.domain.Reservation;
-import mk.ukim.finki.it.reservengo.model.exceptions.ReservationIdNotFoundException;
-import mk.ukim.finki.it.reservengo.repository.ReservationRepository;
 import mk.ukim.finki.it.reservengo.service.intf.ReservationService;
 import org.springframework.stereotype.Service;
-
-import java.util.List;
 
 
 @Service
 public class ReservationServiceImpl implements ReservationService {
-
-    private final ReservationRepository reservationRepository;
-
-    public ReservationServiceImpl(ReservationRepository reservationRepository) {
-        this.reservationRepository = reservationRepository;
-    }
-
-    @Override
-    public Reservation getReservationById(Long id) {
-        return this.reservationRepository.findById(id).orElseThrow(() -> new ReservationIdNotFoundException(id));
-    }
-
-    @Override
-    public List<Reservation> getCustomerReservations(Long id) {
-        return this.reservationRepository.findAllByCustomerId(id);
-    }
-
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/UserServiceImpl.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/UserServiceImpl.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/UserServiceImpl.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -59,5 +59,5 @@
 
     @Override
-    public String changePassword(Long userId, EditUserPasswordDTO editUserPasswordDTO) {
+    public void changePassword(Long userId, EditUserPasswordDTO editUserPasswordDTO) {
         User user = userRepository.findById(userId).orElseThrow(() -> new UserIdNotFoundException(userId));
 
@@ -68,6 +68,4 @@
         user.setPassword(passwordEncoder.encode(editUserPasswordDTO.newPassword()));
         userRepository.save(user);
-
-        return "Password updated successfully!";
     }
 
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/CustomerService.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/CustomerService.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/CustomerService.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.it.reservengo.service.intf;
 
+import mk.ukim.finki.it.reservengo.dto.localDTO.DisplayLocalDTO;
 import mk.ukim.finki.it.reservengo.model.domain.Customer;
 import mk.ukim.finki.it.reservengo.model.domain.Local;
@@ -8,5 +9,5 @@
 public interface CustomerService {
 
-    List<Local> listFavouriteLocals(Long id);
+    List<DisplayLocalDTO> listFavouriteLocals(Long id);
 
     void addFavouriteLocal(Long userId, Long localId);
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/ReservationService.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/ReservationService.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/ReservationService.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -1,10 +1,4 @@
 package mk.ukim.finki.it.reservengo.service.intf;
 
-import mk.ukim.finki.it.reservengo.model.domain.Reservation;
-
-import java.util.List;
-
 public interface ReservationService {
-    Reservation getReservationById(Long id);
-    List<Reservation> getCustomerReservations(Long id);
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/UserService.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/UserService.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/UserService.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -15,4 +15,4 @@
     DisplayUserEmailDTO changeEmail(Long userId, EditUserEmailDTO editUserEmailDTO);
 
-    String changePassword(Long userId, EditUserPasswordDTO editUserPasswordDTO);
+    void changePassword(Long userId, EditUserPasswordDTO editUserPasswordDTO);
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/advice/GlobalExceptionHandler.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/advice/GlobalExceptionHandler.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/advice/GlobalExceptionHandler.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -61,4 +61,14 @@
         return ResponseEntity.status(HttpStatus.CONFLICT).body(ex.getMessage());
     }
+
+    @ExceptionHandler(LocalAlreadyFavouredException.class)
+    public ResponseEntity<String> handleLocalAlreadyFavoured(LocalAlreadyFavouredException ex) {
+        return ResponseEntity.status(HttpStatus.CONFLICT).body(ex.getMessage());
+    }
+
+    @ExceptionHandler(LocalAlreadyUnfavouredException.class)
+    public ResponseEntity<String> handleLocalAlreadyUnfavoured(LocalAlreadyUnfavouredException ex) {
+        return ResponseEntity.status(HttpStatus.CONFLICT).body(ex.getMessage());
+    }
 }
 
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/AdminController.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/AdminController.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/AdminController.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -20,5 +20,5 @@
 
     @PostMapping("/add")
-    public ResponseEntity<?> addLocal(@RequestBody CreateLocalDTO localDTO) {
+    public ResponseEntity<Void> addLocal(@RequestBody CreateLocalDTO localDTO) {
         adminService.addLocal(localDTO);
         return new ResponseEntity<>(HttpStatus.OK);
@@ -26,5 +26,5 @@
 
     @DeleteMapping("/delete/{id}")
-    public ResponseEntity<?> deleteLocal(@PathVariable Long id) {
+    public ResponseEntity<Void> deleteLocal(@PathVariable Long id) {
         adminService.deleteLocal(id);
         return new ResponseEntity<>(HttpStatus.OK);
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/CustomerController.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/CustomerController.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/CustomerController.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -1,9 +1,7 @@
 package mk.ukim.finki.it.reservengo.web.controller;
 
-import mk.ukim.finki.it.reservengo.model.domain.Local;
-import mk.ukim.finki.it.reservengo.model.domain.Reservation;
+import mk.ukim.finki.it.reservengo.dto.localDTO.DisplayLocalDTO;
 import mk.ukim.finki.it.reservengo.model.domain.User;
 import mk.ukim.finki.it.reservengo.service.intf.CustomerService;
-import mk.ukim.finki.it.reservengo.service.intf.ReservationService;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -20,25 +18,16 @@
 
     private final CustomerService customerService;
-    private final ReservationService reservationService;
 
-    public CustomerController(CustomerService customerService, ReservationService reservationService) {
+    public CustomerController(CustomerService customerService) {
         this.customerService = customerService;
-        this.reservationService = reservationService;
-    }
-
-    @GetMapping("/reservations")
-    public ResponseEntity<?> getCustomerReservations(@AuthenticationPrincipal User user) {
-        List<Reservation> customerReservations = reservationService.getCustomerReservations(user.getId());
-        return new ResponseEntity<>(customerReservations, HttpStatus.OK);
     }
 
     @GetMapping("/favourite-locals")
-    public ResponseEntity<?> listFavouriteLocals(@AuthenticationPrincipal User user) {
-        List<Local> favouriteLocals = customerService.listFavouriteLocals(user.getId());
-        return new ResponseEntity<>(favouriteLocals, HttpStatus.OK);
+    public ResponseEntity<List<DisplayLocalDTO>> listFavouriteLocals(@AuthenticationPrincipal User user) {
+        return new ResponseEntity<>(customerService.listFavouriteLocals(user.getId()), HttpStatus.OK);
     }
 
     @PostMapping("/favourite-locals/add/{id}")
-    public ResponseEntity<?> addFavouriteLocal(@AuthenticationPrincipal User user, @PathVariable Long id) {
+    public ResponseEntity<Void> addFavouriteLocal(@AuthenticationPrincipal User user, @PathVariable Long id) {
         customerService.addFavouriteLocal(user.getId(), id);
         return new ResponseEntity<>(HttpStatus.OK);
@@ -46,5 +35,5 @@
 
     @PostMapping("/favourite-locals/remove/{id}")
-    public ResponseEntity<?> removeFavouriteLocal(@AuthenticationPrincipal User user, @PathVariable Long id) {
+    public ResponseEntity<Void> removeFavouriteLocal(@AuthenticationPrincipal User user, @PathVariable Long id) {
         customerService.removeFavouriteLocal(user.getId(), id);
         return new ResponseEntity<>(HttpStatus.OK);
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/LocalController.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/LocalController.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/LocalController.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -1,4 +1,6 @@
 package mk.ukim.finki.it.reservengo.web.controller;
 
+import mk.ukim.finki.it.reservengo.dto.localDTO.DisplayLocalDTO;
+import mk.ukim.finki.it.reservengo.dto.localDTO.DisplayLocalDetailsDTO;
 import mk.ukim.finki.it.reservengo.model.domain.Local;
 import mk.ukim.finki.it.reservengo.service.intf.LocalService;
@@ -6,4 +8,6 @@
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 @RestController
@@ -18,11 +22,12 @@
 
     @GetMapping
-    public ResponseEntity<?> getLocals() {
-        return new ResponseEntity<>(localService.listAll(), HttpStatus.OK);
+    public ResponseEntity<List<DisplayLocalDTO>> getLocals() {
+        List<DisplayLocalDTO> displayLocalDTOList = DisplayLocalDTO.fromLocals(localService.listAll());
+        return new ResponseEntity<>(displayLocalDTOList, HttpStatus.OK);
     }
 
     @GetMapping("/{id}")
-    public ResponseEntity<?> getLocalInformation(@PathVariable Long id) {
-        Local local = localService.getLocalById(id);
+    public ResponseEntity<DisplayLocalDetailsDTO> getLocalDetails(@PathVariable Long id) {
+        DisplayLocalDetailsDTO local = DisplayLocalDetailsDTO.from(localService.getLocalById(id));
         return new ResponseEntity<>(local, HttpStatus.OK);
     }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/ReservationController.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/ReservationController.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/ReservationController.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -1,33 +1,9 @@
 package mk.ukim.finki.it.reservengo.web.controller;
 
-import mk.ukim.finki.it.reservengo.model.domain.Reservation;
-import mk.ukim.finki.it.reservengo.model.enumerations.ReservationStatus;
-import mk.ukim.finki.it.reservengo.service.intf.ReservationService;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping("/api/reservations")
 public class ReservationController {
-    private final ReservationService reservationService;
-
-    public ReservationController(ReservationService reservationService) {
-        this.reservationService = reservationService;
-    }
-
-    //TODO RE-EVALUATE RESERVATIONS ARCHITECTURE
-
-    @GetMapping("/{id}")
-    public ResponseEntity<?> getReservationInformation(@PathVariable Long id) {
-        Reservation reservation = reservationService.getReservationById(id);
-        return ResponseEntity.ok(reservation);
-    }
-
-    @PostMapping("/{id}/status")
-    public ResponseEntity<?> updateReservationStatus(@PathVariable Long id, @RequestParam ReservationStatus status) {
-        Reservation reservation = reservationService.getReservationById(id);
-        reservation.setStatus(status);
-        return ResponseEntity.ok(reservation);
-    }
-
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/UserController.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/UserController.java	(revision dd7a2b6db39741a0dcd54ee1211732a40144f09b)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/UserController.java	(revision 30410232f6ea567140685045a41d48ba09f46eb6)
@@ -37,6 +37,7 @@
 
     @PatchMapping("/change-password")
-    public ResponseEntity<String> changePassword(@AuthenticationPrincipal User user, @RequestBody EditUserPasswordDTO editUserPasswordDTO) {
-        return new ResponseEntity<>(userService.changePassword(user.getId(), editUserPasswordDTO), HttpStatus.OK);
+    public ResponseEntity<Void> changePassword(@AuthenticationPrincipal User user, @RequestBody EditUserPasswordDTO editUserPasswordDTO) {
+        userService.changePassword(user.getId(), editUserPasswordDTO);
+        return new ResponseEntity<>(HttpStatus.OK);
     }
 }
