import { RoomCalendarPrices } from "../price-modifire";
import { RoomDailyPriceType } from "./bookings";
import { Facility } from "./home-sections";
import { ImageType } from "./image";
import { MealPackageType } from "./meal-package";




export interface Addon {
    id: number
    title: string;
    description?: string;
    tag?: string;
    is_icon: boolean;
    icon_value: string;
    price: number;
    calculation_type: string;
    unit: number
}

// Room types
export interface RoomType {
    id: number;
    room_category_id: number;
    room_number: string;
    floor?: number;
    price_override?: number;
    view?: string;
    description?: string;
    details: string | null;
    policies: string | null;
    images: ImageType[];
    facilities: Facility[];
    meal_packages: MealPackageType[];
    add_ons: Addon[];
    isAvailable: boolean;
    calendar_prices: RoomCalendarPrices;
    room_daily_prices: RoomDailyPriceType[]
}

// RoomCategory types
export interface RoomCategoryType {
    id: number;
    short_name?: string;
    name: string;
    slug: string;
    details: string | null;
    policies: string | null;
    description: string;
    base_price: number;
    max_adults: number;
    max_children: number;
    default_bed_count?: number;
    default_bathroom_count?: number;
    default_size: number;
    rooms_count: number;
    facilities: Facility[];
    meal_packages: MealPackageType[];
    add_ons: Addon[];
    rooms: RoomType[];
}

export interface RoomCapacitiesType {
    id: number,
    max_adults: number
    max_children: number
}