import { CHANNEL_TYPE, DISCOUNT_TYPE, IRoomType, ITimestamps } from '.'; export declare enum DYNAMIC_PRICING_TYPE { INCREASE = "INCREASE", DECREASE = "DECREASE" } export interface IRoomTypeRatePlanPricingInformation { [date: string]: number; } export type IRoomTypeRatePlanPricingRules = { active?: boolean; numberOfGuests?: number; value?: number; type?: DISCOUNT_TYPE; }[]; export interface IRoomTypeRatePlan extends ITimestamps { id?: string; name?: string; roomTypeId?: string; ratePlanId?: string; companyId?: string; pricing?: IRoomTypeRatePlanPricingInformation; dynamicPricing?: IDynamicPricing; pricingRules?: IRoomTypeRatePlanPricingRules; type?: CHANNEL_TYPE; channelId?: string; integrations?: any; isPrimary?: boolean; cancellationPolicyDescription?: string; restrictions?: { [date: string]: { blocked?: boolean; minimumStay?: number; closedArrival?: boolean; closedDeparture?: boolean; }; }; roomType?: IRoomType; } export interface IDynamicPricing { isActive: boolean; startDate: string; endDate: string; type: DYNAMIC_PRICING_TYPE; amount: number; basePrice?: IDynamicPricingBasePriceInformation; maxIncrease?: number; lastUpdateMap?: Record; } export interface IDynamicPricingBasePriceInformation { [date: string]: number; }