import { DateOrString, IFile, IRoomTypeService, ITimestamps } from '.'; import { IRoom } from './room'; import { IRoomTypeRatePlan } from './roomTypeRatePlan'; export declare enum ROOM_TYPE_AMENITY_CATEGORY { ROOM_FACILITIES = "ROOM_FACILITIES", BATHROOM_FACILITIES = "BATHROOM_FACILITIES", VIEW = "VIEW", OTHER = "OTHER" } export type IRoomTypeAmenity = { category: ROOM_TYPE_AMENITY_CATEGORY; key: string; isSelected?: boolean; }; export declare enum ROOM_TYPE_BED_TYPE { SINGLE_BED = "SINGLE_BED", DOUBLE_BED = "DOUBLE_BED", LARGE_BED = "LARGE_BED", EXTRA_LARGE_BED = "EXTRA_LARGE_BED", BUNK_BED = "BUNK_BED", SOFA_BED = "SOFA_BED", FUTON_MAT = "FUTON_MAT", KINDER_BED = "KINDER_BED" } export declare const ALL_ROOM_TYPE_BED_TYPE: ROOM_TYPE_BED_TYPE[]; export declare enum ROOM_TYPE_BREAKFAST_INFORMATION_TYPE { NOT_AVAILABLE = "NOT_AVAILABLE", OPTIONAL_WITH_EXTRA_COST = "OPTIONAL_WITH_EXTRA_COST", INCLUDED_IN_ROOM_PRICE = "INCLUDED_IN_ROOM_PRICE" } export declare const ALL_ROOM_TYPE_BREAKFAST_INFORMATION_TYPE: ROOM_TYPE_BREAKFAST_INFORMATION_TYPE[]; export type IRoomTypeBeds = { type?: ROOM_TYPE_BED_TYPE; amount?: number; }[]; export interface IRoomTypeBreakfastInformation { type: ROOM_TYPE_BREAKFAST_INFORMATION_TYPE; adultCost?: number; childrenCost?: number; } export interface IRoomType extends ITimestamps { id?: string; companyId?: string; name?: string; isVisibleOnBookingWebsite?: boolean; order?: number; price?: number; maxNumberOfGuests?: number; maxBookingWindowDays?: number; countOfRooms?: number; hasPrivateBathroom?: boolean; description?: string; beds?: IRoomTypeBeds; breakfastInformation?: IRoomTypeBreakfastInformation; images?: IFile[]; amenities?: IRoomTypeAmenity[]; integrations?: IRoomTypeIntegrations; rTRatePlans?: IRoomTypeRatePlan[]; rooms?: IRoom[]; minimumStay?: number; rtServices?: IRoomTypeService[]; childrenRates?: IChildrenRates[]; childrenTourismTaxRates?: IChildrenTourismTaxRates[]; } export interface IRoomTypeIntegrations { channelManagerType?: 'BNOVO' | 'CHANNEX'; bnovo?: { id?: string; }; channex?: { id?: string; isEnabled?: boolean; propertyId?: string; }; } export interface IChildrenRates { value?: number; minChildAge?: number; maxChildAge?: number; } export interface IChildrenTourismTaxRates { value?: number; minChildAge?: number; maxChildAge?: number; startDate?: DateOrString; endDate?: DateOrString; }