import { DateOrString, ITimestamps } from '.'; import { IBooking } from './booking'; import { IRoom } from './room'; import { IRoomBookingBookingService } from './roomBookingServices'; export interface IRoomBookingIntegrations { bnovo?: { id?: string; }; channex?: { id?: string; channexBookingId?: string; }; } /** * Breakfast for one morning of a stay (the morning after a night), overriding the room booking's guest count. * 0 adults and 0 children means no breakfast that morning. */ export interface IRoomBookingBreakfastMorning { date: string; numberOfAdults: number; numberOfChildren: number; } export interface IRoomBooking extends ITimestamps { id?: string; companyId?: string; bookingId?: string; roomId?: string; checkinDate?: DateOrString; checkoutDate?: DateOrString; breakfastIncluded?: boolean; numberOfAdults?: number; numberOfChildren?: number; guestName?: string; pricePerNight?: number; originalPricePerNight?: number; room?: IRoom; booking?: IBooking; integrations?: IRoomBookingIntegrations; childrenAges?: Array<{ age: number | null | undefined; }>; roomBookings_bookingServices?: Array; disableDiscounts?: boolean; breakfastMornings?: IRoomBookingBreakfastMorning[] | null; }