export interface IReservationData { SearchResponse: IHotelSearchResponse; $id: string; SearchProductKey: string; DetailProductKey: string; Agreements: IAgreement[]; DetailResponse: IDetailResponse; ProjectCode?: string; ReservationNote?: string; } export interface IAgreement { $id: string; AgreementType: number; Text: null; AgreementApprovalType: number; AgreementStatus: number; DownloadDate: null; NotificationId: null; ProductType: number; } export interface IHotelSearchResponse { $id: string; RequestKey: null; HasMorePage: boolean; TotalCount: number; Hotels: IHotels; FreeChildAges: null; Rooms: null; RoomDetails: null; Passengers: null; AlternativeRoomGroups: any[]; DiscountPeriodItems: null; AllHotelIds: null; Items: IItem[]; TraceId: null; Diagnostics: null; Messages: null; SearchId: string; } export interface IHotels { $id: string; } export interface IItem { $id: string; HotelKey: string; Hotel: null; RoomDetails: null; RoomKeys: null; Rooms: any[]; AverageRate: string; NightlyRateTotal: string; DiscountDescription: null; UseCancelWarranty: boolean; Location: string; CityId: string; CheckInDate: string; CheckOutDate: string; IsSingleMaleRestriction: boolean; RoomSaleStatus: number; OrderScore: null; RoomSaleStatusText: null; QuotaStatus: number; QuotaStatusText: null; IsDeadline: boolean; FreeChildAgeKey: null; FreeChildAges: null; FreeChildAgeKeys: null; MinNight: number; IsAlternative: boolean; Messages: null; AdditionalAddons: null; MasterHotelId: null; HotelId: null; Images: IImage[]; IsAdvantagePrice: boolean; IsAdvantageDiscount: boolean; PriceCategory: null; PriceStartDate: null; PriceEndDate: null; DiscountCategory: null; DiscountStartDate: null; DiscountEndDate: null; Type: number; Key: string; TotalPrice: string; EquivalentTotalPrice: string; BasePrice: string; Taxes: string; TaxInfos: null; Discount: string; DiscountRate: number; DiscountInformations: null; CampaignInformations: null; Fee: IFee; ProviderFees: null; PassengerPrices: null; Recommended: boolean; IExchangeRates: null; Commission: ICommission; OnRequest: boolean; Reservable: boolean; PricingDate: null; BankCampaingId: null; PosKey: null; } export interface ICommission { $id: string; Code: null; Price: string; CommissionType: number; CommissionValue: number; } export interface IFee { $id: string; Code: null; Price: string; } export interface IDetailResponse { Name: string; Information: string; Images: null; Seasons: null; HygienicalMeasures: null; RoomGroupResult: IRoomGroupResult[]; RoomCollectionResult: IRoomCollectionResult[]; HotelAddons: null; GeneralInformation: null; HotelThemes: null; NearDistances: null; FoodDrinks: null; } export interface IRoomCollectionResult { RoomId: number; Title: string; ViewType: null; Description: string; ShowcaseImage: null; Images: IImage[]; Attributes: IAttribute[]; Facilities: IAttribute[]; HotelAvailabilityItems: null; Rooms: IRoom[]; } export interface IAttribute { Key: string; Icon: null | string; Description: string; Tooltip: null | string; Order: number; } export interface IImage { CategoryType: string; Url: string; ThumbnailUrl: string; HighResolutionUrl: null; } export interface IRoom { RoomIndex: number; Key: string; LowestPrice: boolean; LowestPriceDescription: null | string; BasePrice: string; TotalPrice: string; Discount: string; DiscountRate: number; DiscountRateDescription: null; NightlyRateDescription: string; OnDemand: boolean; OnDemandDescription: string; RoomHeadings: string[]; PassengerKeys: string[]; Addons: null; RestrictionList: any[]; NightlyRateResults: INightlyRateResult[]; DiscountInformations: any[]; CampaignInformations: IAttribute[]; MealType: IAttribute; FreeChildStatus: null; CancellationPolicy: ICancellationPolicy; } export interface ICancellationPolicy { Key: null; Icon: null; Description: string; Tooltip: string; Refundable: boolean; CartDescription: null; } export interface INightlyRateResult { Date: Date; BasePrice: string; TotalPrice: string; Discount: string; } export interface IRoomGroupResult { RoomKeys: string[]; Type: number; Key: string; UseCancelWarranty: boolean; BasePrice: string; TotalPrice: string; Discount: string; TaxPrice: string; CheckInDate: Date; CheckOutDate: Date; MasterHotelId: number; CampaignInformations: IAttribute[]; OptionalAddOns: any[]; ExchangeRates: IExchangeRates; LoyaltyItem: null; } export interface IExchangeRates { TRY: ITry; } export interface ITry { Currency: number; RateCode: string; Value: number; }