> ## Documentation Index
> Fetch the complete documentation index at: https://docs.d-edge.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> This site documents the D-EDGE APIs for technology partners (web agencies, OTAs, PMS and RMS vendors, booking and CRM tools). It is written for developers integrating with hotels that use the D-EDGE platform.
> Seven APIs, grouped by domain. Connectivity: Channel Manager API (distribute a hotel's inventory to your channel and send bookings back). Pricing & Availability: Best Price API (best offers to highlight), Quotation API (all bookable offers for a stay), Daily Rates API (daily availability between two dates). Booking: Booking Engine API (a hotel's full direct booking funnel), Gift Shop API (gift vouchers from catalogue to payment). Guest Management: CRM API (guest profiles).
> Pick the API by the need: to display prices, use the Best Price API or the Daily Rates API; to quote a specific stay, use the Quotation API; to book, use the Booking Engine API; to sell gift vouchers, use the Gift Shop API; to manage guest profiles, use the CRM API; to receive hotel inventory and send bookings back as a distribution channel, use the Channel Manager API.
> Base URLs, hotel identifiers, and credentials are delivered by the D-EDGE partnership team during onboarding. Do not invent base URLs, endpoints, parameters, or example credentials that do not appear on these pages.
> Authentication differs per API: OAuth 1.0 for Best Price, Quotation, Daily Rates, and Booking Engine; an X-API-KEY header for Gift Shop; OAuth 2.0 client credentials for CRM; partner-defined credentials carried in the XML message for the Channel Manager API. Read each API's Authentication page before writing code.
> A mock environment returns realistic but fictitious data without credentials. The Postman and Insomnia collections on the API collections page target it by default. Use it for exploration and tests, never for production traffic.
> Use the official names exactly: D-EDGE, D-EDGE platform, Channel Manager API, partnership team. Do not use Back Office or Extranet.
> Each API has a Changelog page. Check it for the current behaviour before relying on an older answer. For questions these pages do not answer, direct the reader to the Contact us page.

# Retrieve the content of the basket

> Retrieve the content of the basket associated with the session



## OpenAPI

````yaml booking-engine-api/open-api/booking-engine-api.json GET /v2/{sessionId}/basket
openapi: 3.0.1
info:
  title: Booking Engine API
  version: v2
servers:
  - url: https://{apiBaseUrl}
    variables:
      apiBaseUrl:
        default: api.example.com
        description: Base URL delivered by D-EDGE during partnership setup
security: []
tags:
  - name: Basket
  - name: Booking
  - name: Configuration
  - name: Description
  - name: Loyalty
  - name: Promotion
  - name: Resources
  - name: Search
  - name: Session
paths:
  /v2/{sessionId}/basket:
    get:
      tags:
        - Basket
      summary: Retrieve the content of the basket associated with the session.
      description: "The **X-AVP-Properties** header attribute  can contain some or all the following values,\r\nseparated with | character:\r\n* `RateInformation`.\r\n* `RoomInformation`.\r\n* `ExtraInformation`.\r\n* `Prices`.\r\n* `Taxes`."
      operationId: Basket_GetBasket
      parameters:
        - name: X-AVP-Properties
          in: header
          description: The properties for display options.
          required: false
          schema:
            type: string
        - name: X-AVP-DescriptionType
          in: header
          description: The description type for display options.
          required: false
          schema:
            type: string
        - name: X-AVP-PictureTemplates
          in: header
          description: The picture template for display options.
          required: false
          schema:
            type: string
        - name: X-AVP-Impersonation
          in: header
          description: The impersonation to use.
          required: false
          schema:
            type: string
        - name: sessionId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns the basket details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket.HubBasketPresenter'
              examples:
                response:
                  value:
                    rooms:
                      - roomId: 29447
                        name: Chambre Double - Standard
                        guestPosition: 1
                        description:
                          summary: []
                          pictures: []
                          amenities:
                            - text: Non fumeur
                              value: NonSmoking
                          beds:
                            - type:
                                text: Lit double
                                value: Double
                              count: 1
                              twoPersonConvertible: false
                          bedConfigurations: []
                          area:
                            text: 15 m²
                            value: 15
                          type: Double
                        defaultOccupancy:
                          occupancyId: 0
                          isDefault: true
                          definition:
                            text: 2 personnes
                            value:
                              isDetailed: false
                              personCount: 2
                              adultCount: 0
                              childCount: 0
                              infantCount: 0
                        occupancies:
                          - occupancyId: 0
                            rateId: 20260608;20260610;32798
                            availableQuantity: 20
                            selectedQuantity: 2
                            price:
                              converted:
                                text: 361,80 €
                                value:
                                  amount: 361.8
                                  currency: EUR
                              original:
                                text: 434,16 USD
                                value:
                                  amount: 434.16
                                  currency: USD
                            definition:
                              text: 2 personnes
                              value:
                                isDetailed: false
                                personCount: 2
                                adultCount: 0
                                childCount: 0
                                infantCount: 0
                            rateInformation:
                              code: 4NIGHTS
                              name: Tarif 4ème nuit offerte
                              forceDisplayName: false
                              isPrivate: false
                              sortOrder: 5
                              summary: []
                              cancelConditions:
                                name:
                                  - text: Annulation gratuite avant le 08/01/2018
                                    value: Default
                                  - text: Annulation gratuite sous conditions
                                    value: Short
                                summary:
                                  - text: >-
                                      Si annulée ou en cas de non présentation à
                                      l'hôtel, la première nuit sans les extras
                                      est facturée et non remboursable.
                                    value: Default
                              qualifier:
                                text: Pension complète
                                value: FullBoard
                              bookingFees:
                                percent: 0
                                nominal: 0
                              deposit:
                                depositType: FirstNightWithoutExtras
                                percent: 100
                              pictures:
                                - templates:
                                    - name: TEMPLATE1
                                      url: http://url/to/template1/image1
                                    - name: TEMPLATE2
                                      url: http://url/to/template2/image1
                                  sortOrder: 1
                                - templates:
                                    - name: TEMPLATE1
                                      url: http://url/to/template1/image2
                                    - name: TEMPLATE2
                                      url: http://url/to/template2/image2
                                  sortOrder: 2
                              mealPlans: []
                            taxes:
                              included:
                                amount:
                                  value:
                                    amount: 0
                                    currency: EUR
                                details: []
                              excluded:
                                amount:
                                  value:
                                    amount: 0
                                    currency: EUR
                                details: []
                              onSite:
                                amount:
                                  text: 12 €
                                  value:
                                    amount: 12
                                    currency: EUR
                                details:
                                  - name: Taxe de séjour
                                    type: StayTax
                                    description: 2,00 € par personne par nuit
                                    amount:
                                      converted:
                                        text: 12 €
                                        value:
                                          amount: 12
                                          currency: EUR
                                      original:
                                        text: 14,40 USD
                                        value:
                                          amount: 14.4
                                          currency: USD
                                    dailyTotalAmounts:
                                      - value:
                                          converted:
                                            text: 2,50 €
                                            value:
                                              amount: 2.5
                                              currency: EUR
                                          original:
                                            text: 2 $
                                            value:
                                              amount: 2
                                              currency: USD
                                        start: '2026-06-08'
                                        end: '2026-06-13'
                                    applyToEntity: false
                            serviceStatus:
                              internetStatus: WithCharge
                              breakfastStatus: Included
                            isLoyalty: false
                            membershipLevel: 0
                            canUseRedemption: false
                            redemptionQuantity: 0
                        extras:
                          - extraId: 18140
                            name: Lit supplémentaire
                            availableQuantity: 20
                            selectedQuantity:
                              text: 1 Lit supplémentaire pour 2 jours
                              value: 1
                            price:
                              converted:
                                text: 46 €
                                value:
                                  amount: 46
                                  currency: EUR
                              original:
                                text: 55,20 USD
                                value:
                                  amount: 55.2
                                  currency: USD
                            unitPrice:
                              converted:
                                text: 23 €
                                value:
                                  amount: 23
                                  currency: EUR
                              original:
                                text: 27,60 USD
                                value:
                                  amount: 27.6
                                  currency: USD
                            description:
                              class: Room
                              type:
                                text: Lit supplémentaire
                                value: AdditionalBed
                              gratuitousnessType:
                                text: ''
                                value: None
                              stock: Unlimited
                              summary: []
                              pictures: []
                              maximumQuantity: 20
                              isMandatory: false
                              isPreselected: false
                              payOnline: false
                              sortOrder: 1
                              countingType:
                                text: par jour
                                value: Day
                              occupancyDefinition:
                                text: 1 personne
                                value:
                                  isDetailed: false
                                  personCount: 1
                                  adultCount: 0
                                  childCount: 0
                                  infantCount: 0
                        beddingConfiguration:
                          configurationId: 969473bf-447c-4c4d-bff9-b0fef06c580d
                          description: 1 Lit double, 2 Lits simples
                    hotelExtras:
                      - extraId: 18263
                        name: MacAllan
                        availableQuantity: 20
                        selectedQuantity:
                          text: 1 MacAllan
                          value: 1
                        description:
                          class: Room
                          type:
                            value: Undefined
                          gratuitousnessType:
                            value: None
                          stock: Uncountable
                          summary: []
                          pictures: []
                          maximumQuantity: 0
                          isMandatory: false
                          isPreselected: false
                          payOnline: false
                          sortOrder: 0
                          countingType:
                            value: Booking
                          occupancyDefinition: {}
                    price:
                      offerCode:
                        offerCodeId: 00000000-0000-0000-0000-000000000000
                        code: DISCOUNT
                        description: This is a DISCOUNT!!!
                        percent:
                          text: 10%
                          value: 10
                        calculationMode: PercentageWithoutExtras
                        isPublic: false
                        isApplied: false
                        isMobile: false
                        isFlashSales: false
                        displayCountdown: false
                        endDate: '2026-07-03T08:05:26.7707459Z'
                      totalPrice:
                        converted:
                          text: "1\_310,20 €"
                          value:
                            amount: 1310.2
                            currency: EUR
                        original:
                          text: "1\_572,24 USD"
                          value:
                            amount: 1572.24
                            currency: USD
                      discountedAmount:
                        converted:
                          text: '-123,80 €'
                          value:
                            amount: -123.8
                            currency: EUR
                        original:
                          text: '-148,56 USD'
                          value:
                            amount: -148.56
                            currency: USD
                      isLoyalty: false
                      canUseRedemption: false
                      redemptionQuantity: 0
                    taxes:
                      included:
                        value:
                          amount: 0
                          currency: EUR
                      excluded:
                        value:
                          amount: 0
                          currency: EUR
                      onSite:
                        text: 12 €
                        value:
                          amount: 12
                          currency: EUR
                    isBookingRequest: false
                    isComplete: false
            text/json:
              schema:
                $ref: '#/components/schemas/Basket.HubBasketPresenter'
              examples:
                response:
                  value:
                    rooms:
                      - roomId: 29447
                        name: Chambre Double - Standard
                        guestPosition: 1
                        description:
                          summary: []
                          pictures: []
                          amenities:
                            - text: Non fumeur
                              value: NonSmoking
                          beds:
                            - type:
                                text: Lit double
                                value: Double
                              count: 1
                              twoPersonConvertible: false
                          bedConfigurations: []
                          area:
                            text: 15 m²
                            value: 15
                          type: Double
                        defaultOccupancy:
                          occupancyId: 0
                          isDefault: true
                          definition:
                            text: 2 personnes
                            value:
                              isDetailed: false
                              personCount: 2
                              adultCount: 0
                              childCount: 0
                              infantCount: 0
                        occupancies:
                          - occupancyId: 0
                            rateId: 20260608;20260610;32798
                            availableQuantity: 20
                            selectedQuantity: 2
                            price:
                              converted:
                                text: 361,80 €
                                value:
                                  amount: 361.8
                                  currency: EUR
                              original:
                                text: 434,16 USD
                                value:
                                  amount: 434.16
                                  currency: USD
                            definition:
                              text: 2 personnes
                              value:
                                isDetailed: false
                                personCount: 2
                                adultCount: 0
                                childCount: 0
                                infantCount: 0
                            rateInformation:
                              code: 4NIGHTS
                              name: Tarif 4ème nuit offerte
                              forceDisplayName: false
                              isPrivate: false
                              sortOrder: 5
                              summary: []
                              cancelConditions:
                                name:
                                  - text: Annulation gratuite avant le 08/01/2018
                                    value: Default
                                  - text: Annulation gratuite sous conditions
                                    value: Short
                                summary:
                                  - text: >-
                                      Si annulée ou en cas de non présentation à
                                      l'hôtel, la première nuit sans les extras
                                      est facturée et non remboursable.
                                    value: Default
                              qualifier:
                                text: Pension complète
                                value: FullBoard
                              bookingFees:
                                percent: 0
                                nominal: 0
                              deposit:
                                depositType: FirstNightWithoutExtras
                                percent: 100
                              pictures:
                                - templates:
                                    - name: TEMPLATE1
                                      url: http://url/to/template1/image1
                                    - name: TEMPLATE2
                                      url: http://url/to/template2/image1
                                  sortOrder: 1
                                - templates:
                                    - name: TEMPLATE1
                                      url: http://url/to/template1/image2
                                    - name: TEMPLATE2
                                      url: http://url/to/template2/image2
                                  sortOrder: 2
                              mealPlans: []
                            taxes:
                              included:
                                amount:
                                  value:
                                    amount: 0
                                    currency: EUR
                                details: []
                              excluded:
                                amount:
                                  value:
                                    amount: 0
                                    currency: EUR
                                details: []
                              onSite:
                                amount:
                                  text: 12 €
                                  value:
                                    amount: 12
                                    currency: EUR
                                details:
                                  - name: Taxe de séjour
                                    type: StayTax
                                    description: 2,00 € par personne par nuit
                                    amount:
                                      converted:
                                        text: 12 €
                                        value:
                                          amount: 12
                                          currency: EUR
                                      original:
                                        text: 14,40 USD
                                        value:
                                          amount: 14.4
                                          currency: USD
                                    dailyTotalAmounts:
                                      - value:
                                          converted:
                                            text: 2,50 €
                                            value:
                                              amount: 2.5
                                              currency: EUR
                                          original:
                                            text: 2 $
                                            value:
                                              amount: 2
                                              currency: USD
                                        start: '2026-06-08'
                                        end: '2026-06-13'
                                    applyToEntity: false
                            serviceStatus:
                              internetStatus: WithCharge
                              breakfastStatus: Included
                            isLoyalty: false
                            membershipLevel: 0
                            canUseRedemption: false
                            redemptionQuantity: 0
                        extras:
                          - extraId: 18140
                            name: Lit supplémentaire
                            availableQuantity: 20
                            selectedQuantity:
                              text: 1 Lit supplémentaire pour 2 jours
                              value: 1
                            price:
                              converted:
                                text: 46 €
                                value:
                                  amount: 46
                                  currency: EUR
                              original:
                                text: 55,20 USD
                                value:
                                  amount: 55.2
                                  currency: USD
                            unitPrice:
                              converted:
                                text: 23 €
                                value:
                                  amount: 23
                                  currency: EUR
                              original:
                                text: 27,60 USD
                                value:
                                  amount: 27.6
                                  currency: USD
                            description:
                              class: Room
                              type:
                                text: Lit supplémentaire
                                value: AdditionalBed
                              gratuitousnessType:
                                text: ''
                                value: None
                              stock: Unlimited
                              summary: []
                              pictures: []
                              maximumQuantity: 20
                              isMandatory: false
                              isPreselected: false
                              payOnline: false
                              sortOrder: 1
                              countingType:
                                text: par jour
                                value: Day
                              occupancyDefinition:
                                text: 1 personne
                                value:
                                  isDetailed: false
                                  personCount: 1
                                  adultCount: 0
                                  childCount: 0
                                  infantCount: 0
                        beddingConfiguration:
                          configurationId: 969473bf-447c-4c4d-bff9-b0fef06c580d
                          description: 1 Lit double, 2 Lits simples
                    hotelExtras:
                      - extraId: 18263
                        name: MacAllan
                        availableQuantity: 20
                        selectedQuantity:
                          text: 1 MacAllan
                          value: 1
                        description:
                          class: Room
                          type:
                            value: Undefined
                          gratuitousnessType:
                            value: None
                          stock: Uncountable
                          summary: []
                          pictures: []
                          maximumQuantity: 0
                          isMandatory: false
                          isPreselected: false
                          payOnline: false
                          sortOrder: 0
                          countingType:
                            value: Booking
                          occupancyDefinition: {}
                    price:
                      offerCode:
                        offerCodeId: 00000000-0000-0000-0000-000000000000
                        code: DISCOUNT
                        description: This is a DISCOUNT!!!
                        percent:
                          text: 10%
                          value: 10
                        calculationMode: PercentageWithoutExtras
                        isPublic: false
                        isApplied: false
                        isMobile: false
                        isFlashSales: false
                        displayCountdown: false
                        endDate: '2026-07-03T08:05:26.7707459Z'
                      totalPrice:
                        converted:
                          text: "1\_310,20 €"
                          value:
                            amount: 1310.2
                            currency: EUR
                        original:
                          text: "1\_572,24 USD"
                          value:
                            amount: 1572.24
                            currency: USD
                      discountedAmount:
                        converted:
                          text: '-123,80 €'
                          value:
                            amount: -123.8
                            currency: EUR
                        original:
                          text: '-148,56 USD'
                          value:
                            amount: -148.56
                            currency: USD
                      isLoyalty: false
                      canUseRedemption: false
                      redemptionQuantity: 0
                    taxes:
                      included:
                        value:
                          amount: 0
                          currency: EUR
                      excluded:
                        value:
                          amount: 0
                          currency: EUR
                      onSite:
                        text: 12 €
                        value:
                          amount: 12
                          currency: EUR
                    isBookingRequest: false
                    isComplete: false
        '401':
          description: >-
            Authentication header is invalid or does not give access to the
            operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BookingEngine.Hub.Service.Controllers.ErrorResponse_BookingEngine.Hub.Service.Config.SecurityErrorType_
            text/json:
              schema:
                $ref: >-
                  #/components/schemas/BookingEngine.Hub.Service.Controllers.ErrorResponse_BookingEngine.Hub.Service.Config.SecurityErrorType_
components:
  schemas:
    Basket.HubBasketPresenter:
      required:
        - rooms
        - hotelExtras
        - price
        - taxes
        - isBookingRequest
        - isComplete
      type: object
      properties:
        rooms:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Basket.HubBasketPresenterRoom'
        hotelExtras:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Basket.HubBasketPresenterExtra'
        price:
          default:
            isLoyalty: false
            canUseRedemption: false
            redemptionQuantity: 0
          allOf:
            - $ref: '#/components/schemas/Basket.HubBasketPrice'
        taxes:
          default:
            included:
              value:
                amount: 0
            excluded:
              value:
                amount: 0
            onSite:
              value:
                amount: 0
          allOf:
            - $ref: '#/components/schemas/Basket.HubBasketPresenterTaxes'
        isBookingRequest:
          type: boolean
        isComplete:
          type: boolean
    BookingEngine.Hub.Service.Controllers.ErrorResponse_BookingEngine.Hub.Service.Config.SecurityErrorType_:
      allOf:
        - $ref: >-
            #/components/schemas/BookingEngine.Hub.Service.Controllers.ErrorResponse
        - required:
            - code
          type: object
          properties:
            code:
              $ref: >-
                #/components/schemas/BookingEngine.Hub.Service.Config.SecurityErrorType
    Basket.HubBasketPresenterRoom:
      description: Describes the room model in basket.
      required:
        - description
        - defaultOccupancy
        - occupancies
        - extras
        - beddingConfiguration
        - roomId
        - guestPosition
      type: object
      properties:
        roomId:
          $ref: '#/components/schemas/HotelBusiness.RoomId'
        productId:
          type: string
        name:
          type: string
        guestPosition:
          $ref: '#/components/schemas/Common.HubGuestPosition'
        description:
          default:
            summary: []
            pictures: []
            amenities: []
            beds: []
            bedConfigurations: []
            area:
              value: 0
            type: None
          allOf:
            - $ref: '#/components/schemas/Search.Room.HubSearchRoomResultDescription'
        defaultOccupancy:
          default:
            occupancyId: 0
            isDefault: false
            definition: {}
          allOf:
            - $ref: '#/components/schemas/Description.Room.HubRoomOccupancy'
        occupancies:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Basket.HubBasketPresenterRoomOccupancy'
        extras:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Basket.HubBasketPresenterExtra'
        beddingConfiguration:
          default:
            configurationId: 00000000-0000-0000-0000-000000000000
          allOf:
            - $ref: '#/components/schemas/Description.Room.HubBeddingConfiguration'
    Basket.HubBasketPresenterExtra:
      required:
        - description
        - extraId
        - availableQuantity
      type: object
      properties:
        extraId:
          $ref: '#/components/schemas/HotelBusiness.ExtraId'
        name:
          type: string
        productId:
          type: string
        availableQuantity:
          format: int32
          type: integer
        selectedQuantity:
          $ref: '#/components/schemas/Common.HubValueText_System.Int32_'
        price:
          $ref: '#/components/schemas/Common.ConvertedMoney'
        unitPrice:
          $ref: '#/components/schemas/Common.ConvertedMoney'
        description:
          default:
            class: Room
            type:
              value: Undefined
            gratuitousnessType:
              value: None
            stock: Uncountable
            summary: []
            pictures: []
            maximumQuantity: 0
            isMandatory: false
            isPreselected: false
            payOnline: false
            sortOrder: 0
            countingType:
              value: Booking
            occupancyDefinition: {}
          allOf:
            - $ref: >-
                #/components/schemas/Description.Extra.HubExtraDescriptionInformation
        offerId:
          type: string
    Basket.HubBasketPrice:
      required:
        - isLoyalty
        - canUseRedemption
        - redemptionQuantity
      type: object
      properties:
        offerCode:
          $ref: '#/components/schemas/Search.HubAvailabilityPriceOfferCode'
        totalPrice:
          $ref: '#/components/schemas/Common.ConvertedMoney'
        discountedAmount:
          $ref: '#/components/schemas/Common.ConvertedMoney'
        isLoyalty:
          type: boolean
        canUseRedemption:
          type: boolean
        redemptionQuantity:
          format: int32
          type: integer
    Basket.HubBasketPresenterTaxes:
      required:
        - included
        - excluded
        - onSite
      type: object
      properties:
        included:
          default:
            value:
              amount: 0
          allOf:
            - $ref: '#/components/schemas/Common.HubValueText_Library.Money_'
        excluded:
          default:
            value:
              amount: 0
          allOf:
            - $ref: '#/components/schemas/Common.HubValueText_Library.Money_'
        onSite:
          default:
            value:
              amount: 0
          allOf:
            - $ref: '#/components/schemas/Common.HubValueText_Library.Money_'
    BookingEngine.Hub.Service.Controllers.ErrorResponse:
      type: object
      properties:
        message:
          type: string
    BookingEngine.Hub.Service.Config.SecurityErrorType:
      description: >-
        Category of security failure returned when authentication or
        authorization is rejected.
      enum:
        - InvalidUserAuthentication
        - InvalidUserRoles
        - InvalidPermissions
      type: string
    HotelBusiness.RoomId:
      format: int32
      type: integer
    Common.HubGuestPosition:
      format: int32
      type: integer
    Search.Room.HubSearchRoomResultDescription:
      required:
        - summary
        - pictures
        - amenities
        - beds
        - bedConfigurations
        - area
        - type
      type: object
      properties:
        summary:
          default: []
          type: array
          items:
            $ref: >-
              #/components/schemas/Common.HubValueText_Common.HubDescriptionType_
        pictures:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Common.HubPicture'
        amenities:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Common.HubValueText_Common.HubRoomAmenityId_'
        beds:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Description.Room.HubRoomBed'
        bedConfigurations:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Description.Room.HubBeddingConfiguration'
        area:
          default:
            value: 0
          allOf:
            - $ref: '#/components/schemas/Common.HubValueText_System.Decimal_'
        type:
          $ref: '#/components/schemas/HotelBusiness.Configuration.RoomType'
    Description.Room.HubRoomOccupancy:
      required:
        - definition
        - occupancyId
        - isDefault
      type: object
      properties:
        occupancyId:
          $ref: '#/components/schemas/HotelBusiness.OccupancyId'
        isDefault:
          type: boolean
        definition:
          default: {}
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.Common.HubOccupancyDefinition_
    Basket.HubBasketPresenterRoomOccupancy:
      required:
        - definition
        - rateInformation
        - occupancyId
        - availableQuantity
        - selectedQuantity
      type: object
      properties:
        occupancyId:
          $ref: '#/components/schemas/HotelBusiness.OccupancyId'
        rateId:
          $ref: >-
            #/components/schemas/Library.Temporality.ITemporal_HotelBusiness.RateId_
        offerId:
          type: string
        availableQuantity:
          format: int32
          type: integer
        selectedQuantity:
          format: int32
          type: integer
        price:
          $ref: '#/components/schemas/Common.ConvertedMoney'
        definition:
          default: {}
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.Common.HubOccupancyDefinition_
        rateInformation:
          default:
            forceDisplayName: false
            isPrivate: false
            sortOrder: 0
            summary: []
            cancelConditions: {}
            qualifier:
              value: RoomOnly
            bookingFees:
              percent: 0
              nominal: 0
            deposit:
              depositType: Nothing
              percent: 0
            pictures: []
            mealPlans: []
          allOf:
            - $ref: >-
                #/components/schemas/Search.Room.HubSearchRoomResultRateDescription
        taxes:
          $ref: '#/components/schemas/Common.HubSearchTaxes'
        serviceStatus:
          $ref: '#/components/schemas/Basket.HubBasketServiceStatus'
        articles:
          $ref: '#/components/schemas/Common.HubArticles'
        isLoyalty:
          type: boolean
        membershipLevel:
          format: int32
          type: integer
        canUseRedemption:
          type: boolean
        redemptionQuantity:
          format: int32
          type: integer
    Description.Room.HubBeddingConfiguration:
      required:
        - configurationId
      type: object
      properties:
        configurationId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        description:
          type: string
    HotelBusiness.ExtraId:
      format: int32
      type: integer
    Common.HubValueText_System.Int32_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              format: int32
              type: integer
    Common.ConvertedMoney:
      required:
        - converted
        - original
      type: object
      properties:
        converted:
          default:
            value:
              amount: 0
          allOf:
            - $ref: '#/components/schemas/Common.HubValueText_Library.Money_'
        original:
          default:
            value:
              amount: 0
          allOf:
            - $ref: '#/components/schemas/Common.HubValueText_Library.Money_'
    Description.Extra.HubExtraDescriptionInformation:
      required:
        - type
        - gratuitousnessType
        - summary
        - pictures
        - countingType
        - occupancyDefinition
        - class
        - stock
        - maximumQuantity
        - isMandatory
        - isPreselected
        - payOnline
        - sortOrder
      type: object
      properties:
        class:
          $ref: '#/components/schemas/Description.Extra.HubExtraClass'
        type:
          default:
            value: Undefined
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.Extra.HubExtraType_
        gratuitousnessType:
          default:
            value: None
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.Extra.HubExtraGratuitousnessType_
        stock:
          $ref: '#/components/schemas/Description.Extra.HubExtraStock'
        summary:
          default: []
          type: array
          items:
            $ref: >-
              #/components/schemas/Common.HubValueText_Common.HubDescriptionType_
        pictures:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Common.HubPicture'
        maximumQuantity:
          format: int32
          type: integer
        isMandatory:
          type: boolean
        isPreselected:
          type: boolean
        payOnline:
          type: boolean
        sortOrder:
          format: int32
          type: integer
        countingType:
          default:
            value: Booking
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.Extra.HubExtraCountingType_
        occupancyDefinition:
          default: {}
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.Common.HubOccupancyDefinition_
    Search.HubAvailabilityPriceOfferCode:
      required:
        - offerCodeId
        - calculationMode
        - isPublic
        - isApplied
        - isMobile
        - isFlashSales
        - displayCountdown
        - endDate
      type: object
      properties:
        offerCodeId:
          $ref: '#/components/schemas/HotelBusiness.OfferCode.Common.OfferCodeId'
        code:
          type: string
        description:
          type: string
        nominal:
          $ref: '#/components/schemas/Common.ConvertedMoney'
        percent:
          $ref: '#/components/schemas/Common.HubValueText_HotelBusiness.Percent_'
        calculationMode:
          $ref: '#/components/schemas/Common.HubDiscountCalculationMode'
        isPublic:
          type: boolean
        isApplied:
          type: boolean
        isMobile:
          type: boolean
        isFlashSales:
          type: boolean
        displayCountdown:
          type: boolean
        endDate:
          format: date-time
          type: string
    Common.HubValueText_Library.Money_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - type: object
          properties:
            value:
              $ref: '#/components/schemas/Library.Money'
    Common.HubValueText_Common.HubDescriptionType_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: '#/components/schemas/Common.HubDescriptionType'
    Common.HubPicture:
      required:
        - templates
        - sortOrder
      type: object
      properties:
        templates:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Common.HubPictureTemplate'
        sortOrder:
          format: int32
          type: integer
    Common.HubValueText_Common.HubRoomAmenityId_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: '#/components/schemas/Common.HubRoomAmenityId'
    Description.Room.HubRoomBed:
      required:
        - count
        - twoPersonConvertible
      type: object
      properties:
        type:
          $ref: >-
            #/components/schemas/Common.HubValueText_Description.Room.HubBedType_
        size:
          $ref: >-
            #/components/schemas/Common.HubValueText_Description.Room.HubRoomBedSize_
        count:
          format: int32
          type: integer
        twoPersonConvertible:
          type: boolean
    Common.HubValueText_System.Decimal_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              format: decimal
              type: number
    HotelBusiness.Configuration.RoomType:
      enum:
        - None
        - Single
        - Double
        - Twin
        - Triple
        - Quadruple
        - FamilyRoom
        - JuniorSuite
        - Suite
        - Apartment
        - Studio
        - Villa
        - Other
      type: string
    HotelBusiness.OccupancyId:
      format: int32
      type: integer
    Common.HubValueText_Description.Common.HubOccupancyDefinition_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - type: object
          properties:
            value:
              $ref: '#/components/schemas/Description.Common.HubOccupancyDefinition'
    Library.Temporality.ITemporal_HotelBusiness.RateId_:
      pattern: ^(\d{8};\d{8};\d+)(#(\d{8};\d{8};\d+))*$
      type: string
    Search.Room.HubSearchRoomResultRateDescription:
      required:
        - summary
        - cancelConditions
        - qualifier
        - bookingFees
        - deposit
        - pictures
        - mealPlans
        - forceDisplayName
        - isPrivate
        - sortOrder
      type: object
      properties:
        code:
          type: string
        name:
          type: string
        forceDisplayName:
          type: boolean
        isPrivate:
          type: boolean
        sortOrder:
          format: int32
          type: integer
        summary:
          default: []
          type: array
          items:
            $ref: >-
              #/components/schemas/Common.HubValueText_Common.HubDescriptionType_
        cancelConditions:
          default: {}
          allOf:
            - $ref: '#/components/schemas/Common.HubCancelConditionResult'
        qualifier:
          default:
            value: RoomOnly
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.Rate.HubRateQualifier_
        bookingFees:
          default:
            percent: 0
            nominal: 0
          allOf:
            - $ref: >-
                #/components/schemas/Description.Rate.HubRateSellingConditionsBookingFees
        deposit:
          default:
            depositType: Nothing
            percent: 0
          allOf:
            - $ref: >-
                #/components/schemas/Description.Rate.HubRateSellingConditionsDeposit
        pictures:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Common.HubPicture'
        mealPlans:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Description.MealPlan.HubMealPlanDescription'
    Common.HubSearchTaxes:
      required:
        - included
        - excluded
        - onSite
      type: object
      properties:
        included:
          default:
            amount:
              value:
                amount: 0
            details: []
          allOf:
            - $ref: '#/components/schemas/Common.HubTax'
        excluded:
          default:
            amount:
              value:
                amount: 0
            details: []
          allOf:
            - $ref: '#/components/schemas/Common.HubTax'
        onSite:
          default:
            amount:
              value:
                amount: 0
            details: []
          allOf:
            - $ref: '#/components/schemas/Common.HubTax'
    Basket.HubBasketServiceStatus:
      required:
        - internetStatus
        - breakfastStatus
      type: object
      properties:
        internetStatus:
          $ref: '#/components/schemas/Search.HubServiceStatus'
        breakfastStatus:
          $ref: '#/components/schemas/Search.HubServiceStatus'
    Common.HubArticles:
      required:
        - includedArticles
      type: object
      properties:
        includedArticles:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Common.HubSearchArticles'
    Common.HubValueText:
      type: object
      properties:
        text:
          type: string
    Description.Extra.HubExtraClass:
      description: >-
        Whether an extra is attached to a room or to the hotel as a whole.


        - **Room** — The extra is scoped to a specific room in the booking.

        - **Hotel** — The extra is scoped to the hotel and shared across all
        rooms in the booking.
      enum:
        - Room
        - Hotel
      type: string
    Common.HubValueText_Description.Extra.HubExtraType_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: '#/components/schemas/Description.Extra.HubExtraType'
    Common.HubValueText_Description.Extra.HubExtraGratuitousnessType_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: >-
                #/components/schemas/Description.Extra.HubExtraGratuitousnessType
    Description.Extra.HubExtraStock:
      description: >-
        Availability model for an extra's inventory.


        - **Uncountable** — Stock is not tracked for this extra.

        - **Unlimited** — Stock is tracked but never runs out.

        - **Dependent** — Stock is derived from another resource's availability
        (e.g. the parent room).

        - **Limited** — Stock is limited and decreases as bookings consume it.
      enum:
        - Uncountable
        - Unlimited
        - Dependent
        - Limited
      type: string
    Common.HubValueText_Description.Extra.HubExtraCountingType_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: '#/components/schemas/Description.Extra.HubExtraCountingType'
    HotelBusiness.OfferCode.Common.OfferCodeId:
      format: uuid
      type: string
    Common.HubValueText_HotelBusiness.Percent_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: '#/components/schemas/HotelBusiness.Percent'
    Common.HubDiscountCalculationMode:
      description: >-
        How a discount amount is computed against the base price.


        - **None** — No discount computation applies.

        - **PercentageWithoutExtras** — Percentage discount applied to the rate
        excluding extras.

        - **Percentage** — Percentage discount applied to the whole basket
        including extras.

        - **Nominal** — Flat monetary amount subtracted from the price.
      enum:
        - None
        - PercentageWithoutExtras
        - Percentage
        - Nominal
      type: string
    Library.Money:
      required:
        - amount
        - currency
      type: object
      properties:
        amount:
          format: decimal
          type: number
        currency:
          type: string
    Common.HubDescriptionType:
      description: Markup format used for rich-text description fields returned by the API.
      enum:
        - Html
        - Markdown
        - PlainText
      type: string
    Common.HubPictureTemplate:
      type: object
      properties:
        name:
          type: string
        url:
          type: string
    Common.HubRoomAmenityId:
      description: >-
        In-room amenity offered by a hotel room. Values are grouped in ranges by
        category (general, bathroom, appliances).
      enum:
        - NonSmoking
        - AirConditioning
        - MiniBar
        - Soundproof
        - SafeBox
        - IroningBoard
        - DisabledPersonAmenities
        - Terrace
        - Balcony
        - Loggia
        - Phone
        - Bathroom
        - HairDryer
        - Shower
        - Bathtub
        - Bidet
        - Television
        - FlatScreenTelevision
        - ThemedTelevisionChannels
        - DvdPlayer
        - InternetAccess
        - WirelessInternetAccess
        - Radio
        - AlarmClock
        - Computer
        - Printer
        - Fax
      type: string
    Common.HubValueText_Description.Room.HubBedType_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: '#/components/schemas/Description.Room.HubBedType'
    Common.HubValueText_Description.Room.HubRoomBedSize_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - type: object
          properties:
            value:
              $ref: '#/components/schemas/Description.Room.HubRoomBedSize'
    Description.Common.HubOccupancyDefinition:
      required:
        - isDetailed
        - personCount
        - adultCount
        - childCount
        - infantCount
      type: object
      properties:
        isDetailed:
          type: boolean
        personCount:
          format: int32
          type: integer
        adultCount:
          format: int32
          type: integer
        childCount:
          format: int32
          type: integer
        infantCount:
          format: int32
          type: integer
        childrenAges:
          type: array
          items:
            format: int32
            type: integer
    Common.HubCancelConditionResult:
      type: object
      properties:
        name:
          type: array
          items:
            $ref: >-
              #/components/schemas/Common.HubValueText_Common.HubCancelConditionTermsFormat_
        summary:
          type: array
          items:
            $ref: >-
              #/components/schemas/Common.HubValueText_Common.HubCancelConditionTermsFormat_
    Common.HubValueText_Description.Rate.HubRateQualifier_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: '#/components/schemas/Description.Rate.HubRateQualifier'
    Description.Rate.HubRateSellingConditionsBookingFees:
      required:
        - percent
        - nominal
      type: object
      properties:
        percent:
          $ref: '#/components/schemas/HotelBusiness.Percent'
        nominal:
          format: decimal
          type: number
    Description.Rate.HubRateSellingConditionsDeposit:
      required:
        - depositType
        - percent
      type: object
      properties:
        depositType:
          $ref: >-
            #/components/schemas/Description.Rate.HubRateSellingConditionsDepositType
        percent:
          $ref: '#/components/schemas/HotelBusiness.Percent'
    Description.MealPlan.HubMealPlanDescription:
      required:
        - information
        - id
      type: object
      properties:
        rates:
          type: array
          items:
            $ref: '#/components/schemas/HotelBusiness.RateId'
        id:
          $ref: '#/components/schemas/HotelBusiness.ExtraId'
        name:
          type: string
        information:
          default:
            gratuitousnessType:
              value: None
            pricingModel:
              value: None
            category:
              value: None
            personTypeRestriction:
              value: None
            sortOrder: 0
            summaries: []
            pictures: []
          allOf:
            - $ref: '#/components/schemas/Description.MealPlan.HubMealPlanInformation'
    Common.HubTax:
      required:
        - amount
        - details
      type: object
      properties:
        amount:
          default:
            value:
              amount: 0
          allOf:
            - $ref: '#/components/schemas/Common.HubValueText_Library.Money_'
        details:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Common.HubTaxDetail'
    Search.HubServiceStatus:
      description: >-
        Availability of a service (rate qualifier, amenity, etc.) in a search
        result.


        - **None** — Status is not declared.

        - **Included** — Service is included in the rate at no extra charge.

        - **WithCharge** — Service is available but comes with an additional
        charge.

        - **NotAvailable** — Service is not available.
      enum:
        - None
        - Included
        - WithCharge
        - NotAvailable
      type: string
    Common.HubSearchArticles:
      required:
        - dailyPrice
        - articleId
        - type
      type: object
      properties:
        articleId:
          $ref: '#/components/schemas/HotelBusiness.ArticleId'
        type:
          $ref: '#/components/schemas/Common.HubArticleType'
        totalPrice:
          format: decimal
          type: number
        dailyPrice:
          default:
            count: 0
          allOf:
            - $ref: >-
                #/components/schemas/Library.Temporality.ITemporal_Common.ConvertedMoney_
    Description.Extra.HubExtraType:
      description: >-
        Category of an extra offered alongside the room booking.


        - **Undefined** — Extra type is not classified.

        - **StayTax** — Stay tax collected as a booking extra.

        - **OtherTax** — Other tax collected as a booking extra.

        - **Breakfast** — Breakfast service.

        - **AdditionalInfant** — Additional infant beyond the room's base
        occupancy.

        - **AdditionalChild** — Additional child beyond the room's base
        occupancy.

        - **AdditionalAdult** — Additional adult beyond the room's base
        occupancy.

        - **Coffin** — Legacy label historically used for a baby cot; kept for
        backward compatibility with the CRS extra catalogue.

        - **AdditionalBed** — Additional bed added to the room.

        - **Pet** — Pet-related fee.

        - **Parking** — Parking service.

        - **Excursion** — Excursion or activity booked alongside the stay.

        - **Entertainment** — Entertainment service offered by the hotel.

        - **InternetAccess** — Internet access service.

        - **Transfer** — Transfer service (airport shuttle, taxi, etc.).

        - **Cleaning** — Cleaning or housekeeping service.
      enum:
        - Undefined
        - StayTax
        - OtherTax
        - Breakfast
        - AdditionalInfant
        - AdditionalChild
        - AdditionalAdult
        - Coffin
        - AdditionalBed
        - Pet
        - Parking
        - Excursion
        - Entertainment
        - InternetAccess
        - Transfer
        - Cleaning
      type: string
    Description.Extra.HubExtraGratuitousnessType:
      description: |-
        Whether an extra is charged, included in the rate, or offered for free.

        - **None** — Extra is charged normally.
        - **Included** — Extra is included in the rate at no additional cost.
        - **Free** — Extra is available free of charge.
        - **Offered** — Extra is offered as a gift by the hotel.
      enum:
        - None
        - Included
        - Free
        - Offered
      type: string
    Description.Extra.HubExtraCountingType:
      description: |-
        How an extra's quantity is counted for pricing purposes.

        - **Booking** — Counted once per booking regardless of guests or nights.
        - **Day** — Counted per night of the stay.
        - **Person** — Counted per guest for the whole stay.
        - **PersonDay** — Counted per guest and per night.
        - **AdultDay** — Counted per adult and per night.
        - **ChildDay** — Counted per child and per night.
        - **InfantDay** — Counted per infant and per night.
      enum:
        - Booking
        - Day
        - Person
        - PersonDay
        - AdultDay
        - ChildDay
        - InfantDay
      type: string
    HotelBusiness.Percent:
      format: decimal
      type: number
    Description.Room.HubBedType:
      description: Bed configuration offered by a room, ordered from smallest to largest.
      enum:
        - SingleSofa
        - Single
        - SmallDouble
        - DoubleSofa
        - Double
        - QueenSize
        - KingSize
        - SuperKingSize
        - SingleKingSize
      type: string
    Description.Room.HubRoomBedSize:
      required:
        - type
        - width
        - length
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Description.Room.HubBedSizeType'
        width:
          format: int32
          type: integer
        length:
          format: int32
          type: integer
    Common.HubValueText_Common.HubCancelConditionTermsFormat_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: '#/components/schemas/Common.HubCancelConditionTermsFormat'
    Description.Rate.HubRateQualifier:
      description: >-
        Meal-plan and package qualifier attached to a rate.


        - **RoomOnly** — Room only, no meals or services included.

        - **BreakfastIncluded** — Breakfast included.

        - **HalfBoard** — Half board included (breakfast plus one other main
        meal).

        - **FullBoard** — Full board included (breakfast, lunch and dinner).

        - **AllInclusive** — All-inclusive: meals and most beverages included.

        - **SelfCatering** — Self-catering accommodation with cooking
        facilities.

        - **Package** — Non-refundable package rate.

        - **BreakfastIncludedPackage** — Package rate with breakfast included.

        - **HalfBoardPackage** — Package rate with half board included.

        - **FullBoardPackage** — Package rate with full board included.

        - **AllInclusivePackage** — All-inclusive package rate.

        - **SelfCateringPackage** — Self-catering package rate.
      enum:
        - RoomOnly
        - BreakfastIncluded
        - HalfBoard
        - FullBoard
        - AllInclusive
        - SelfCatering
        - Package
        - BreakfastIncludedPackage
        - HalfBoardPackage
        - FullBoardPackage
        - AllInclusivePackage
        - SelfCateringPackage
      type: string
    Description.Rate.HubRateSellingConditionsDepositType:
      description: >-
        How the deposit required to guarantee a booking is defined.


        - **Nothing** — No deposit required.

        - **CreditCardNumber** — Credit card number is collected but no funds
        are captured up-front.

        - **FirstNightWithoutExtras** — Amount of the first night excluding
        extras is captured as deposit.

        - **PercentageWithoutExtras** — A percentage of the room rate (excluding
        extras) is captured as deposit.

        - **PercentageWithExtras** — A percentage of the full booking (including
        extras) is captured as deposit.
      enum:
        - Nothing
        - CreditCardNumber
        - FirstNightWithoutExtras
        - PercentageWithoutExtras
        - PercentageWithExtras
      type: string
    HotelBusiness.RateId:
      format: int32
      type: integer
    Description.MealPlan.HubMealPlanInformation:
      required:
        - gratuitousnessType
        - pricingModel
        - category
        - personTypeRestriction
        - summaries
        - pictures
        - sortOrder
      type: object
      properties:
        gratuitousnessType:
          default:
            value: None
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.Extra.HubExtraGratuitousnessType_
        pricingModel:
          default:
            value: None
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.MealPlan.HubMealPlanPricingModel_
        category:
          default:
            value: None
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.MealPlan.HubMealPlanCategory_
        personTypeRestriction:
          default:
            value: None
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.MealPlan.HubMealPlanPersonTypeRestriction_
        sortOrder:
          format: int32
          type: integer
        summaries:
          default: []
          type: array
          items:
            $ref: >-
              #/components/schemas/Common.HubValueText_Common.HubDescriptionType_
        pictures:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Common.HubPicture'
    Common.HubTaxDetail:
      required:
        - type
        - applyToEntity
      type: object
      properties:
        name:
          type: string
        type:
          $ref: '#/components/schemas/Common.HubTaxType'
        description:
          type: string
        amount:
          $ref: '#/components/schemas/Common.ConvertedMoney'
        dailyTotalAmounts:
          type: array
          items:
            $ref: >-
              #/components/schemas/Search.Room.TemporalValue_Common.ConvertedMoney_
        applyToEntity:
          type: boolean
    HotelBusiness.ArticleId:
      format: int32
      type: integer
    Common.HubArticleType:
      description: >-
        How an article price is charged, combining a guest scope (adult, child,
        infant, all) with a time scope (stay, night).


        - **None** — The article is not charged per guest or per time unit.

        - **PerAdultPerStay** — Charged once per adult for the whole stay.

        - **PerAdultPerNight** — Charged per adult and per night of the stay.

        - **PerChildPerStay** — Charged once per child for the whole stay.

        - **PerChildPerNight** — Charged per child and per night of the stay.

        - **PerInfantPerStay** — Charged once per infant for the whole stay.

        - **PerInfantPerNight** — Charged per infant and per night of the stay.

        - **PerAllPersonsPerStay** — Charged once per guest (adults, children
        and infants) for the whole stay.

        - **PerAllPersonsPerNight** — Charged per guest (adults, children and
        infants) and per night of the stay.
      enum:
        - None
        - PerAdultPerStay
        - PerAdultPerNight
        - PerChildPerStay
        - PerChildPerNight
        - PerInfantPerStay
        - PerInfantPerNight
        - PerAllPersonsPerStay
        - PerAllPersonsPerNight
      type: string
    Library.Temporality.ITemporal_Common.ConvertedMoney_:
      type: array
      items:
        $ref: '#/components/schemas/TemporalItem_Common.ConvertedMoney_'
      properties: {}
    Description.Room.HubBedSizeType:
      description: >-
        Standardised bed dimensions in centimetres. Each value encodes the bed's
        width and length; use Custom when the dimensions do not match any
        preset.
      enum:
        - Custom
        - Size80By190Cm
        - Size90By190Cm
        - Size90By200Cm
        - Size91By188Cm
        - Size91By191Cm
        - Size99By191Cm
        - Size100By190Cm
        - Size100By200Cm
        - Size120By190Cm
        - Size120By200Cm
        - Size135By200Cm
        - Size137By188Cm
        - Size137By191Cm
        - Size140By190Cm
        - Size140By195Cm
        - Size140By200Cm
        - Size150By200Cm
        - Size152By198Cm
        - Size153By203Cm
        - Size154By195Cm
        - Size160By190Cm
        - Size160By200Cm
        - Size167By203Cm
        - Size170By190Cm
        - Size170By195Cm
        - Size180By190Cm
        - Size180By200Cm
        - Size183By198Cm
        - Size183By203Cm
        - Size183By213Cm
        - Size194By195Cm
        - Size194By203Cm
        - Size194By205Cm
        - Size200By200Cm
        - Size203By203Cm
      type: string
    Common.HubCancelConditionTermsFormat:
      description: Format used to render cancellation condition terms shown to end users.
      enum:
        - Default
        - Short
      type: string
    Common.HubValueText_Description.MealPlan.HubMealPlanPricingModel_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: >-
                #/components/schemas/Description.MealPlan.HubMealPlanPricingModel
    Common.HubValueText_Description.MealPlan.HubMealPlanCategory_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: '#/components/schemas/Description.MealPlan.HubMealPlanCategory'
    Common.HubValueText_Description.MealPlan.HubMealPlanPersonTypeRestriction_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: >-
                #/components/schemas/Description.MealPlan.HubMealPlanPersonTypeRestriction
    Common.HubTaxType:
      description: >-
        Category of tax or fee applied to a booking. Values map 1:1 to the
        underlying CRS tax classification.


        - **RateTax** — Tax computed on the room rate amount.

        - **ExtraTax** — Tax computed on a booking extra.

        - **OtherTax** — Fallback bucket for taxes that do not map to a more
        specific type.

        - **TouristTax** — Tourist tax collected on behalf of a tourism
        authority.

        - **CityTax** — Tax levied by the city hosting the hotel.

        - **StateTax** — Tax levied at the state or regional level.

        - **StayTax** — Tax computed on the stay (typically per person per
        night).

        - **VAT** — Value-added tax.

        - **LocalTax** — Locally-defined tax collected by the hotel.

        - **GeneralServiceTax** — General service tax as defined by local tax
        regulation.

        - **GovernmentTax** — Tax levied by the national or federal government.

        - **ServiceCharge** — Service charge added by the hotel (distinct from a
        general service tax).

        - **AccommodationTax** — Tax computed on the accommodation portion of
        the booking.

        - **ConsumptionTax** — Consumption tax as defined by local tax
        regulation.

        - **Custom** — Custom tax freely defined by the hotel.

        - **ResortFee** — Mandatory resort fee (common in US properties).

        - **ServiceFee** — Fixed service fee applied to the booking.

        - **CleaningFee** — Housekeeping or cleaning fee.

        - **CustomFee** — Custom fee freely defined by the hotel.
      enum:
        - RateTax
        - ExtraTax
        - OtherTax
        - TouristTax
        - CityTax
        - StateTax
        - StayTax
        - VAT
        - LocalTax
        - GeneralServiceTax
        - GovernmentTax
        - ServiceCharge
        - AccommodationTax
        - ConsumptionTax
        - Custom
        - ResortFee
        - ServiceFee
        - CleaningFee
        - CustomFee
      type: string
    Search.Room.TemporalValue_Common.ConvertedMoney_:
      allOf:
        - $ref: '#/components/schemas/Search.Room.TemporalValue'
        - type: object
          properties:
            value:
              $ref: '#/components/schemas/Common.ConvertedMoney'
    TemporalItem_Common.ConvertedMoney_:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/Common.ConvertedMoney'
        start:
          format: date
          type: string
        end:
          format: date
          type: string
    Description.MealPlan.HubMealPlanPricingModel:
      description: >-
        How a meal plan's price is computed against the guests staying in the
        room.


        - **None** — Meal plan price is not scoped to a guest category.

        - **PerPerson** — Charged per guest (adults, children and infants).

        - **PerAdult** — Charged per adult only.

        - **PerChild** — Charged per child only.
      enum:
        - None
        - PerPerson
        - PerAdult
        - PerChild
      type: string
    Description.MealPlan.HubMealPlanCategory:
      description: >-
        Category of a meal plan offered with a rate.


        - **None** — Meal plan is not categorised.

        - **Breakfast** — Breakfast only.

        - **MorningSnack** — Morning snack served between breakfast and lunch.

        - **Brunch** — Brunch (combined breakfast and lunch).

        - **Lunch** — Lunch only.

        - **AfternoonSnack** — Afternoon snack served between lunch and dinner.

        - **Dinner** — Dinner only.

        - **HalfBoard** — Half board: breakfast plus one other main meal
        (typically dinner).

        - **FullBoard** — Full board: breakfast, lunch and dinner included.

        - **AllInclusive** — All-inclusive: meals and most beverages included.
      enum:
        - None
        - Breakfast
        - MorningSnack
        - Brunch
        - Lunch
        - AfternoonSnack
        - Dinner
        - HalfBoard
        - FullBoard
        - AllInclusive
      type: string
    Description.MealPlan.HubMealPlanPersonTypeRestriction:
      description: |-
        Guest categories to which a meal plan applies.

        - **None** — No restriction is declared.
        - **Adult** — Applies to adults only.
        - **Child** — Applies to children only.
        - **Infant** — Applies to infants only.
        - **All** — Applies to all guest categories.
      enum:
        - None
        - Adult
        - Child
        - Infant
        - All
      type: string
    Search.Room.TemporalValue:
      type: object
      properties:
        start:
          type: string
          readOnly: true
        end:
          type: string
          readOnly: true

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.