Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/InfobipConfig.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/InfobipConfig.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/InfobipConfig.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -0,0 +1,15 @@
+package mk.ukim.finki.it.reservengo.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@ConfigurationProperties(prefix = "infobip")
+@Data
+public class InfobipConfig {
+    private String key;
+    private String base;
+    private String sender;
+
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/TwilioConfig.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/TwilioConfig.java	(revision cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/TwilioConfig.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -11,11 +11,11 @@
 @Data
 public class TwilioConfig {
-    private String accountSid;
-    private String authToken;
-    private String phoneNumber;
+    private String sid;
+    private String token;
+    private String number;
 
     @PostConstruct
     public void init() {
-        Twilio.init(accountSid, authToken);
+        Twilio.init(sid, token);
     }
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/WebSecurityConfig.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/WebSecurityConfig.java	(revision cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/WebSecurityConfig.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -58,4 +58,5 @@
                         .requestMatchers("/api/local-manager/**").hasRole("LOCAL_MANAGER")
                         .requestMatchers("/api/admin/**").hasRole("ADMIN")
+                        .requestMatchers("/api/local-worker/**").hasRole("LOCAL_WORKER")
                         .anyRequest()
                         .authenticated()
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/reservationDTO/EditReservationDTO.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/reservationDTO/EditReservationDTO.java	(revision cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/reservationDTO/EditReservationDTO.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -1,5 +1,4 @@
 package mk.ukim.finki.it.reservengo.dto.reservationDTO;
 
-import mk.ukim.finki.it.reservengo.model.enumerations.ReservationStatus;
 
 import java.time.LocalDateTime;
@@ -7,6 +6,5 @@
 public record EditReservationDTO(
         LocalDateTime timeOfReservation,
-        Long tableId,
-        ReservationStatus status
-) {
+        Long tableId
+        ) {
 }
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 cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/CustomerServiceImpl.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -174,5 +174,4 @@
 
         reservation.setTable(table);
-        reservation.setStatus(editReservationDTO.status());
         reservationRepository.save(reservation);
 
@@ -229,3 +228,14 @@
         return DisplayReservationDTO.from(reservation);
     }
+
+    @Override
+    public void deleteReservation(Long id, Long reservationId) {
+        Customer customer = customerRepository.findById(id).orElseThrow(() -> new CustomerIdNotFoundException(id));
+        Reservation reservation = reservationRepository.findById(reservationId).orElseThrow(() -> new ReservationIdNotFoundException(reservationId));
+        reservation.setStatus(ReservationStatus.CANCELED);
+        reservation.setCustomer(null);
+        customer.getReservations().remove(reservation);
+        reservationRepository.save(reservation);
+        customerRepository.save(customer);
+    }
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/EmailServiceImpl.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/EmailServiceImpl.java	(revision cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/EmailServiceImpl.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -3,4 +3,5 @@
 import jakarta.mail.MessagingException;
 import jakarta.mail.internet.MimeMessage;
+import mk.ukim.finki.it.reservengo.model.enumerations.ReservationStatus;
 import mk.ukim.finki.it.reservengo.service.intf.EmailService;
 import org.springframework.beans.factory.annotation.Value;
@@ -95,4 +96,31 @@
     }
 
+    @Override
+    public void sendReservationFeedbackEmail(String email, ReservationStatus status) throws MessagingException {
+
+        boolean accepted = status == ReservationStatus.ACCEPTED;
+
+        String title = accepted ? "Reservation Confirmed ✅" : "Reservation Declined ❌";
+        String color = accepted ? "#4CAF50" : "#F44336";
+        String message = accepted
+                ? "Your reservation has been <b>successfully accepted</b>."
+                : "Unfortunately, your reservation has been <b>declined</b>.";
+
+        String html = """
+                <div style="font-family: Arial, sans-serif; font-size: 15px; color: #333;">
+                    <h2 style="color: %s;">%s</h2>
+                    <p>%s</p>
+                
+                    <p style="margin-top: 25px; font-size: 13px; color: #777;">
+                        Thank you for using ReserveNGo.
+                    </p>
+                </div>
+                """
+                .formatted(color, title, message);
+
+        sendHtmlEmail(email, "Reservation Status Update", html);
+    }
+
+
     private void sendHtmlEmail(String to, String subject, String text) throws MessagingException {
         try {
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/LocalWorkerServiceImpl.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/LocalWorkerServiceImpl.java	(revision cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/LocalWorkerServiceImpl.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.it.reservengo.service.impl;
 
+import jakarta.mail.MessagingException;
 import mk.ukim.finki.it.reservengo.dto.workerDTO.DisplayLocalReservationDTO;
 import mk.ukim.finki.it.reservengo.model.domain.Local;
@@ -9,6 +10,8 @@
 import mk.ukim.finki.it.reservengo.model.enumerations.Role;
 import mk.ukim.finki.it.reservengo.model.exceptions.*;
+import mk.ukim.finki.it.reservengo.repository.LocalRepository;
 import mk.ukim.finki.it.reservengo.repository.LocalWorkerRepository;
 import mk.ukim.finki.it.reservengo.repository.ReservationRepository;
+import mk.ukim.finki.it.reservengo.service.intf.EmailService;
 import mk.ukim.finki.it.reservengo.service.intf.LocalWorkerService;
 import mk.ukim.finki.it.reservengo.service.intf.SmsService;
@@ -25,10 +28,15 @@
     private final ReservationRepository reservationRepository;
     private final SmsService smsService;
+    private final EmailService emailService;
+    private final LocalRepository localRepository;
 
-    public LocalWorkerServiceImpl(LocalWorkerRepository localWorkerRepository, UserService userService, ReservationRepository reservationRepository, SmsService smsService) {
+
+    public LocalWorkerServiceImpl(LocalWorkerRepository localWorkerRepository, UserService userService, ReservationRepository reservationRepository, SmsService smsService, EmailService emailService, LocalRepository localRepository) {
         this.localWorkerRepository = localWorkerRepository;
         this.userService = userService;
         this.reservationRepository = reservationRepository;
         this.smsService = smsService;
+        this.emailService = emailService;
+        this.localRepository = localRepository;
     }
 
@@ -88,5 +96,5 @@
 
     @Override
-    public void acceptReservation(Long workerUserId, Long reservationId) {
+    public void acceptReservation(Long workerUserId, Long reservationId) throws MessagingException {
         LocalWorker worker = validateWorker(workerUserId);
         Reservation reservation = getAuthorizedReservation(worker, reservationId);
@@ -95,13 +103,14 @@
         reservationRepository.save(reservation);
 
-        smsService.sendSms(
-                reservation.getCustomer().getPhoneNumber(),
-                "Your reservation has been ACCEPTED."
-        );
+//        smsService.sendSms(
+//                reservation.getCustomer().getPhoneNumber(),
+//                "Your reservation has been ACCEPTED."
+//        );
+
+        emailService.sendReservationFeedbackEmail(reservation.getCustomer().getEmail(), ReservationStatus.ACCEPTED);
     }
 
-
     @Override
-    public void denyReservation(Long workerUserId, Long reservationId) {
+    public void denyReservation(Long workerUserId, Long reservationId) throws MessagingException {
         LocalWorker worker = validateWorker(workerUserId);
         Reservation reservation = getAuthorizedReservation(worker, reservationId);
@@ -114,4 +123,6 @@
                 "Your reservation has been DECLINED."
         );
+
+        emailService.sendReservationFeedbackEmail(reservation.getCustomer().getEmail(), ReservationStatus.CANCELED);
     }
 
@@ -123,4 +134,16 @@
         reservation.setStatus(ReservationStatus.FINISHED);
         reservationRepository.save(reservation);
+    }
+
+    @Override
+    public void deleteReservation(Long id, Long reservationId) {
+        LocalWorker worker = localWorkerRepository.findById(id).orElseThrow(() -> new WorkerIdNotFoundException(id));
+        Reservation reservation = getAuthorizedReservation(worker, reservationId);
+        Local local = worker.getLocal();
+        reservation.setStatus(ReservationStatus.CANCELED);
+        reservation.setLocal(null);
+        local.getReservations().remove(reservation);
+        reservationRepository.save(reservation);
+        localRepository.save(local);
     }
 
Index: serveNGo-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 cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ 	(revision )
@@ -1,9 +1,0 @@
-package mk.ukim.finki.it.reservengo.service.impl;
-import mk.ukim.finki.it.reservengo.service.intf.ReservationService;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-@Service
-@Transactional
-public class ReservationServiceImpl implements ReservationService {
-}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/SmsServiceImpl.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/SmsServiceImpl.java	(revision cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/SmsServiceImpl.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -1,24 +1,73 @@
 package mk.ukim.finki.it.reservengo.service.impl;
 
-import com.twilio.rest.api.v2010.account.Message;
-import com.twilio.type.PhoneNumber;
-import mk.ukim.finki.it.reservengo.config.TwilioConfig;
+//import com.twilio.rest.api.v2010.account.Message;
+//import com.twilio.type.PhoneNumber;
+//import mk.ukim.finki.it.reservengo.config.InfobipConfig;
+//import mk.ukim.finki.it.reservengo.config.TwilioConfig;
+//import mk.ukim.finki.it.reservengo.service.intf.SmsService;
+//import org.springframework.http.MediaType;
+//import org.springframework.stereotype.Service;
+//import org.springframework.web.client.RestTemplate;
+
+//import java.net.http.HttpHeaders;
+//import java.util.Map;
+
+import mk.ukim.finki.it.reservengo.config.InfobipConfig;
 import mk.ukim.finki.it.reservengo.service.intf.SmsService;
+import org.springframework.http.*;
 import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.List;
+import java.util.Map;
 
 @Service
 public class SmsServiceImpl implements SmsService {
-    private final TwilioConfig config;
+    //    private final TwilioConfig config;
+//
+//    public SmsServiceImpl(TwilioConfig config) {
+//        this.config = config;
+//    }
+//
+//    public void sendSms(String to, String text) {
+//        Message.creator(
+//                new PhoneNumber(to),
+//                new PhoneNumber(config.getNumber()),
+//                text
+//        ).create();
+//    }
+    private final InfobipConfig config;
+    private final RestTemplate restTemplate = new RestTemplate();
 
-    public SmsServiceImpl(TwilioConfig config) {
+    public SmsServiceImpl(InfobipConfig config) {
         this.config = config;
     }
 
+    @Override
     public void sendSms(String to, String text) {
-        Message.creator(
-                new PhoneNumber(to),
-                new PhoneNumber(config.getPhoneNumber()),
-                text
-        ).create();
+
+        String url = config.getBase() + "/sms/2/text/advanced";
+
+        HttpHeaders headers = new HttpHeaders();
+        headers.setContentType(MediaType.APPLICATION_JSON);
+        headers.set("Authorization", "App " + config.getKey());
+
+        Map<String, Object> body = Map.of(
+                "messages", List.of(
+                        Map.of(
+                                "from", config.getSender(),
+                                "destinations", List.of(
+                                        Map.of("to", to)
+                                ),
+                                "text", text
+                        )
+                )
+        );
+
+        HttpEntity<Map<String, Object>> entity =
+                new HttpEntity<>(body, headers);
+
+        restTemplate.postForEntity(url, entity, String.class);
     }
+
 }
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 cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/CustomerService.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -45,3 +45,5 @@
 
     DisplayReservationDTO makeReservation(Long id, CreateReservationDTO createReservationDTO);
+
+    void deleteReservation(Long id, Long reservationId);
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/EmailService.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/EmailService.java	(revision cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/EmailService.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -2,4 +2,5 @@
 
 import jakarta.mail.MessagingException;
+import mk.ukim.finki.it.reservengo.model.enumerations.ReservationStatus;
 
 public interface EmailService {
@@ -9,3 +10,5 @@
 
     void sendVerificationEmail(String email, String verificationCode) throws MessagingException;
+
+    void sendReservationFeedbackEmail(String email, ReservationStatus status) throws MessagingException;
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/LocalWorkerService.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/LocalWorkerService.java	(revision cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/LocalWorkerService.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.it.reservengo.service.intf;
 
+import jakarta.mail.MessagingException;
 import mk.ukim.finki.it.reservengo.dto.workerDTO.DisplayLocalReservationDTO;
 import mk.ukim.finki.it.reservengo.model.domain.Local;
@@ -24,8 +25,10 @@
     List<DisplayLocalReservationDTO> viewWorkerLocalReservations(Long id, ReservationStatus status);
 
-    void acceptReservation(Long id,Long reservationId);
+    void acceptReservation(Long id,Long reservationId) throws MessagingException;
 
-    void denyReservation(Long id,Long reservationId);
+    void denyReservation(Long id,Long reservationId) throws MessagingException;
 
     void finishReservation(Long id, Long reservationId);
+
+    void deleteReservation(Long id, Long reservationId);
 }
Index: serveNGo-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 cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ 	(revision )
@@ -1,4 +1,0 @@
-package mk.ukim.finki.it.reservengo.service.intf;
-
-public interface ReservationService {
-}
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 cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/CustomerController.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -4,4 +4,8 @@
 import mk.ukim.finki.it.reservengo.dto.eventDTO.DisplayEventDTO;
 import mk.ukim.finki.it.reservengo.dto.localDTO.DisplayLocalDTO;
+import mk.ukim.finki.it.reservengo.dto.reservationDTO.CreateReservationDTO;
+import mk.ukim.finki.it.reservengo.dto.reservationDTO.DisplayReservationDTO;
+import mk.ukim.finki.it.reservengo.dto.reservationDTO.EditReservationDTO;
+import mk.ukim.finki.it.reservengo.dto.reservationDTO.EditReservationInfoDTO;
 import mk.ukim.finki.it.reservengo.model.domain.User;
 import mk.ukim.finki.it.reservengo.service.intf.CustomerService;
@@ -17,5 +21,5 @@
 @RequestMapping("/api/customer")
 @PreAuthorize("hasRole('CUSTOMER')")
-public class    CustomerController {
+public class CustomerController {
 
     private final CustomerService customerService;
@@ -78,3 +82,45 @@
         return new ResponseEntity<>(ratingDTO, HttpStatus.OK);
     }
+
+    @GetMapping("/reservations")
+    public ResponseEntity<List<DisplayReservationDTO>> listCustomerReservations(@AuthenticationPrincipal User user) {
+        List<DisplayReservationDTO> allReservation = customerService.listAllReservations(user.getId());
+        return new ResponseEntity<>(allReservation, HttpStatus.OK);
+    }
+
+    @GetMapping("/reservations/{reservationId}")
+    public ResponseEntity<DisplayReservationDTO> getReservationDetails(@AuthenticationPrincipal User user, @PathVariable Long reservationId) {
+        DisplayReservationDTO reservationDTO = customerService.getReservationPreview(user.getId(), reservationId);
+        return new ResponseEntity<>(reservationDTO, HttpStatus.OK);
+    }
+
+    @PutMapping("/reservations/{reservationId}/cancel")
+    public ResponseEntity<Void> cancelReservation(@AuthenticationPrincipal User user, @PathVariable Long reservationId) {
+        customerService.cancelReservation(user.getId(), reservationId);
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @GetMapping("/reservations/{reservationId}/edit-info")
+    public ResponseEntity<EditReservationInfoDTO> editReservationInfo(@AuthenticationPrincipal User user, @PathVariable Long reservationId) {
+        EditReservationInfoDTO editReservationInfoDTO = customerService.getEditReservationInfo(user.getId(), reservationId);
+        return new ResponseEntity<>(editReservationInfoDTO, HttpStatus.OK);
+    }
+
+    @PutMapping("/reservations/{reservationId}/edit")
+    public ResponseEntity<DisplayReservationDTO> editReservation(@AuthenticationPrincipal User user, @PathVariable Long reservationId, @RequestBody EditReservationDTO editReservationDTO) {
+        DisplayReservationDTO editedReservationDTO = customerService.editReservation(user.getId(), reservationId, editReservationDTO);
+        return new ResponseEntity<>(editedReservationDTO, HttpStatus.OK);
+    }
+
+    @PostMapping("/make-reservation")
+    public ResponseEntity<DisplayReservationDTO> makeReservation(@AuthenticationPrincipal User user, @RequestBody CreateReservationDTO createReservationDTO) {
+        DisplayReservationDTO newReservation = customerService.makeReservation(user.getId(), createReservationDTO);
+        return new ResponseEntity<>(newReservation, HttpStatus.OK);
+    }
+
+    @DeleteMapping("/reservations/{reservationId}/delete")
+    public ResponseEntity<Void> deleteReservation(@PathVariable Long reservationId, @AuthenticationPrincipal User user) {
+        customerService.deleteReservation(user.getId(), reservationId);
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
 }
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/LocalWorkerController.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/LocalWorkerController.java	(revision cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/LocalWorkerController.java	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.it.reservengo.web.controller;
 
+import jakarta.mail.MessagingException;
 import mk.ukim.finki.it.reservengo.dto.workerDTO.DisplayLocalReservationDTO;
 import mk.ukim.finki.it.reservengo.model.domain.User;
@@ -28,5 +29,5 @@
 
     @PutMapping("/reservations/{reservationId}/accept")
-    public ResponseEntity<Void> acceptReservation(@PathVariable Long reservationId, @AuthenticationPrincipal User user) {
+    public ResponseEntity<Void> acceptReservation(@PathVariable Long reservationId, @AuthenticationPrincipal User user) throws MessagingException {
         localWorkerService.acceptReservation(user.getId(), reservationId);
         return new ResponseEntity<>(HttpStatus.OK);
@@ -34,5 +35,5 @@
 
     @PutMapping("/reservations/{reservationId}/deny")
-    public ResponseEntity<Void> denyReservation(@PathVariable Long reservationId, @AuthenticationPrincipal User user) {
+    public ResponseEntity<Void> denyReservation(@PathVariable Long reservationId, @AuthenticationPrincipal User user) throws MessagingException {
         localWorkerService.denyReservation(user.getId(), reservationId);
         return new ResponseEntity<>(HttpStatus.OK);
@@ -47,4 +48,9 @@
     }
 
+    @DeleteMapping("/reservations/{reservationId}/delete")
+    public ResponseEntity<Void> deleteReservation(@PathVariable Long reservationId, @AuthenticationPrincipal User user) {
+        localWorkerService.deleteReservation(user.getId(), reservationId);
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
 }
 
Index: serveNGo-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 cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ 	(revision )
@@ -1,61 +1,0 @@
-package mk.ukim.finki.it.reservengo.web.controller;
-
-import mk.ukim.finki.it.reservengo.dto.reservationDTO.CreateReservationDTO;
-import mk.ukim.finki.it.reservengo.dto.reservationDTO.DisplayReservationDTO;
-import mk.ukim.finki.it.reservengo.dto.reservationDTO.EditReservationDTO;
-import mk.ukim.finki.it.reservengo.dto.reservationDTO.EditReservationInfoDTO;
-import mk.ukim.finki.it.reservengo.model.domain.User;
-import mk.ukim.finki.it.reservengo.service.intf.CustomerService;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.core.annotation.AuthenticationPrincipal;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-@RestController
-@RequestMapping("/api/reservations")
-public class ReservationController {
-
-    private final CustomerService customerService;
-
-    public ReservationController(CustomerService customerService) {
-        this.customerService = customerService;
-    }
-
-    @GetMapping
-    public ResponseEntity<List<DisplayReservationDTO>> listCustomerReservations(@AuthenticationPrincipal User user) {
-        List<DisplayReservationDTO> allReservation = customerService.listAllReservations(user.getId());
-        return new ResponseEntity<>(allReservation, HttpStatus.OK);
-    }
-
-    @GetMapping("/{reservationId}")
-    public ResponseEntity<DisplayReservationDTO> getReservationDetails(@AuthenticationPrincipal User user, @PathVariable Long reservationId) {
-        DisplayReservationDTO reservationDTO = customerService.getReservationPreview(user.getId(), reservationId);
-        return new ResponseEntity<>(reservationDTO, HttpStatus.OK);
-    }
-
-    @PutMapping("/{reservationId}/cancel")
-    public ResponseEntity<Void> cancelReservation(@AuthenticationPrincipal User user, @PathVariable Long reservationId) {
-        customerService.cancelReservation(user.getId(), reservationId);
-        return new ResponseEntity<>(HttpStatus.OK);
-    }
-
-    @GetMapping("/{reservationId}/edit-info")
-    public ResponseEntity<EditReservationInfoDTO> editReservationInfo(@AuthenticationPrincipal User user, @PathVariable Long reservationId) {
-        EditReservationInfoDTO editReservationInfoDTO = customerService.getEditReservationInfo(user.getId(), reservationId);
-        return new ResponseEntity<>(editReservationInfoDTO, HttpStatus.OK);
-    }
-
-    @PutMapping("/{reservationId}/edit")
-    public ResponseEntity<DisplayReservationDTO> editReservation(@AuthenticationPrincipal User user, @PathVariable Long reservationId, @RequestBody EditReservationDTO editReservationDTO) {
-        DisplayReservationDTO editedReservationDTO = customerService.editReservation(user.getId(), reservationId, editReservationDTO);
-        return new ResponseEntity<>(editedReservationDTO, HttpStatus.OK);
-    }
-
-    @PostMapping("/make-reservation")
-    public ResponseEntity<DisplayReservationDTO> makeReservation(@AuthenticationPrincipal User user, @RequestBody CreateReservationDTO createReservationDTO) {
-        DisplayReservationDTO newReservation = customerService.makeReservation(user.getId(), createReservationDTO);
-        return new ResponseEntity<>(newReservation, HttpStatus.OK);
-    }
-}
Index: ReserveNGo-backend/src/main/resources/application-dev.properties
===================================================================
--- ReserveNGo-backend/src/main/resources/application-dev.properties	(revision cc58bdde245d3f36096a73705adf20bc5fc0c6b4)
+++ ReserveNGo-backend/src/main/resources/application-dev.properties	(revision 11df4ccf3d079caf0b11c25fab553fa2fda96b05)
@@ -20,5 +20,9 @@
 spring.security.oauth2.client.registration.google.client-secret=${CLIENT_SECRET}
 
-twilio.accountSid=${TWILIO_SID}
-twilio.authToken=${TWILIO_TOKEN}
-twilio.phoneNumber=${TWILIO_PHONE_NUMBER}
+twilio.sid=${TWILIO_SID}
+twilio.token=${TWILIO_TOKEN}
+twilio.number=${TWILIO_NUMBER}
+
+infobip.key=${INFOBIP_API_KEY}
+infobip.base=${INFOBIP_BASE_URL}
+infobip.sender=${INFOBIP_SENDER}
