Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/reservationDTO/DisplayReservationDTO.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/reservationDTO/DisplayReservationDTO.java	(revision ed043e0f86713d29c93095350f5ac468faf986ec)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/dto/reservationDTO/DisplayReservationDTO.java	(revision 2f425fb5024734c5766475b8a149177eff352618)
@@ -8,4 +8,5 @@
 
 public record DisplayReservationDTO(
+        Long id,
         String localName,
         String localLogo,
@@ -18,4 +19,5 @@
     public static DisplayReservationDTO from(Reservation reservation) {
         return new DisplayReservationDTO(
+                reservation.getId(),
                 reservation.getLocal().getName(),
                 reservation.getLocal().getLogoUrl(),
Index: ReserveNGo-frontend/src/components/Project/Customer/EditReservationModal.vue
===================================================================
--- ReserveNGo-frontend/src/components/Project/Customer/EditReservationModal.vue	(revision ed043e0f86713d29c93095350f5ac468faf986ec)
+++ ReserveNGo-frontend/src/components/Project/Customer/EditReservationModal.vue	(revision 2f425fb5024734c5766475b8a149177eff352618)
@@ -6,6 +6,9 @@
 import { useToasts } from '@/composables/useToast.js'
 
+/** @typedef {import('@/repository/Reservations.ts').DisplayReservationDTO} DisplayReservationDTO */
+
 const props = defineProps({
   showModal: Boolean,
+  /** @type {DisplayReservationDTO|null} */
   reservation: {
     type: Object,
@@ -18,10 +21,7 @@
 const { showToast } = useToasts()
 
-const reservationId = computed(() => props.reservation?.id ?? props.reservation?.reservationId)
-const timeOfReservation = ref('')
-const status = ref('')
-const localId = ref(null)
 const availableTables = ref([])
 const selectedTableId = ref(null)
+const timeOfReservation = ref('')
 const loading = ref(false)
 const loadingTables = ref(false)
@@ -34,46 +34,21 @@
 
 const canSubmit = computed(() => {
-  return !!reservationId.value && !!timeOfReservation.value && selectedTableId.value !== null && !!status.value
+  return !!props.reservation.id && !!timeOfReservation.value && selectedTableId.value !== null
 })
 
-async function loadEditInfo() {
-  if (!reservationId.value) return
-  try {
-    loading.value = true
-    // Attempt to get richer info for editing
-    const info = await useReservations.getEditReservationInfo(reservationId.value)
-    // Expecting structure with localId, tableId, timeOfReservation, status (fallbacks below)
-    localId.value = info?.localId ?? props.reservation?.localId ?? null
-    status.value = info?.status ?? props.reservation?.status ?? 'PENDING'
-    const iso = (info?.timeOfReservation ?? props.reservation?.timeOfReservation ?? '')
-    // Convert possible ISO "YYYY-MM-DDTHH:mm:ss" to input-compatible "YYYY-MM-DDTHH:mm"
-    const dt = iso ? iso.substring(0, 16) : ''
-    timeOfReservation.value = dt
-    selectedTableId.value = info?.tableId ?? props.reservation?.tableId ?? null
-
-    if (localId.value && timeOfReservation.value) {
-      await loadTables()
-    }
-  } catch (err) {
-    console.error(err)
-    // Fallback populate from props if possible
-    localId.value = props.reservation?.localId ?? null
-    status.value = props.reservation?.status ?? 'PENDING'
-    const iso = props.reservation?.timeOfReservation ?? ''
-    timeOfReservation.value = iso ? iso.substring(0, 16) : ''
-    selectedTableId.value = props.reservation?.tableId ?? null
-  } finally {
-    loading.value = false
-  }
-}
-
 async function loadTables() {
-  if (!localId.value || !timeOfReservation.value) return
+  console.log("WHAT IS RESERVATION HERE", props.reservation)
+  if (!timeOfReservation.value) return
   try {
     loadingTables.value = true
-    const tables = await useTables.getAvailableTables(localId.value, normalizeDateTime(timeOfReservation.value))
+    const tables = await useTables.getAvailableTables(
+      props.reservation.id,
+      normalizeDateTime(timeOfReservation.value),
+    )
     availableTables.value = Array.isArray(tables) ? tables : []
-    // If current table still available, keep it selected; else reset
-    if (selectedTableId.value && !availableTables.value.some(t => String(t.id) === String(selectedTableId.value))) {
+    if (
+      selectedTableId.value &&
+      !availableTables.value.some((t) => String(t.id) === String(selectedTableId.value))
+    ) {
       selectedTableId.value = null
     }
@@ -87,9 +62,6 @@
 
 watch(timeOfReservation, async (newVal) => {
-  if (!newVal || !localId.value) return
-  await loadTables()
+  if (newVal) await loadTables()
 })
-
-onMounted(loadEditInfo)
 
 async function submitEdit() {
@@ -100,7 +72,6 @@
       timeOfReservation: normalizeDateTime(timeOfReservation.value),
       tableId: String(selectedTableId.value),
-      status: String(status.value).toUpperCase(),
     }
-    const res = await useReservations.editReservation(reservationId.value, payload)
+    const res = await useReservations.editReservation(props.reservation.id, payload)
     showToast('Reservation updated successfully.', 'success')
     emit('edited', res)
@@ -118,5 +89,5 @@
 <template>
   <BaseModal :show="props.showModal" @close="emit('closeModal')">
-    <h2 style="margin-bottom: 1rem;">Edit reservation</h2>
+    <h2 style="margin-bottom: 1rem">Edit reservation</h2>
 
     <div v-if="loading">Loading...</div>
@@ -125,13 +96,4 @@
         <span>Date and time</span>
         <input type="datetime-local" v-model="timeOfReservation" />
-      </label>
-
-      <label class="form-row">
-        <span>Status</span>
-        <select v-model="status">
-          <option value="PENDING">PENDING</option>
-          <option value="CONFIRMED">CONFIRMED</option>
-          <option value="CANCELLED">CANCELLED</option>
-        </select>
       </label>
 
@@ -146,5 +108,8 @@
             </option>
           </select>
-          <div v-if="!loadingTables && availableTables.length === 0 && timeOfReservation" class="hint">
+          <div
+            v-if="!loadingTables && availableTables.length === 0 && timeOfReservation"
+            class="hint"
+          >
             No tables for the chosen time.
           </div>
@@ -160,15 +125,52 @@
     </div>
   </BaseModal>
-
 </template>
 
 <style scoped>
-.form-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
-.form-row { display: flex; flex-direction: column; gap: 0.35rem; }
-.actions { display: flex; justify-content: flex-end; gap: 0.75rem; margin-top: 1rem; }
-.btn-primary { background: #2b6cb0; color: #fff; border: none; padding: 0.5rem 1rem; border-radius: 6px; cursor: pointer; }
-.btn-primary:disabled { opacity: .6; cursor: not-allowed; }
-.btn-outline { background: transparent; color: #333; border: 1px solid #ccc; padding: 0.5rem 1rem; border-radius: 6px; cursor: pointer; }
-.hint { color: #b45309; font-size: 0.9rem; }
-select, input[type='datetime-local'] { padding: .45rem .5rem; border: 1px solid #cbd5e1; border-radius: 6px; }
+.form-grid {
+  display: grid;
+  grid-template-columns: 1fr;
+  gap: 1rem;
+}
+.form-row {
+  display: flex;
+  flex-direction: column;
+  gap: 0.35rem;
+}
+.actions {
+  display: flex;
+  justify-content: flex-end;
+  gap: 0.75rem;
+  margin-top: 1rem;
+}
+.btn-primary {
+  background: #2b6cb0;
+  color: #fff;
+  border: none;
+  padding: 0.5rem 1rem;
+  border-radius: 6px;
+  cursor: pointer;
+}
+.btn-primary:disabled {
+  opacity: 0.6;
+  cursor: not-allowed;
+}
+.btn-outline {
+  background: transparent;
+  color: #333;
+  border: 1px solid #ccc;
+  padding: 0.5rem 1rem;
+  border-radius: 6px;
+  cursor: pointer;
+}
+.hint {
+  color: #b45309;
+  font-size: 0.9rem;
+}
+select,
+input[type='datetime-local'] {
+  padding: 0.45rem 0.5rem;
+  border: 1px solid #cbd5e1;
+  border-radius: 6px;
+}
 </style>
Index: ReserveNGo-frontend/src/components/Project/Reservation/My_reservations.vue
===================================================================
--- ReserveNGo-frontend/src/components/Project/Reservation/My_reservations.vue	(revision ed043e0f86713d29c93095350f5ac468faf986ec)
+++ ReserveNGo-frontend/src/components/Project/Reservation/My_reservations.vue	(revision 2f425fb5024734c5766475b8a149177eff352618)
@@ -3,4 +3,5 @@
 import EditReservationModal from '@/components/Project/Customer/EditReservationModal.vue'
 import { useReservations } from '@/repository/Reservations.ts'
+import { useToasts } from '@/composables/useToast.js'
 
 export default {
@@ -39,13 +40,16 @@
       if (!confirm('Are you sure you want to cancel this reservation?')) return
       try {
+        const { showToast } = useToasts()
         this.cancellingId = res.id ?? null
         await useReservations.cancelReservation(res.id)
-        // Update local state: set status to CANCELLED
         this.reservations = this.reservations.map((r) =>
           r.id === res.id ? { ...r, status: 'CANCELLED' } : r,
         )
+        showToast('Reservation cancelled successfully.', 'success')
       } catch (err) {
         console.error(err)
-        alert('Failed to cancel reservation. Please try again later.')
+        const { showToast } = useToasts()
+        const message = err?.response?.message || 'Failed to cancel reservation. Please try again later.'
+        showToast(message, 'error')
       } finally {
         this.cancellingId = null
@@ -57,10 +61,8 @@
     },
     onEditedReservation(updated) {
-      // replace in list by id if present
       const id = updated?.id
       if (id != null) {
         this.reservations = this.reservations.map(r => (r.id === id ? { ...r, ...updated } : r))
       } else if (this.targetReservation) {
-        // fallback shallow merge
         this.reservations = this.reservations.map(r => (r === this.targetReservation ? { ...r, ...updated } : r))
       }
Index: ReserveNGo-frontend/src/repository/Reservations.ts
===================================================================
--- ReserveNGo-frontend/src/repository/Reservations.ts	(revision ed043e0f86713d29c93095350f5ac468faf986ec)
+++ ReserveNGo-frontend/src/repository/Reservations.ts	(revision 2f425fb5024734c5766475b8a149177eff352618)
@@ -33,5 +33,4 @@
   timeOfReservation: string // ISO string
   tableId: number | string
-  status: ReservationStatus
 }
 
@@ -45,5 +44,5 @@
   // POST /api/reservations/make-reservation
   makeReservation(dto: CreateReservationDTO): Promise<any> {
-    return this.httpClient.post('make-reservation', dto)
+    return this.httpClient.post('create', dto)
   }
 
@@ -77,3 +76,3 @@
 }
 
-export const useReservations = new ReservationsRepository(BASE_API_URL + '/api/reservations')
+export const useReservations = new ReservationsRepository(BASE_API_URL + '/api/customer/reservations')
