From 576ad85c08697d3854fdff8be7240ca254653f1f Mon Sep 17 00:00:00 2001 From: Maurice Date: Thu, 9 Apr 2026 18:11:07 +0200 Subject: [PATCH] fix: clear stale accommodation_id on reservation update (#522) When a place/accommodation is deleted, existing reservations still reference the now-gone accommodation_id. Validate that the linked accommodation exists before updating; clear to null if it doesn't. --- server/src/services/reservationService.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server/src/services/reservationService.ts b/server/src/services/reservationService.ts index 00b42318..22791f17 100644 --- a/server/src/services/reservationService.ts +++ b/server/src/services/reservationService.ts @@ -200,6 +200,10 @@ export function updateReservation(id: string | number, tripId: string | number, // Update or create accommodation for hotel reservations let resolvedAccId: number | null = accommodation_id !== undefined ? (accommodation_id || null) : (current.accommodation_id ?? null); + if (resolvedAccId) { + const accExists = db.prepare('SELECT id FROM day_accommodations WHERE id = ?').get(resolvedAccId); + if (!accExists) resolvedAccId = null; + } if (type === 'hotel' && create_accommodation) { const { place_id: accPlaceId, start_day_id, end_day_id, check_in, check_out, confirmation: accConf } = create_accommodation; if (accPlaceId && start_day_id && end_day_id) {