diff --git a/backend/src/routes/bookings.ts b/backend/src/routes/bookings.ts index 137babc..55d6c0c 100644 --- a/backend/src/routes/bookings.ts +++ b/backend/src/routes/bookings.ts @@ -144,7 +144,7 @@ const bookings: FastifyPluginAsync = async (fastify) => { const hotelId = await getHotelId(slug) if (!hotelId) return reply.code(404).send({ error: 'Hotel not found' }) - const allowed = ['guest_name','guest_email','guest_phone','check_in','check_out', + const allowed = ['room_id','guest_name','guest_email','guest_phone','check_in','check_out', 'adults','children','status','source','total_amount','paid_amount','notes'] const updates: string[] = [] const values: unknown[] = [] diff --git a/src/components/bookings/BookingModal.tsx b/src/components/bookings/BookingModal.tsx index b6fef56..e6b9fa8 100644 --- a/src/components/bookings/BookingModal.tsx +++ b/src/components/bookings/BookingModal.tsx @@ -1,5 +1,5 @@ import { useState } from 'react' -import { format } from 'date-fns' +import { format, addDays } from 'date-fns' import { Star, Banknote, CreditCard, AlertCircle, Map, Plus, Trash2, Tag, Minus, BedDouble, Tv2, Send, Loader2, CheckCircle2 } from 'lucide-react' import { MOCK_DISCOUNTS } from '../../pages/DiscountsPage' import type { Discount } from '../../pages/DiscountsPage' @@ -298,7 +298,13 @@ export function BookingModal({ open, draft, rooms, bookings = [], onClose, onSav set('checkIn', e.target.value)} + onChange={e => { + const newCheckIn = e.target.value + set('checkIn', newCheckIn) + if (newCheckIn && (!form.checkOut || form.checkOut <= newCheckIn)) { + set('checkOut', format(addDays(new Date(newCheckIn), 1), 'yyyy-MM-dd')) + } + }} />