Mews BookingEngineApi API

The BookingEngineApi API from Mews — 21 operation(s) for bookingengineapi.

OpenAPI Specification

mews-com-bookingengineapi-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: Account notes BookingEngineApi API
  version: v1
servers:
- url: https://api.mews.com
tags:
- name: BookingEngineApi
paths:
  /api/bookingEngine/v1/services/getAvailability:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceAvailabilityParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceAvailabilityResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceAvailabilityParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceAvailabilityResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceAvailabilityParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceAvailabilityResult'
  /api/bookingEngine/v1/reservations/getPricing:
    post:
      tags:
      - BookingEngineApi
      description: https://mews.myjetbrains.com/youtrack/issue/RND-102251
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationPricingParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationPricing'
      deprecated: true
      x-deprecatedMessage: https://mews.myjetbrains.com/youtrack/issue/RND-102251
    options:
      tags:
      - BookingEngineApi
      description: https://mews.myjetbrains.com/youtrack/issue/RND-102251
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationPricingParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationPricing'
      deprecated: true
      x-deprecatedMessage: https://mews.myjetbrains.com/youtrack/issue/RND-102251
  /api/bookingEngine/v1/availabilityBlocks/getAll:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AvailabilityBlockFilterParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AvailabilityBlockResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AvailabilityBlockFilterParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AvailabilityBlockResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AvailabilityBlockFilterParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AvailabilityBlockResult'
  /api/bookingEngine/v1/configurations/get:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigurationParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigurationResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigurationParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigurationResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigurationParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigurationResult'
  /api/bookingEngine/v1/enterprises/getPaymentConfiguration:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterpriseParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentConfiguration'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterpriseParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentConfiguration'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterpriseParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentConfiguration'
  /api/bookingEngine/v1/paymentCurrency/get:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BookingEngineParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CurrencyResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BookingEngineParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CurrencyResult'
  /api/bookingEngine/v1/exchangeRates/getAll:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExchangeRateParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExchangeRateResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExchangeRateParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExchangeRateResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExchangeRateParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExchangeRateResult'
  /api/bookingEngine/v1/paymentCards/authorize:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizePaymentCardParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizePaymentCardResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizePaymentCardParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizePaymentCardResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizePaymentCardParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizePaymentCardResult'
  /api/bookingEngine/v1/paymentCards/getAll:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentCardFilterParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentCardResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentCardFilterParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentCardResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentCardFilterParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentCardResult'
  /api/bookingEngine/v1/reservationGroups/create:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateReservationGroupParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationGroupResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateReservationGroupParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationGroupResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateReservationGroupParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationGroupResult'
  /api/bookingEngine/v1/reservationGroups/getAll:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationGroupParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationGroupResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationGroupParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationGroupResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationGroupParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationGroupResult'
  /api/bookingEngine/v1/reservationGroups/get:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationGroupParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationGroupResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationGroupParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationGroupResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationGroupParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationGroupResult'
  /api/bookingEngine/v1/reservations/getPrices:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationPriceParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationPriceResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationPriceParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationPriceResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationPriceParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationPriceResult'
  /api/bookingEngine/v1/reservations/price:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationPriceParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationPriceResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationPriceParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationPriceResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationPriceParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationPriceResult'
  /api/bookingEngine/v1/products/getAll:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAllProductsParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllProductsResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAllProductsParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllProductsResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAllProductsParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllProductsResult'
  /api/bookingEngine/v1/products/getPrices:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductPricingParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductPricesResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductPricingParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductPricesResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductPricingParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductPricesResult'
  /api/bookingEngine/v1/services/getPricing:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServicePricingParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicePricingResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServicePricingParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicePricingResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServicePricingParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicePricingResult'
  /api/bookingEngine/v1/restrictions/getAll:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestrictionParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestrictionResult'
    options:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestrictionParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestrictionResult'
    get:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestrictionParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestrictionResult'
  /api/bookingEngine/v1/services/getPromotions:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServicePromotionParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PromotedServiceResult'
  /api/bookingEngine/v1/services/getCalendarData:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalendarDataParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalendarDataResult'
  /api/bookingEngine/v1/resourceCategories/getAll:
    post:
      tags:
      - BookingEngineApi
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceCategoryParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCategoryResult'
components:
  schemas:
    AgeCategoryProductPrice:
      title: AgeCategoryProductPrice
      required:
      - AgeCategoryId
      - ProductId
      - TotalAmount
      - UnitAmount
      - UnitAmountPerFullTimeUnit
      type: object
      properties:
        ProductId:
          type: string
          format: uuid
        AgeCategoryId:
          type: string
          format: uuid
        TotalAmount: {}
        UnitAmount: {}
        UnitAmountPerFullTimeUnit: {}
      additionalProperties: false
      x-schema-id: AgeCategoryProductPrice
    ReservationGroupResult:
      title: ReservationGroupResult
      required:
      - CreditCardAvailable
      - OrderedProducts
      - Rates
      - ReservationGroups
      - Reservations
      type: object
      properties:
        Id:
          type: string
          format: uuid
          deprecated: true
        CustomerId:
          type: string
          format: uuid
          nullable: true
          deprecated: true
        PaymentRequestId:
          type: string
          format: uuid
          nullable: true
          deprecated: true
        TotalCost:
          nullable: true
          deprecated: true
        TotalAmount:
          nullable: true
          deprecated: true
        ReservationGroups:
          type: array
          items:
            $ref: '#/components/schemas/ReservationGroup'
        Reservations:
          type: array
          items:
            $ref: '#/components/schemas/Reservation'
        OrderedProducts:
          type: array
          items:
            $ref: '#/components/schemas/OrderedProduct'
        Rates:
          type: array
          items:
            $ref: '#/components/schemas/Rate'
        ResourceCategories:
          type: array
          items:
            $ref: '#/components/schemas/ResourceCategory'
          nullable: true
        CreditCardAvailable:
          type: boolean
        PaymentCardId:
          type: string
          format: uuid
          nullable: true
        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: ReservationGroupResult
    PromotedServiceReservationParameters:
      title: PromotedServiceReservationParameters
      required:
      - EndUtc
      - ParentReservationIdentifier
      - PromotedServiceAssignmentId
      - StartUtc
      type: object
      properties:
        ParentReservationIdentifier:
          minLength: 1
          type: string
        PromotedServiceAssignmentId:
          type: string
          format: uuid
        StartUtc:
          minLength: 1
          type: string
        EndUtc:
          minLength: 1
          type: string
        Notes:
          type: string
          nullable: true
        Identifier:
          type: string
          nullable: true
      additionalProperties: false
      x-schema-id: PromotedServiceReservationParameters
    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'
        CategoryMappings:
          type: array
          items:
            $ref: '#/components/schemas/CategoryMapping'
          nullable: true
      additionalProperties: false
      x-schema-id: ServiceAvailabilityResult
    ResourceCategoryResult:
      title: ResourceCategoryResult
      required:
      - ResourceCategories
      type: object
      properties:
        ResourceCategories:
          type: array
          items:
            $ref: '#/components/schemas/ResourceCategory'
        ImageAssignments:
          type: array
          items:
            $ref: '#/components/schemas/ResourceCategoryImageAssignment'
          nullable: true
      additionalProperties: false
      x-schema-id: ResourceCategoryResult
    TimeUnitPeriod:
      enum:
      - Day
      - Month
      - Hour
      type: string
    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
    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
          readOnly: true
        PromotedServiceEndOffset:
          minLength: 1
          type: string
          format: date-time
          readOnly: true
        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'
          readOnly: true
      additionalProperties: false
      x-schema-id: PromotedService
    CalendarDataResult:
      title: CalendarDataResult
      required:
      - Rates
      - ResourceCategories
      type: object
      properties:
        Rates:
          type: array
          items:
            $ref: '#/components/schemas/Rate'
        ResourceCategories:
          type: array
          items:
            $ref: '#/components/schemas/ResourceCategory'
      additionalProperties: false
      x-schema-id: CalendarDataResult
    ProductOrderPricingInfo:
      title: ProductOrderPricingInfo
      required:
      - Classifications
      - ProductId
      - TotalAmount
      type: object
      properties:
        ProductId:
          type: string
          format: uuid
        AgeCategoryId:
          type: string
          format: uuid
          nullable: true
        ProductName:
          type: object
          additionalProperties:
            type: string
          nullable: true
          deprecated: true
        ProductOptions:
          allOf:
          - $ref: '#/components/schemas/ProductOptions'
          nullable: true
          deprecated: true
        ChargingMode:
          type: string
          nullable: true
          deprecated: true
        TotalAmount:
          allOf:
          - $ref: '#/components/schemas/Amount'
        Classifications:
          allOf:
          - $ref: '#/components/schemas/ProductClassificationValues'
      additionalProperties: false
      x-schema-id: ProductOrderPricingInfo
    Customer:
      title: Customer
      type: object
      properties:
        Email:
          type: string
          nullable: true
        FirstName:
          type: string
          nullable: true
        LastName:
          type: string
          nullable: true
        Telephone:
          type: string
          nullable: true
        NationalityCode:
          ty

# --- truncated at 32 KB (100 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mews-com/refs/heads/main/openapi/mews-com-bookingengineapi-api-openapi.yml