openapi: 3.0.4 info: title: DistributorApi version: v1 servers: - url: https://api.mews.com paths: /api/distributor/v1/hotels/getAvailability: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/AvailabilityParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Availability' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/AvailabilityParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Availability' /api/distributor/v1/services/getAvailability: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ServiceAvailabilityParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServiceAvailabilityResult' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ServiceAvailabilityParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServiceAvailabilityResult' /api/distributor/v1/reservations/getPricing: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ReservationPricingParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReservationPricing' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ReservationPricingParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReservationPricing' /api/distributor/v1/availabilityBlocks/getAll: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/AvailabilityBlockFilterParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AvailabilityBlockResult' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/AvailabilityBlockFilterParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AvailabilityBlockResult' /api/distributor/v1/configuration/get: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfigurationParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ConfigurationResult' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfigurationParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ConfigurationResult' /api/distributor/v1/hotels/get: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/HotelParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SingleHotelResult' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/HotelParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SingleHotelResult' /api/distributor/v1/languages/getAll: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/BookingEngineParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LanguageResult' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/BookingEngineParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LanguageResult' /api/distributor/v1/currencies/getAll: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/BookingEngineParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CurrencyResult' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/BookingEngineParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CurrencyResult' /api/distributor/v1/countries/getAll: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/BookingEngineParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CountryResult' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/BookingEngineParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CountryResult' /api/distributor/v1/vouchers/validate: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/VoucherParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VoucherValidity' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/VoucherParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VoucherValidity' /api/distributor/v1/hotels/getPaymentConfiguration: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/HotelParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PaymentConfiguration' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/HotelParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PaymentConfiguration' /api/distributor/v1/exchangeRates/getAll: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ExchangeRateParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ExchangeRateResult' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ExchangeRateParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ExchangeRateResult' /api/distributor/v1/paymentCards/authorize: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/AuthorizePaymentCardParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AuthorizePaymentCardResult' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/AuthorizePaymentCardParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AuthorizePaymentCardResult' /api/distributor/v1/paymentCards/getAll: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentCardFilterParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PaymentCardResult' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentCardFilterParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PaymentCardResult' /api/distributor/v1/reservationGroups/create: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateReservationGroupParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReservationGroup' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateReservationGroupParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReservationGroup' /api/distributor/v1/reservationGroups/get: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ReservationGroupParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReservationGroup' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ReservationGroupParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReservationGroup' /api/distributor/v1/reservations/price: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ReservationPriceParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReservationPriceResult' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ReservationPriceParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReservationPriceResult' /api/distributor/v1/products/getPrices: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductPricingParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProductPricesResult' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductPricingParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProductPricesResult' /api/distributor/v1/services/getPricing: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ServicePricingParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServicePricingResult' options: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ServicePricingParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServicePricingResult' /api/distributor/v1/services/getPromotions: post: tags: - DistributorApi requestBody: content: application/json: schema: $ref: '#/components/schemas/ServicePromotionParameters' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PromotedServiceResult' components: schemas: AdditionalService: type: object additionalProperties: false Address: title: Address type: object properties: Line1: maxLength: 1023 type: string nullable: true Line2: maxLength: 255 type: string nullable: true City: maxLength: 255 type: string nullable: true PostalCode: maxLength: 255 type: string nullable: true CountryCode: maxLength: 8 type: string nullable: true Latitude: type: number format: double nullable: true Longitude: type: number format: double nullable: true additionalProperties: false x-schema-id: Address AgeCategory: title: AgeCategory required: - Classification - Id - IsDefault - Name - ServiceId - ShortName type: object properties: Id: type: string format: uuid ServiceId: type: string format: uuid Name: type: object additionalProperties: type: string ShortName: type: object additionalProperties: type: string MinimalAge: type: integer format: int32 nullable: true MaximalAge: type: integer format: int32 nullable: true Classification: $ref: '#/components/schemas/AgeCategoryClassification' IsDefault: type: boolean additionalProperties: false x-schema-id: AgeCategory AgeCategoryClassification: enum: - Adult - Child type: string AgeCategoryProductPrice: title: AgeCategoryProductPrice required: - AgeCategoryId - ProductId - TotalAmount - UnitAmount type: object properties: ProductId: type: string format: uuid AgeCategoryId: type: string format: uuid TotalAmount: { } UnitAmount: { } additionalProperties: false x-schema-id: AgeCategoryProductPrice Amount: title: Amount required: - Breakdown - Currency - GrossValue - NetValue - TaxValues type: object properties: Currency: maxLength: 3 minLength: 1 type: string format: currency GrossValue: type: number format: double NetValue: type: number format: double TaxValues: type: array items: $ref: '#/components/schemas/TaxValue' Breakdown: allOf: - $ref: '#/components/schemas/TaxBreakdown' additionalProperties: false x-schema-id: Amount AmountPart: enum: - NetValue - TaxValue - GrossValue type: string AuthorizePaymentCardParameters: title: AuthorizePaymentCardParameters required: - BrowserInfo - Client - EnterpriseId - FullAmounts - PaymentCardId type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true EnterpriseId: type: string format: uuid PaymentCardId: type: string format: uuid BrowserInfo: allOf: - $ref: '#/components/schemas/BrowserInfo' additionalProperties: false x-schema-id: AuthorizePaymentCardParameters AuthorizePaymentCardResult: title: AuthorizePaymentCardResult required: - Id - PaymentCardId - State type: object properties: Id: type: string format: uuid PaymentCardId: type: string format: uuid State: $ref: '#/components/schemas/PaymentCardAuthorizationState' Action: allOf: - $ref: '#/components/schemas/PaymentCardAuthorizationAction' nullable: true additionalProperties: false x-schema-id: AuthorizePaymentCardResult Availability: title: Availability required: - RateGroups - Rates - RoomCategoryAvailabilities type: object properties: RateGroups: type: array items: $ref: '#/components/schemas/RateGroup' Rates: type: array items: $ref: '#/components/schemas/Rate' RoomCategoryAvailabilities: type: array items: $ref: '#/components/schemas/ResourceCategoryAvailability' ViolatedRestrictions: type: array items: $ref: '#/components/schemas/Restriction' nullable: true additionalProperties: false x-schema-id: Availability AvailabilityBlock: title: AvailabilityBlock required: - EndUtc - Id - RateId - ServiceId - StartUtc type: object properties: Id: type: string format: uuid ServiceId: type: string format: uuid RateId: type: string format: uuid StartUtc: minLength: 1 type: string format: date-time EndUtc: minLength: 1 type: string format: date-time Name: type: string nullable: true additionalProperties: false x-schema-id: AvailabilityBlock AvailabilityBlockFilterParameters: title: AvailabilityBlockFilterParameters required: - AvailabilityBlockIds - Client - EnterpriseId - FullAmounts type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true EnterpriseId: type: string format: uuid AvailabilityBlockIds: maxItems: 1000 minItems: 1 type: array items: type: string format: uuid additionalProperties: false x-schema-id: AvailabilityBlockFilterParameters AvailabilityBlockResult: title: AvailabilityBlockResult required: - AvailabilityBlocks type: object properties: AvailabilityBlocks: type: array items: $ref: '#/components/schemas/AvailabilityBlock' additionalProperties: false x-schema-id: AvailabilityBlockResult AvailabilityParameters: title: AvailabilityParameters required: - Client - EndUtc - FullAmounts - HotelId - StartUtc type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true HotelId: type: string format: uuid ConfigurationId: type: string format: uuid nullable: true AvailabilityBlockId: type: string format: uuid nullable: true CurrencyCode: type: string nullable: true deprecated: true CurrencyCodes: type: array items: type: string nullable: true StartUtc: minLength: 1 type: string format: date-time EndUtc: minLength: 1 type: string format: date-time AdultCount: type: integer format: int32 nullable: true deprecated: true ChildCount: type: integer format: int32 nullable: true deprecated: true OccupancyData: type: array items: $ref: '#/components/schemas/OccupancyData' nullable: true VoucherCode: type: string nullable: true ProductIds: type: array items: type: string format: uuid nullable: true CategoryIds: type: array items: type: string format: uuid nullable: true RateIds: type: array items: type: string format: uuid nullable: true additionalProperties: false x-schema-id: AvailabilityParameters BookableService: title: BookableService required: - EndOffset - StartOffset - TimeUnit type: object properties: StartOffset: minLength: 1 type: string EndOffset: minLength: 1 type: string TimeUnit: $ref: '#/components/schemas/TimeUnitPeriod' additionalProperties: false x-schema-id: BookableService BookingEngine: title: BookingEngine required: - BookerReservationCustomerEmailInput - CheckoutStatement - CompetitorRateDescription - Enterprise - Id - PaymentCardRequirement - RequiredFields - ServiceId type: object properties: Id: type: string format: uuid ServiceId: type: string format: uuid AdultCount: type: integer format: int32 nullable: true deprecated: true ChildCount: type: integer format: int32 nullable: true deprecated: true MaxAdultCount: type: integer format: int32 nullable: true OccupancyData: type: array items: $ref: '#/components/schemas/OccupancyData' nullable: true DisplaySpecialRequests: type: boolean nullable: true DisplayRateComparison: type: boolean nullable: true ChildSelectionEnabled: type: boolean nullable: true DisplayAvailability: type: boolean nullable: true PaymentGatewayEnabled: type: boolean deprecated: true PaymentCardInput: type: string nullable: true deprecated: true PaymentCardRequirement: $ref: '#/components/schemas/BookingEnginePaymentCardRequirement' BookerReservationCustomerEmailInput: $ref: '#/components/schemas/BookingEngineBookerReservationCustomerEmailInput' RequiredFields: type: array items: $ref: '#/components/schemas/BookingEngineRequiredFields' OnlineTravelAgencies: type: array items: type: string nullable: true CheckoutStatement: type: object additionalProperties: type: string CompetitorRateDescription: type: object additionalProperties: type: string CompetitorPriceRelativeAdjustment: type: number format: double nullable: true Enterprise: allOf: - $ref: '#/components/schemas/Enterprise' additionalProperties: false x-schema-id: BookingEngine BookingEngineBookerReservationCustomerEmailInput: enum: - Required - Optional type: string BookingEngineParameters: title: BookingEngineParameters required: - Client - ConfigurationId - FullAmounts type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true ConfigurationId: type: string format: uuid additionalProperties: false x-schema-id: BookingEngineParameters BookingEnginePaymentCardRequirement: enum: - NotRequired - NotRequiredForFullyPaidBookings - AlwaysRequired - NotRequiredForFullyOrPartiallyPaidBookings type: string BookingEngineRequiredFields: enum: - Telephone type: string BookingEngineTheme: enum: - Light - Dark type: string BrowserInfo: title: BrowserInfo required: - AcceptHeader - ColorDepth - Language - ScreenHeight - ScreenWidth - TimeZoneOffset - UserAgent type: object properties: UserAgent: minLength: 1 type: string AcceptHeader: minLength: 1 type: string Language: minLength: 1 type: string ColorDepth: type: integer format: int32 ScreenWidth: type: integer format: int32 ScreenHeight: type: integer format: int32 TimeZoneOffset: type: integer format: int32 additionalProperties: false x-schema-id: BrowserInfo Category: title: Category required: - Description - ExtraBedCount - Id - Name - NormalBedCount - SpaceType type: object properties: Id: type: string format: uuid Name: type: object additionalProperties: type: string Description: type: object additionalProperties: type: string ImageIds: type: array items: type: string format: uuid nullable: true deprecated: true Ordering: type: integer format: int32 nullable: true NormalBedCount: type: integer format: int32 ExtraBedCount: type: integer format: int32 SpaceType: $ref: '#/components/schemas/ResourceCategoryType' additionalProperties: false x-schema-id: Category CategoryAvailability: title: CategoryAvailability required: - Availabilities - CategoryId type: object properties: CategoryId: type: string format: uuid Availabilities: type: array items: type: integer format: int32 additionalProperties: false x-schema-id: CategoryAvailability City: title: City required: - Id - Name type: object properties: Id: type: string format: uuid Name: type: object additionalProperties: type: string ImageId: type: string format: uuid nullable: true additionalProperties: false x-schema-id: City ConfigurationParameters: title: ConfigurationParameters required: - Client - FullAmounts type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true Ids: type: array items: type: string format: uuid nullable: true PrimaryId: type: string format: uuid nullable: true WebOptions: type: string nullable: true additionalProperties: false x-schema-id: ConfigurationParameters ConfigurationResult: title: ConfigurationResult required: - AgeCategories - Cities - Configurations - CurrencyCodes - ImageBaseUrl - NowUtc - Services type: object properties: NowUtc: minLength: 1 type: string format: date-time LanguageCode: type: string nullable: true CurrencyCode: maxLength: 3 type: string format: currency nullable: true IntroVideoUrl: type: string format: uri nullable: true Theme: anyOf: - $ref: '#/components/schemas/BookingEngineTheme' nullable: true PrimaryColor: type: string nullable: true VoucherCode: type: string nullable: true DisplayVoucherCode: type: boolean nullable: true GtmContainerId: type: string nullable: true StartDateOffset: type: integer format: int32 nullable: true EndDateOffset: type: integer format: int32 nullable: true CityId: type: string format: uuid nullable: true ImageBaseUrl: minLength: 1 type: string format: uri Configurations: type: array items: $ref: '#/components/schemas/BookingEngine' Cities: type: array items: $ref: '#/components/schemas/City' CurrencyCodes: type: array items: type: string format: currency AgeCategories: type: array items: $ref: '#/components/schemas/AgeCategory' Services: type: array items: $ref: '#/components/schemas/Service' additionalProperties: false x-schema-id: ConfigurationResult Coproduct: title: Coproduct required: - Discriminator - Value type: object properties: Discriminator: minLength: 1 type: string Value: { } additionalProperties: false x-schema-id: Coproduct Country: title: Country required: - Code - Name type: object properties: Code: maxLength: 2 minLength: 1 type: string SovereignCountryCode: type: string nullable: true Name: minLength: 1 type: string additionalProperties: false x-schema-id: Country CountryResult: title: CountryResult required: - Countries type: object properties: Countries: type: array items: $ref: '#/components/schemas/Country' additionalProperties: false x-schema-id: CountryResult CreateReservationGroupParameters: title: CreateReservationGroupParameters required: - Client - Customer - FullAmounts - HotelId - Reservations type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true HotelId: type: string format: uuid ConfigurationId: type: string format: uuid nullable: true AvailabilityBlockId: type: string format: uuid nullable: true Customer: allOf: - $ref: '#/components/schemas/Customer' Booker: allOf: - $ref: '#/components/schemas/Customer' nullable: true Reservations: minItems: 1 type: array items: $ref: '#/components/schemas/Reservation' CreditCardData: allOf: - $ref: '#/components/schemas/CreditCardData' nullable: true additionalProperties: false x-schema-id: CreateReservationGroupParameters CreditCardData: title: CreditCardData required: - Expiration type: object properties: PaymentGatewayData: minLength: 11 type: string nullable: true ObfuscatedCreditCardNumber: type: string nullable: true Expiration: minLength: 1 type: string format: date HolderName: type: string nullable: true additionalProperties: false x-schema-id: CreditCardData CreditCardTypes: enum: - MasterCard - Visa - Amex - Discover - DinersClub - Jcb - Maestro - UnionPay - VPay - RuPay - Dankort - Mir - Verve - Troy - PostFinance - Giro - Bancomat - Bc - CarteBleue - Eftpos - Eps - Interac - Isracard - Meps - Nets - Bancontact type: string Culture: title: Culture required: - CurrencyDecimalSeparator - CurrencyGroupSeparator type: object properties: CurrencyDecimalSeparator: minLength: 1 type: string CurrencyGroupSeparator: minLength: 1 type: string additionalProperties: false x-schema-id: Culture Currency: title: Currency required: - Code - DecimalPlaces - Symbol - SymbolIsBehindValue - ValueFormat type: object properties: Code: maxLength: 3 minLength: 1 type: string format: currency Symbol: minLength: 1 type: string ValueFormat: minLength: 1 type: string DecimalPlaces: type: integer format: int32 SymbolIsBehindValue: type: boolean additionalProperties: false x-schema-id: Currency CurrencyResult: title: CurrencyResult required: - Currencies type: object properties: Currencies: type: array items: $ref: '#/components/schemas/Currency' additionalProperties: false x-schema-id: CurrencyResult Customer: title: Customer required: - LastName type: object properties: Email: type: string format: email nullable: true FirstName: type: string nullable: true LastName: minLength: 1 type: string Telephone: type: string format: tel nullable: true NationalityCode: maxLength: 2 type: string nullable: true SendMarketingEmails: type: boolean nullable: true additionalProperties: false x-schema-id: Customer Enterprise: title: Enterprise required: - AcceptedCurrencyCodes - Address - Categories - CategoryImageAssignments - CityId - DefaultCurrencyCode - DefaultLanguageCode - DefaultRateCurrencyCode - Description - Email - IanaTimeZoneIdentifier - Id - Name - Pricing - Products - Rates - TaxEnvironmentCode type: object properties: Id: type: string format: uuid Name: type: object additionalProperties: type: string Description: type: object additionalProperties: type: string Address: allOf: - $ref: '#/components/schemas/Address' CityId: type: string format: uuid ImageId: type: string format: uuid nullable: true IntroImageId: type: string format: uuid nullable: true Email: minLength: 1 type: string Telephone: type: string nullable: true TermsAndConditionsUrl: type: object additionalProperties: type: string nullable: true PrivacyPolicyUrl: type: object additionalProperties: type: string nullable: true DefaultLanguageCode: maxLength: 3 minLength: 1 type: string DefaultCurrencyCode: maxLength: 3 minLength: 1 type: string format: currency DefaultRateCurrencyCode: maxLength: 3 minLength: 1 type: string format: currency IanaTimeZoneIdentifier: minLength: 1 type: string AcceptedCurrencyCodes: type: array items: type: string format: currency TaxEnvironmentCode: minLength: 1 type: string Pricing: $ref: '#/components/schemas/PricingMode' GrossAmountTaxPrecision: type: integer format: int32 nullable: true Categories: type: array items: $ref: '#/components/schemas/Category' Rates: type: array items: $ref: '#/components/schemas/Rate' CategoryImageAssignments: type: array items: $ref: '#/components/schemas/ResourceCategoryImageAssignment' Products: type: array items: $ref: '#/components/schemas/Product' AdditionalLegalStatements: type: array items: type: object additionalProperties: type: string nullable: true deprecated: true additionalProperties: false x-schema-id: Enterprise ExchangeRate: title: ExchangeRate required: - SourceCurrency - TargetCurrency type: object properties: SourceCurrency: maxLength: 3 minLength: 1 type: string format: currency TargetCurrency: maxLength: 3 minLength: 1 type: string format: currency Value: type: number format: double nullable: true additionalProperties: false x-schema-id: ExchangeRate ExchangeRateParameters: title: ExchangeRateParameters required: - Client - FullAmounts - HotelId - SourceCurrencyCode type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true HotelId: type: string format: uuid SourceCurrencyCode: maxLength: 3 minLength: 1 type: string format: currency additionalProperties: false x-schema-id: ExchangeRateParameters ExchangeRateResult: title: ExchangeRateResult required: - EnterpriseExchangeRates - PlatformExchangeRates type: object properties: EnterpriseExchangeRates: type: array items: $ref: '#/components/schemas/ExchangeRate' PlatformExchangeRates: type: array items: $ref: '#/components/schemas/ExchangeRate' additionalProperties: false x-schema-id: ExchangeRateResult HotelParameters: title: HotelParameters required: - Client - FullAmounts - HotelId type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true HotelId: type: string format: uuid additionalProperties: false x-schema-id: HotelParameters Language: title: Language required: - Code - DefaultCulture - Name type: object properties: Code: minLength: 1 type: string Name: minLength: 1 type: string DefaultCulture: allOf: - $ref: '#/components/schemas/Culture' additionalProperties: false x-schema-id: Language LanguageResult: title: LanguageResult required: - Languages type: object properties: Languages: type: array items: $ref: '#/components/schemas/Language' additionalProperties: false x-schema-id: LanguageResult Occupancy: title: Occupancy type: object properties: AdultCount: type: integer format: int32 nullable: true deprecated: true ChildCount: type: integer format: int32 nullable: true deprecated: true OccupancyData: type: array items: $ref: '#/components/schemas/OccupancyData' nullable: true additionalProperties: false x-schema-id: Occupancy OccupancyData: title: OccupancyData required: - AgeCategoryId - PersonCount type: object properties: AgeCategoryId: type: string format: uuid PersonCount: type: integer format: int32 additionalProperties: false x-schema-id: OccupancyData OccupancyPricing: title: OccupancyPricing required: - Occupancies - RateGroupPrices type: object properties: Occupancies: type: array items: $ref: '#/components/schemas/OccupancyData' RateGroupPrices: type: array items: $ref: '#/components/schemas/RateGroupPricing' additionalProperties: false x-schema-id: OccupancyPricing Payment: title: Payment required: - Amount - CreatedUtc - EnterpriseId - Id - State type: object properties: Id: type: string format: uuid EnterpriseId: type: string format: uuid PaymentRequestId: type: string format: uuid nullable: true CreatedUtc: minLength: 1 type: string format: date-time State: $ref: '#/components/schemas/PaymentState' Amount: allOf: - $ref: '#/components/schemas/Amount' ChargeAmount: allOf: - $ref: '#/components/schemas/Amount' nullable: true additionalProperties: false x-schema-id: Payment PaymentCard: title: PaymentCard required: - AuthorizationState - Id type: object properties: Id: type: string format: uuid AuthorizationState: $ref: '#/components/schemas/PaymentCard3DsAuthorizationState' additionalProperties: false x-schema-id: PaymentCard PaymentCard3DsAuthorizationState: enum: - Authorized - Authorizable - Unauthorizable type: string PaymentCardAuthorizationAction: title: PaymentCardAuthorizationAction required: - HttpMethod - Type - Url type: object properties: Type: $ref: '#/components/schemas/PaymentCardAuthorizationRequestedAction' Url: minLength: 1 type: string format: uri HttpMethod: minLength: 1 type: string Data: nullable: true additionalProperties: false x-schema-id: PaymentCardAuthorizationAction PaymentCardAuthorizationRequestedAction: enum: - Redirect - Show - Nothing type: string PaymentCardAuthorizationState: enum: - Authorized - Requested - Pending - Declined - Canceled type: string PaymentCardFilterParameters: title: PaymentCardFilterParameters required: - Client - FullAmounts - PaymentCardIds type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true PaymentCardIds: minItems: 1 type: array items: type: string format: uuid additionalProperties: false x-schema-id: PaymentCardFilterParameters PaymentCardResult: title: PaymentCardResult required: - PaymentCards type: object properties: PaymentCards: type: array items: $ref: '#/components/schemas/PaymentCard' additionalProperties: false x-schema-id: PaymentCardResult PaymentCardStorageType: enum: - Adyen - Stripe - PciProxy type: string PaymentConfiguration: title: PaymentConfiguration required: - SurchargeConfiguration type: object properties: PaymentGateway: allOf: - $ref: '#/components/schemas/PaymentGateway' nullable: true SurchargeConfiguration: allOf: - $ref: '#/components/schemas/SurchargeConfiguration' additionalProperties: false x-schema-id: PaymentConfiguration PaymentGateway: title: PaymentGateway required: - Accounts - DefaultCurrencyCode - IsMerchant - Model - PaymentCardStorageType - PublicKey - SupportedCreditCardTypes - SupportedPaymentMethods type: object properties: PaymentGatewayType: type: string nullable: true deprecated: true PaymentCardStorageType: $ref: '#/components/schemas/PaymentCardStorageType' IsMerchant: type: boolean Model: $ref: '#/components/schemas/PaymentGatewayModel' SupportedCreditCardTypes: type: array items: $ref: '#/components/schemas/CreditCardTypes' SupportedPaymentMethods: allOf: - $ref: '#/components/schemas/PaymentMethods' PublicKey: minLength: 1 type: string DefaultCurrencyCode: maxLength: 3 minLength: 1 type: string format: currency Accounts: type: array items: $ref: '#/components/schemas/PaymentGatewayAccount' additionalProperties: false x-schema-id: PaymentGateway PaymentGatewayAccount: title: PaymentGatewayAccount required: - CurrencyCode type: object properties: CurrencyCode: maxLength: 3 minLength: 1 type: string format: currency additionalProperties: false x-schema-id: PaymentGatewayAccount PaymentGatewayModel: enum: - MerchantOfRecord - PaymentFacilitator - Direct type: string PaymentMethods: title: PaymentMethods required: - ApplePay - GooglePay - Ideal - PaymentCard type: object properties: PaymentCard: type: boolean Ideal: type: boolean ApplePay: type: boolean GooglePay: type: boolean additionalProperties: false x-schema-id: PaymentMethods PaymentRequest: title: PaymentRequest required: - Id - ReservationGroupId - State type: object properties: Id: type: string format: uuid ReservationGroupId: type: string format: uuid State: $ref: '#/components/schemas/PaymentRequestState' additionalProperties: false x-schema-id: PaymentRequest PaymentRequestState: enum: - Pending - Completed - Canceled - Expired type: string PaymentState: enum: - Charged - Canceled - Pending - Failed - Verifying type: string PricingMode: enum: - Gross - Net type: string Product: title: Product required: - AlwaysIncluded - Amounts - ChargingMode - Description - Id - IncludedByDefault - Name - Ordering - PostingMode - Prices - Pricing type: object properties: Id: type: string format: uuid Name: type: object additionalProperties: type: string Description: type: object additionalProperties: type: string CategoryId: type: string format: uuid nullable: true ImageId: type: string format: uuid nullable: true IncludedByDefault: type: boolean AlwaysIncluded: type: boolean Prices: { } Pricing: title: Pricing type: object properties: discriminator: type: string value: oneOf: - $ref: '#/components/schemas/RelativeProductPrice' x-coproduct: true x-schema-id: ProductPricingCoproductOfRelativeProductPrice Amounts: { } RelativePrice: type: number format: double nullable: true Charging: type: string nullable: true deprecated: true ChargingMode: $ref: '#/components/schemas/ProductChargingMode' Posting: type: string nullable: true deprecated: true PostingMode: $ref: '#/components/schemas/ProductPostingMode' Ordering: type: integer format: int32 additionalProperties: false x-schema-id: Product ProductChargingMode: enum: - Once - PerTimeUnit - PerPersonPerTimeUnit - PerPerson type: string ProductOptions: title: ProductOptions required: - BillAsPackage - ExcludePriceFromOffer - OfferToCustomer - OfferToEmployee - SelectedByDefault type: object properties: SelectedByDefault: type: boolean BillAsPackage: type: boolean OfferToCustomer: type: boolean ExcludePriceFromOffer: type: boolean OfferToEmployee: type: boolean additionalProperties: false x-schema-id: ProductOptions ProductOrderPricingInfo: title: ProductOrderPricingInfo required: - ChargingMode - ProductId - ProductName - ProductOptions - TotalAmount type: object properties: ProductId: type: string format: uuid AgeCategoryId: type: string format: uuid nullable: true ProductName: type: object additionalProperties: type: string ProductOptions: allOf: - $ref: '#/components/schemas/ProductOptions' ChargingMode: $ref: '#/components/schemas/ProductChargingMode' TotalAmount: allOf: - $ref: '#/components/schemas/Amount' additionalProperties: false x-schema-id: ProductOrderPricingInfo ProductPostingMode: enum: - Once - PerTimeUnit type: string ProductPrice: title: ProductPrice required: - AgeCategoryPrices - ProductId - TotalAmount - UnitAmount type: object properties: ProductId: type: string format: uuid TotalAmount: { } UnitAmount: { } AgeCategoryPrices: type: array items: $ref: '#/components/schemas/AgeCategoryProductPrice' additionalProperties: false x-schema-id: ProductPrice ProductPricesResult: title: ProductPricesResult required: - Prices type: object properties: Prices: type: array items: $ref: '#/components/schemas/ProductPrice' additionalProperties: false x-schema-id: ProductPricesResult ProductPricingParameters: title: ProductPricingParameters required: - Client - ConfigurationId - CurrencyCode - EndUtc - FullAmounts - OccupancyData - ProductIds - StartUtc type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true ConfigurationId: type: string format: uuid ProductIds: maxItems: 1000 type: array items: type: string format: uuid OccupancyData: type: array items: $ref: '#/components/schemas/OccupancyData' StartUtc: minLength: 1 type: string format: date-time EndUtc: minLength: 1 type: string format: date-time CurrencyCode: maxLength: 3 minLength: 1 type: string format: currency additionalProperties: false x-schema-id: ProductPricingParameters PromotedService: title: PromotedService required: - MinPricePerTimeUnit - Ordering - PromotedRateId - PromotedRateName - PromotedResourceCategoryDescription - PromotedResourceCategoryId - PromotedResourceCategoryName - PromotedServiceAssignmentId - PromotedServiceDefaultOccupancyData - PromotedServiceEndOffset - PromotedServiceId - PromotedServiceOptions - PromotedServiceReservationIntervalLimit - PromotedServiceStartOffset - PromotedServiceTimeUnitPeriod - PromotedServiceUnitCountLimit type: object properties: PromotedServiceAssignmentId: type: string format: uuid PromotedServiceId: type: string format: uuid PromotedRateId: type: string format: uuid PromotedServiceTimeUnitPeriod: $ref: '#/components/schemas/TimeUnitPeriod' PromotedServiceStartOffset: minLength: 1 type: string format: date-time PromotedServiceEndOffset: minLength: 1 type: string format: date-time PromotedServiceUnitCountLimit: $ref: '#/components/schemas/PromotedServiceAssignmentUnitCountLimit' PromotedServiceReservationIntervalLimit: $ref: '#/components/schemas/PromotedServiceAssignmentReservationIntervalLimit' PromotedServiceDefaultOccupancyData: allOf: - $ref: '#/components/schemas/OccupancyData' PromotedServiceOptions: allOf: - $ref: '#/components/schemas/ServiceOptions' PromotedRateName: type: object additionalProperties: type: string PromotedResourceCategoryId: type: string format: uuid PromotedResourceCategoryName: type: object additionalProperties: type: string PromotedResourceCategoryDescription: type: object additionalProperties: type: string AvailableCount: type: integer format: int32 TotalAmount: allOf: - $ref: '#/components/schemas/Amount' nullable: true UnitAmount: allOf: - $ref: '#/components/schemas/Amount' nullable: true ImageId: type: string format: uuid nullable: true Ordering: type: integer format: int32 MinPricePerTimeUnit: allOf: - $ref: '#/components/schemas/Amount' additionalProperties: false x-schema-id: PromotedService PromotedServiceAssignmentReservationIntervalLimit: enum: - SameAsParent - InsideParent type: string PromotedServiceAssignmentUnitCountLimit: enum: - PerReservation - PerSpace - PerGuest - NoLimit type: string PromotedServiceResult: title: PromotedServiceResult type: object properties: PromotedServices: type: array items: $ref: '#/components/schemas/PromotedService' nullable: true ResourceCategories: type: array items: $ref: '#/components/schemas/Category' nullable: true Rates: type: array items: $ref: '#/components/schemas/Rate' nullable: true additionalProperties: false x-schema-id: PromotedServiceResult Rate: title: Rate required: - CurrencyCode - Description - Id - IsPrivate - Name - Ordering - RateGroupId type: object properties: Id: type: string format: uuid RateGroupId: type: string format: uuid Ordering: type: integer format: int32 Name: type: object additionalProperties: type: string nullable: true Description: type: object additionalProperties: type: string nullable: true IsPrivate: type: boolean CurrencyCode: maxLength: 3 minLength: 1 type: string format: currency additionalProperties: false x-schema-id: Rate RateGroup: title: RateGroup required: - Id - Ordering - SettlementAction - SettlementCurrencyCode - SettlementOffset - SettlementTrigger - SettlementType type: object properties: Id: type: string format: uuid Ordering: type: integer format: int32 SettlementType: $ref: '#/components/schemas/SettlementRuleType' SettlementAction: $ref: '#/components/schemas/SettlementRuleAction' SettlementTrigger: $ref: '#/components/schemas/SettlementRuleTrigger' SettlementOffset: minLength: 1 type: string SettlementValue: type: number format: double nullable: true SettlementFlatValue: type: number format: double nullable: true SettlementMaximumNights: type: integer format: int32 nullable: true deprecated: true SettlementMaximumTimeUnits: type: integer format: int32 nullable: true SettlementCurrencyCode: maxLength: 3 minLength: 1 type: string format: currency additionalProperties: false x-schema-id: RateGroup RateGroupPricing: title: RateGroupPricing required: - MaxPrice - MinPrice - MinRateId type: object properties: MinRateId: type: string format: uuid MinPrice: allOf: - $ref: '#/components/schemas/RatePricing' MaxPrice: allOf: - $ref: '#/components/schemas/RatePricing' additionalProperties: false x-schema-id: RateGroupPricing RatePricing: title: RatePricing required: - AverageAmountPerFullTimeUnit - AverageAmountPerTimeUnit - AverageServiceItemAmountPerFullTimeUnit - AverageServiceItemAmountPerTimeUnit - TotalAmount type: object properties: TotalAmount: allOf: - $ref: '#/components/schemas/Amount' AverageAmountPerTimeUnit: allOf: - $ref: '#/components/schemas/Amount' AverageAmountPerFullTimeUnit: allOf: - $ref: '#/components/schemas/Amount' AverageServiceItemAmountPerTimeUnit: allOf: - $ref: '#/components/schemas/Amount' AverageServiceItemAmountPerFullTimeUnit: allOf: - $ref: '#/components/schemas/Amount' additionalProperties: false x-schema-id: RatePricing RelativeProductPrice: title: RelativeProductPrice required: - Multiplier - ProductIds - Target - TaxRateCodes type: object properties: ProductIds: type: array items: type: string format: uuid TaxRateCodes: type: array items: type: string Multiplier: type: number format: double Target: $ref: '#/components/schemas/AmountPart' additionalProperties: false x-schema-id: RelativeProductPrice Reservation: title: Reservation required: - Amount - Cost - EndUtc - Id - Number - OccupancyData - RateId - RoomCategoryId - StartUtc type: object properties: Id: type: string format: uuid Identifier: type: string nullable: true Number: minLength: 1 type: string StartUtc: minLength: 1 type: string format: date-time EndUtc: minLength: 1 type: string format: date-time VoucherCode: type: string nullable: true AvailabilityBlockId: type: string format: uuid nullable: true RoomCategoryId: type: string format: uuid RateId: type: string format: uuid Rate: allOf: - $ref: '#/components/schemas/Rate' nullable: true ProductIds: type: array items: type: string format: uuid nullable: true AdultCount: type: integer format: int32 nullable: true deprecated: true ChildCount: type: integer format: int32 nullable: true deprecated: true OccupancyData: type: array items: $ref: '#/components/schemas/OccupancyData' Notes: type: string nullable: true Cost: { } Amount: { } additionalProperties: false x-schema-id: Reservation ReservationGroup: title: ReservationGroup required: - CreditCardAvailable - Id - Reservations - TotalAmount - TotalCost type: object properties: Id: type: string format: uuid CustomerId: type: string format: uuid nullable: true Reservations: type: array items: $ref: '#/components/schemas/Reservation' PaymentRequestId: type: string format: uuid nullable: true TotalCost: { } TotalAmount: { } PaymentCardId: type: string format: uuid nullable: true CreditCardAvailable: type: boolean PaymentRequests: type: array items: $ref: '#/components/schemas/PaymentRequest' nullable: true Payments: type: array items: $ref: '#/components/schemas/Payment' nullable: true additionalProperties: false x-schema-id: ReservationGroup ReservationGroupExtent: title: ReservationGroupExtent required: - PaymentRequests - Payments type: object properties: PaymentRequests: type: boolean Payments: type: boolean additionalProperties: false x-schema-id: ReservationGroupExtent ReservationGroupParameters: title: ReservationGroupParameters required: - Client - FullAmounts - HotelId - ReservationGroupId type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true HotelId: type: string format: uuid ReservationGroupId: type: string format: uuid Extent: allOf: - $ref: '#/components/schemas/ReservationGroupExtent' nullable: true additionalProperties: false x-schema-id: ReservationGroupParameters ReservationPriceParameters: title: ReservationPriceParameters required: - Client - ConfigurationId - FullAmounts - Reservations type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true ConfigurationId: type: string format: uuid Reservations: minItems: 1 type: array items: $ref: '#/components/schemas/Reservation' CurrencyCode: maxLength: 3 type: string format: currency nullable: true additionalProperties: false x-schema-id: ReservationPriceParameters ReservationPriceResult: title: ReservationPriceResult required: - ReservationPrice type: object properties: ReservationPrice: type: array items: $ref: '#/components/schemas/ReservationPricingInfo' additionalProperties: false x-schema-id: ReservationPriceResult ReservationPricing: title: ReservationPricing required: - OccupancyPrices type: object properties: OccupancyPrices: type: array items: $ref: '#/components/schemas/ResourceOccupancyPricing' additionalProperties: false x-schema-id: ReservationPricing ReservationPricingInfo: title: ReservationPricingInfo required: - ProductOrderPrices - TotalAmount type: object properties: Identifier: type: string nullable: true TotalAmount: allOf: - $ref: '#/components/schemas/Amount' AmountToChargeOnConfirmation: allOf: - $ref: '#/components/schemas/Amount' nullable: true ProductOrderPrices: type: array items: $ref: '#/components/schemas/ProductOrderPricingInfo' Settlements: type: array items: $ref: '#/components/schemas/ReservationSettlement' nullable: true additionalProperties: false x-schema-id: ReservationPricingInfo ReservationPricingParameters: title: ReservationPricingParameters required: - Client - EndUtc - FullAmounts - HotelId - Occupancies - RoomCategoryId - StartUtc type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true HotelId: type: string format: uuid VoucherCode: type: string nullable: true StartUtc: minLength: 1 type: string format: date-time EndUtc: minLength: 1 type: string format: date-time RoomCategoryId: type: string format: uuid AvailabilityBlockId: type: string format: uuid nullable: true RateIds: type: array items: type: string format: uuid nullable: true ProductIds: type: array items: type: string format: uuid nullable: true Occupancies: type: array items: $ref: '#/components/schemas/Occupancy' additionalProperties: false x-schema-id: ReservationPricingParameters ReservationSettlement: title: ReservationSettlement required: - Action - Amount - IsTriggeredOnConfirmation - Trigger - TriggerOffset - Type type: object properties: Amount: allOf: - $ref: '#/components/schemas/Amount' Action: $ref: '#/components/schemas/SettlementRuleAction' Type: $ref: '#/components/schemas/SettlementRuleType' Trigger: $ref: '#/components/schemas/SettlementRuleTrigger' TriggerOffset: minLength: 1 type: string IsTriggeredOnConfirmation: type: boolean additionalProperties: false x-schema-id: ReservationSettlement ResourceCategoryAvailability: title: ResourceCategoryAvailability required: - AvailableRoomCount - RoomCategoryId - RoomOccupancyAvailabilities type: object properties: RoomCategoryId: type: string format: uuid AvailableRoomCount: type: integer format: int32 RoomOccupancyAvailabilities: type: array items: $ref: '#/components/schemas/ResourceOccupancyPricing' additionalProperties: false x-schema-id: ResourceCategoryAvailability ResourceCategoryImageAssignment: title: ResourceCategoryImageAssignment required: - CategoryId - Id - ImageId - Ordering type: object properties: Id: type: string format: uuid CategoryId: type: string format: uuid ImageId: type: string format: uuid Ordering: type: integer format: int32 additionalProperties: false x-schema-id: ResourceCategoryImageAssignment ResourceCategoryPricing: title: ResourceCategoryPricing required: - CategoryId - OccupancyPrices type: object properties: CategoryId: type: string format: uuid OccupancyPrices: type: array items: $ref: '#/components/schemas/OccupancyPricing' additionalProperties: false x-schema-id: ResourceCategoryPricing ResourceCategoryType: enum: - Room - Bed - Dorm - Apartment - Suite - Villa - Site - Office - MeetingRoom - ParkingSpot - Desk - TeamArea - Membership - Tent - CaravanOrRV - UnequippedCampsite - Bike - ExtraBed - Cot - Crib - ConferenceRoom - Rooftop - Garden - Restaurant - Amphitheater - PrivateSpaces type: string ResourceOccupancyPricing: title: ResourceOccupancyPricing required: - Pricing type: object properties: AdultCount: type: integer format: int32 nullable: true deprecated: true ChildCount: type: integer format: int32 nullable: true deprecated: true OccupancyData: type: array items: $ref: '#/components/schemas/OccupancyData' nullable: true Pricing: type: array items: $ref: '#/components/schemas/ResourcePricing' additionalProperties: false x-schema-id: ResourceOccupancyPricing ResourcePrice: title: ResourcePrice required: - AverageAmountPerTimeUnit - AveragePerTimeUnit - Total - TotalAmount type: object properties: Total: { } TotalAmount: { } AveragePerNight: nullable: true deprecated: true AveragePerTimeUnit: { } AverageAmountPerNight: nullable: true deprecated: true AverageAmountPerTimeUnit: { } additionalProperties: false x-schema-id: ResourcePrice ResourcePricing: title: ResourcePricing required: - MaxPrice - Price - RateId type: object properties: RateId: type: string format: uuid Price: allOf: - $ref: '#/components/schemas/ResourcePrice' MaxPrice: allOf: - $ref: '#/components/schemas/ResourcePrice' additionalProperties: false x-schema-id: ResourcePricing Restriction: title: Restriction required: - Conditions - Exceptions - Id - ServiceId type: object properties: Id: type: string format: uuid ServiceId: type: string format: uuid Conditions: allOf: - $ref: '#/components/schemas/RestrictionConditions' Exceptions: allOf: - $ref: '#/components/schemas/RestrictionExceptions' ExternalIdentifier: type: string nullable: true additionalProperties: false x-schema-id: Restriction RestrictionConditions: title: RestrictionConditions required: - Days - Type type: object properties: Type: $ref: '#/components/schemas/RestrictionType' ExactRateId: type: string format: uuid nullable: true BaseRateId: type: string format: uuid nullable: true RateGroupId: type: string format: uuid nullable: true ResourceCategoryId: type: string format: uuid nullable: true ResourceCategoryType: anyOf: - $ref: '#/components/schemas/ResourceCategoryType' nullable: true StartUtc: type: string format: date-time nullable: true EndUtc: type: string format: date-time nullable: true Days: type: array items: type: string additionalProperties: false x-schema-id: RestrictionConditions RestrictionExceptions: title: RestrictionExceptions type: object properties: MinAdvance: type: string nullable: true MaxAdvance: type: string nullable: true MinLength: type: string nullable: true MaxLength: type: string nullable: true MinPrice: type: number format: double nullable: true MaxPrice: type: number format: double nullable: true PriceCurrencyCode: maxLength: 3 type: string nullable: true MaxReservationCount: type: integer format: int32 nullable: true additionalProperties: false x-schema-id: RestrictionExceptions RestrictionType: enum: - ClosedToStay - ClosedToArrival - ClosedToDeparture type: string Service: title: Service required: - CreatedUtc - Data - EnterpriseId - Id - IsActive - Names - Ordering - ShortNames type: object properties: Id: type: string format: uuid EnterpriseId: type: string format: uuid Ordering: type: integer format: int32 CreatedUtc: minLength: 1 type: string format: date-time Names: type: object additionalProperties: type: string ShortNames: type: object additionalProperties: type: string IsActive: type: boolean Data: title: Data type: object properties: discriminator: type: string value: oneOf: - $ref: '#/components/schemas/BookableService' - type: object additionalProperties: false x-coproduct: true x-schema-id: ServiceDataCoproductOfBookableServiceAdditionalService additionalProperties: false x-schema-id: Service ServiceAvailabilityParameters: title: ServiceAvailabilityParameters required: - Client - EndUtc - EnterpriseId - FullAmounts - ServiceId - StartUtc type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true EnterpriseId: type: string format: uuid ServiceId: type: string format: uuid StartUtc: minLength: 1 type: string format: date-time EndUtc: minLength: 1 type: string format: date-time BookingEngineId: type: string format: uuid nullable: true AvailabilityBlockId: type: string format: uuid nullable: true CategoryIds: type: array items: type: string format: uuid nullable: true additionalProperties: false x-schema-id: ServiceAvailabilityParameters ServiceAvailabilityResult: title: ServiceAvailabilityResult required: - ApplicableRestrictions - CategoryAvailabilities - TimeUnitStartsUtc type: object properties: TimeUnitStartsUtc: type: array items: type: string CategoryAvailabilities: type: array items: $ref: '#/components/schemas/CategoryAvailability' ApplicableRestrictions: type: array items: $ref: '#/components/schemas/Restriction' additionalProperties: false x-schema-id: ServiceAvailabilityResult ServiceOptions: title: ServiceOptions required: - ProRataCharging type: object properties: ProRataCharging: type: boolean additionalProperties: false x-schema-id: ServiceOptions ServicePricingParameters: title: ServicePricingParameters required: - Client - CurrencyCode - EndUtc - EnterpriseId - FullAmounts - ServiceId - StartUtc type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true EnterpriseId: type: string format: uuid ServiceId: type: string format: uuid AvailabilityBlockId: type: string format: uuid nullable: true RateIds: type: array items: type: string format: uuid nullable: true CategoryIds: type: array items: type: string format: uuid nullable: true ProductIds: type: array items: type: string format: uuid nullable: true OccupancyData: type: array items: $ref: '#/components/schemas/OccupancyData' nullable: true CurrencyCode: maxLength: 3 minLength: 1 type: string format: currency StartUtc: minLength: 1 type: string format: date-time EndUtc: minLength: 1 type: string format: date-time VoucherCode: type: string nullable: true additionalProperties: false x-schema-id: ServicePricingParameters ServicePricingResult: title: ServicePricingResult required: - CategoryPrices - RateGroups - Rates type: object properties: RateGroups: type: array items: $ref: '#/components/schemas/RateGroup' Rates: type: array items: $ref: '#/components/schemas/Rate' CategoryPrices: type: array items: $ref: '#/components/schemas/ResourceCategoryPricing' ViolatedRestrictions: type: array items: $ref: '#/components/schemas/Restriction' nullable: true additionalProperties: false x-schema-id: ServicePricingResult ServicePromotionParameters: title: ServicePromotionParameters required: - Client - CurrencyCode - EndUtc - EnterpriseId - FullAmounts - ServiceId - StartUtc type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true EnterpriseId: type: string format: uuid ServiceId: type: string format: uuid CurrencyCode: minLength: 1 type: string StartUtc: minLength: 1 type: string format: date-time EndUtc: minLength: 1 type: string format: date-time additionalProperties: false x-schema-id: ServicePromotionParameters SettlementRuleAction: enum: - ChargeCreditCard - CreatePreauthorization type: string SettlementRuleTrigger: enum: - Confirmation - Start - End - StartDate - EndDate type: string SettlementRuleType: enum: - Manual - Automatic type: string SingleHotelResult: title: SingleHotelResult required: - AcceptedCurrencyCodes - Address - CityId - Countries - Currencies - DefaultCurrencyCode - DefaultLanguageCode - DefaultRateCurrencyCode - Description - Email - IanaTimeZoneIdentifier - Id - ImageBaseUrl - Languages - Name - Pricing - Products - RoomCategories - SupportedLanguageCodes - TaxEnvironmentCode - TermsAndConditionsUrl type: object properties: Id: type: string format: uuid Name: type: object additionalProperties: type: string Description: type: object additionalProperties: type: string CityId: type: string format: uuid ImageId: type: string format: uuid nullable: true IntroImageId: type: string format: uuid nullable: true DefaultLanguageCode: minLength: 1 type: string DefaultCurrencyCode: maxLength: 3 minLength: 1 type: string format: currency DefaultRateCurrencyCode: maxLength: 3 minLength: 1 type: string format: currency SupportedLanguageCodes: type: array items: type: string AcceptedCurrencyCodes: type: array items: type: string TaxEnvironmentCode: minLength: 1 type: string Pricing: $ref: '#/components/schemas/PricingMode' RoomCategories: type: array items: $ref: '#/components/schemas/Category' Products: type: array items: $ref: '#/components/schemas/Product' PaymentGateway: allOf: - $ref: '#/components/schemas/PaymentGateway' nullable: true TermsAndConditionsUrl: minLength: 1 type: string format: uri IanaTimeZoneIdentifier: minLength: 1 type: string Email: minLength: 1 type: string Telephone: type: string nullable: true AdditionalLegalStatements: type: array items: type: object additionalProperties: type: string nullable: true deprecated: true Address: allOf: - $ref: '#/components/schemas/Address' Languages: type: array items: $ref: '#/components/schemas/Language' Currencies: type: array items: $ref: '#/components/schemas/Currency' Countries: type: array items: $ref: '#/components/schemas/Country' ImageBaseUrl: minLength: 1 type: string format: uri additionalProperties: false x-schema-id: SingleHotelResult SurchargeConfiguration: title: SurchargeConfiguration required: - SurchargeFees type: object properties: SurchargeServiceId: type: string format: uuid nullable: true SurchargeFees: type: object additionalProperties: type: number format: double additionalProperties: false x-schema-id: SurchargeConfiguration TaxBreakdown: title: TaxBreakdown required: - Items type: object properties: Items: type: array items: $ref: '#/components/schemas/TaxBreakdownItem' additionalProperties: false x-schema-id: TaxBreakdown TaxBreakdownItem: title: TaxBreakdownItem required: - NetValue - TaxValue type: object properties: TaxRateCode: type: string nullable: true NetValue: type: number format: double TaxValue: type: number format: double additionalProperties: false x-schema-id: TaxBreakdownItem TaxValue: title: TaxValue required: - TaxRateCode - Value type: object properties: TaxRateCode: minLength: 1 type: string Value: type: number format: double additionalProperties: false x-schema-id: TaxValue TimeUnitPeriod: enum: - Day - Month - Hour type: string VoucherParameters: title: VoucherParameters required: - Client - FullAmounts - HotelId - VoucherCode type: object properties: Client: minLength: 1 type: string LanguageCode: type: string nullable: true CultureCode: type: string nullable: true FullAmounts: type: boolean Session: type: string nullable: true HotelId: type: string format: uuid VoucherCode: minLength: 1 type: string ServiceIds: type: array items: type: string format: uuid nullable: true additionalProperties: false x-schema-id: VoucherParameters VoucherValidity: title: VoucherValidity required: - IsValid type: object properties: IsValid: type: boolean additionalProperties: false x-schema-id: VoucherValidity