info:
  description: Booking API
  title: Booking API
  version: 1.0.0
servers:
- url: https://pull.niara.tech
  description: "Produ\xE7\xE3o"
- url: https://pull.homolog.niara.tech
  description: "Homologa\xE7\xE3o"
- url: https://pull.dev.niara.tech
  description: Desenvolvimento
paths:
  /v1/api/Pull/Ping:
    post:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PingResponse'
      operationId: PingLambda
      summary: Ping
      description: ''
      requestBody:
        summary: Ping Payload
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PingPayload'
      security:
      - apiKey: []
        secretKey: []
  /v1/api/Pull/GetHotelAvail:
    post:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HotelAvailRS'
      operationId: GetHotelAvailLambda
      summary: Hotel Availability
      description: |-
        ## Introduction

        This API endpoint allows the retrieval of hotel availability information based on specific
        criteria provided in the request payload.

        It allows clients to query for available hotels according to various parameters such as date range,
        location, number of guests, and preferred amenities.

        By sending a POST request to this endpoint with appropriate parameters, the client application can receive
        a comprehensive response detailing available hotels, room types, rates, and any additional services offered.

        The endpoint ensures flexibility by allowing optional parameters to be included,
        such as maximum number of responses, page number for pagination, and language preferences.

        Additionally, the response structure is designed to provide detailed information on each available hotel stay,
        including room details, pricing, and any associated warnings or errors.

        ## Filtering out rates

        It's possible to control which rates you would search/book using the filters defined in
        `HotelSearchCriteria.Criterion.TPA_Extensions`.

        ### Return only NET Rates

        To retrieve only NET rates, apply the following filters:

        ```json
        {
            "AmountIncludingMarkup": false,
            "AmountNotIncludingMarkup": true,
            "AmountIsPackageRates": false
        }
        ```

        ### Return Only Commissionable Rates

        To filter for only commissionable rates, use these filters:

        ```json
        {
            "AmountIncludingMarkup": true,
            "AmountNotIncludingMarkup": false,
            "AmountIsPackageRates": false
        }
        ```

        ### Return Only Non-Package Rates

        To get only the rates that don't require being part of a package, apply this filter:

        ```json
        {
            "AmountIsPackageRates": false
        }
        ```

        If a filter value is null, it'll be considered the default value.

        Please note that it is possible for a rate to be both commissionable and part of a package.
      requestBody:
        summary: Payload da busca
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HotelAvailRQ'
            examples:
              ByHotelRef:
                summary: Search availability for a given Hotel Ref
                value:
                  EchoToken: echo
                  TimeStamp: '2024-03-01T14:05:19.872725Z'
                  PrimaryLangID: 8
                  Target: test
                  Version: 1.0
                  RequestedCurrency: 16
                  HotelSearchCriteria:
                    Criterion:
                      StayDateRange:
                        Start: '2024-05-21'
                        End: '2024-05-22'
                      HotelRefs:
                      - HotelCode: 1014
                      RoomStayCandidatesType:
                        RoomStayCandidates:
                        - GuestCountsType:
                            GuestCounts:
                            - Age: 14
                              AgeQualifyCode: 8
                              Count: 1
                            - Age: 0
                              AgeQualifyCode: 10
                              Count: 2
                          Quantity: 1
      security:
      - apiKey: []
        secretKey: []
  /v1/api/Pull/HotelSearch:
    post:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HotelSearchRS'
      operationId: HotelSearchLambda
      summary: Hotel Search
      description: '    '
      requestBody:
        summary: Payload da busca
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HotelSearchRQ'
            examples:
              HotelSearchById:
                summary: Search by specific ID
                value:
                  EchoToken: 5eed0e58-7aef-44f3-9874-32a958529811
                  Target: Production
                  TimeStamp: '2025-07-16T15:04:28.546989Z'
                  Version: 2.6
                  PrimaryLangID: 8
                  Criteria:
                    Criterion:
                      HotelRefs:
                      - HotelCode: 10027
                      TPA_Extensions:
                        OnlyPreferredHotels: false
                  AvailRatesOnly: false
                  BestOnly: false
                  IsModify: false
                  PageNumber: 1
              HotelSearchByAddress:
                summary: Search by specific ID
                value:
                  EchoToken: 5eed0e58-7aef-44f3-9874-32a958529811
                  Target: Production
                  TimeStamp: '2025-07-16T15:04:28.547030Z'
                  Version: 2.6
                  PrimaryLangID: 8
                  Criteria:
                    Criterion:
                      Address:
                      - CityCode: NIAR_3074
                        StateProvCode: 6052648
                        CountryCode: 40
                      TPA_Extensions:
                        OnlyPreferredHotels: false
                  AvailRatesOnly: false
                  BestOnly: false
                  IsModify: false
                  PageNumber: 1
      security:
      - apiKey: []
        secretKey: []
  /v1/api/Pull/GetHotelDescriptiveInfo:
    post:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HotelDescriptiveInfoRS'
      operationId: GetHotelDescriptiveInfoLambda
      summary: Hotel Descriptive Info
      description: Provides information about hotel, rooms, multimedia, policies,
        etc.
      requestBody:
        summary: Hotel details
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HotelDescriptiveInfoRQ'
      security:
      - apiKey: []
        secretKey: []
  /v1/api/Pull/SendHotelResCancel:
    post:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelRS'
      operationId: SendHotelResCancelLambda
      summary: Hotel Reservation Cancel
      description: Allow cancellation of a given hotel reservation.
      requestBody:
        summary: Cancel Request
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelRQ'
            examples:
              CancelBooking:
                summary: Cancel booking by reservation number.
                value:
                  EchoToken: d24969f0-91d9-4a41-8275-09d09d412ab9
                  Target: Production
                  TimeStamp: '2024-05-07T14:00:09.861739'
                  Version: 2.6
                  PrimaryLangID: pt
                  UniqueID:
                  - ID: BCIP66H
                    Type: Reservation
                  Verification:
                    Email: john@example.com
                    HotelRef:
                      HotelCode: 10081
                    ReservationTimeSpan:
                      Start: '2024-06-12'
                      End: '2024-06-14'
                  Segment: null
              CancelRoom:
                summary: Cancel a specific room from a reservation.
                value:
                  EchoToken: d24969f0-91d9-4a41-8275-09d09d412ab9
                  Target: Production
                  TimeStamp: '2024-05-07T14:00:09.861739'
                  Version: 2.6
                  PrimaryLangID: pt
                  CancelType: CancelRoom
                  Segment:
                  - ItinSegNbr: BCIP66H/1
                    Status: Cancelled
                  UniqueID:
                  - ID: BCIP66H
                    Type: Reservation
                  Verification:
                    Email: john@example.com
                    HotelRef:
                      HotelCode: 10081
                    ReservationTimeSpan:
                      Start: '2024-06-12'
                      End: '2024-06-14'
      security:
      - apiKey: []
        secretKey: []
  /v1/api/Pull/SendHotelRes:
    post:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HotelBookingServiceRS'
      operationId: HotelBookingService
      summary: Hotel Booking Service
      description: ''
      requestBody:
        summary: Payload de booking
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HotelBookingServiceRQ'
            examples:
              ByHotelRef:
                summary: Search availability for a given Hotel Ref
                value:
                  EchoToken: af322a4f-c1ed-4dd3-89d4-43841169d9e6
                  HotelReservationsType:
                    HotelReservations:
                    - POS:
                        Sources:
                        - ISOCountry: BRA
                          PseudoCityCode: null
                      ResGlobalInfo:
                        CommentsType:
                          Comments:
                          - Description: ' Call Center da Niara. Ligar das 13h-17h.'
                        Guarantee:
                          GuaranteesAcceptedType:
                            GuaranteesAccepted:
                            - GuaranteeTypeCode: 8
                              PaymentCard: null
                        HotelReservationsIDsType:
                          HotelReservationIDs:
                          - ResID_Type: AssociatedReservation
                            ResID_Value: BCGFV7V
                        Total:
                          AmountAfterTax: 71.62
                          AmountBeforeTax: 62.28
                          AmountIncludingMarkup: true
                          ChargeType: 12
                          CurrencyCode: 16
                      ResGuestsType:
                        ResGuests:
                        - Age: 1
                          AgeQualifyingCode: 10
                          PrimaryIndicator: true
                          Profiles:
                            ProfileInfos:
                            - Profile:
                                Customer:
                                  Email: jhunu.araujo@niara.tech
                                  PersonName:
                                    GivenName: jhunu
                                    NamePrefix: null
                                    Surname: araujo
                          ResGuestRPH: 1
                      ResStatus:
                        TransactionActionType: Book
                      RoomStaysType:
                        RoomStays:
                        - BasicPropertyInfo:
                            HotelRef:
                              HotelCode: 10027
                          CommentsType: null
                          GuestCountsType:
                            GuestCounts:
                            - AgeQualifyCode: Adult
                              Count: 1
                              ResGuestRPH:
                              - 1
                          RatePlans:
                          - AdditionalDetailsType:
                              AdditionalDetails:
                              - DetailDescription:
                                  Description: Politicas gerais do hotel
                                  Language: 8
                                  Name: Politicas Gerais
                            CancelPenalties:
                            - AmountPercent:
                                Amount: 0.0
                                CurrencyCode: 16
                                NmbrOfNights: 1
                                Percent: 0.0
                              DeadLine:
                                OffsetDropTime: 0
                                OffsetUnitMultiplier: 1
                                TimeUnitType: 0
                              NonRefundable: false
                              PenaltyDescription:
                                Description: "Cancelamento gr\xE1tis at\xE9 24 horas\
                                  \ antes da data do check in"
                                Language: 8
                                Name: Cancelamento 24 horas
                            Commission:
                              Percent: 10.0
                            CurrencyCode: 16
                            Guarantees:
                            - AmountPercent:
                                Amount: 0.0
                                CurrencyCode: 16
                                NmbrOfNights: 0
                                Percent: 30.0
                              DeadLine:
                                OffsetDropTime: 0
                                OffsetUnitMultiplier: 365
                                TimeUnitType: 0
                              GuaranteeCode: 20478
                              GuaranteeDescription:
                                Description: Garantia - 1 Noite
                                Language: 8
                                Name: Garantia - 1 Noite
                              GuaranteesAcceptedType:
                                GuaranteesAccepted:
                                - GuaranteeTypeCode: 5
                                  RPH: 0
                            MealsIncluded:
                              Breakfast: true
                              Description: "Servido das 6h at\xE9 as 10h"
                              Dinner: true
                              ID: 40360
                              Lunch: false
                              MealPlanCode: 12
                              MealPlanIndicator: true
                              Name: "MEIA PENS\xC3O"
                              Price:
                                AmountAfterTax: 0.0
                                AmountBeforeTax: 0.0
                                CurrencyCode: 16
                              ServicePricingType: 21
                            Offers:
                            - Description:
                                Description: 5 % OFF
                                Language: 8
                              Discount:
                                ChargeUnitCode: 18
                                Percent: 5.0
                              OfferCode: 57909#0
                              RPH: 57909#0
                            PaymentPolicies:
                              AcceptedPayments:
                              - GuaranteeTypeCode: 5
                                RPH: 5
                              - GuaranteeTypeCode: 2
                                RPH: 2
                              - GuaranteeTypeCode: 8
                                RPH: 8
                              - GuaranteeTypeCode: 3
                                RPH: 3
                              - GuaranteeTypeCode: 4
                                RPH: 4
                            PriceViewableInd: false
                            RatePlanDescription:
                              Description: ''
                              Language: 8
                            RatePlanID: 400002
                            RatePlanInclusions:
                            - ID: 40361
                              RatePlanInclusionDesciption:
                                Description: Acesso WI FI
                                Language: 8
                                Name: Wi Fi
                            - ID: 40362
                              RatePlanInclusionDesciption:
                                Description: Estacionamento 24 horas free
                                Language: 8
                                Name: Estacionamento
                            - ID: 74616
                              RatePlanInclusionDesciption:
                                Description: "01 garrafa de Moet & Chandon, 750ml\
                                  \ (podendo ser servida no quarto mediante a agendamento\
                                  \ pr\xE9vio)"
                                Language: 8
                                Name: "Mo\xEBt & Chandon"
                            RatePlanName: NIARA - DEV
                            RatePlanTypeCode: 13
                            TPA_Extensions:
                              POS:
                                Sources:
                                - ISOCountry: BRA
                              WLCode: 9
                            TaxPolicies:
                            - CurrencyCode: 16
                              Description: "IMPOSTO SOBRE SERVI\xC7O"
                              ID: 6087
                              IsPerNight: true
                              IsPerPerson: false
                              IsPerRoom: true
                              IsPerStay: false
                              IsValuePercentage: true
                              Name: ISS
                              Value: 15.0
                          RoomRates:
                          - Availability:
                            - AvailabilityStatus: AvailableForSale
                            EffectiveDate: '2024-03-21T00:00:00'
                            ExpireDate: '2024-03-22T00:00:00'
                            RatePlanID: 400002
                            RatesType:
                              Rates:
                              - EffectiveDate: '2024-03-21T00:00:00'
                                NumberOfUnits: 19
                                Total:
                                  AmountAfterTax: 0.0
                                  AmountBeforeTax: 62.28
                                  AmountIncludingMarkup: true
                                  AmountIsPackage: false
                                  ChargeType: 19
                                  CurrencyCode: 16
                            RoomID: 89772
                            RoomStayCandidateRPH: 0
                            ServiceRPHs:
                            - IsPerRoom: false
                              RPH: 40360
                            TPA_Extensions:
                              OccupationFor:
                                Adults: 1
                                Childs: 0
                            Total:
                              AmountAfterTax: 71.62
                              AmountBeforeTax: 62.28
                              AmountIncludingMarkup: true
                              AmountIsPackage: false
                              ChargeType: 18
                              CurrencyCode: 16
                              TPA_Extensions:
                                TotalDiscountValue: 2.95
                              Taxes:
                              - Amount: 9.34
                                CurrencyCode: 16
                                Description: "IMPOSTO SOBRE SERVI\xC7O"
                                ID: 6087
                                Name: ISS
                          RoomTypes:
                          - MaxOccupancy: 2
                            NumberOfUnits: 19
                            Occupancies:
                            - AgeQualifyingCode: 10
                              MaxOccupancy: 2
                              MinOccupancy: 1
                            RoomDescription:
                              Description: "Oferecendo tranquilidade urbana, conforto,\
                                \ qualidade e sofistica\xE7\xE3o, os quartos Superiores\
                                \ expressam a ess\xEAncia da eleg\xE2ncia brasileira,\
                                \ com detalhes artesanais e m\xF3veis de bom gosto\
                                \ que os diferenciam. \n\n(**Este conte\xFAdo \xE9\
                                \ fict\xEDcio para fins de apresenta\xE7\xE3o da plataforma.**)"
                              Language: 8
                            RoomID: 89772
                            RoomName: Superior
                          SpecialRequestsType: null
                          Total:
                            AmountAfterTax: 71.62
                            AmountBeforeTax: 62.28
                            AmountIncludingMarkup: true
                            AmountIsPackage: false
                            ChargeType: 18
                            CurrencyCode: 16
                            TPA_Extensions:
                              TotalDiscountValue: 2.95
                            Taxes:
                            - Amount: 9.34
                              CurrencyCode: 16
                              Description: "IMPOSTO SOBRE SERVI\xC7O"
                              ID: 6087
                              Name: ISS
                  PrimaryLangID: pt
                  Target: Production
                  TimeStamp: '2024-03-21T19:37:10.040444'
                  TransactionIdentifier: BCGFV7V
                  Version: 2.6
      security:
      - apiKey: []
        secretKey: []
  /v1/api/Pull/GetBookings:
    post:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBookingsRS'
      operationId: GetBookingsLambda
      summary: Get Bookings
      description: Retrive information about bookings by ID or period.
      requestBody:
        summary: Payload da consulta
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetBookingsRQ'
            examples:
              GetByUniqueId:
                summary: Retrieve booking by ID.
                value:
                  EchoToken: 5e2d5d5a-bf5e-485f-83a3-044b4780b2bc
                  Target: production
                  TimeStamp: '2024-03-01T18:42:13.479240'
                  Version: 2.6
                  PrimaryLangID: pt
                  UniqueID:
                    ID: BCHPHC5
                    Type: Reservation
              GetByCriteria:
                summary: Retrieve bookings by Hotel Ref and period.
                value:
                  EchoToken: 5e2d5d5a-bf5e-485f-83a3-044b4780b2bc
                  Target: production
                  TimeStamp: '2024-03-01T18:42:13.479240'
                  Version: 2.6
                  PrimaryLangID: pt
                  ReadRequestsType:
                    HotelReadRequests:
                    - HotelRef:
                        HotelCode: 10027
                      SelectionCriteria:
                        Start: '2024-03-01'
                        End: '2024-03-31'
      security:
      - apiKey: []
        secretKey: []
  /v1/api/Pull/GetCountryList:
    post:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCountryListRS'
      operationId: GetCountryListLambda
      summary: Get Country List
      description: Retrive the country list
      requestBody:
        summary: 'GetCountryListRQ(*, PrimaryLangID: schema.common.LanguageCodeEnum
          = <LanguageCodeEnum.br: 8>, EchoToken: str | None = None, TimeStamp: str,
          Target: schema.common.TargetEnum, Version: float = 1)'
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetCountryListRQ'
      security:
      - apiKey: []
        secretKey: []
  /v1/api/Pull/GetStateList:
    post:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStateListRS'
      operationId: GetStateListLambda
      summary: Get State List
      description: Retrive the state list
      requestBody:
        summary: 'GetStateListRQ(*, PrimaryLangID: schema.common.LanguageCodeEnum
          = <LanguageCodeEnum.br: 8>, EchoToken: str | None = None, TimeStamp: str,
          Target: schema.common.TargetEnum, Version: float = 1)'
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetStateListRQ'
      security:
      - apiKey: []
        secretKey: []
  /v1/api/Pull/GetCityList:
    post:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCityListRS'
      operationId: GetCityListLambda
      summary: Get City List
      description: Retrive the city list
      requestBody:
        summary: 'GetCityListRQ(*, PrimaryLangID: schema.common.LanguageCodeEnum =
          <LanguageCodeEnum.br: 8>, EchoToken: str | None = None, TimeStamp: str,
          Target: schema.common.TargetEnum, Version: float = 1)'
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetCityListRQ'
      security:
      - apiKey: []
        secretKey: []
  /v1/api/Pull/GetContentFileUrl:
    post:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetContentFileUrlRS'
      operationId: GetContentFileUrlLambda
      summary: Get Content File Url
      description: |-
        Retrieve a URL to download available content (properties and regions).
        The URL is only available for 60 minutes. After this, a new URL sould be requested.
      requestBody:
        summary: 'GetContentFileUrlRQ(*, PrimaryLangID: schema.common.LanguageCodeEnum
          = <LanguageCodeEnum.br: 8>, EchoToken: str | None = None, TimeStamp: str,
          Target: schema.common.TargetEnum, Version: float = 1)'
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetContentFileUrlRQ'
      security:
      - apiKey: []
        secretKey: []
openapi: 3.0.2
components:
  schemas:
    LanguageCodeEnum:
      type: int
      enum:
      - 8
      - 4
      - 3
      - 1
      - 2
      - 5
      - 6
      - 7
      description: |-
        Values (LanguageCodeEnum):
        `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
    TargetEnum:
      type: int
      enum:
      - 0
      - 1
      description: |-
        Values (TargetEnum):
        `0=Test` | `1=Production`.
    PingPayload:
      description: Ping Payload
      type: object
      properties:
        PrimaryLangID:
          default: 8
          description: |-
            The primary language code for the request (e.g., 'BR' for Brazilian Portuguese).


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        EchoToken:
          type: string
          default: null
          description: An arbitrary string returned in the response for tracking/debugging.
          nullable: true
        TimeStamp:
          type: string
          description: The date and time (ISO format) just before the request is sent.
        Target:
          description: |-
            The target environment for this request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        Version:
          type: number
          default: 1.0
          description: The version number of this request format.
        EchoData:
          type: string
      required:
      - EchoData
      - Target
      - TimeStamp
    Error:
      type: object
      properties:
        Code:
          type: integer
          description: Error code associated with the warning.
        Language:
          description: |-
            Language of the warning message.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        ShortText:
          type: string
          description: Short description or summary of the warning.
      required:
      - Code
      - Language
      - ShortText
    ErrorsType:
      type: object
      properties:
        Errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    Warning:
      type: object
      properties:
        Code:
          type: integer
          description: Error code associated with the warning.
        Language:
          description: |-
            Language of the warning message.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        ShortText:
          type: string
          description: Short description or summary of the warning.
      required:
      - Code
      - Language
      - ShortText
    WarningsType:
      type: object
      properties:
        Warnings:
          type: array
          items:
            $ref: '#/components/schemas/Warning'
    PingResponse:
      description: Ping Response
      type: object
      properties:
        EchoToken:
          type: string
          default: null
          description: The same token received in the request.
          nullable: true
        ErrorsType:
          default: null
          description: Used to inform that an error occurred in the server. The partner
            should contact support with the echotoken passed.
          allOf:
          - $ref: '#/components/schemas/ErrorsType'
          nullable: true
        PrimaryLangID:
          default: 8
          $ref: '#/components/schemas/LanguageCodeEnum'
        Success:
          type: object
          additionalProperties:
            type: string
          nullable: true
        Target:
          description: |-
            The environment target. The same value received in the request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        TimeStamp:
          type: string
          description: The date in ISO format right before the response is sent.
        Version:
          type: number
          description: Version of the API being used. The same value received in the
            request.
        WarningsType:
          default: null
          description: Used to specify a warning related to business rules. This field
            could be present alongside Success.
          allOf:
          - $ref: '#/components/schemas/WarningsType'
          nullable: true
        EchoData:
          type: string
      required:
      - EchoData
      - Target
      - TimeStamp
      - Version
    CurrencyCodeEnum:
      type: int
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      - 10
      - 11
      - 12
      - 13
      - 14
      - 15
      - 16
      - 17
      - 18
      - 19
      - 20
      - 21
      - 22
      - 23
      - 24
      - 25
      - 26
      - 27
      - 28
      - 29
      - 30
      - 31
      - 32
      - 33
      - 34
      - 43
      - 44
      - 46
      - 47
      - 50
      - 52
      - 56
      - 59
      - 62
      - 64
      - 66
      - 72
      - 76
      - 82
      - 83
      - 85
      - 86
      - 91
      - 94
      - 97
      - 98
      - 102
      - 104
      - 108
      - 109
      - 117
      - 118
      - 119
      - 120
      - 121
      - 122
      - 123
      - 124
      - 125
      - 126
      - 127
      - 128
      - 129
      - 130
      - 131
      - 132
      - 133
      - 134
      - 135
      - 136
      - 137
      - 138
      - 139
      - 140
      - 141
      - 142
      - 143
      - 144
      - 145
      - 146
      - 147
      - 148
      - 149
      - 150
      - 151
      - 152
      - 153
      - 154
      - 155
      - 156
      - 157
      - 158
      - 159
      - 160
      - 161
      - 162
      - 163
      - 164
      - 165
      - 166
      - 167
      - 168
      - 169
      - 170
      - 171
      - 172
      - 173
      - 174
      - 175
      - 176
      - 177
      - 178
      - 179
      - 180
      - 181
      - 182
      - 183
      - 184
      - 185
      - 186
      - 187
      - 188
      - 189
      - 190
      - 191
      - 192
      - 193
      - 194
      - 195
      - 196
      - 197
      - 198
      - 199
      - 200
      - 201
      - 202
      - 203
      - 204
      - 205
      - 206
      - 207
      - 208
      - 209
      - 210
      - 211
      - 212
      - 213
      - 214
      - 215
      - 216
      - 217
      - 218
      - 219
      - 220
      - 221
      - 222
      - 223
      - 224
      - 225
      - 226
      - 227
      - 228
      - 229
      - 230
      - 231
      - 232
      - 233
      - 234
      - 235
      - 236
      - 237
      - 238
      description: |-
        Values (CurrencyCodeEnum):
        `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
    UniqueIdTypeEnum:
      type: int
      enum:
      - 3
      - 4
      - 14
      - 25
      description: |-
        Values (UniqueIdTypeEnum):
        `3=CorporationRepresentative` | `4=Company` | `14=Reservation` | `25=AssociatedReservation`.
    RequestorID:
      type: object
      properties:
        ID:
          type: string
          default: null
          description: The ID of the requestor.
          nullable: true
        Type:
          default: null
          description: |-
            A reference to the type of object defined by the UniqueID element. Refer to OpenTravel Code List Unique ID Type (UIT).


            Values (UniqueIdTypeEnum):
            `3=CorporationRepresentative` | `4=Company` | `14=Reservation` | `25=AssociatedReservation`.
          nullable: true
          $ref: '#/components/schemas/UniqueIdTypeEnum'
    Source:
      type: object
      properties:
        PseudoCityCode:
          type: string
          default: BRA
          description: The pseudo city code (PCC).
          nullable: true
        ISOCountry:
          type: string
          default: null
          description: The ISO 3166-1 alpha-2 country code.
          nullable: true
        RequestorID:
          default: null
          description: Information about the requestor.
          allOf:
          - $ref: '#/components/schemas/RequestorID'
          nullable: true
    POSType:
      type: object
      properties:
        Sources:
          type: array
          description: A list of source information for the point of sale.
          items:
            $ref: '#/components/schemas/Source'
    CountryCodeEnum:
      type: int
      enum:
      - 161
      - 177
      - 209
      - 95
      - 168
      - 94
      - 60
      - 189
      - 186
      - 24
      - 104
      - 56
      - 63
      - 198
      - 49
      - 171
      - 102
      - 113
      - 109
      - 148
      - 158
      - 29
      - 200
      - 97
      - 195
      - 73
      - 71
      - 68
      - 181
      - 82
      - 44
      - 72
      - 112
      - 27
      - 118
      - 79
      - 132
      - 32
      - 75
      - 199
      - 120
      - 90
      - 42
      - 18
      - 156
      - 159
      - 108
      - 211
      - 210
      - 54
      - 122
      - 114
      - 39
      - 129
      - 183
      - 178
      - 137
      - 121
      - 17
      - 149
      - 30
      - 196
      - 188
      - 180
      - 36
      - 92
      - 124
      - 141
      - 138
      - 204
      - 103
      - 110
      - 150
      - 208
      - 190
      - 93
      - 111
      - 187
      - 155
      - 123
      - 52
      - 41
      - 45
      - 106
      - 101
      - 107
      - 173
      - 66
      - 160
      - 134
      - 25
      - 127
      - 131
      - 152
      - 176
      - 197
      - 140
      - 205
      - 143
      - 74
      - 116
      - 46
      - 169
      - 55
      - 157
      - 115
      - 99
      - 81
      - 70
      - 146
      - 43
      - 191
      - 86
      - 128
      - 35
      - 77
      - 172
      - 167
      - 78
      - 85
      - 50
      - 145
      - 125
      - 194
      - 179
      - 136
      - 126
      - 19
      - 62
      - 91
      - 201
      - 185
      - 184
      - 142
      - 26
      - 33
      - 80
      - 119
      - 96
      - 133
      - 76
      - 20
      - 117
      - 174
      - 61
      - 147
      - 206
      - 166
      - 98
      - 175
      - 135
      - 58
      - 38
      - 21
      - 139
      - 31
      - 48
      - 87
      - 219
      - 182
      - 153
      - 203
      - 40
      - 100
      - 65
      - 59
      - 28
      - 193
      - 162
      - 64
      - 22
      - 163
      - 214
      - 218
      - 164
      - 216
      - 83
      - 34
      - 69
      - 84
      - 89
      - 144
      - 57
      - 207
      - 67
      - 53
      - 151
      - 88
      - 23
      - 51
      - 37
      - 154
      - 130
      - 105
      - 192
      - 165
      - 217
      - 47
      - 202
      - 170
      - 213
      - 215
      - 212
      description: |-
        Values (CountryCodeEnum):
        `161=RW` | `177=SO` | `209=YE` | `95=IQ` | `168=SA` | `94=IR` | `60=CY` | `189=TZ` | `186=SY` | `24=AM` | `104=KE` | `56=CD` | `63=DJ` | `198=UG` | `49=CF` | `171=SC` | `102=JO` | `113=LB` | `109=KW` | `148=OM` | `158=QA` | `29=BH` | `200=AE` | `97=IL` | `195=TR` | `73=ET` | `71=ER` | `68=EG` | `181=SD` | `82=GR` | `44=BI` | `72=EE` | `112=LV` | `27=AZ` | `118=LT` | `79=GE` | `132=MD` | `32=BY` | `75=FI` | `199=UA` | `120=MK` | `90=HU` | `42=BG` | `18=AL` | `156=PL` | `159=RO` | `108=XK` | `211=ZW` | `210=ZM` | `54=KM` | `122=MW` | `114=LS` | `39=BW` | `129=MU` | `183=SZ` | `178=ZA` | `137=MZ` | `121=MG` | `17=AF` | `149=PK` | `30=BD` | `196=TM` | `188=TJ` | `180=LK` | `36=BT` | `92=IN` | `124=MV` | `141=NP` | `138=MM` | `204=UZ` | `103=KZ` | `110=KG` | `150=PW` | `208=VD` | `190=TH` | `93=ID` | `111=LA` | `187=TW` | `155=PH` | `123=MY` | `52=CN` | `41=BN` | `45=KH` | `106=KP` | `101=JP` | `107=KR` | `173=SG` | `66=TP` | `160=RU` | `134=MN` | `25=AU` | `127=MH` | `131=FM` | `152=PG` | `176=SB` | `197=TV` | `140=NR` | `205=VU` | `143=NZ` | `74=FJ` | `116=LY` | `46=CM` | `169=SN` | `55=CG` | `157=PT` | `115=LR` | `99=CI` | `81=GH` | `70=GQ` | `146=NG` | `43=BF` | `191=TG` | `86=GW` | `128=MR` | `35=BJ` | `77=GA` | `172=SL` | `167=ST` | `78=GM` | `85=GN` | `50=TD` | `145=NE` | `125=ML` | `194=TN` | `179=ES` | `136=MA` | `126=MT` | `19=DZ` | `62=DK` | `91=IS` | `201=GB` | `185=CH` | `184=SE` | `142=NL` | `26=AT` | `33=BE` | `80=DE` | `119=LU` | `96=IE` | `133=MC` | `76=FR` | `20=AD` | `117=LI` | `174=SK` | `61=CZ` | `147=NO` | `206=VA` | `166=SM` | `98=IT` | `175=SI` | `135=ME` | `58=HR` | `38=BA` | `21=AO` | `139=NA` | `31=BB` | `48=CV` | `87=GY` | `219=GF` | `182=SR` | `153=PY` | `203=UY` | `40=BR` | `100=JM` | `65=DO` | `59=CU` | `28=BS` | `193=TT` | `162=KN` | `64=DM` | `22=AG` | `163=LC` | `214=AW` | `218=VG` | `164=VC` | `216=MF` | `83=GD` | `34=BZ` | `69=SV` | `84=GT` | `89=HN` | `144=NI` | `57=CR` | `207=VE` | `67=EC` | `53=CO` | `151=PA` | `88=HT` | `23=AR` | `51=CL` | `37=BO` | `154=PE` | `130=MX` | `105=KI` | `192=TO` | `165=WS` | `217=PR` | `47=CA` | `202=US` | `170=RS` | `213=CW` | `215=BQ` | `212=HK`.
    Address:
      type: object
      properties:
        AddressLine:
          type: string
          default: null
          description: The street address or line 1 of the address.
          nullable: true
        CityCode:
          default: null
          description: A numerical code for the city.
          nullable: true
          oneOf:
          - type: integer
          - type: string
        CityName:
          type: string
          default: null
          description: The name of the city.
          nullable: true
        CountryCode:
          default: null
          description: |-
            The three-letter country code (ISO 3166-1 alpha-3).


            Values (CountryCodeEnum):
            `161=RW` | `177=SO` | `209=YE` | `95=IQ` | `168=SA` | `94=IR` | `60=CY` | `189=TZ` | `186=SY` | `24=AM` | `104=KE` | `56=CD` | `63=DJ` | `198=UG` | `49=CF` | `171=SC` | `102=JO` | `113=LB` | `109=KW` | `148=OM` | `158=QA` | `29=BH` | `200=AE` | `97=IL` | `195=TR` | `73=ET` | `71=ER` | `68=EG` | `181=SD` | `82=GR` | `44=BI` | `72=EE` | `112=LV` | `27=AZ` | `118=LT` | `79=GE` | `132=MD` | `32=BY` | `75=FI` | `199=UA` | `120=MK` | `90=HU` | `42=BG` | `18=AL` | `156=PL` | `159=RO` | `108=XK` | `211=ZW` | `210=ZM` | `54=KM` | `122=MW` | `114=LS` | `39=BW` | `129=MU` | `183=SZ` | `178=ZA` | `137=MZ` | `121=MG` | `17=AF` | `149=PK` | `30=BD` | `196=TM` | `188=TJ` | `180=LK` | `36=BT` | `92=IN` | `124=MV` | `141=NP` | `138=MM` | `204=UZ` | `103=KZ` | `110=KG` | `150=PW` | `208=VD` | `190=TH` | `93=ID` | `111=LA` | `187=TW` | `155=PH` | `123=MY` | `52=CN` | `41=BN` | `45=KH` | `106=KP` | `101=JP` | `107=KR` | `173=SG` | `66=TP` | `160=RU` | `134=MN` | `25=AU` | `127=MH` | `131=FM` | `152=PG` | `176=SB` | `197=TV` | `140=NR` | `205=VU` | `143=NZ` | `74=FJ` | `116=LY` | `46=CM` | `169=SN` | `55=CG` | `157=PT` | `115=LR` | `99=CI` | `81=GH` | `70=GQ` | `146=NG` | `43=BF` | `191=TG` | `86=GW` | `128=MR` | `35=BJ` | `77=GA` | `172=SL` | `167=ST` | `78=GM` | `85=GN` | `50=TD` | `145=NE` | `125=ML` | `194=TN` | `179=ES` | `136=MA` | `126=MT` | `19=DZ` | `62=DK` | `91=IS` | `201=GB` | `185=CH` | `184=SE` | `142=NL` | `26=AT` | `33=BE` | `80=DE` | `119=LU` | `96=IE` | `133=MC` | `76=FR` | `20=AD` | `117=LI` | `174=SK` | `61=CZ` | `147=NO` | `206=VA` | `166=SM` | `98=IT` | `175=SI` | `135=ME` | `58=HR` | `38=BA` | `21=AO` | `139=NA` | `31=BB` | `48=CV` | `87=GY` | `219=GF` | `182=SR` | `153=PY` | `203=UY` | `40=BR` | `100=JM` | `65=DO` | `59=CU` | `28=BS` | `193=TT` | `162=KN` | `64=DM` | `22=AG` | `163=LC` | `214=AW` | `218=VG` | `164=VC` | `216=MF` | `83=GD` | `34=BZ` | `69=SV` | `84=GT` | `89=HN` | `144=NI` | `57=CR` | `207=VE` | `67=EC` | `53=CO` | `151=PA` | `88=HT` | `23=AR` | `51=CL` | `37=BO` | `154=PE` | `130=MX` | `105=KI` | `192=TO` | `165=WS` | `217=PR` | `47=CA` | `202=US` | `170=RS` | `213=CW` | `215=BQ` | `212=HK`.
          nullable: true
          $ref: '#/components/schemas/CountryCodeEnum'
        CountryName:
          type: string
          default: null
          description: The full name of the country.
          nullable: true
        PostalCode:
          type: string
          default: null
          description: The postal or zip code.
          nullable: true
        StateProvCode:
          type: integer
          default: null
          description: A numerical code for the state or province.
          nullable: true
        StateProv:
          type: string
          default: null
          description: Name of the state or province.
          nullable: true
        ZoneCode:
          type: integer
          default: null
          description: A numerical code for the zone or area within the city.
          nullable: true
    Award:
      type: object
      properties:
        Rating:
          type: integer
          description: The numerical rating of the award.
        Name:
          type: string
          default: null
          description: The name or title of the award.
          nullable: true
      required:
      - Rating
    HotelRef:
      type: object
      properties:
        BrandName:
          default: null
          description: The brand of the hotel (if applicable).
          nullable: true
          oneOf:
          - type: integer
          - type: string
        ChainCode:
          default: null
          description: The code of the hotel chain (if applicable).
          nullable: true
          oneOf:
          - type: integer
          - type: string
        ChainName:
          type: string
          default: null
          description: The name of the hotel chain (if applicable).
          nullable: true
        HotelCode:
          description: The unique code of the hotel.
          oneOf:
          - type: integer
          - type: string
        HotelName:
          type: string
          default: null
          description: The name of the hotel.
          nullable: true
      required:
      - HotelCode
    Position:
      type: object
      properties:
        Latitude:
          type: string
          default: null
          description: The latitude coordinate of the location.
          nullable: true
        Longitude:
          type: string
          default: null
          description: The longitude coordinate of the location.
          nullable: true
    Location:
      type: object
      properties:
        LocationCode:
          type: string
          description: A code identifying the location (e.g., airport code, city code).
        CodeContext:
          type: string
          description: Identifies the context of the identifying code (e.g., IATA,
            ARC, or internal code).
      required:
      - CodeContext
      - LocationCode
    UniqueIDCodeEnum:
      type: int
      enum:
      - 14
      - 25
      description: |-
        Values (UniqueIDCodeEnum):
        `14=Reservation` | `25=AssociatedReservation`.
    UniqueID:
      type: object
      properties:
        ID:
          type: string
          description: Unique identifier.
        Type:
          description: |-
            Type of the identifier.


            Values (UniqueIDCodeEnum):
            `14=Reservation` | `25=AssociatedReservation`.
          $ref: '#/components/schemas/UniqueIDCodeEnum'
        Reason:
          type: string
          default: null
          description: Reason or context for the identifier, if any.
          nullable: true
      required:
      - ID
      - Type
    ProfileInfo:
      type: object
      properties:
        UniqueID:
          description: Unique identifier details for the profile, typically referencing
            a reservation locator or loyalty program number.
          allOf:
          - $ref: '#/components/schemas/UniqueID'
      required:
      - UniqueID
    ProfilesType:
      type: object
      properties:
        ProfileInfo:
          description: Information about a user's profile, including a unique identifier.
          allOf:
          - $ref: '#/components/schemas/ProfileInfo'
      required:
      - ProfileInfo
    UnitOfMesureCodeEnum:
      type: int
      enum:
      - 1
      - 2
      - 3
      - 6
      - 7
      description: |-
        Values (UnitOfMesureCodeEnum):
        `1=Miles` | `2=Kilometers` | `3=Meters` | `6=Yards` | `7=Feet`.
    Radius:
      type: object
      properties:
        DistanceMax:
          type: integer
          description: The maximum distance from the specified location.
        UnitOfMesureCode:
          description: |-
            The unit of measure in a code format. Refer to OpenTravel RoomAmenity List Unit of Measure RoomAmenity (UOM).


            Values (UnitOfMesureCodeEnum):
            `1=Miles` | `2=Kilometers` | `3=Meters` | `6=Yards` | `7=Feet`.
          $ref: '#/components/schemas/UnitOfMesureCodeEnum'
      required:
      - DistanceMax
      - UnitOfMesureCode
    RatePlanCandidate:
      type: object
      properties:
        GroupCode:
          type: string
          default: null
          description: The code associated with a group booking or rate.
          nullable: true
        PromotionCode:
          type: string
          default: null
          description: A promotional code that may offer a discount or special rate.
          nullable: true
        RatePlanType:
          type: integer
          default: null
          description: An enumerated type that allows the query to specify a rate
            category type, and provides major categories for comparison across brands.
            Refer to OpenTravel Code List Rate Plan Type (RPT).
          nullable: true
    RatePlanCandidatesType:
      type: object
      properties:
        RatePlanCandidate:
          description: Information about a potential rate plan candidate for a booking,
            including group code, promotion code, and rate plan type.
          allOf:
          - $ref: '#/components/schemas/RatePlanCandidate'
      required:
      - RatePlanCandidate
    AgeQualifyCodeEnum:
      type: int
      enum:
      - 10
      - 8
      - 7
      description: |-
        Values (AgeQualifyCodeEnum):
        `10=Adult` | `8=Child` | `7=Infant`.
    GuestCount:
      type: object
      properties:
        Age:
          type: integer
          default: null
          description: The age of the guest (required if AgeQualifyCode=8).
          nullable: true
        AgeQualifyCode:
          description: |-
            A code indicating the age category of the guest (e.g., adult, child).


            Values (AgeQualifyCodeEnum):
            `10=Adult` | `8=Child` | `7=Infant`.
          $ref: '#/components/schemas/AgeQualifyCodeEnum'
        Count:
          type: integer
          description: The number of guests of the specified age or age category.
        ResGuestRPH:
          type: integer
          default: null
          description: The Rate Plan Header (RPH) number for the service.
          nullable: true
      required:
      - AgeQualifyCode
      - Count
    GuestCountsType:
      type: object
      properties:
        GuestCounts:
          type: array
          description: A list of guest counts, each specifying the number of guests
            in a particular age category.
          items:
            $ref: '#/components/schemas/GuestCount'
    RoomStayCandidate:
      type: object
      properties:
        BookingCode:
          type: integer
          default: null
          description: Preencher algo aqui.
          nullable: true
        GuestCountsType:
          description: Information about the number of guests in the room stay candidate.
          allOf:
          - $ref: '#/components/schemas/GuestCountsType'
        Quantity:
          type: integer
          description: The number of rooms requested for this room stay candidate.
        RPH:
          type: integer
          default: null
          description: The Rate Plan Header (RPH) number for the service.
          nullable: true
        RoomID:
          type: integer
          default: null
          description: The unique identifier for the room type.
          nullable: true
      required:
      - GuestCountsType
      - Quantity
    RoomStayCandidatesType:
      type: object
      properties:
        RoomStayCandidates:
          type: array
          description: A list of potential room stay candidates, each with guest count
            information and quantity.
          items:
            $ref: '#/components/schemas/RoomStayCandidate'
      required:
      - RoomStayCandidates
    StayDateRange:
      type: object
      properties:
        Duration:
          type: integer
          default: null
          description: The duration of the stay in days.
          nullable: true
        End:
          type: string
          description: The end date of the stay (ISO 8601 format).
        Start:
          type: string
          description: The start date of the stay (ISO 8601 format).
      required:
      - End
      - Start
    MealPlanCodeFilterEnum:
      type: int
      enum:
      - 1
      - 3
      - 10
      - 12
      - 14
      description: |-
        Values (MealPlanCodeFilterEnum):
        `1=AllInclusive` | `3=BedBreakfast` | `10=FullBoard` | `12=HalfBoard` | `14=RoomOnly`.
    MultimediaObjects:
      type: object
      properties:
        SendData:
          type: boolean
          default: true
          description: Send multimidia data if true.
    RateRoomsIdsFilter:
      type: object
      properties:
        RatePlanId:
          type: integer
          default: null
          description: Used to filter source data based on RatePlan IDs. Default is
            null.
          nullable: true
        RoomTypeId:
          type: integer
          default: null
          description: Used to filter source data based on RoomType IDs. Default is
            null.
          nullable: true
    HotelSearchCriterionTPAExtensions:
      type: object
      properties:
        AmountIncludingMarkup:
          type: boolean
          default: true
          description: Indicates if the requested rates should include markup (true)
            or not (false).
          nullable: true
        AmountIsPackageRates:
          type: boolean
          default: null
          description: Indicates if the requested rates should be package rates (true)
            or not (false).
          nullable: true
        AmountNotIncludingMarkup:
          type: boolean
          default: null
          description: Indicates if the requested rates should not include markup
            (true) or not (false).
          nullable: true
        BestOnlyWithTaxes:
          type: boolean
          default: true
          description: When true indicate that response should include taxes in best
            price (Best Only). Default is true.
        IsForMobile:
          type: boolean
          default: null
          description: Indicates if the search is from a mobile device (true) or not
            (false).
          nullable: true
        MealPlanId:
          default: null
          description: |-
            Filter results that include the code identifying the meal plan (MPT code).


            Values (MealPlanCodeFilterEnum):
            `1=AllInclusive` | `3=BedBreakfast` | `10=FullBoard` | `12=HalfBoard` | `14=RoomOnly`.
          nullable: true
          $ref: '#/components/schemas/MealPlanCodeFilterEnum'
        MultimediaObjects:
          default: null
          description: Control the multimidia data in the response. Not yet implemented.
          allOf:
          - $ref: '#/components/schemas/MultimediaObjects'
          nullable: true
        OnlyPreferredHotels:
          type: boolean
          default: false
          description: Indicates if only preferred hotels should be returned in the
            search results (true) or not (false).
        RatePlanIds:
          type: array
          default: null
          description: Used to filter source data based on RatePlan IDs. Default is
            null. Not yet implemented.
          items:
            type: integer
          nullable: true
        RateRoomIds:
          type: array
          default: null
          description: Used to filter source data based on pairs RatePlan IDs RoomType
            Ids. Default is null. Not yet implemented.
          items:
            $ref: '#/components/schemas/RateRoomsIdsFilter'
          nullable: true
        RoomTypeIds:
          type: array
          default: null
          description: Used to filter source data based on RoomType IDs. Default is
            null. Not yet implemented.
          items:
            type: integer
          nullable: true
    Criterion:
      type: object
      properties:
        Address:
          default: null
          description: The address around which to search for hotels.
          allOf:
          - $ref: '#/components/schemas/Address'
          nullable: true
        Award:
          default: null
          description: The award or rating the hotel should have.
          allOf:
          - $ref: '#/components/schemas/Award'
          nullable: true
        GetPricesPerGuest:
          type: boolean
          default: false
          description: When true rate prices has guest individual prices in tpa extensions.
            Not implementted!
        HotelRefs:
          type: array
          default: null
          description: A list of hotel references to search for.
          items:
            $ref: '#/components/schemas/HotelRef'
          nullable: true
        Position:
          default: null
          description: The geographical position (latitude and longitude) around which
            to search for hotels.
          allOf:
          - $ref: '#/components/schemas/Position'
          nullable: true
        Location:
          default: null
          description: The location code (e.g., airport code, city code) and its context
            to search for hotels.
          allOf:
          - $ref: '#/components/schemas/Location'
          nullable: true
        ProfilesType:
          default: null
          description: Profile information for the guests included in the search.
          allOf:
          - $ref: '#/components/schemas/ProfilesType'
          nullable: true
        Radius:
          default: null
          description: The maximum distance from the specified location to search
            for hotels.
          allOf:
          - $ref: '#/components/schemas/Radius'
          nullable: true
        RatePlanCandidatesType:
          type: array
          default: null
          description: A list of rate plan candidates to filter the search results.
          items:
            $ref: '#/components/schemas/RatePlanCandidatesType'
          nullable: true
        RoomStayCandidatesType:
          description: The desired room types and occupancy for the stay.
          allOf:
          - $ref: '#/components/schemas/RoomStayCandidatesType'
        StayDateRange:
          description: The date range for the hotel stay.
          allOf:
          - $ref: '#/components/schemas/StayDateRange'
        TPA_Extensions:
          default: null
          description: Additional criteria specific to the Travel Partner Agreement
            (TPA).
          allOf:
          - $ref: '#/components/schemas/HotelSearchCriterionTPAExtensions'
          nullable: true
      required:
      - RoomStayCandidatesType
      - StayDateRange
    HotelSearchCriteria:
      type: object
      properties:
        AvailableOnlyIndicator:
          type: boolean
          default: null
          description: Indicates whether to return only hotels with available rates
            (true).
          nullable: true
        Criterion:
          description: The main search criteria for finding available hotels.
          allOf:
          - $ref: '#/components/schemas/Criterion'
      required:
      - Criterion
    Quotation:
      type: object
      properties:
        BuyerName:
          type: string
          description: The full name of the person requesting the quotation.
        BuyerEmail:
          type: string
          default: null
          description: The email of the person requesting the quotation.
          nullable: true
        BuyerPhone:
          type: string
          default: null
          description: The phone of the person requesting the quotation.
          nullable: true
        SendMail:
          type: boolean
          default: null
          description: When true, the system should send the mail quotation.
          nullable: true
      required:
      - BuyerName
    HotelAvailRQ:
      description: Payload da busca
      type: object
      properties:
        PrimaryLangID:
          default: 8
          description: |-
            The primary language code for the request (e.g., 'BR' for Brazilian Portuguese).


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        EchoToken:
          type: string
          default: null
          description: An arbitrary string returned in the response for tracking/debugging.
          nullable: true
        TimeStamp:
          type: string
          description: The date and time (ISO format) just before the request is sent.
        Target:
          description: |-
            The target environment for this request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        Version:
          type: number
          default: 1.0
          description: The version number of this request format.
        MaxResponses:
          type: integer
          default: 100
          description: The number of hotels to search to.
          nullable: true
        PageNumber:
          type: integer
          default: null
          description: The page number for paginated results.
          nullable: true
        AvailRatesOnly:
          type: boolean
          default: true
          description: Indicates whether to return only hotels with available rates
            (true) or all hotels (false).
        BestOnly:
          type: boolean
          default: true
          description: '(Note: if not passed, the default value is true) Indicates
            whether to return only the best available rate for each hotel (true) or
            all available rates (false).'
        OnRequestInd:
          type: boolean
          default: null
          description: Indicates whether availability is requested on request (true)
            or not (false).
          nullable: true
        IsModify:
          type: boolean
          default: null
          description: Indicates whether this is a request to modify an existing booking
            (true) or not (false).
          nullable: true
        RequestedCurrency:
          default: 1
          description: |-
            The requested currency for the prices in the response.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          $ref: '#/components/schemas/CurrencyCodeEnum'
        POSType:
          default: null
          description: Point of sale information for the request.
          allOf:
          - $ref: '#/components/schemas/POSType'
          nullable: true
        HotelSearchCriteria:
          description: The criteria for searching for available hotels.
          allOf:
          - $ref: '#/components/schemas/HotelSearchCriteria'
        Quotation:
          default: null
          description: Optional quotation details for the request; if provided, includes
            buyer contact information and whether the quotation should be sent by
            email.
          allOf:
          - $ref: '#/components/schemas/Quotation'
          nullable: true
      required:
      - HotelSearchCriteria
      - Target
      - TimeStamp
    TimeUnitEnum:
      type: int
      enum:
      - 0
      description: |-
        Values (TimeUnitEnum):
        `0=Day`.
    RestrictionTypeEnum:
      type: int
      enum:
      - 0
      - 1
      - 2
      - 3
      description: |-
        Values (RestrictionTypeEnum):
        `0=MinLOS` | `1=MaxLOS` | `2=FixedLOS` | `3=MinAdvanceBook`.
    Restriction:
      type: object
      properties:
        Time:
          type: string
          description: The time component of the restriction.
        TimeUnit:
          description: |-
            The unit of time for the restriction.


            Values (TimeUnitEnum):
            `0=Day`.
          $ref: '#/components/schemas/TimeUnitEnum'
        RestrictionType:
          description: |-
            The type of restriction.


            Values (RestrictionTypeEnum):
            `0=MinLOS` | `1=MaxLOS` | `2=FixedLOS` | `3=MinAdvanceBook`.
          $ref: '#/components/schemas/RestrictionTypeEnum'
      required:
      - RestrictionType
      - Time
      - TimeUnit
    Availability:
      type: object
      properties:
        Start:
          type: string
          description: The start date (ISO 8601 format) for which the availability
            information is valid.
        End:
          type: string
          description: The end date (ISO 8601 format) for which the availability information
            is valid.
        Restriction:
          type: array
          description: A list of restrictions that apply to the availability (e.g.,
            minimum stay, closed to arrival).
          items:
            $ref: '#/components/schemas/Restriction'
      required:
      - End
      - Start
    VendorMessage:
      type: object
      properties:
        Language:
          description: |-
            Language of the message.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        Description:
          type: string
          description: Description in plain text format.
      required:
      - Description
      - Language
    VendorMessagesType:
      type: object
      properties:
        VendorMessages:
          type: array
          description: List of specific message associated with this vendor.
          items:
            $ref: '#/components/schemas/VendorMessage'
      required:
      - VendorMessages
    BasicPropertyInfo:
      type: object
      properties:
        CurrencyCode:
          default: null
          description: |-
            The currency code (e.g., 'USD', 'EUR') used for prices at this property.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          nullable: true
          $ref: '#/components/schemas/CurrencyCodeEnum'
        ImageURL:
          type: string
          default: null
          description: The URL of an image representing the property.
          nullable: true
        Award:
          default: null
          description: A dictionary of awards or ratings for the property, where the
            key is the award name and the value is the rating.
          allOf:
          - $ref: '#/components/schemas/Award'
          nullable: true
        Address:
          default: null
          description: The address of the property.
          allOf:
          - $ref: '#/components/schemas/Address'
          nullable: true
        HotelRef:
          default: null
          description: Reference information for the hotel, including chain code,
            chain name, hotel code, and hotel name.
          allOf:
          - $ref: '#/components/schemas/HotelRef'
          nullable: true
        Position:
          default: null
          description: The geographic coordinates (latitude and longitude) of the
            property.
          allOf:
          - $ref: '#/components/schemas/Position'
          nullable: true
        VendorMessagesType:
          default: null
          description: A collection of VendorMessages.
          allOf:
          - $ref: '#/components/schemas/VendorMessagesType'
          nullable: true
    Price:
      type: object
      properties:
        AmountAfterTax:
          type: number
          description: The total amount including taxes.
        AmountBeforeTax:
          type: number
          description: The amount before taxes are applied.
        CurrencyCode:
          description: |-
            The currency code (e.g., 'USD', 'EUR') for the prices.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          $ref: '#/components/schemas/CurrencyCodeEnum'
        End:
          type: string
          default: null
          description: The end date (ISO 8601 format) for which this price is valid.
          nullable: true
        Start:
          type: string
          default: null
          description: The start date (ISO 8601 format) for which this price is valid.
          nullable: true
        Duration:
          type: string
          default: null
          description: The duration for which this price is valid.
          nullable: true
      required:
      - AmountAfterTax
      - AmountBeforeTax
      - CurrencyCode
    HotelStayTPAExtensions:
      type: object
      properties:
        SupplierCode:
          type: string
          default: null
          description: The code of the supplier providing the hotel stay.
          nullable: true
        QuotationLink:
          type: string
          default: null
          description: The URL address for quotation generation.
          nullable: true
    HotelStay:
      type: object
      properties:
        Availability:
          type: array
          default: null
          description: A list of availability information for the hotel stay, including
            status and warnings.
          items:
            $ref: '#/components/schemas/Availability'
          nullable: true
        BasicPropertyInfo:
          description: Basic information about the hotel, such as address, contact
            numbers, awards, amenities, and policies.
          allOf:
          - $ref: '#/components/schemas/BasicPropertyInfo'
        Price:
          description: Price information for the hotel stay, including start and end
            dates, amounts, and currency.
          allOf:
          - $ref: '#/components/schemas/Price'
        RoomStayRPH:
          type: integer
          description: The Rate Plan Header (RPH) number for the associated room stay.
        Status:
          type: string
          default: Open
          description: Used to specify an availability status at the Hotel Stay level
            for a property.
        TPA_Extensions:
          description: Additional information or extensions specific to the Travel
            Partner Agreement (TPA) for the hotel stay.
          allOf:
          - $ref: '#/components/schemas/HotelStayTPAExtensions'
      required:
      - BasicPropertyInfo
      - Price
      - RoomStayRPH
      - TPA_Extensions
    HotelStaysType:
      type: object
      properties:
        HotelStays:
          type: array
          description: A list of hotel stays, each containing details about a specific
            hotel and its associated room stays.
          items:
            $ref: '#/components/schemas/HotelStay'
    AdditionalDetailDescription:
      type: object
      properties:
        Description:
          type: string
          default: null
          description: A description of the additional detail.
          nullable: true
        Name:
          type: string
          description: The name or title of the additional detail.
        Language:
          description: |-
            The language code (e.g., 'EN', 'ES') for the description.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
      required:
      - Language
      - Name
    AdditionalDetail:
      type: object
      properties:
        DetailDescription:
          description: Language-specific description and name for an additional detail.
          allOf:
          - $ref: '#/components/schemas/AdditionalDetailDescription'
      required:
      - DetailDescription
    AdditionalDetailsType:
      type: object
      properties:
        AdditionalDetails:
          type: array
          description: A list of additional details.
          items:
            $ref: '#/components/schemas/AdditionalDetail'
    RatePlanDescription:
      type: object
      properties:
        Description:
          type: string
          default: null
          description: The description of the rate plan.
          nullable: true
        Language:
          description: |-
            The language code (e.g., 'EN', 'ES') for the description.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
      required:
      - Language
    MealPlanCodeEnum:
      type: int
      enum:
      - 1
      - 3
      - 10
      - 12
      description: |-
        Values (MealPlanCodeEnum):
        `1=AllInclusive` | `3=BedBreakfast` | `10=FullBoard` | `12=HalfBoard`.
    ServicePricingTypeEnum:
      type: int
      enum:
      - 7
      - 12
      - 18
      - 19
      - 20
      - 21
      - 25
      description: |-
        Values (ServicePricingTypeEnum):
        `7=PerPerson` | `12=PerStay` | `18=PerRoomPerStay` | `19=PerRoomPerNight` | `20=PerPersonPerStay` | `21=PerPersonPerNight` | `25=PerRoom` | `19=PerNight`.
    MealsIncluded:
      type: object
      properties:
        Breakfast:
          type: boolean
          description: Indicates whether breakfast is included in the meal plan (true)
            or not (false).
        Dinner:
          type: boolean
          description: Indicates whether dinner is included in the meal plan (true)
            or not (false).
        Lunch:
          type: boolean
          description: Indicates whether lunch is included in the meal plan (true)
            or not (false).
        MealPlanIndicator:
          type: boolean
          default: true
          description: Indicates whether a meal plan is associated with the rate (true)
            or not (false).
        MealPlanCode:
          description: |-
            The code identifying the meal plan (MPT code).


            Values (MealPlanCodeEnum):
            `1=AllInclusive` | `3=BedBreakfast` | `10=FullBoard` | `12=HalfBoard`.
          $ref: '#/components/schemas/MealPlanCodeEnum'
        ID:
          type: integer
          default: null
          description: The unique identifier for the meal plan.
          nullable: true
        Name:
          type: string
          default: null
          description: The name of the meal plan.
          nullable: true
        Description:
          type: string
          default: null
          description: A description of the meal plan.
          nullable: true
        ServicePricingType:
          default: 21
          description: |-
            The service pricing type for the meal plan (CHG code).


            Values (ServicePricingTypeEnum):
            `7=PerPerson` | `12=PerStay` | `18=PerRoomPerStay` | `19=PerRoomPerNight` | `20=PerPersonPerStay` | `21=PerPersonPerNight` | `25=PerRoom` | `19=PerNight`.
          $ref: '#/components/schemas/ServicePricingTypeEnum'
        Price:
          default: null
          description: The price information for the meal plan, including amount before
            and after tax.
          allOf:
          - $ref: '#/components/schemas/Price'
          nullable: true
      required:
      - Breakfast
      - Dinner
      - Lunch
      - MealPlanCode
    RatePlanInclusionDescription:
      type: object
      properties:
        Name:
          type: string
          default: null
          description: The name of the rate plan inclusion.
          nullable: true
        Description:
          type: string
          default: null
          description: A description of the rate plan inclusion.
          nullable: true
        Language:
          description: |-
            The language code (e.g., 'EN', 'ES') for the description.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
      required:
      - Language
    RatePlanInclusion:
      type: object
      properties:
        ID:
          type: integer
          description: The unique identifier for the rate plan inclusion.
        Start:
          type: string
          default: null
          description: The start date (ISO 8601 format) for the inclusion to be valid.
          nullable: true
        End:
          type: string
          default: null
          description: The end date (ISO 8601 format) for the inclusion to be valid.
          nullable: true
        RatePlanInclusionDesciption:
          default: null
          description: Rate Plan descriptions. There is a typo in the field name that
            was left to not break compatibility with the Omnibees API.
          allOf:
          - $ref: '#/components/schemas/RatePlanInclusionDescription'
          nullable: true
      required:
      - ID
    AmountPercent:
      type: object
      properties:
        Amount:
          type: number
          default: null
          description: The fixed amount, if applicable.
          nullable: true
        CurrencyCode:
          description: |-
            The currency code (e.g., 'USD', 'EUR') for the amount.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          $ref: '#/components/schemas/CurrencyCodeEnum'
        NmbrOfNights:
          type: integer
          default: null
          description: The number of nights to which the amount or percentage applies.
          nullable: true
        Percent:
          type: number
          default: null
          description: The percentage value, if applicable.
          nullable: true
      required:
      - CurrencyCode
    OffsetDropTimeEnum:
      type: int
      enum:
      - 0
      description: |-
        Values (OffsetDropTimeEnum):
        `0=BeforeArrival`.
    GuaranteeDeadline:
      type: object
      properties:
        OffsetDropTime:
          default: 0
          description: |-
            Specifies whether the deadline offset is applied 'BeforeArrival'.


            Values (OffsetDropTimeEnum):
            `0=BeforeArrival`.
          $ref: '#/components/schemas/OffsetDropTimeEnum'
        OffsetUnitMultiplier:
          type: integer
          default: null
          description: A multiplier for the time unit (e.g., 2 for 2 days).
          nullable: true
        TimeUnitType:
          default: 0
          description: |-
            The unit of time for the offset.


            Values (TimeUnitEnum):
            `0=Day`.
          nullable: true
          $ref: '#/components/schemas/TimeUnitEnum'
    GuaranteeDescription:
      type: object
      properties:
        Language:
          description: |-
            The language code (e.g., 'EN', 'ES') for the guarantee description.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        Name:
          type: string
          description: The name or title of the guarantee.
        Description:
          type: string
          default: null
          description: A detailed description of the guarantee in the specified language.
          nullable: true
      required:
      - Language
      - Name
    GuaranteeTypeCodeEnum:
      type: int
      enum:
      - 2
      - 5
      - 8
      - 3
      - 4
      - 18
      - 19
      - 29
      - 24
      - 30
      - 98
      - 99
      - 38
      - 100
      - 101
      description: |-
        Values (GuaranteeTypeCodeEnum):
        `2=DirectBill` | `5=CreditCard` | `8=Deposit` | `3=Voucher` | `4=PrePay` | `18=TravelAgencyNameOrAddress` | `19=TravelAgencyIATANumber` | `29=CompanyNameOrAddress` | `24=GuestNameOrAddress` | `30=CorporateIDOrCDNumber` | `98=DailyBilled` | `99=DailyBilledExtras` | `38=None` | `100=PayPal` | `101=PIX`.


        The following values are not yet supported:
        `8=Deposit` | `18=TravelAgencyNameOrAddress` | `19=TravelAgencyIATANumber` | `29=CompanyNameOrAddress` | `24=GuestNameOrAddress` | `30=CorporateIDOrCDNumber` | `98=DailyBilled` | `99=DailyBilledExtras` | `38=None` | `100=PayPal` | `101=PIX`.
    CardCodeTypeEnum:
      type: int
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      - 10
      - 11
      - 12
      - 13
      - 14
      - 15
      - 16
      - 17
      - 18
      description: |-
        Values (CardCodeTypeEnum):
        `1=Visa` | `2=MasterCard` | `3=AmericanExpress` | `4=Discover` | `5=HiperCard` | `6=DinnersClub` | `7=JCB` | `8=Electron` | `9=EuroCard` | `10=EnRouteCard` | `11=Laser` | `12=Maestro` | `13=Solo` | `14=PayPal` | `15=Aura` | `16=Liberate` | `17=Elo` | `18=Hotelcard`.
    PaymentCard:
      type: object
      properties:
        CardCode:
          description: |-
            The code or type of the payment card.


            Values (CardCodeTypeEnum):
            `1=Visa` | `2=MasterCard` | `3=AmericanExpress` | `4=Discover` | `5=HiperCard` | `6=DinnersClub` | `7=JCB` | `8=Electron` | `9=EuroCard` | `10=EnRouteCard` | `11=Laser` | `12=Maestro` | `13=Solo` | `14=PayPal` | `15=Aura` | `16=Liberate` | `17=Elo` | `18=Hotelcard`.
          $ref: '#/components/schemas/CardCodeTypeEnum'
        CardHolderName:
          type: string
          description: The name of the cardholder.
        CardNumber:
          type: string
          description: The payment card number.
        ExpireDate:
          type: string
          default: null
          description: The expiration date of the payment card (YYYY-MM-DD format).
          nullable: true
        SeriesCode:
          type: string
          description: The card verification code (CVV) or security code.
      required:
      - CardCode
      - CardHolderName
      - CardNumber
      - SeriesCode
    GuaranteeExtraInclusion:
      type: object
      properties:
        ID:
          type: string
          description: The identifier of the extra inclusion.
        Description:
          type: string
          default: null
          description: Description of the extra inclusion.
          nullable: true
      required:
      - ID
    GuaranteeAccepted:
      type: object
      properties:
        GuaranteeTypeCode:
          description: |-
            The type of guarantee accepted (numerical code).


            Values (GuaranteeTypeCodeEnum):
            `2=DirectBill` | `5=CreditCard` | `8=Deposit` | `3=Voucher` | `4=PrePay` | `18=TravelAgencyNameOrAddress` | `19=TravelAgencyIATANumber` | `29=CompanyNameOrAddress` | `24=GuestNameOrAddress` | `30=CorporateIDOrCDNumber` | `98=DailyBilled` | `99=DailyBilledExtras` | `38=None` | `100=PayPal` | `101=PIX`.


            The following values are not yet supported:
            `8=Deposit` | `18=TravelAgencyNameOrAddress` | `19=TravelAgencyIATANumber` | `29=CompanyNameOrAddress` | `24=GuestNameOrAddress` | `30=CorporateIDOrCDNumber` | `98=DailyBilled` | `99=DailyBilledExtras` | `38=None` | `100=PayPal` | `101=PIX`.
          $ref: '#/components/schemas/GuaranteeTypeCodeEnum'
        RPH:
          type: integer
          default: null
          description: Provides a reference to a specific form of payment.
          nullable: true
        GuaranteeID:
          type: string
          default: null
          description: A unique identifier for the guarantee.
          nullable: true
        PaymentCard:
          default: null
          description: Details of the payment card used for the guarantee (if applicable).
          allOf:
          - $ref: '#/components/schemas/PaymentCard'
          nullable: true
        Extras:
          type: array
          default: null
          description: A list of extras that can be included.
          items:
            $ref: '#/components/schemas/GuaranteeExtraInclusion'
          nullable: true
        CurrencyCode:
          default: null
          description: |-
            The currency code (e.g., 'USD', 'EUR') for the price.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          nullable: true
          $ref: '#/components/schemas/CurrencyCodeEnum'
        Amount:
          type: number
          default: null
          description: Amount that will be billed for the given guarantee.
          nullable: true
        ExchangeRate:
          type: number
          default: null
          description: Exchange rate applied in the transaction.
          nullable: true
        ExchangeCurrencyCode:
          default: null
          description: |-
            The exchange currency code (e.g., 'USD', 'EUR') for the price. This represents the booked item currency.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          nullable: true
          $ref: '#/components/schemas/CurrencyCodeEnum'
        ExchangeAmount:
          type: number
          default: null
          description: Amount in the item currency.
          nullable: true
      required:
      - GuaranteeTypeCode
    GuaranteesAcceptedType:
      type: object
      properties:
        GuaranteesAccepted:
          type: array
          items:
            $ref: '#/components/schemas/GuaranteeAccepted'
    Guarantee:
      type: object
      properties:
        Start:
          type: string
          default: null
          description: The start date (ISO 8601 format) of the guarantee period.
          nullable: true
        End:
          type: string
          default: null
          description: The end date (ISO 8601 format) of the guarantee period.
          nullable: true
        GuaranteeCode:
          type: string
          default: null
          description: A unique code identifying the type of guarantee.
          nullable: true
        AmountPercent:
          default: null
          description: Details about the amount or percentage associated with the
            guarantee.
          allOf:
          - $ref: '#/components/schemas/AmountPercent'
          nullable: true
        DeadLine:
          default: null
          description: Information about the guarantee deadline.
          allOf:
          - $ref: '#/components/schemas/GuaranteeDeadline'
          nullable: true
        GuaranteeDescription:
          default: null
          description: Language-specific descriptions of the guarantee.
          allOf:
          - $ref: '#/components/schemas/GuaranteeDescription'
          nullable: true
        GuaranteesAcceptedType:
          default: null
          description: Information about the types of guarantees accepted.
          allOf:
          - $ref: '#/components/schemas/GuaranteesAcceptedType'
          nullable: true
    AmountRule:
      type: object
      properties:
        Amount:
          type: number
          description: The fixed amount for the penalty rule.
        End:
          type: string
          description: The end date (ISO 8601 format) for which the rule applies.
        Start:
          type: string
          description: The start date (ISO 8601 format) for which the rule applies.
        CurrencyCode:
          default: null
          description: |-
            The currency code (e.g., 'USD', 'EUR') for the amount, if applicable.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          nullable: true
          $ref: '#/components/schemas/CurrencyCodeEnum'
      required:
      - Amount
      - End
      - Start
    CancelPenaltyDeadline:
      type: object
      properties:
        OffsetDropTime:
          default: 0
          description: |-
            The offset time for the penalty deadline.


            Values (OffsetDropTimeEnum):
            `0=BeforeArrival`.
          $ref: '#/components/schemas/OffsetDropTimeEnum'
        OffsetUnitMultiplier:
          type: integer
          description: A multiplier for the offset time unit.
        TimeUnitType:
          description: |-
            The type of time unit for the offset.


            Values (TimeUnitEnum):
            `0=Day`.
          $ref: '#/components/schemas/TimeUnitEnum'
        AbsoluteDeadline:
          type: string
          default: null
          description: The absolute deadline date (ISO 8601 format), if applicable.
          nullable: true
      required:
      - OffsetUnitMultiplier
      - TimeUnitType
    PenaltyDescription:
      type: object
      properties:
        Language:
          description: |-
            The language code (e.g., 'EN', 'ES') for the penalty description.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        Name:
          type: string
          description: The name or title of the penalty.
        Description:
          type: string
          default: null
          description: A detailed description of the penalty in the specified language.
          nullable: true
      required:
      - Language
      - Name
    CancelPenalty:
      type: object
      properties:
        NonRefundable:
          type: boolean
          description: Indicates whether the booking is non-refundable (true) or refundable
            (false).
        AmountPercent:
          default: null
          description: Details about the amount or percentage of the penalty.
          allOf:
          - $ref: '#/components/schemas/AmountPercent'
          nullable: true
        AmountRules:
          type: array
          default: null
          description: Details about a fixed amount penalty rule.
          items:
            $ref: '#/components/schemas/AmountRule'
          nullable: true
        DeadLine:
          default: null
          description: Information about the penalty deadline.
          allOf:
          - $ref: '#/components/schemas/CancelPenaltyDeadline'
          nullable: true
        Duration:
          type: string
          default: null
          description: The duration of the cancellation penalty period.
          nullable: true
        End:
          type: string
          default: null
          description: The end date (ISO 8601 format) of the penalty period.
          nullable: true
        PenaltyDescription:
          description: Language-specific descriptions of the penalty.
          allOf:
          - $ref: '#/components/schemas/PenaltyDescription'
        Start:
          type: string
          default: null
          description: The start date (ISO 8601 format) of the penalty period.
          nullable: true
      required:
      - NonRefundable
      - PenaltyDescription
    Commission:
      type: object
      properties:
        Percent:
          type: number
          description: The commission percentage.
      required:
      - Percent
    TaxPolicy:
      type: object
      properties:
        CurrencyCode:
          description: |-
            The currency code (e.g., 'USD', 'EUR') for the tax.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          $ref: '#/components/schemas/CurrencyCodeEnum'
        Description:
          type: string
          default: null
          description: A description of the tax.
          nullable: true
        ID:
          type: string
          description: The unique identifier for the tax policy.
        IsPerNight:
          type: boolean
          description: Indicates if the tax is applied per night (True) or not (False).
        IsPerPerson:
          type: boolean
          description: Indicates if the tax is applied per person (True) or not (False).
        IsPerRoom:
          type: boolean
          description: Indicates if the tax is applied per room (True) or not (False).
        IsPerStay:
          type: boolean
          description: Indicates if the tax is applied per stay (True) or not (False).
        IsValuePercentage:
          type: boolean
          description: Indicates if the tax value is a percentage (True) or a fixed
            amount (False).
        Name:
          type: string
          description: The name of the tax.
        Value:
          type: number
          description: The value of the tax (percentage or fixed amount).
      required:
      - CurrencyCode
      - ID
      - IsPerNight
      - IsPerPerson
      - IsPerRoom
      - IsPerStay
      - IsValuePercentage
      - Name
      - Value
    DateRestriction:
      type: object
      properties:
        Start:
          type: string
          description: The start date (ISO 8601 format) of the date restriction.
        End:
          type: string
          description: The end date (ISO 8601 format) of the date restriction.
      required:
      - End
      - Start
    LOSTypeEnum:
      type: int
      enum:
      - 0
      - 1
      description: |-
        Values (LOSTypeEnum):
        `0=SetMinLOS` | `1=SetMaxLOS`.
    LengthOfStay:
      type: object
      properties:
        Time:
          type: integer
          description: The length of time for the stay restriction. Used in conjunction
            with the MinMaxMessageType and the TimeUnit to define the length of stay
            requirements.
        TimeUnit:
          default: 0
          description: |-
            The unit of time for the LengthOfStay.


            Values (TimeUnitEnum):
            `0=Day`.
          $ref: '#/components/schemas/TimeUnitEnum'
        MinMaxMessageType:
          default: 0
          description: |-
            Indicates whether it's a minimum (0) or maximum (1) length of stay restriction.


            Values (LOSTypeEnum):
            `0=SetMinLOS` | `1=SetMaxLOS`.
          $ref: '#/components/schemas/LOSTypeEnum'
      required:
      - Time
    LengthsOfStay:
      type: object
      properties:
        ArrivalDateBased:
          type: boolean
          default: true
          description: Indicates if the length of stay restriction is based on the
            arrival date (true) or not (false).
        LengthsOfStay:
          type: array
          description: A list of length of stay restrictions.
          items:
            $ref: '#/components/schemas/LengthOfStay'
      required:
      - LengthsOfStay
    OfferRule:
      type: object
      properties:
        MaxAdvancedBookingOffset:
          type: integer
          default: null
          description: The maximum number of days in advance a booking can be made
            for the offer.
          nullable: true
        MinAdvancedBookingOffset:
          type: integer
          default: null
          description: The minimum number of days in advance a booking must be made
            for the offer.
          nullable: true
        DateRestriction:
          default: null
          description: Date restrictions for when the offer is valid.
          allOf:
          - $ref: '#/components/schemas/DateRestriction'
          nullable: true
        LengthsOfStay:
          default: null
          description: Restrictions on the minimum or maximum length of stay for the
            offer.
          allOf:
          - $ref: '#/components/schemas/LengthsOfStay'
          nullable: true
    ChargeUnitCodeEnum:
      type: int
      enum:
      - 18
      description: |-
        Values (ChargeUnitCodeEnum):
        `18=PerRoomPerStay`.
    Discount:
      type: object
      properties:
        ChargeUnitCode:
          default: 18
          description: |-
            The unit to which the discount applies (e.g., PerRoomPerStay, PerPersonPerNight).


            Values (ChargeUnitCodeEnum):
            `18=PerRoomPerStay`.
          $ref: '#/components/schemas/ChargeUnitCodeEnum'
        DiscountPattern:
          type: string
          default: null
          description: The pattern or structure of the discount (if applicable).
          nullable: true
        NightsDiscounted:
          type: integer
          default: null
          description: The number of nights that are discounted.
          nullable: true
        NightsRequired:
          type: integer
          default: null
          description: The minimum number of nights required to qualify for the discount.
          nullable: true
        Percent:
          type: number
          default: null
          description: The percentage of the discount.
          nullable: true
    CompatibleOffer:
      type: object
      properties:
        IncompatibleOfferInidcator:
          type: boolean
          default: false
          description: Indicates if the offer is incompatible with others (true) or
            compatible (false).
        OfferRPH:
          type: array
          description: References the other offer(s) with which this offer may be
            used.
          items:
            type: string
      required:
      - OfferRPH
    OfferDescription:
      type: object
      properties:
        Description:
          type: string
          description: The description of the offer.
        Language:
          description: |-
            The language code (e.g., 'EN', 'ES') for the description.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
      required:
      - Description
      - Language
    Offer:
      type: object
      properties:
        OfferCode:
          type: string
          description: The unique code identifying the offer.
        RPH:
          type: string
          description: The RPH associated with the offer.
        OfferRules:
          type: array
          default: null
          description: A list of rules that apply to the offer.
          items:
            $ref: '#/components/schemas/OfferRule'
          nullable: true
        Discount:
          default: null
          description: Information about any discounts associated with the offer.
          allOf:
          - $ref: '#/components/schemas/Discount'
          nullable: true
        CompatibleOffer:
          type: array
          description: A list of offers that are compatible with this offer.
          items:
            $ref: '#/components/schemas/CompatibleOffer'
        Description:
          default: null
          description: A description of the offer in multiple languages.
          allOf:
          - $ref: '#/components/schemas/OfferDescription'
          nullable: true
      required:
      - OfferCode
      - RPH
    AcceptedPayment:
      type: object
      properties:
        GuaranteeTypeCode:
          description: |-
            The type of guarantee accepted (numerical code).


            Values (GuaranteeTypeCodeEnum):
            `2=DirectBill` | `5=CreditCard` | `8=Deposit` | `3=Voucher` | `4=PrePay` | `18=TravelAgencyNameOrAddress` | `19=TravelAgencyIATANumber` | `29=CompanyNameOrAddress` | `24=GuestNameOrAddress` | `30=CorporateIDOrCDNumber` | `98=DailyBilled` | `99=DailyBilledExtras` | `38=None` | `100=PayPal` | `101=PIX`.


            The following values are not yet supported:
            `8=Deposit` | `18=TravelAgencyNameOrAddress` | `19=TravelAgencyIATANumber` | `29=CompanyNameOrAddress` | `24=GuestNameOrAddress` | `30=CorporateIDOrCDNumber` | `98=DailyBilled` | `99=DailyBilledExtras` | `38=None` | `100=PayPal` | `101=PIX`.
          $ref: '#/components/schemas/GuaranteeTypeCodeEnum'
        RPH:
          type: integer
          default: null
          description: Provides a reference to a specific form of payment.
          nullable: true
        GuaranteeID:
          type: string
          default: null
          description: A unique identifier for the guarantee.
          nullable: true
        PaymentCard:
          default: null
          description: Details of the payment card used for the guarantee (if applicable).
          allOf:
          - $ref: '#/components/schemas/PaymentCard'
          nullable: true
        Extras:
          type: array
          default: null
          description: A list of extras that can be included.
          items:
            $ref: '#/components/schemas/GuaranteeExtraInclusion'
          nullable: true
        CurrencyCode:
          default: null
          description: |-
            The currency code (e.g., 'USD', 'EUR') for the price.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          nullable: true
          $ref: '#/components/schemas/CurrencyCodeEnum'
        Amount:
          type: number
          default: null
          description: Amount that will be billed for the given guarantee.
          nullable: true
        ExchangeRate:
          type: number
          default: null
          description: Exchange rate applied in the transaction.
          nullable: true
        ExchangeCurrencyCode:
          default: null
          description: |-
            The exchange currency code (e.g., 'USD', 'EUR') for the price. This represents the booked item currency.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          nullable: true
          $ref: '#/components/schemas/CurrencyCodeEnum'
        ExchangeAmount:
          type: number
          default: null
          description: Amount in the item currency.
          nullable: true
      required:
      - GuaranteeTypeCode
    PaymentPolicies:
      type: object
      properties:
        AcceptedPayments:
          type: array
          description: A list of accepted payment guarantees.
          items:
            $ref: '#/components/schemas/AcceptedPayment'
    Markup:
      type: object
      properties:
        Percent:
          type: number
          description: The markup percentage.
      required:
      - Percent
    Package:
      type: object
      properties:
        Percent:
          type: number
          description: The package percentage.
      required:
      - Percent
    RatePlanTypeTPAExtensions:
      type: object
      properties:
        POS:
          default: null
          description: Point of sale information for the rate plan.
          allOf:
          - $ref: '#/components/schemas/POSType'
          nullable: true
        WLCode:
          type: integer
          default: 0
          description: The waitlist code for the rate plan.
        Markup:
          default: null
          description: The markup information for the rate plan.
          allOf:
          - $ref: '#/components/schemas/Markup'
          nullable: true
        Package:
          default: null
          description: The package information for the rate plan.
          allOf:
          - $ref: '#/components/schemas/Package'
          nullable: true
    RatePlan:
      type: object
      properties:
        AdditionalDetailsType:
          default: null
          description: Additional details related to the rate plan.
          allOf:
          - $ref: '#/components/schemas/AdditionalDetailsType'
          nullable: true
        EffectiveDate:
          type: string
          default: null
          description: The start date (ISO 8601 format) from which the rate plan is
            valid.
          nullable: true
        ExpireDate:
          type: string
          default: null
          description: The end date (ISO 8601 format) until which the rate plan is
            valid.
          nullable: true
        PriceViewableInd:
          type: boolean
          default: true
          description: Indicates if the price for this rate plan is viewable by the
            customer (true) or not (false).
        RatePlanID:
          type: integer
          default: null
          description: The unique identifier for the rate plan.
          nullable: true
        RatePlanName:
          type: string
          default: null
          description: The name or title of the rate plan.
          nullable: true
        RatePlanTypeCode:
          type: integer
          default: null
          description: A numerical code representing the type of rate plan.
          nullable: true
        RatePlanDescription:
          default: null
          description: A description of the rate plan, possibly in multiple languages.
          allOf:
          - $ref: '#/components/schemas/RatePlanDescription'
          nullable: true
        MealsIncluded:
          default: null
          description: Details about meals included in the rate plan.
          allOf:
          - $ref: '#/components/schemas/MealsIncluded'
          nullable: true
        RatePlanInclusions:
          type: array
          description: A list of inclusions offered as part of the rate plan.
          items:
            $ref: '#/components/schemas/RatePlanInclusion'
        Guarantees:
          type: array
          default: null
          description: A list of guarantees associated with the rate plan.
          items:
            $ref: '#/components/schemas/Guarantee'
          nullable: true
        CancelPenalties:
          type: array
          default: null
          description: A list of cancellation penalties associated with the rate plan.
          items:
            $ref: '#/components/schemas/CancelPenalty'
          nullable: true
        Commission:
          default: null
          description: Information about commissions for the rate plan.
          allOf:
          - $ref: '#/components/schemas/Commission'
          nullable: true
        TaxPolicies:
          type: array
          description: A list of tax policies applicable to the rate plan.
          items:
            $ref: '#/components/schemas/TaxPolicy'
        Offers:
          type: array
          description: A list of special offers associated with the rate plan.
          items:
            $ref: '#/components/schemas/Offer'
          nullable: true
        PaymentPolicies:
          default: null
          description: Payment policies applicable to the rate plan.
          allOf:
          - $ref: '#/components/schemas/PaymentPolicies'
          nullable: true
        TPA_Extensions:
          default: null
          description: Additional information or extensions specific to the Travel
            Partner Agreement (TPA).
          allOf:
          - $ref: '#/components/schemas/RatePlanTypeTPAExtensions'
          nullable: true
        CurrencyCode:
          default: null
          description: |-
            The currency code (e.g., 'USD', 'EUR') for prices in the rate plan.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          nullable: true
          $ref: '#/components/schemas/CurrencyCodeEnum'
    ChargeTypeEnum:
      type: int
      enum:
      - 18
      - 19
      - 12
      - 7
      - 99
      - 25
      - 20
      - 21
      description: |-
        Values (ChargeTypeEnum):
        `18=PerRoomPerStay` | `19=PerRoomPerNight` | `12=PerStay` | `7=PerPerson` | `99=PerNight` | `25=PerRoom` | `20=PerPersonPerStay` | `21=PerPersonPerNight`.
    Total:
      type: object
      properties:
        AmountAfterTax:
          type: number
          description: The total cost after taxes.
        AmountBeforeTax:
          type: number
          description: The total cost before taxes.
        AmountIncludingMarkup:
          type: boolean
          default: false
          description: Indicates if the amount includes markup (true) or not (false).
        AmountIsPackage:
          type: boolean
          default: false
          description: Indicates if the amount is for a package deal (true) or not
            (false).
          nullable: true
        ChargeType:
          default: null
          description: |-
            A numerical code representing the type of charge.


            Values (ChargeTypeEnum):
            `18=PerRoomPerStay` | `19=PerRoomPerNight` | `12=PerStay` | `7=PerPerson` | `99=PerNight` | `25=PerRoom` | `20=PerPersonPerStay` | `21=PerPersonPerNight`.
          nullable: true
          $ref: '#/components/schemas/ChargeTypeEnum'
        CurrencyCode:
          description: |-
            The currency code (e.g., 'USD', 'EUR') for the amount.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          $ref: '#/components/schemas/CurrencyCodeEnum'
      required:
      - AmountAfterTax
      - AmountBeforeTax
      - CurrencyCode
    Rate:
      type: object
      properties:
        EffectiveDate:
          type: string
          description: The effective date for the rate (ISO 8601 format).
        MaxLOS:
          type: integer
          default: null
          description: The maximum length of stay allowed for the rate.
          nullable: true
        MinLOS:
          type: integer
          default: null
          description: The minimum length of stay required for the rate.
          nullable: true
        NumberOfUnits:
          type: integer
          default: null
          description: The number of available units for the rate.
          nullable: true
        StayThrough:
          type: integer
          default: null
          description: Unknown, need further details from Omnibees/Niara documentation.
          nullable: true
        MinAdvancedBookingOffset:
          type: integer
          default: null
          description: The minimum number of days in advance a booking must be made.
          nullable: true
        FPLOS:
          type: string
          default: null
          description: Unknown, need further details from Omnibees/Niara documentation.
          nullable: true
        Total:
          description: The total cost information for the rate.
          allOf:
          - $ref: '#/components/schemas/Total'
        Status:
          type: string
          default: null
          description: The status of the rate (e.g., 'Available', 'Closed').
          nullable: true
        AgeQualifyingCode:
          default: null
          description: |-
            The age qualifying code for the rate.


            Values (AgeQualifyCodeEnum):
            `10=Adult` | `8=Child` | `7=Infant`.
          nullable: true
          $ref: '#/components/schemas/AgeQualifyCodeEnum'
        MinAge:
          type: integer
          default: null
          description: The minimum age required for the rate.
          nullable: true
        MaxAge:
          type: integer
          default: null
          description: The maximum age allowed for the rate.
          nullable: true
        MinGuestApplicable:
          type: integer
          default: null
          description: The minimum number of guests for which the rate is applicable.
          nullable: true
        MaxGuestApplicable:
          type: integer
          default: null
          description: The maximum number of guests for which the rate is applicable.
          nullable: true
        Duration:
          type: integer
          default: null
          description: The duration for which this rate is valid.
          nullable: true
      required:
      - EffectiveDate
      - Total
    RatesType:
      type: object
      properties:
        Rates:
          type: array
          description: A list of rate details for the hotel or room type.
          items:
            $ref: '#/components/schemas/Rate'
    RoomRateTotalTPAExtensions:
      type: object
      properties:
        TotalDiscountValue:
          type: number
          description: The total discount value applied to the room rate.
      required:
      - TotalDiscountValue
    RoomRateTotal:
      type: object
      properties:
        AmountAfterTax:
          type: number
          description: The total cost after taxes.
        AmountBeforeTax:
          type: number
          description: The total cost before taxes.
        AmountIncludingMarkup:
          type: boolean
          default: false
          description: Indicates if the amount includes markup (true) or not (false).
        AmountIsPackage:
          type: boolean
          default: false
          description: Indicates if the amount is for a package deal (true) or not
            (false).
          nullable: true
        ChargeType:
          default: null
          description: |-
            A numerical code representing the type of charge.


            Values (ChargeTypeEnum):
            `18=PerRoomPerStay` | `19=PerRoomPerNight` | `12=PerStay` | `7=PerPerson` | `99=PerNight` | `25=PerRoom` | `20=PerPersonPerStay` | `21=PerPersonPerNight`.
          nullable: true
          $ref: '#/components/schemas/ChargeTypeEnum'
        CurrencyCode:
          description: |-
            The currency code (e.g., 'USD', 'EUR') for the amount.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          $ref: '#/components/schemas/CurrencyCodeEnum'
        TPA_Extensions:
          default: null
          description: TPA extensions for the room rate total, including the total
            discount value.
          allOf:
          - $ref: '#/components/schemas/RoomRateTotalTPAExtensions'
          nullable: true
      required:
      - AmountAfterTax
      - AmountBeforeTax
      - CurrencyCode
    ServiceRPH:
      type: object
      properties:
        RPH:
          type: integer
          description: The Rate Plan Header (RPH) identifier for the service.
        IsPerRoom:
          type: boolean
          default: null
          description: Indicates whether the service is priced per room (True) or
            not (False).
          nullable: true
      required:
      - RPH
    GuestTotalRate:
      type: object
      properties: {}
    OccupationFor:
      type: object
      properties:
        Adults:
          type: integer
          default: null
          description: The number of adults included in the occupation.
          nullable: true
        Childs:
          type: integer
          default: null
          description: The number of children included in the occupation.
          nullable: true
    ServiceDescription:
      type: object
      properties:
        Name:
          type: string
          description: The name of the service.
        Description:
          type: string
          default: null
          description: A description of the service.
          nullable: true
        Language:
          description: |-
            The language code (e.g., 'EN', 'ES') for the description.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        ImageURL:
          type: string
          default: null
          description: The URL of an image representing the service (if available).
          nullable: true
      required:
      - Language
      - Name
    Service:
      type: object
      properties:
        ID:
          type: string
          description: The unique identifier for the service.
        ServiceCategoryCode:
          type: string
          default: null
          description: A code representing the category of the service.
          nullable: true
        ServicePricingType:
          description: |-
            The pricing type for the service (CHG code).


            Values (ServicePricingTypeEnum):
            `7=PerPerson` | `12=PerStay` | `18=PerRoomPerStay` | `19=PerRoomPerNight` | `20=PerPersonPerStay` | `21=PerPersonPerNight` | `25=PerRoom` | `19=PerNight`.
          $ref: '#/components/schemas/ServicePricingTypeEnum'
        ServiceDescription:
          description: A description of the service, including name and language.
          allOf:
          - $ref: '#/components/schemas/ServiceDescription'
      required:
      - ID
      - ServiceDescription
      - ServicePricingType
    TPAExtensionsRate:
      type: object
      properties:
        AgeQualifyingCode:
          description: |-
            The age qualifying code for the rate.


            Values (AgeQualifyCodeEnum):
            `10=Adult` | `8=Child` | `7=Infant`.
          $ref: '#/components/schemas/AgeQualifyCodeEnum'
        EffectiveDate:
          type: string
          description: The effective date for the rate (ISO 8601 format).
        MaxGuestApplicable:
          type: integer
          description: The maximum number of guests applicable for the rate.
        MinGuestApplicable:
          type: integer
          description: The minimum number of guests applicable for the rate.
        Total:
          description: The total cost information for the rate.
          allOf:
          - $ref: '#/components/schemas/Total'
      required:
      - AgeQualifyingCode
      - EffectiveDate
      - MaxGuestApplicable
      - MinGuestApplicable
      - Total
    TPAExtensions:
      type: object
      properties:
        AmountIncludingMarkup:
          type: boolean
          default: null
          nullable: true
        AmountIsPackage:
          type: boolean
          default: null
          nullable: true
        ApprovalInvoiced:
          type: integer
          default: null
          description: Approval number or invoice ID.
          nullable: true
        GuestsTotalRate:
          type: array
          default: null
          items:
            $ref: '#/components/schemas/GuestTotalRate'
          nullable: true
        IsPreferredHotel:
          type: boolean
          default: null
          description: Indicates if it's a preferred hotel (True) or not (False).
          nullable: true
        IsExclusiveMobile:
          type: boolean
          default: null
          description: Indicates if it's exclusive for mobile (True) or not (False).
          nullable: true
        OccupationFor:
          default: null
          description: Occupancy details for the rate.
          allOf:
          - $ref: '#/components/schemas/OccupationFor'
          nullable: true
        Services:
          type: array
          default: null
          description: A list of services offered by the hotels.
          items:
            $ref: '#/components/schemas/Service'
          nullable: true
        TotalDiscountValue:
          type: number
          default: null
          description: The total discount value applied to the room rate.
          nullable: true
        SupplierCode:
          type: string
          default: null
          description: Niara code for the room rate. Should be used on the booking
            if the performance is critical.
          nullable: true
        InternalID:
          type: string
          default: null
          description: An internal identifier for the rate. This is the ID used by
            Niara to identify the rate.
          nullable: true
        Rates:
          type: array
          description: A list of rate details with TPA extensions.
          items:
            $ref: '#/components/schemas/TPAExtensionsRate'
        QuotationLink:
          type: string
          default: null
          description: The URL address for quotation generation.
          nullable: true
    RoomRateAvailability:
      type: object
      properties:
        AvailabilityStatus:
          type: string
          description: The availability status of the room rate (e.g., 'Available',
            'NotAvailable').
        WarningRPH:
          type: integer
          default: null
          description: An RPH number for a warning message related to the room rate
            availability (if any).
          nullable: true
      required:
      - AvailabilityStatus
    RoomRate:
      type: object
      properties:
        RoomStayCandidateRPH:
          type: integer
          default: 0
          description: A reference to a requested room stay candidate from the SearchCriteria.
        EffectiveDate:
          type: string
          description: Check-in date (ISO 8601 format).
        ExpireDate:
          type: string
          description: Check-out date (ISO 8601 format).
        RatePlanID:
          type: integer
          description: The unique identifier for the rate plan associated with this
            room rate.
        RoomID:
          type: integer
          description: The unique identifier for the room type associated with this
            room rate.
        RatesType:
          description: Details about the different rate types available for this room.
          allOf:
          - $ref: '#/components/schemas/RatesType'
        Total:
          description: The total cost for this room rate, including taxes and fees.
          allOf:
          - $ref: '#/components/schemas/RoomRateTotal'
        ServiceRPHs:
          type: array
          default: null
          description: Services RPHs (Not yet implemented).
          items:
            $ref: '#/components/schemas/ServiceRPH'
          nullable: true
        Discount:
          default: null
          description: Information about any discounts applied to this room rate.
          allOf:
          - $ref: '#/components/schemas/Discount'
          nullable: true
        PromotionCode:
          type: string
          default: null
          description: A promotional code applied to this room rate (if any).
          nullable: true
        GroupCode:
          type: string
          default: null
          description: A group code associated with this room rate (if any).
          nullable: true
        TPA_Extensions:
          default: null
          description: Additional information or extensions.
          allOf:
          - $ref: '#/components/schemas/TPAExtensions'
          nullable: true
        Availability:
          type: array
          description: A list of availability information for the room rate.
          items:
            $ref: '#/components/schemas/RoomRateAvailability'
        Guarantee:
          default: null
          description: Information about the guarantee associated with the room rate.
          allOf:
          - $ref: '#/components/schemas/Guarantee'
          nullable: true
        CancelPenalty:
          default: null
          description: Cancellation penalty.
          allOf:
          - $ref: '#/components/schemas/CancelPenalty'
          nullable: true
      required:
      - EffectiveDate
      - ExpireDate
      - RatePlanID
      - RatesType
      - RoomID
      - Total
    RoomAmenityType:
      type: object
      properties:
        RoomAmenity:
          type: string
          description: Identifies the types of room amenities offered by the property.
        Code:
          type: string
          description: Identifies the types of room amenities offered by the property.
      required:
      - Code
      - RoomAmenity
    AmenitiesType:
      type: object
      properties:
        RoomAmenities:
          type: array
          description: Room level amenities.
          items:
            $ref: '#/components/schemas/RoomAmenityType'
    Occupancy:
      type: object
      properties:
        AgeQualifyingCode:
          $ref: '#/components/schemas/AgeQualifyCodeEnum'
        MaxOccupancy:
          type: integer
          default: null
          nullable: true
        MinOccupancy:
          type: integer
          default: null
          nullable: true
      required:
      - AgeQualifyingCode
    RoomDescription:
      type: object
      properties:
        Language:
          $ref: '#/components/schemas/LanguageCodeEnum'
        Description:
          type: string
          default: null
          nullable: true
      required:
      - Language
    RoomType:
      type: object
      properties:
        AmenitiesType:
          default: null
          description: Amenities type.
          allOf:
          - $ref: '#/components/schemas/AmenitiesType'
          nullable: true
        MaxOccupancy:
          type: integer
          default: null
          description: Max guest occupancy.
          nullable: true
        NumberOfUnits:
          type: integer
          default: null
          description: Quantity of rooms available in the property for this room type.
          nullable: true
        RoomID:
          type: integer
          description: Unique identifier for the room.
        RoomName:
          type: string
          default: null
          description: Name of the room type.
          nullable: true
        Occupancies:
          type: array
          description: A list of occupancy options for this room type, specifying
            age restrictions and minimum/maximum occupancy.
          items:
            $ref: '#/components/schemas/Occupancy'
        RoomDescription:
          default: null
          description: Description of the room type, if available.
          allOf:
          - $ref: '#/components/schemas/RoomDescription'
          nullable: true
      required:
      - RoomID
    NamedDescription:
      type: object
      properties:
        Language:
          default: null
          description: |-
            The language code (e.g., 'EN', 'ES') for the description.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          nullable: true
          $ref: '#/components/schemas/LanguageCodeEnum'
        Description:
          type: string
          default: null
          description: A descriptive text.
          nullable: true
        Name:
          type: string
          default: null
          description: The name associated with the description.
          nullable: true
    CommentsType:
      type: object
      properties:
        Comments:
          type: array
          description: A list of comments, each with a name and description.
          items:
            $ref: '#/components/schemas/NamedDescription'
    SpecialRequest:
      type: object
      properties:
        Name:
          type: string
          default: null
          description: Name in plain text format
          nullable: true
        Language:
          default: null
          description: |-
            Language identification.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          nullable: true
          $ref: '#/components/schemas/LanguageCodeEnum'
        Description:
          type: string
          default: null
          description: Description in plain text format.
          nullable: true
    SpecialRequestsType:
      type: object
      properties:
        SpecialRequests:
          type: array
          description: The SpecialRequest object indicates special requests for a
            particular guest, service or reservation.
          items:
            $ref: '#/components/schemas/SpecialRequest'
    TransactionActionTypeEnum:
      type: int
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      description: |-
        Values (TransactionActionTypeEnum):
        `0=Book` | `1=Commit` | `2=Hold` | `3=Ignore` | `4=Initiate` | `5=Modify` | `6=VerifyPrice` | `7=CancelRoom` | `8=CancelRoomVerifyPrice`.
    PMS_ResStatusTypeEnum:
      type: int
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      description: |-
        Values (PMS_ResStatusTypeEnum):
        `0=Requested` | `1=Reserved` | `2=RequestDenied` | `3=RequestAccepted` | `4=Cancelled` | `5=Waitlisted` | `6=Modified` | `7=CancelledOnRequest` | `8=CancelPending` | `9=OnRequestChannelCancel`.
    ResStatus:
      type: object
      properties:
        TransactionActionType:
          default: null
          description: |-
            To specify the type of action requested when more than one function could be handled by the message.


            Values (TransactionActionTypeEnum):
            `0=Book` | `1=Commit` | `2=Hold` | `3=Ignore` | `4=Initiate` | `5=Modify` | `6=VerifyPrice` | `7=CancelRoom` | `8=CancelRoomVerifyPrice`.
          nullable: true
          $ref: '#/components/schemas/TransactionActionTypeEnum'
        PMS_ResStatusType:
          default: null
          description: |-
            Code the status of the reservation in the Property Management System (PMS).


            Values (PMS_ResStatusTypeEnum):
            `0=Requested` | `1=Reserved` | `2=RequestDenied` | `3=RequestAccepted` | `4=Cancelled` | `5=Waitlisted` | `6=Modified` | `7=CancelledOnRequest` | `8=CancelPending` | `9=OnRequestChannelCancel`.
          nullable: true
          $ref: '#/components/schemas/PMS_ResStatusTypeEnum'
    GuestCount1:
      type: object
      properties:
        Age:
          type: integer
          default: null
          description: The age of the guest (required if AgeQualifyCode=8).
          nullable: true
        Count:
          type: integer
          description: The number of guests of the specified age or age category.
        AgeQualifyCode:
          description: |-
            A code indicating the age category of the guest (e.g., adult, child).


            Values (AgeQualifyCodeEnum):
            `10=Adult` | `8=Child` | `7=Infant`.
          $ref: '#/components/schemas/AgeQualifyCodeEnum'
        ResGuestRPH:
          type: array
          default: null
          description: Used to refer to the guest associated with this reservation.
          items:
            type: integer
          nullable: true
      required:
      - AgeQualifyCode
      - Count
    GuestCountsType1:
      type: object
      properties:
        GuestCounts:
          type: array
          description: A list of guest counts by age category.
          items:
            $ref: '#/components/schemas/GuestCount1'
    RoomStay:
      type: object
      properties:
        AvailabilityStatus:
          type: string
          default: null
          description: The availability status of the room stay (e.g., 'Available',
            'NotAvailable').
          nullable: true
        BasicPropertyInfo:
          description: Basic information about the hotel or property for this room
            stay.
          allOf:
          - $ref: '#/components/schemas/BasicPropertyInfo'
        RPH:
          type: integer
          default: 0
          description: The Rate Plan Header (RPH) number associated with this room
            stay.
        RatePlans:
          type: array
          description: A list of rate plans available for this room stay.
          items:
            $ref: '#/components/schemas/RatePlan'
        RoomRates:
          type: array
          description: A list of room rates available for this room stay.
          items:
            $ref: '#/components/schemas/RoomRate'
        RoomTypes:
          type: array
          description: A list of room types included in this room stay.
          items:
            $ref: '#/components/schemas/RoomType'
        TPA_Extensions:
          default: null
          description: Additional information or extensions specific to the Travel
            Partner Agreement (TPA).
          allOf:
          - $ref: '#/components/schemas/TPAExtensions'
          nullable: true
        Total:
          description: The total cost for this room stay, including taxes and fees.
          allOf:
          - $ref: '#/components/schemas/Total'
        CommentsType:
          default: null
          description: A collection of Comment objects. Comments which apply to the
            whole Reservation or a particular Room Stay.
          allOf:
          - $ref: '#/components/schemas/CommentsType'
          nullable: true
        SpecialRequestsType:
          default: null
          description: The SpecialRequest object indicates special requests for the
            whole Reservation, or a particular Room Stay.
          allOf:
          - $ref: '#/components/schemas/SpecialRequestsType'
          nullable: true
        IndexNumber:
          type: string
          default: null
          description: A unique number (e.g. segment number or index number) used
            to further identify a booked item within a list of booked items
          nullable: true
        RoomStayStatus:
          default: null
          description: Identifies the status of the room stay.
          allOf:
          - $ref: '#/components/schemas/ResStatus'
          nullable: true
        Guarantees:
          type: array
          default: null
          description: Guarantee information that applies to the rate plan. A maximum
            of 5 occurances are available for use depending on the context. Not yet
            implemented.
          items:
            $ref: '#/components/schemas/Guarantee'
          nullable: true
        GuestCountsType:
          default: null
          description: Information about the number of guests staying in the room.
          allOf:
          - $ref: '#/components/schemas/GuestCountsType1'
          nullable: true
        Reference:
          type: string
          default: null
          description: A reference number or identifier for the room stay.
          nullable: true
        RoomStayCandidateRPH:
          type: integer
          default: null
          description: A reference to a requested room stay candidate from the SearchCriteria.
          nullable: true
      required:
      - BasicPropertyInfo
      - Total
    RoomStaysType:
      type: object
      properties:
        MoreIndicator:
          type: boolean
          default: false
          description: Indicates if there are more room stays available (true) or
            not (false).
        RoomStays:
          type: array
          description: A list of room stays for the hotel availability response.
          items:
            $ref: '#/components/schemas/RoomStay'
    HotelAvailRS:
      description: Resultado da busca
      type: object
      properties:
        EchoToken:
          type: string
          default: null
          description: The same token received in the request.
          nullable: true
        ErrorsType:
          default: null
          description: Used to inform that an error occurred in the server. The partner
            should contact support with the echotoken passed.
          allOf:
          - $ref: '#/components/schemas/ErrorsType'
          nullable: true
        PrimaryLangID:
          default: 8
          $ref: '#/components/schemas/LanguageCodeEnum'
        Success:
          type: object
          additionalProperties:
            type: string
          nullable: true
        Target:
          description: |-
            The environment target. The same value received in the request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        TimeStamp:
          type: string
          description: The date in ISO format right before the response is sent.
        Version:
          type: number
          description: Version of the API being used. The same value received in the
            request.
        WarningsType:
          default: null
          description: Used to specify a warning related to business rules. This field
            could be present alongside Success.
          allOf:
          - $ref: '#/components/schemas/WarningsType'
          nullable: true
        Criteria:
          default: null
          xml:
            name: Criteria
          description: The search criteria used for the hotel availability request.
          allOf:
          - $ref: '#/components/schemas/HotelSearchCriteria'
          nullable: true
        HotelStaysType:
          default: null
          description: Information about hotel stays, including room stays, rates,
            and policies.
          allOf:
          - $ref: '#/components/schemas/HotelStaysType'
          nullable: true
        MaxResponses:
          type: integer
          default: null
          description: The maximum number of hotel responses requested.
          nullable: true
        POS:
          default: null
          description: Point of sale information for the request.
          allOf:
          - $ref: '#/components/schemas/POSType'
          nullable: true
        PageNumber:
          type: integer
          default: null
          description: The page number of the results (for paginated responses).
          nullable: true
        RoomStaysType:
          default: null
          description: Information about available room stays.
          allOf:
          - $ref: '#/components/schemas/RoomStaysType'
          nullable: true
        Services:
          type: array
          default: null
          description: A list of services offered by the hotels.
          items:
            $ref: '#/components/schemas/Service'
          nullable: true
        TPA_Extensions:
          default: null
          description: Additional information or extensions specific to the Travel
            Partner Agreement (TPA).
          allOf:
          - $ref: '#/components/schemas/TPAExtensions'
          nullable: true
        TotalPages:
          type: integer
          default: 1
          description: The number of pages for the requested MaxResponses.
      required:
      - Target
      - TimeStamp
      - Version
    Location1:
      type: object
      properties:
        LocationCode:
          type: string
          description: A code identifying the location (e.g., airport code, city code).
        CodeContext:
          type: string
          description: Identifies the context of the identifying code (e.g., IATA,
            ARC, or internal code).
      required:
      - CodeContext
      - LocationCode
    GenderEnum:
      type: int
      enum:
      - Male
      - Female
      - Unknown
      description: |-
        Values (GenderEnum):
        `Male=Male` | `Female=Female` | `Unknown=Unknown`.
    YesOrNoEnum:
      type: int
      enum:
      - 1
      - 0
      description: |-
        Values (YesOrNoEnum):
        `1=Yes` | `0=No`.
    PhoneLocationTypeEnum:
      type: int
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      description: |-
        Values (PhoneLocationTypeEnum):
        `1=BrandReservationsOffice` | `2=CentralReservationsOffice` | `3=PropertyReservationOffice` | `4=PropertyDirect` | `5=SalesOffice` | `6=Home` | `7=Office` | `8=Other` | `9=ManagingCompany`.
    PhoneTechTypeEnum:
      type: int
      enum:
      - 0
      - 1
      - 3
      - 5
      description: |-
        Values (PhoneTechTypeEnum):
        `0=None` | `1=Voice` | `3=Fax` | `5=Mobile`.
    TelephoneInfo:
      type: object
      properties:
        ShareSyncInd:
          default: 0
          description: |-
            An indicator for sharing or synchronization.


            Values (YesOrNoEnum):
            `1=Yes` | `0=No`.
          $ref: '#/components/schemas/YesOrNoEnum'
        ShareMarketInd:
          default: 0
          description: |-
            An indicator for sharing in a market.


            Values (YesOrNoEnum):
            `1=Yes` | `0=No`.
          $ref: '#/components/schemas/YesOrNoEnum'
        PhoneNumber:
          type: string
          default: null
          description: The phone number.
          nullable: true
        Extension:
          type: string
          default: null
          description: The phone extension (if applicable).
          nullable: true
        PhoneLocationType:
          default: null
          description: |-
            The type of phone location.


            Values (PhoneLocationTypeEnum):
            `1=BrandReservationsOffice` | `2=CentralReservationsOffice` | `3=PropertyReservationOffice` | `4=PropertyDirect` | `5=SalesOffice` | `6=Home` | `7=Office` | `8=Other` | `9=ManagingCompany`.
          nullable: true
          $ref: '#/components/schemas/PhoneLocationTypeEnum'
        PhoneTechType:
          default: 0
          description: |-
            The technology type of the phone (e.g., Voice, Fax).


            Values (PhoneTechTypeEnum):
            `0=None` | `1=Voice` | `3=Fax` | `5=Mobile`.
          $ref: '#/components/schemas/PhoneTechTypeEnum'
    NamePrefixTypeEnum:
      type: int
      enum:
      - 1
      - 2
      - 3
      - 4
      description: |-
        Values (NamePrefixTypeEnum):
        `1=Mr` | `2=Mrs` | `3=Miss` | `4=None`.
    PersonName:
      type: object
      properties:
        GivenName:
          type: string
          description: The person's given (first) name.
        MiddleName:
          type: string
          default: null
          description: The person's middle name (if any).
          nullable: true
        NamePrefix:
          default: 4
          description: |-
            The person's name prefix (e.g., Mr., Ms., Dr.).


            Values (NamePrefixTypeEnum):
            `1=Mr` | `2=Mrs` | `3=Miss` | `4=None`.
          $ref: '#/components/schemas/NamePrefixTypeEnum'
        Surname:
          type: string
          default: null
          description: The person's surname (last name).
          nullable: true
      required:
      - GivenName
    DocTypeEnum:
      type: int
      enum:
      - 1
      - 2
      - 3
      - 4
      description: |-
        Values (DocTypeEnum):
        `1=Cpf` | `2=Passport` | `3=Rg` | `4=BirthCertificate`.
    Document:
      type: object
      properties:
        DocType:
          default: 1
          description: |-
            The type of identification document.


            Values (DocTypeEnum):
            `1=Cpf` | `2=Passport` | `3=Rg` | `4=BirthCertificate`.
          nullable: true
          $ref: '#/components/schemas/DocTypeEnum'
        DocID:
          type: string
          description: Identification document number
      required:
      - DocID
    Customer:
      type: object
      properties:
        Gender:
          default: Unknown
          description: |-
            A numerical code representing the customer's gender.


            Values (GenderEnum):
            `Male=Male` | `Female=Female` | `Unknown=Unknown`.
          $ref: '#/components/schemas/GenderEnum'
        BirthDate:
          type: string
          default: null
          description: 'The customer''s birthdate (ISO 8601 format: YYYY-MM-DD).'
          nullable: true
        Email:
          type: string
          default: null
          description: The customer's email address.
          nullable: true
        Telephones:
          type: array
          description: A list of the customer's phone numbers.
          items:
            $ref: '#/components/schemas/TelephoneInfo'
        PersonName:
          description: The customer's name details.
          allOf:
          - $ref: '#/components/schemas/PersonName'
        Address:
          default: null
          description: The customer's address details.
          allOf:
          - $ref: '#/components/schemas/Address'
          nullable: true
        Document:
          default: null
          description: The customer's identification document number.
          allOf:
          - $ref: '#/components/schemas/Document'
          nullable: true
      required:
      - PersonName
    Profile:
      type: object
      properties:
        Customer:
          description: The customer's profile information.
          allOf:
          - $ref: '#/components/schemas/Customer'
      required:
      - Customer
    ProfileInfo1:
      type: object
      properties:
        UniqueID:
          type: string
          default: null
          description: A unique identifier for the profile.
          nullable: true
        Profile:
          description: The profile details.
          allOf:
          - $ref: '#/components/schemas/Profile'
      required:
      - Profile
    Profiles:
      type: object
      properties:
        ProfileInfos:
          type: array
          description: A list of profile information for the reservation guests.
          items:
            $ref: '#/components/schemas/ProfileInfo1'
    ProfilesType1:
      type: object
      properties:
        ProfileInfo:
          description: Profile information for the guest, including personal details
            and contact information.
          allOf:
          - $ref: '#/components/schemas/Profiles'
      required:
      - ProfileInfo
    Radius1:
      type: object
      properties:
        DistanceMax:
          type: integer
          description: The maximum distance from the specified location.
        UnitOfMesureCode:
          description: |-
            The unit of measure in a code format. Refer to OpenTravel RoomAmenity List Unit of Measure RoomAmenity (UOM).


            Values (UnitOfMesureCodeEnum):
            `1=Miles` | `2=Kilometers` | `3=Meters` | `6=Yards` | `7=Feet`.
          $ref: '#/components/schemas/UnitOfMesureCodeEnum'
      required:
      - DistanceMax
      - UnitOfMesureCode
    RatePlanCandidate1:
      type: object
      properties:
        GroupCode:
          type: string
          default: null
          description: The code associated with a group booking or rate.
          nullable: true
        PromotionCode:
          type: string
          default: null
          description: A promotional code that may offer a discount or special rate.
          nullable: true
        RatePlanType:
          type: integer
          default: null
          description: An enumerated type that allows the query to specify a rate
            category type, and provides major categories for comparison across brands.
            Refer to OpenTravel Code List Rate Plan Type (RPT).
          nullable: true
    RatePlanCandidatesType1:
      type: object
      properties:
        RatePlanCandidate:
          description: Information about a potential rate plan candidate for a booking,
            including group code, promotion code, and rate plan type.
          allOf:
          - $ref: '#/components/schemas/RatePlanCandidate1'
      required:
      - RatePlanCandidate
    RoomStayCandidate1:
      type: object
      properties:
        BookingCode:
          type: integer
          default: null
          description: Preencher algo aqui.
          nullable: true
        GuestCountsType:
          description: Information about the number of guests in the room stay candidate.
          allOf:
          - $ref: '#/components/schemas/GuestCountsType1'
        Quantity:
          type: integer
          description: The number of rooms requested for this room stay candidate.
        RPH:
          type: integer
          default: null
          description: The Rate Plan Header (RPH) number for the service.
          nullable: true
        RoomID:
          type: integer
          default: null
          description: The unique identifier for the room type.
          nullable: true
      required:
      - GuestCountsType
      - Quantity
    RoomStayCandidatesType1:
      type: object
      properties:
        RoomStayCandidates:
          type: array
          description: A list of potential room stay candidates, each with guest count
            information and quantity.
          items:
            $ref: '#/components/schemas/RoomStayCandidate1'
      required:
      - RoomStayCandidates
    StayDateRange1:
      type: object
      properties:
        Duration:
          type: integer
          default: null
          description: The duration of the stay in days.
          nullable: true
        End:
          type: string
          description: The end date of the stay (ISO 8601 format).
        Start:
          type: string
          description: The start date of the stay (ISO 8601 format).
      required:
      - End
      - Start
    MultimediaObjects1:
      type: object
      properties:
        SendData:
          type: boolean
          default: true
          description: Send multimidia data if true.
    RateRoomsIdsFilter1:
      type: object
      properties:
        RatePlanId:
          type: integer
          default: null
          description: Used to filter source data based on RatePlan IDs. Default is
            null.
          nullable: true
        RoomTypeId:
          type: integer
          default: null
          description: Used to filter source data based on RoomType IDs. Default is
            null.
          nullable: true
    HotelSearchCriterionTPAExtensions1:
      type: object
      properties:
        AmountIncludingMarkup:
          type: boolean
          default: true
          description: Indicates if the requested rates should include markup (true)
            or not (false).
          nullable: true
        AmountIsPackageRates:
          type: boolean
          default: null
          description: Indicates if the requested rates should be package rates (true)
            or not (false).
          nullable: true
        AmountNotIncludingMarkup:
          type: boolean
          default: null
          description: Indicates if the requested rates should not include markup
            (true) or not (false).
          nullable: true
        BestOnlyWithTaxes:
          type: boolean
          default: true
          description: When true indicate that response should include taxes in best
            price (Best Only). Default is true.
        IsForMobile:
          type: boolean
          default: null
          description: Indicates if the search is from a mobile device (true) or not
            (false).
          nullable: true
        MealPlanId:
          default: null
          description: |-
            Filter results that include the code identifying the meal plan (MPT code).


            Values (MealPlanCodeFilterEnum):
            `1=AllInclusive` | `3=BedBreakfast` | `10=FullBoard` | `12=HalfBoard` | `14=RoomOnly`.
          nullable: true
          $ref: '#/components/schemas/MealPlanCodeFilterEnum'
        MultimediaObjects:
          default: null
          description: Control the multimidia data in the response. Not yet implemented.
          allOf:
          - $ref: '#/components/schemas/MultimediaObjects1'
          nullable: true
        OnlyPreferredHotels:
          type: boolean
          default: false
          description: Indicates if only preferred hotels should be returned in the
            search results (true) or not (false).
        RatePlanIds:
          type: array
          default: null
          description: Used to filter source data based on RatePlan IDs. Default is
            null. Not yet implemented.
          items:
            type: integer
          nullable: true
        RateRoomIds:
          type: array
          default: null
          description: Used to filter source data based on pairs RatePlan IDs RoomType
            Ids. Default is null. Not yet implemented.
          items:
            $ref: '#/components/schemas/RateRoomsIdsFilter1'
          nullable: true
        RoomTypeIds:
          type: array
          default: null
          description: Used to filter source data based on RoomType IDs. Default is
            null. Not yet implemented.
          items:
            type: integer
          nullable: true
    Criterion1:
      type: object
      properties:
        Address:
          default: null
          description: The address around which to search for hotels.
          allOf:
          - $ref: '#/components/schemas/Address'
          nullable: true
        Award:
          default: null
          description: The award or rating the hotel should have.
          allOf:
          - $ref: '#/components/schemas/Award'
          nullable: true
        GetPricesPerGuest:
          type: boolean
          default: false
          description: When true rate prices has guest individual prices in tpa extensions.
            Not implementted!
        HotelRefs:
          type: array
          default: null
          description: A list of hotel references to search for.
          items:
            $ref: '#/components/schemas/HotelRef'
          nullable: true
        Position:
          default: null
          description: The geographical position (latitude and longitude) around which
            to search for hotels.
          allOf:
          - $ref: '#/components/schemas/Position'
          nullable: true
        Location:
          default: null
          description: The location code (e.g., airport code, city code) and its context
            to search for hotels.
          allOf:
          - $ref: '#/components/schemas/Location1'
          nullable: true
        ProfilesType:
          default: null
          description: Profile information for the guests included in the search.
          allOf:
          - $ref: '#/components/schemas/ProfilesType1'
          nullable: true
        Radius:
          default: null
          description: The maximum distance from the specified location to search
            for hotels.
          allOf:
          - $ref: '#/components/schemas/Radius1'
          nullable: true
        RatePlanCandidatesType:
          type: array
          default: null
          description: A list of rate plan candidates to filter the search results.
          items:
            $ref: '#/components/schemas/RatePlanCandidatesType1'
          nullable: true
        RoomStayCandidatesType:
          default: null
          description: The desired room types and occupancy for the stay.
          allOf:
          - $ref: '#/components/schemas/RoomStayCandidatesType1'
          nullable: true
        StayDateRange:
          default: null
          description: The date range for the hotel stay.
          allOf:
          - $ref: '#/components/schemas/StayDateRange1'
          nullable: true
        TPA_Extensions:
          default: null
          description: Additional criteria specific to the Travel Partner Agreement
            (TPA).
          allOf:
          - $ref: '#/components/schemas/HotelSearchCriterionTPAExtensions1'
          nullable: true
    HotelSearchCriteria1:
      type: object
      properties:
        AvailableOnlyIndicator:
          type: boolean
          default: null
          description: Indicates whether to return only hotels with available rates
            (true).
          nullable: true
        Criterion:
          description: The main search criteria for finding available hotels.
          allOf:
          - $ref: '#/components/schemas/Criterion1'
      required:
      - Criterion
    HotelSearchRQ:
      description: Payload da busca
      type: object
      properties:
        PrimaryLangID:
          default: 8
          description: |-
            The primary language code for the request (e.g., 'BR' for Brazilian Portuguese).


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        EchoToken:
          type: string
          default: null
          description: An arbitrary string returned in the response for tracking/debugging.
          nullable: true
        TimeStamp:
          type: string
          description: The date and time (ISO format) just before the request is sent.
        Target:
          description: |-
            The target environment for this request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        Version:
          type: number
          default: 1.0
          description: The version number of this request format.
        MaxResponses:
          type: integer
          default: 100
          description: The number of hotels to search to.
          nullable: true
        PageNumber:
          type: integer
          default: null
          description: The page number for paginated results.
          nullable: true
        POS:
          default: null
          description: Point of sale information for the rate plan.
          allOf:
          - $ref: '#/components/schemas/POSType'
          nullable: true
        Criteria:
          description: The criteria for searching for available hotels.
          allOf:
          - $ref: '#/components/schemas/HotelSearchCriteria1'
      required:
      - Criteria
      - Target
      - TimeStamp
    TPAExtensions1:
      type: object
      properties:
        SupplierCode:
          type: string
          default: null
          description: '....'
          nullable: true
        WLCode:
          type: integer
          default: 9
          description: The waitlist code for the rate plan.
    Policy:
      type: object
      properties:
        CheckInTime:
          type: string
          default: null
          description: The time at which guests can check in to the property.
          nullable: true
        CheckOutTime:
          type: string
          default: null
          description: The time at which guests must check out of the property.
          nullable: true
    Property:
      type: object
      properties:
        CurrencyCode:
          default: null
          description: |-
            The currency code (e.g., 'USD', 'EUR') used for prices at this property.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          nullable: true
          $ref: '#/components/schemas/CurrencyCodeEnum'
        ImageURL:
          type: string
          default: null
          description: The URL of an image representing the property.
          nullable: true
        Award:
          default: null
          description: A dictionary of awards or ratings for the property, where the
            key is the award name and the value is the rating.
          allOf:
          - $ref: '#/components/schemas/Award'
          nullable: true
        Address:
          default: null
          description: The address of the property.
          allOf:
          - $ref: '#/components/schemas/Address'
          nullable: true
        HotelRef:
          default: null
          description: Reference information for the hotel, including chain code,
            chain name, hotel code, and hotel name.
          allOf:
          - $ref: '#/components/schemas/HotelRef'
          nullable: true
        Position:
          default: null
          description: The geographic coordinates (latitude and longitude) of the
            property.
          allOf:
          - $ref: '#/components/schemas/Position'
          nullable: true
        VendorMessagesType:
          default: null
          description: A collection of VendorMessages.
          allOf:
          - $ref: '#/components/schemas/VendorMessagesType'
          nullable: true
        TPA_Extensions:
          default: null
          description: Additional information or extensions specific to the Travel
            Partner Agreement (TPA).
          allOf:
          - $ref: '#/components/schemas/TPAExtensions1'
          nullable: true
        AmenitiesType:
          default: null
          description: Amenities type.
          allOf:
          - $ref: '#/components/schemas/AmenitiesType'
          nullable: true
        Policy:
          default: null
          description: The policies for the property.
          allOf:
          - $ref: '#/components/schemas/Policy'
          nullable: true
    PropertiesType:
      type: object
      properties:
        MoreIndicator:
          type: boolean
          default: false
          description: Indicates that more items are available (true) or not (false).
        Properties:
          type: array
          description: A list of properties that match the search criteria.
          items:
            $ref: '#/components/schemas/Property'
    HotelSearchRS:
      description: Response da busca
      type: object
      properties:
        EchoToken:
          type: string
          default: null
          description: The same token received in the request.
          nullable: true
        ErrorsType:
          default: null
          description: Used to inform that an error occurred in the server. The partner
            should contact support with the echotoken passed.
          allOf:
          - $ref: '#/components/schemas/ErrorsType'
          nullable: true
        PrimaryLangID:
          default: 8
          $ref: '#/components/schemas/LanguageCodeEnum'
        Success:
          type: object
          additionalProperties:
            type: string
          nullable: true
        Target:
          description: |-
            The environment target. The same value received in the request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        TimeStamp:
          type: string
          description: The date in ISO format right before the response is sent.
        Version:
          type: number
          description: Version of the API being used. The same value received in the
            request.
        WarningsType:
          default: null
          description: Used to specify a warning related to business rules. This field
            could be present alongside Success.
          allOf:
          - $ref: '#/components/schemas/WarningsType'
          nullable: true
        MaxResponses:
          type: integer
          default: 100
          description: The number of hotels to search to.
          nullable: true
        PageNumber:
          type: integer
          default: null
          description: The page number for paginated results.
          nullable: true
        PropertiesType:
          $ref: '#/components/schemas/PropertiesType'
        Criteria:
          description: The criteria for searching for available hotels.
          allOf:
          - $ref: '#/components/schemas/HotelSearchCriteria1'
      required:
      - Criteria
      - PropertiesType
      - Target
      - TimeStamp
      - Version
    AffiliationInfoRQ:
      type: object
      properties:
        SendAwards:
          type: boolean
          default: false
          description: Controls if the Awards data should be present in the response.
          nullable: true
    AreaInfoRQ:
      type: object
      properties:
        SendAttractions:
          type: boolean
          default: false
          description: Controls if the AreaInfo data should be present in the response.
          nullable: true
        SendRefPoints:
          type: boolean
          default: false
          description: Controls if the RefPoints data should be present in the response.
          nullable: true
    ContactInfoRQ:
      type: object
      properties:
        SendData:
          type: boolean
          default: false
          description: Controls if the ContactInfo data should be present in the response.
          nullable: true
    FacilityInfoRQ:
      type: object
      properties:
        SendGuestRooms:
          type: boolean
          default: false
          description: Controls if the GuestRooms data should be present in the response.
          nullable: true
    HotelInfoRQ:
      type: object
      properties:
        SendData:
          type: boolean
          default: false
          description: Controls if the HotelInfo data should be present in the response.
          nullable: true
    MultimediaObjectsRQ:
      type: object
      properties:
        SendData:
          type: boolean
          default: false
          description: Controls if the MultimediaObjects data should be present in
            the response.
          nullable: true
    PoliciesRQ:
      type: object
      properties:
        SendPolicies:
          type: boolean
          default: false
          description: Controls if the Policies data should be present in the response.
          nullable: true
    HotelDescriptiveInfosRQ:
      type: object
      properties:
        AffiliationInfo:
          description: Request information about the hotel's affiliations, including
            awards.
          allOf:
          - $ref: '#/components/schemas/AffiliationInfoRQ'
        AreaInfo:
          description: Request information about the area surrounding the hotel, including
            attractions and reference points.
          allOf:
          - $ref: '#/components/schemas/AreaInfoRQ'
        ContactInfo:
          description: Request contact information for the hotel.
          allOf:
          - $ref: '#/components/schemas/ContactInfoRQ'
        FacilityInfo:
          description: Request information about the hotel's facilities, including
            guest rooms.
          allOf:
          - $ref: '#/components/schemas/FacilityInfoRQ'
        HotelInfo:
          description: Request general information about the hotel.
          allOf:
          - $ref: '#/components/schemas/HotelInfoRQ'
        MultimediaObjects:
          description: Request multimedia data (e.g., images, videos) for the hotel.
          allOf:
          - $ref: '#/components/schemas/MultimediaObjectsRQ'
        Policies:
          description: Request information about the hotel's policies.
          allOf:
          - $ref: '#/components/schemas/PoliciesRQ'
        HotelRef:
          description: Reference information for the hotel, including chain code,
            chain name, hotel code, and hotel name.
          allOf:
          - $ref: '#/components/schemas/HotelRef'
      required:
      - HotelRef
    HotelDescriptiveInfosTypeRQ:
      type: object
      properties:
        HotelDescriptiveInfos:
          type: array
          description: A list of hotel descriptive information requests, each for
            a different hotel.
          items:
            $ref: '#/components/schemas/HotelDescriptiveInfosRQ'
      required:
      - HotelDescriptiveInfos
    HotelDescriptiveInfoRQ:
      description: Hotel details
      type: object
      properties:
        PrimaryLangID:
          default: 8
          description: |-
            The primary language code for the request (e.g., 'BR' for Brazilian Portuguese).


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        EchoToken:
          type: string
          default: null
          description: An arbitrary string returned in the response for tracking/debugging.
          nullable: true
        TimeStamp:
          type: string
          description: The date and time (ISO format) just before the request is sent.
        Target:
          description: |-
            The target environment for this request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        Version:
          type: number
          default: 1.0
          description: The version number of this request format.
        POSType:
          default: null
          description: Point of sale information for the request.
          allOf:
          - $ref: '#/components/schemas/POSType'
          nullable: true
        HotelDescriptiveInfosType:
          description: A container for multiple hotel descriptive information requests.
          allOf:
          - $ref: '#/components/schemas/HotelDescriptiveInfosTypeRQ'
      required:
      - HotelDescriptiveInfosType
      - Target
      - TimeStamp
    CheckInHours:
      type: object
      properties:
        Start:
          type: string
        End:
          type: string
      required:
      - End
      - Start
    BreakfastHours:
      type: object
      properties:
        Start:
          type: string
        End:
          type: string
      required:
      - End
      - Start
    ReceptionHours:
      type: object
      properties:
        Start:
          type: string
        End:
          type: string
      required:
      - End
      - Start
    ClosedSeason:
      type: object
      properties:
        Start:
          type: string
          description: The start date (ISO 8601 format) of the closed season.
        Duration:
          type: integer
          default: null
          description: The duration of the closed season in days.
          nullable: true
        End:
          type: string
          description: The end date (ISO 8601 format) of the closed season.
      required:
      - End
      - Start
    ClosedSeasonsType:
      type: object
      properties:
        ClosedSeasons:
          type: array
          default: null
          description: A list of periods during which the hotel is closed.
          items:
            $ref: '#/components/schemas/ClosedSeason'
          nullable: true
    Renovation:
      type: object
      properties:
        RenovationCompletionDate:
          type: string
          description: The date (ISO 8601 format) when the renovation was completed.
      required:
      - RenovationCompletionDate
    InformationTypeEnum:
      type: int
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      - 10
      - 11
      - 12
      - 13
      - 14
      - 15
      - 16
      - 17
      - 18
      - 19
      - 20
      - 21
      - 22
      - 23
      - 24
      - 25
      - 26
      description: |-
        Values (InformationTypeEnum):
        `1=Description` | `2=Policy` | `3=Marketing` | `4=SpecialInstructions` | `5=Other` | `6=Amenities` | `7=Attractions` | `8=Awards` | `9=CorporateLocations` | `10=Dining` | `11=DrivingDirections` | `12=Facilities` | `13=Recreation` | `14=Safety` | `15=Services` | `16=Transportation` | `17=ShortDescription` | `18=Advisory` | `19=Geocodes` | `20=Location` | `21=Address` | `22=Contact` | `23=Pictures` | `24=DescriptiveContent` | `25=LongName` | `26=AliasName`.
    AdditionalDetailTypeEnum:
      type: int
      enum:
      - 2
      - 3
      - 4
      - 14
      - 11
      - 12
      description: |-
        Values (AdditionalDetailTypeEnum):
        `2=PropertyDescription` | `3=PropertyLocation` | `4=RoomInformation` | `14=MiscellaneousInformation` | `11=ServiceInformation` | `12=PackageInformation`.
    TextItem:
      type: object
      properties:
        Name:
          type: string
          default: null
          description: The name or title of the text item.
          nullable: true
        Description:
          type: string
          description: The descriptive text content of the item.
      required:
      - Description
    TextItemsType:
      type: object
      properties:
        TextItems:
          type: array
          default: null
          description: A list of text items associated with the multimedia description.
          items:
            $ref: '#/components/schemas/TextItem'
          nullable: true
    URLTypeEnum:
      type: int
      enum:
      - 0
      - 1
      - 2
      - 3
      description: |-
        Values (URLTypeEnum):
        `0=None` | `1=Website` | `2=Image` | `3=Video`.
    URL:
      type: object
      properties:
        Address:
          type: string
          default: null
          description: The URL address (if applicable).
          nullable: true
        URLType:
          description: |-
            An integer code representing the type of URL (e.g., website, image URL, etc.).


            Values (URLTypeEnum):
            `0=None` | `1=Website` | `2=Image` | `3=Video`.
          $ref: '#/components/schemas/URLTypeEnum'
      required:
      - URLType
    ImageItemFormat:
      type: object
      properties:
        Sort:
          type: integer
          description: The sort order of the image within a list of images.
        IsPrimary:
          type: boolean
          default: false
          description: Indicates if the image is the primary image for the item (True)
            or not (False).
      required:
      - Sort
    ImageItem:
      type: object
      properties:
        URL:
          description: The URL details of the image, including address and type.
          allOf:
          - $ref: '#/components/schemas/URL'
        Position:
          description: The geographical coordinates (latitude and longitude) of the
            image (if applicable).
          allOf:
          - $ref: '#/components/schemas/Position'
        Name:
          type: string
          default: null
          description: The name or title of the image.
          nullable: true
        Description:
          type: string
          default: null
          description: A description of the image.
          nullable: true
        ImageFormat:
          type: array
          default: null
          description: A list of information about the format of the image.
          items:
            $ref: '#/components/schemas/ImageItemFormat'
          nullable: true
        Language:
          default: null
          description: |-
            The language.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          nullable: true
          $ref: '#/components/schemas/LanguageCodeEnum'
      required:
      - URL
    ImagemItemsType:
      type: object
      properties:
        ImageItems:
          type: array
          default: null
          description: A list of image items associated with the multimedia description.
          items:
            $ref: '#/components/schemas/ImageItem'
          nullable: true
    VideoItem:
      type: object
      properties:
        Position:
          description: The geographical coordinates (latitude and longitude) associated
            with the video (if applicable).
          allOf:
          - $ref: '#/components/schemas/Position'
        URL:
          default: null
          description: The URL details of the video, including address and type.
          allOf:
          - $ref: '#/components/schemas/URL'
          nullable: true
        Name:
          type: string
          default: null
          description: The name or title of the video.
          nullable: true
        Language:
          default: null
          description: |-
            The language of the video's audio (if applicable).


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          nullable: true
          $ref: '#/components/schemas/LanguageCodeEnum'
        Description:
          type: string
          default: null
          description: A description of the video.
          nullable: true
    VideoItemsType:
      type: object
      properties:
        VideoItems:
          type: array
          default: null
          description: A list of video items associated with the multimedia description.
          items:
            $ref: '#/components/schemas/VideoItem'
          nullable: true
    MultimediaDescription:
      type: object
      properties:
        ID:
          type: string
          default: null
          description: ID.
          nullable: true
        InfoCode:
          description: |-
            Used to designate a particular type of description such as marketing. Refer to OpenTravel Code List Information Type (INF).


            Values (InformationTypeEnum):
            `1=Description` | `2=Policy` | `3=Marketing` | `4=SpecialInstructions` | `5=Other` | `6=Amenities` | `7=Attractions` | `8=Awards` | `9=CorporateLocations` | `10=Dining` | `11=DrivingDirections` | `12=Facilities` | `13=Recreation` | `14=Safety` | `15=Services` | `16=Transportation` | `17=ShortDescription` | `18=Advisory` | `19=Geocodes` | `20=Location` | `21=Address` | `22=Contact` | `23=Pictures` | `24=DescriptiveContent` | `25=LongName` | `26=AliasName`.
          $ref: '#/components/schemas/InformationTypeEnum'
        AdditionalDetailCode:
          description: |-
            Used to designate a particular type of additional information. Refer to OpenTravel Code List Additional Detail Type (ADT).


            Values (AdditionalDetailTypeEnum):
            `2=PropertyDescription` | `3=PropertyLocation` | `4=RoomInformation` | `14=MiscellaneousInformation` | `11=ServiceInformation` | `12=PackageInformation`.
          $ref: '#/components/schemas/AdditionalDetailTypeEnum'
        TextItemsType:
          default: null
          description: Textual descriptions associated with the multimedia item.
          allOf:
          - $ref: '#/components/schemas/TextItemsType'
          nullable: true
        ImageItemsType:
          default: null
          description: Image items associated with the multimedia item.
          allOf:
          - $ref: '#/components/schemas/ImagemItemsType'
          nullable: true
        VideoItemsType:
          default: null
          description: Video items associated with the multimedia item.
          allOf:
          - $ref: '#/components/schemas/VideoItemsType'
          nullable: true
      required:
      - AdditionalDetailCode
      - InfoCode
    MultimediaDescriptionsType:
      type: object
      properties:
        MultimediaDescriptions:
          type: array
          description: A list of multimedia descriptions for the hotel, including
            images, videos, and text.
          items:
            $ref: '#/components/schemas/MultimediaDescription'
    HotelInfoDescriptions:
      type: object
      properties:
        Renovations:
          type: array
          default: null
          description: Information about any renovations that have been done at the
            hotel.
          items:
            $ref: '#/components/schemas/Renovation'
          nullable: true
        DescriptiveText:
          type: string
          description: A general descriptive text about the hotel.
        MultimediaDescriptionsType:
          default: null
          description: Multimedia descriptions of the hotel, including images, videos,
            and text.
          allOf:
          - $ref: '#/components/schemas/MultimediaDescriptionsType'
          nullable: true
      required:
      - DescriptiveText
    PropertyClassTypeEnum:
      type: int
      enum:
      - 2
      - 3
      - 4
      - 16
      - 19
      - 20
      - 21
      - 22
      - 30
      - 42
      - 48
      - 57
      - 62
      description: |-
        Values (PropertyClassTypeEnum):
        `2=AllInclusive` | `3=Apartment` | `4=BedAndBreakfast` | `16=GuestHouse` | `19=Hostel` | `20=Hotel` | `21=Inn` | `22=Lodge` | `30=Resort` | `42=Spa` | `48=Historical` | `57=Luxury` | `62=Other`.
    HotelCategory:
      type: object
      properties:
        PropertyClassType:
          description: |-
            The classification of the hotel property (e.g., luxury, budget).


            Values (PropertyClassTypeEnum):
            `2=AllInclusive` | `3=Apartment` | `4=BedAndBreakfast` | `16=GuestHouse` | `19=Hostel` | `20=Hotel` | `21=Inn` | `22=Lodge` | `30=Resort` | `42=Spa` | `48=Historical` | `57=Luxury` | `62=Other`.
          $ref: '#/components/schemas/PropertyClassTypeEnum'
      required:
      - PropertyClassType
    CategoryCodes:
      type: object
      properties:
        HotelCategory:
          description: The category of the hotel.
          allOf:
          - $ref: '#/components/schemas/HotelCategory'
      required:
      - HotelCategory
    HotelAmenityType:
      type: object
      properties:
        Code:
          type: string
          description: A code identifying the hotel amenity (e.g., 'POOL' for swimming
            pool).
        HotelAmenity:
          type: string
          description: A description of the hotel amenity.
      required:
      - Code
      - HotelAmenity
    ContactLocationEnum:
      type: int
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      - 10
      - 11
      - 12
      - 13
      - 14
      - 15
      description: |-
        Values (ContactLocationEnum):
        `1=CentralReservationOffice` | `2=CorporateHeadquarters` | `3=CorporateOffice` | `4=DivisionalOffice` | `5=GlobalSalesOffice` | `6=HotelDirect` | `7=LocalReservationOffice` | `8=SalesOffice` | `9=FranchiseCompany` | `10=ManagementCompany` | `11=OwnershipCompany` | `12=CustomerServiceOffice` | `13=HomeResidence` | `14=RegionalSalesOffice` | `15=TechnicalSupportOffice`.
    Name:
      type: object
      properties:
        NamePrefix:
          description: |-
            A numerical code representing the person's name prefix (e.g., Mr., Ms., Dr.).


            Values (NamePrefixTypeEnum):
            `1=Mr` | `2=Mrs` | `3=Miss` | `4=None`.
          $ref: '#/components/schemas/NamePrefixTypeEnum'
        GivenName:
          type: string
          description: The person's given name (first name).
      required:
      - GivenName
      - NamePrefix
    Names:
      type: object
      properties:
        Names:
          type: array
          default: null
          description: A list of names (e.g., for contacts).
          items:
            $ref: '#/components/schemas/Name'
          nullable: true
    ContactNumbersType:
      type: object
      properties:
        ContactNumbers:
          type: array
          default: null
          description: A list of contact phone numbers.
          items:
            $ref: '#/components/schemas/TelephoneInfo'
          nullable: true
    OwnershipManagmentInfo:
      type: object
      properties:
        Location:
          description: |-
            The location type of the ownership or management entity (e.g., 'Hotel', 'Corporate').


            Values (ContactLocationEnum):
            `1=CentralReservationOffice` | `2=CorporateHeadquarters` | `3=CorporateOffice` | `4=DivisionalOffice` | `5=GlobalSalesOffice` | `6=HotelDirect` | `7=LocalReservationOffice` | `8=SalesOffice` | `9=FranchiseCompany` | `10=ManagementCompany` | `11=OwnershipCompany` | `12=CustomerServiceOffice` | `13=HomeResidence` | `14=RegionalSalesOffice` | `15=TechnicalSupportOffice`.
          $ref: '#/components/schemas/ContactLocationEnum'
        RelationshipTypeCode:
          type: integer
          description: A numerical code representing the relationship type (e.g.,
            'Owner', 'Manager').
        Names:
          default: null
          description: The names of the individuals or entities involved in ownership
            or management.
          allOf:
          - $ref: '#/components/schemas/Names'
          nullable: true
        Phones:
          default: null
          description: Phone numbers associated with the ownership or management entity.
          allOf:
          - $ref: '#/components/schemas/ContactNumbersType'
          nullable: true
        Emails:
          type: array
          default: null
          description: Email addresses associated with the ownership or management
            entity.
          items:
            type: string
          nullable: true
      required:
      - Location
      - RelationshipTypeCode
    OwnershipManagementInfosType:
      type: object
      properties:
        OwnershipManagmentInfo:
          type: array
          description: A list of ownership and management information for the hotel.
          items:
            $ref: '#/components/schemas/OwnershipManagmentInfo'
      required:
      - OwnershipManagmentInfo
    SurroundingRegion:
      type: object
      properties:
        Code:
          type: string
          description: Unique identifier or code for the region.
        Type:
          enum:
          - city
          - country
          - neighborhood
          - state
          - multi_city_vicinity
          - point_of_interest
          - airport
          - high_level_region
          - province_state
          - continent
          - train_station
          - metro_station
          description: The type or category of the surrounding region (e.g., city,
            state, country).
      required:
      - Code
      - Type
    HotelInfo:
      type: object
      properties:
        WhenBuilt:
          type: string
          default: ''
          description: The year the hotel was built.
        NFloors:
          type: integer
          default: null
          description: The number of floors in the hotel.
          nullable: true
        HandicapRooms:
          type: integer
          default: null
          description: The number of handicap-accessible rooms in the hotel.
          nullable: true
        SmokingRooms:
          type: integer
          default: null
          description: The number of smoking rooms in the hotel.
          nullable: true
        NonSmokingHotel:
          type: boolean
          default: false
          description: Indicates whether the hotel is entirely non-smoking (True)
            or not (False).
        CheckInHours:
          default: null
          description: The check-in hours for the hotel.
          allOf:
          - $ref: '#/components/schemas/CheckInHours'
          nullable: true
        BreakfastHours:
          default: null
          description: The breakfast hours for the hotel.
          allOf:
          - $ref: '#/components/schemas/BreakfastHours'
          nullable: true
        ReceptionHours:
          default: null
          description: The reception hours for the hotel.
          allOf:
          - $ref: '#/components/schemas/ReceptionHours'
          nullable: true
        ClosedSeasonsType:
          default: null
          description: Periods during which the hotel is closed.
          allOf:
          - $ref: '#/components/schemas/ClosedSeasonsType'
          nullable: true
        Descriptions:
          default: null
          description: Descriptions of the hotel in multiple languages.
          allOf:
          - $ref: '#/components/schemas/HotelInfoDescriptions'
          nullable: true
        CategoryCodes:
          description: Category codes for the hotel.
          allOf:
          - $ref: '#/components/schemas/CategoryCodes'
        Position:
          description: The geographic coordinates (latitude and longitude) of the
            hotel.
          allOf:
          - $ref: '#/components/schemas/Position'
        HotelAmenities:
          type: array
          description: A list of amenities offered by the hotel.
          items:
            $ref: '#/components/schemas/HotelAmenityType'
        OwnershipManagementInfosType:
          default: null
          description: Information about the ownership and management of the hotel.
          allOf:
          - $ref: '#/components/schemas/OwnershipManagementInfosType'
          nullable: true
        TotalRooms:
          type: integer
          description: The total number of rooms in the hotel.
        WLCode:
          type: integer
          description: Marked code.
        SurroundingRegions:
          type: array
          description: A list of regions, according to Niara's content, whose geographical
            boundaries contain or intersect with the property's location.
          items:
            $ref: '#/components/schemas/SurroundingRegion'
      required:
      - CategoryCodes
      - Position
      - TotalRooms
      - WLCode
    BedTypeCode:
      type: object
      properties:
        OTA_CodeType:
          type: integer
          description: A numerical code from the OpenTravel Alliance (OTA) specifying
            the bed type.
        OTA_CodeName:
          type: string
          description: The name corresponding to the OTA code for the bed type.
      required:
      - OTA_CodeName
      - OTA_CodeType
    RoomClassificationCode:
      type: object
      properties:
        OTA_CodeType:
          type: integer
          description: A numerical code from the OpenTravel Alliance (OTA) specifying
            the room classification.
        OTA_CodeName:
          type: string
          description: The name corresponding to the OTA code for the room classification.
      required:
      - OTA_CodeName
      - OTA_CodeType
    RoomViewCode:
      type: object
      properties:
        OTA_CodeType:
          type: integer
          description: A numerical code from the OpenTravel Alliance (OTA) specifying
            the room view.
        OTA_CodeName:
          type: string
          description: The name corresponding to the OTA code for the room view.
      required:
      - OTA_CodeName
      - OTA_CodeType
    TypeRoom:
      type: object
      properties:
        Size:
          type: number
          description: The size of the room in square meters.
        SizeMeasurement:
          type: string
          description: The unit of measurement for the room size (e.g., 'sqft', 'sqm').
        BedTypeCodes:
          type: array
          default: null
          description: A list of codes representing the types of beds in the room.
          items:
            $ref: '#/components/schemas/BedTypeCode'
          nullable: true
        RoomClassificationCodes:
          type: array
          default: null
          description: A list of codes classifying the room type (e.g., standard,
            deluxe, suite).
          items:
            $ref: '#/components/schemas/RoomClassificationCode'
          nullable: true
        RoomViewCodes:
          type: array
          default: null
          description: A list of codes representing the view from the room (e.g.,
            ocean view, city view).
          items:
            $ref: '#/components/schemas/RoomViewCode'
          nullable: true
      required:
      - Size
      - SizeMeasurement
    GuestRoom:
      type: object
      properties:
        Quantity:
          type: integer
          default: null
          description: The number of rooms of this type available.
          nullable: true
        MaxOccupancy:
          type: integer
          description: The maximum number of guests allowed in this room type.
        MaxAdultOccupancy:
          type: integer
          description: The maximum number of adult guests allowed in this room type.
        MinAdultOccupancy:
          type: integer
          default: 1
          description: The minimum number of adult guests required in this room type.
        ID:
          type: integer
          description: The unique identifier for this guest room.
        MaxChildOccupancy:
          type: integer
          default: null
          description: The maximum number of children allowed in this room type.
          nullable: true
        MaxFreeChildOccupancy:
          type: integer
          default: null
          description: The maximum number of children allowed in this room type without
            additional charge.
          nullable: true
        AmenitiesType:
          default: null
          description: Information about the amenities provided in this room type.
          allOf:
          - $ref: '#/components/schemas/AmenitiesType'
          nullable: true
        MultimediaDescriptionsType:
          default: null
          description: Multimedia descriptions (e.g., images, videos) for this room
            type.
          allOf:
          - $ref: '#/components/schemas/MultimediaDescriptionsType'
          nullable: true
        DescriptiveText:
          type: string
          description: A text description of the room type.
        TypeRoom:
          description: Information about the type of room, including size, bed types,
            and classification.
          allOf:
          - $ref: '#/components/schemas/TypeRoom'
        WLCode:
          type: integer
          description: Market code.
      required:
      - DescriptiveText
      - ID
      - MaxAdultOccupancy
      - MaxOccupancy
      - TypeRoom
      - WLCode
    GuestRoomsType:
      type: object
      properties:
        GuestRooms:
          type: array
          description: A list of guest room types available at the hotel.
          items:
            $ref: '#/components/schemas/GuestRoom'
    FacilityInfo:
      type: object
      properties:
        GuestRoomsType:
          default: null
          description: Information about the types of guest rooms available at the
            hotel.
          allOf:
          - $ref: '#/components/schemas/GuestRoomsType'
          nullable: true
    Address1:
      type: object
      properties:
        AddressLine:
          type: string
          default: null
          description: The street address or line 1 of the address.
          nullable: true
        CityCode:
          default: null
          description: A numerical code for the city.
          nullable: true
          oneOf:
          - type: integer
          - type: string
        CityName:
          type: string
          default: null
          description: The name of the city.
          nullable: true
        CountryCode:
          default: null
          description: |-
            The three-letter country code (ISO 3166-1 alpha-3).


            Values (CountryCodeEnum):
            `161=RW` | `177=SO` | `209=YE` | `95=IQ` | `168=SA` | `94=IR` | `60=CY` | `189=TZ` | `186=SY` | `24=AM` | `104=KE` | `56=CD` | `63=DJ` | `198=UG` | `49=CF` | `171=SC` | `102=JO` | `113=LB` | `109=KW` | `148=OM` | `158=QA` | `29=BH` | `200=AE` | `97=IL` | `195=TR` | `73=ET` | `71=ER` | `68=EG` | `181=SD` | `82=GR` | `44=BI` | `72=EE` | `112=LV` | `27=AZ` | `118=LT` | `79=GE` | `132=MD` | `32=BY` | `75=FI` | `199=UA` | `120=MK` | `90=HU` | `42=BG` | `18=AL` | `156=PL` | `159=RO` | `108=XK` | `211=ZW` | `210=ZM` | `54=KM` | `122=MW` | `114=LS` | `39=BW` | `129=MU` | `183=SZ` | `178=ZA` | `137=MZ` | `121=MG` | `17=AF` | `149=PK` | `30=BD` | `196=TM` | `188=TJ` | `180=LK` | `36=BT` | `92=IN` | `124=MV` | `141=NP` | `138=MM` | `204=UZ` | `103=KZ` | `110=KG` | `150=PW` | `208=VD` | `190=TH` | `93=ID` | `111=LA` | `187=TW` | `155=PH` | `123=MY` | `52=CN` | `41=BN` | `45=KH` | `106=KP` | `101=JP` | `107=KR` | `173=SG` | `66=TP` | `160=RU` | `134=MN` | `25=AU` | `127=MH` | `131=FM` | `152=PG` | `176=SB` | `197=TV` | `140=NR` | `205=VU` | `143=NZ` | `74=FJ` | `116=LY` | `46=CM` | `169=SN` | `55=CG` | `157=PT` | `115=LR` | `99=CI` | `81=GH` | `70=GQ` | `146=NG` | `43=BF` | `191=TG` | `86=GW` | `128=MR` | `35=BJ` | `77=GA` | `172=SL` | `167=ST` | `78=GM` | `85=GN` | `50=TD` | `145=NE` | `125=ML` | `194=TN` | `179=ES` | `136=MA` | `126=MT` | `19=DZ` | `62=DK` | `91=IS` | `201=GB` | `185=CH` | `184=SE` | `142=NL` | `26=AT` | `33=BE` | `80=DE` | `119=LU` | `96=IE` | `133=MC` | `76=FR` | `20=AD` | `117=LI` | `174=SK` | `61=CZ` | `147=NO` | `206=VA` | `166=SM` | `98=IT` | `175=SI` | `135=ME` | `58=HR` | `38=BA` | `21=AO` | `139=NA` | `31=BB` | `48=CV` | `87=GY` | `219=GF` | `182=SR` | `153=PY` | `203=UY` | `40=BR` | `100=JM` | `65=DO` | `59=CU` | `28=BS` | `193=TT` | `162=KN` | `64=DM` | `22=AG` | `163=LC` | `214=AW` | `218=VG` | `164=VC` | `216=MF` | `83=GD` | `34=BZ` | `69=SV` | `84=GT` | `89=HN` | `144=NI` | `57=CR` | `207=VE` | `67=EC` | `53=CO` | `151=PA` | `88=HT` | `23=AR` | `51=CL` | `37=BO` | `154=PE` | `130=MX` | `105=KI` | `192=TO` | `165=WS` | `217=PR` | `47=CA` | `202=US` | `170=RS` | `213=CW` | `215=BQ` | `212=HK`.
          nullable: true
          $ref: '#/components/schemas/CountryCodeEnum'
        CountryName:
          type: string
          default: null
          description: The full name of the country.
          nullable: true
        PostalCode:
          type: string
          default: null
          description: The postal or zip code.
          nullable: true
        StateProvCode:
          type: integer
          default: null
          description: A numerical code for the state or province.
          nullable: true
        StateProv:
          type: string
          default: null
          description: Name of the state or province.
          nullable: true
        ZoneCode:
          type: integer
          default: null
          description: A numerical code for the zone or area within the city.
          nullable: true
    AddressesType:
      type: object
      properties:
        Addresses:
          type: array
          description: A list of addresses associated with the contact.
          items:
            $ref: '#/components/schemas/Address1'
      required:
      - Addresses
    URLsType:
      type: object
      properties:
        URLs:
          type: array
          description: A list of URLs associated with the contact.
          items:
            $ref: '#/components/schemas/URL'
    ContactInfo:
      type: object
      properties:
        Location:
          description: |-
            The location of the contact (e.g., hotel, corporate office).


            Values (ContactLocationEnum):
            `1=CentralReservationOffice` | `2=CorporateHeadquarters` | `3=CorporateOffice` | `4=DivisionalOffice` | `5=GlobalSalesOffice` | `6=HotelDirect` | `7=LocalReservationOffice` | `8=SalesOffice` | `9=FranchiseCompany` | `10=ManagementCompany` | `11=OwnershipCompany` | `12=CustomerServiceOffice` | `13=HomeResidence` | `14=RegionalSalesOffice` | `15=TechnicalSupportOffice`.
          $ref: '#/components/schemas/ContactLocationEnum'
        AddressesType:
          default: null
          description: Address information for the contact.
          allOf:
          - $ref: '#/components/schemas/AddressesType'
          nullable: true
        Phones:
          default: null
          description: Phone numbers for the contact.
          allOf:
          - $ref: '#/components/schemas/ContactNumbersType'
          nullable: true
        Emails:
          type: array
          default: null
          description: Email addresses for the contact.
          items:
            type: string
          nullable: true
        URLsType:
          default: null
          description: URLs associated with the contact.
          allOf:
          - $ref: '#/components/schemas/URLsType'
          nullable: true
      required:
      - Location
    ContactInfosType:
      type: object
      properties:
        ContactInfos:
          type: array
          default: null
          description: A list of contact information for the hotel, including different
            types of contacts (e.g., reservations, general inquiries).
          items:
            $ref: '#/components/schemas/ContactInfo'
          nullable: true
    AwardsType:
      type: object
      properties:
        Awards:
          type: array
          description: A list of awards received by the hotel, including the rating
            and name of each award.
          items:
            $ref: '#/components/schemas/Award'
      required:
      - Awards
    AffiliationInfo:
      type: object
      properties:
        AwardsType:
          default: null
          description: Information about awards and recognitions associated with the
            hotel.
          allOf:
          - $ref: '#/components/schemas/AwardsType'
          nullable: true
    RefPoint:
      type: object
      properties:
        AttractionCategoryType:
          type: integer
          description: A numerical code representing the category of the reference
            point (e.g., airport, train station).
        LocationCode:
          type: string
          description: A code identifying the reference point (e.g., airport code,
            station code).
        CodeContext:
          type: integer
          description: The context or system used for the location code (e.g., IATA
            for airports).
      required:
      - AttractionCategoryType
      - CodeContext
      - LocationCode
    RefPointsType:
      type: object
      properties:
        RefPoints:
          type: array
          description: A list of reference points near the hotel, such as airports,
            train stations, or other landmarks.
          items:
            $ref: '#/components/schemas/RefPoint'
    Attraction:
      type: object
      properties:
        AttractionCategoryType:
          type: integer
          description: A numerical code representing the category of the attraction
            (e.g., museum, park).
        OtherCategoryName:
          type: string
          default: null
          description: The name of the attraction category if it's not in the standard
            list.
          nullable: true
        AttractionName:
          type: string
          default: null
          description: The name of the attraction.
          nullable: true
        URL:
          default: null
          description: A URL with more information about the attraction.
          allOf:
          - $ref: '#/components/schemas/URL'
          nullable: true
        ID:
          type: integer
          description: The unique identifier for the attraction.
      required:
      - AttractionCategoryType
      - ID
    AttractionsType:
      type: object
      properties:
        Attractions:
          type: array
          default: null
          description: A list of attractions near the hotel.
          items:
            $ref: '#/components/schemas/Attraction'
          nullable: true
    AreaInfo:
      type: object
      properties:
        RefPointsType:
          default: null
          description: Information about reference points (e.g., airports, train stations)
            near the hotel.
          allOf:
          - $ref: '#/components/schemas/RefPointsType'
          nullable: true
        AttractionsType:
          default: null
          description: Information about attractions near the hotel.
          allOf:
          - $ref: '#/components/schemas/AttractionsType'
          nullable: true
    TPAExtensions2:
      type: object
      properties:
        SupplierCode:
          type: string
          default: null
          description: The code of the supplier providing the hotel descriptive information.
          nullable: true
    HotelDescriptiveContent:
      type: object
      properties:
        CurrencyCode:
          default: null
          description: |-
            The currency code used for prices at the hotel (e.g., 'USD', 'EUR').


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          nullable: true
          $ref: '#/components/schemas/CurrencyCodeEnum'
        TimeZone:
          type: string
          default: null
          description: The hotel's timezone in the format of "(UTC-<HH>:<MM>) <TimeZoneName>"
          nullable: true
        HotelRef:
          description: Reference information for the hotel, including chain code,
            chain name, hotel code, and hotel name.
          allOf:
          - $ref: '#/components/schemas/HotelRef'
        HotelInfo:
          description: General information about the hotel, such as name, address,
            description, etc.
          allOf:
          - $ref: '#/components/schemas/HotelInfo'
        FacilityInfo:
          description: Information about the hotel's facilities, such as rooms, amenities,
            restaurants, etc.
          allOf:
          - $ref: '#/components/schemas/FacilityInfo'
        ContactInfosType:
          default: null
          description: Contact information for the hotel, including phone numbers,
            email addresses, and websites.
          allOf:
          - $ref: '#/components/schemas/ContactInfosType'
          nullable: true
        AffiliationInfo:
          default: null
          description: Information about the hotel's affiliations, such as brand or
            association memberships.
          allOf:
          - $ref: '#/components/schemas/AffiliationInfo'
          nullable: true
        AreaInfo:
          default: null
          description: Information about the area surrounding the hotel, including
            attractions and points of interest.
          allOf:
          - $ref: '#/components/schemas/AreaInfo'
          nullable: true
        Policies:
          default: null
          description: The hotel's policies regarding check-in, check-out, cancellation,
            and other aspects of the stay.
          allOf:
          - $ref: '#/components/schemas/Position'
          nullable: true
        PrimaryLangID:
          default: null
          description: |-
            The primary language code (e.g., 'EN', 'ES') for the hotel's information.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          nullable: true
          $ref: '#/components/schemas/LanguageCodeEnum'
        TPA_Extensions:
          description: Additional information or extensions specific to the Travel
            Partner Agreement (TPA).
          allOf:
          - $ref: '#/components/schemas/TPAExtensions2'
      required:
      - FacilityInfo
      - HotelInfo
      - HotelRef
      - TPA_Extensions
    HotelDescriptiveContentsType:
      type: object
      properties:
        HotelDescriptiveContents:
          type: array
          default: null
          description: A list of hotel descriptive content objects, each containing
            detailed information about a hotel.
          items:
            $ref: '#/components/schemas/HotelDescriptiveContent'
          nullable: true
    HotelDescriptiveInfoRS:
      description: 'HotelDescriptiveInfoRS(*, EchoToken: str | None = None, ErrorsType:
        schema.common.ErrorsTypeSchema | None = None, PrimaryLangID: schema.common.LanguageCodeEnum
        = <LanguageCodeEnum.br: 8>, Success: dict[str, str] | None, Target: schema.common.TargetEnum,
        TimeStamp: str, Version: float, WarningsType: schema.common.WarningsTypeSchema
        | None = None)'
      type: object
      properties:
        EchoToken:
          type: string
          default: null
          description: The same token received in the request.
          nullable: true
        ErrorsType:
          default: null
          description: Used to inform that an error occurred in the server. The partner
            should contact support with the echotoken passed.
          allOf:
          - $ref: '#/components/schemas/ErrorsType'
          nullable: true
        PrimaryLangID:
          default: 8
          $ref: '#/components/schemas/LanguageCodeEnum'
        Success:
          type: object
          additionalProperties:
            type: string
          nullable: true
        Target:
          description: |-
            The environment target. The same value received in the request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        TimeStamp:
          type: string
          description: The date in ISO format right before the response is sent.
        Version:
          type: number
          description: Version of the API being used. The same value received in the
            request.
        WarningsType:
          default: null
          description: Used to specify a warning related to business rules. This field
            could be present alongside Success.
          allOf:
          - $ref: '#/components/schemas/WarningsType'
          nullable: true
        HotelDescriptiveContentsType:
          description: A container for the list of hotel descriptive content objects.
          allOf:
          - $ref: '#/components/schemas/HotelDescriptiveContentsType'
      required:
      - HotelDescriptiveContentsType
      - Target
      - TimeStamp
      - Version
    StatusTypeEnum:
      type: int
      enum:
      - 0
      - 1
      description: |-
        Values (StatusTypeEnum):
        `0=Cancelled` | `1=Unchanged`.
    Segment:
      type: object
      properties:
        ItinSegNbr:
          type: string
          description: The itinerary segment number.
        Status:
          default: 0
          description: |-
            The status of the segment. Always 'Cancelled' in this context.


            Values (StatusTypeEnum):
            `0=Cancelled` | `1=Unchanged`.
          $ref: '#/components/schemas/StatusTypeEnum'
      required:
      - ItinSegNbr
    ReservationTimeSpan:
      type: object
      properties:
        Start:
          type: string
          description: Check-in date in ISO format.
        End:
          type: string
          description: Check-out date in ISO format.
      required:
      - End
      - Start
    Verification:
      type: object
      properties:
        Email:
          type: string
          default: null
          description: The email address associated with the reservation.
          nullable: true
        HotelRef:
          description: Reference information for the hotel where the reservation was
            made.
          allOf:
          - $ref: '#/components/schemas/HotelRef'
        ReservationTimeSpan:
          description: The check-in and check-out dates for the reservation.
          allOf:
          - $ref: '#/components/schemas/ReservationTimeSpan'
      required:
      - HotelRef
      - ReservationTimeSpan
    CancelRQ:
      description: Cancel Request
      type: object
      properties:
        PrimaryLangID:
          default: 8
          description: |-
            The primary language code for the request (e.g., 'BR' for Brazilian Portuguese).


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        EchoToken:
          type: string
          default: null
          description: An arbitrary string returned in the response for tracking/debugging.
          nullable: true
        TimeStamp:
          type: string
          description: The date and time (ISO format) just before the request is sent.
        Target:
          description: |-
            The target environment for this request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        Version:
          type: number
          default: 1.0
          description: The version number of this request format.
        CancelType:
          default: null
          description: |-
            The type of cancellation request ('VerifyPrice' or 'CancelRoom').


            Values (TransactionActionTypeEnum):
            `0=Book` | `1=Commit` | `2=Hold` | `3=Ignore` | `4=Initiate` | `5=Modify` | `6=VerifyPrice` | `7=CancelRoom` | `8=CancelRoomVerifyPrice`.
          nullable: true
          $ref: '#/components/schemas/TransactionActionTypeEnum'
        Segment:
          type: array
          default: null
          description: A list of segments to cancel.
          items:
            $ref: '#/components/schemas/Segment'
          nullable: true
        UniqueID:
          type: array
          description: A list of unique identifiers for the reservations to be canceled.
          items:
            $ref: '#/components/schemas/UniqueID'
        Verification:
          default: null
          description: Information for verifying the cancellation request (email,
            hotel reference, and reservation dates).
          allOf:
          - $ref: '#/components/schemas/Verification'
          nullable: true
      required:
      - Target
      - TimeStamp
    Comment:
      type: object
      properties:
        Name:
          type: string
          default: null
          description: Name in plain text format.
          nullable: true
        Language:
          default: 8
          description: |-
            The language code (e.g., 'EN', 'ES') for the description.


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        Description:
          type: string
          description: Description in plain text format.
      required:
      - Description
    CancelRule:
      type: object
      properties:
        Amount:
          type: number
          default: 0.0
          description: The amount of the cancellation fee.
        CurrencyCode:
          description: |-
            The currency code (e.g., 'USD', 'EUR') for the cancellation fee.


            Values (CurrencyCodeEnum):
            `1=ALL` | `2=AFN` | `3=ARS` | `4=AWG` | `5=AUD` | `6=AZN` | `7=BSD` | `8=BBD` | `9=BYR` | `10=BZD` | `11=BMD` | `12=BOB` | `13=BAM` | `14=BWP` | `15=BGN` | `16=BRL` | `17=BND` | `18=KHR` | `19=CAD` | `20=KYD` | `21=CLP` | `22=CNY` | `23=COP` | `24=CRC` | `25=HRK` | `26=CUP` | `27=CZK` | `28=DKK` | `29=DOP` | `30=XCD` | `31=EGP` | `32=SVC` | `33=EEK` | `34=EUR` | `43=HKD` | `44=HUF` | `46=INR` | `47=IDR` | `50=ILS` | `52=JPY` | `56=KRW` | `59=LVL` | `62=LTL` | `64=MYR` | `66=MXN` | `72=NZD` | `76=NOK` | `82=PHP` | `83=PLN` | `85=RON` | `86=RUB` | `91=SGD` | `94=ZAR` | `97=SEK` | `98=CHF` | `102=THB` | `104=TRY` | `108=GBP` | `109=USD` | `117=MAD` | `118=MZN` | `119=VEF` | `120=PEN` | `121=AED` | `122=AMD` | `123=ANG` | `124=AOA` | `125=BDT` | `126=BHD` | `127=BIF` | `128=BOV` | `129=BTN` | `130=CDF` | `131=CHE` | `132=CHW` | `133=CLF` | `134=COU` | `135=CUC` | `136=CVE` | `137=DJF` | `138=DZD` | `139=ERN` | `140=ETB` | `141=FJD` | `142=FKP` | `143=GEL` | `144=GHS` | `145=GIP` | `146=GMD` | `147=GNF` | `148=GTQ` | `149=GYD` | `150=HNL` | `151=HTG` | `152=IQD` | `153=IRR` | `154=ISK` | `155=JMD` | `156=JOD` | `157=KES` | `158=KGS` | `159=KMF` | `160=KPW` | `161=KWD` | `162=KZT` | `163=LAK` | `164=LBP` | `165=LKR` | `166=LRD` | `167=LSL` | `168=LYD` | `169=MDL` | `170=MGA` | `171=MKD` | `172=MMK` | `173=MNT` | `174=MOP` | `175=MRO` | `176=MUR` | `177=MVR` | `178=MWK` | `179=MXV` | `180=NAD` | `181=NGN` | `182=NIO` | `183=NPR` | `184=OMR` | `185=PAB` | `186=PGK` | `187=PKR` | `188=PYG` | `189=QAR` | `190=RSD` | `191=RWF` | `192=SAR` | `193=SBD` | `194=SCR` | `195=SDG` | `196=SHP` | `197=SLL` | `198=SOS` | `199=SRD` | `200=SSP` | `201=STD` | `202=SYP` | `203=SZL` | `204=TJS` | `205=TMT` | `206=TND` | `207=TOP` | `208=TTD` | `209=TWD` | `210=TZS` | `211=UAH` | `212=UGX` | `213=USN` | `214=UYI` | `215=UYU` | `216=UZS` | `217=VND` | `218=VUV` | `219=WST` | `220=XAF` | `221=XAG` | `222=XAU` | `223=XBA` | `224=XBB` | `225=XBC` | `226=XBD` | `227=XDR` | `228=XOF` | `229=XPD` | `230=XPF` | `231=XPT` | `232=XSU` | `233=XTS` | `234=XUA` | `235=XXX` | `236=YER` | `237=ZMW` | `238=ZWL`.
          $ref: '#/components/schemas/CurrencyCodeEnum'
      required:
      - CurrencyCode
    CancelInfoRS:
      type: object
      properties:
        CancelRules:
          type: array
          description: A list of rules that determine cancellation fees.
          items:
            $ref: '#/components/schemas/CancelRule'
    CancelRS:
      description: 'CancelRS(*, EchoToken: str | None = None, ErrorsType: schema.common.ErrorsTypeSchema
        | None = None, PrimaryLangID: schema.common.LanguageCodeEnum = <LanguageCodeEnum.br:
        8>, Success: dict[str, str] | None, Target: schema.common.TargetEnum, TimeStamp:
        str, Version: float, WarningsType: schema.common.WarningsTypeSchema | None
        = None)'
      type: object
      properties:
        EchoToken:
          type: string
          default: null
          description: The same token received in the request.
          nullable: true
        ErrorsType:
          default: null
          description: Used to inform that an error occurred in the server. The partner
            should contact support with the echotoken passed.
          allOf:
          - $ref: '#/components/schemas/ErrorsType'
          nullable: true
        PrimaryLangID:
          default: 8
          $ref: '#/components/schemas/LanguageCodeEnum'
        Success:
          type: object
          additionalProperties:
            type: string
          nullable: true
        Target:
          description: |-
            The environment target. The same value received in the request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        TimeStamp:
          type: string
          description: The date in ISO format right before the response is sent.
        Version:
          type: number
          description: Version of the API being used. The same value received in the
            request.
        WarningsType:
          default: null
          description: Used to specify a warning related to business rules. This field
            could be present alongside Success.
          allOf:
          - $ref: '#/components/schemas/WarningsType'
          nullable: true
        Comment:
          default: null
          description: A comment or additional information about the cancellation,
            often specifying the total cost.
          allOf:
          - $ref: '#/components/schemas/Comment'
          nullable: true
        Segment:
          type: array
          default: null
          description: A list of segments that were canceled.
          items:
            $ref: '#/components/schemas/Segment'
          nullable: true
        CancelInfoRS:
          default: null
          description: Information about the cancellation rules and fees.
          allOf:
          - $ref: '#/components/schemas/CancelInfoRS'
          nullable: true
        Status:
          description: |-
            The status of the cancellation (e.g., 'Unchanged', 'Cancelled').


            Values (StatusTypeEnum):
            `0=Cancelled` | `1=Unchanged`.
          $ref: '#/components/schemas/StatusTypeEnum'
        UniqueID:
          type: array
          description: A list of unique identifiers for the reservations to be canceled.
          items:
            $ref: '#/components/schemas/UniqueID'
        RetransmissionIndicator:
          type: string
          default: null
          description: Indicator for retransmission, if applicable.
          nullable: true
        TransactionIdentifier:
          type: string
          default: null
          description: Identifier for the transaction, if any.
          nullable: true
      required:
      - Status
      - Target
      - TimeStamp
      - Version
    GlobalInfoGuaranteesAcceptedType:
      type: object
      properties:
        GuaranteesAccepted:
          type: array
          description: A list of guarantees accepted for the reservation.
          items:
            $ref: '#/components/schemas/GuaranteeAccepted'
    GlobalInfoGuarantee:
      type: object
      properties:
        GuaranteesAcceptedType:
          description: Information about the types of guarantees accepted for the
            reservation.
          allOf:
          - $ref: '#/components/schemas/GlobalInfoGuaranteesAcceptedType'
      required:
      - GuaranteesAcceptedType
    HotelReservationID:
      type: object
      properties:
        ResID_Value:
          type: string
          description: The value of the reservation ID (e.g., confirmation number).
        ResID_Type:
          type: string
          description: The type of the reservation ID (e.g., 14 for reservation locator).
      required:
      - ResID_Type
      - ResID_Value
    HotelReservationsIDsType:
      type: object
      properties:
        HotelReservationIDs:
          type: array
          description: A list of hotel reservation IDs, if applicable.
          items:
            $ref: '#/components/schemas/HotelReservationID'
          nullable: true
    ResGlobalInfo:
      type: object
      properties:
        Guarantee:
          description: Information about the guarantee for the reservation.
          allOf:
          - $ref: '#/components/schemas/GlobalInfoGuarantee'
        Total:
          description: The total cost information for the reservation.
          allOf:
          - $ref: '#/components/schemas/Total'
        CommentsType:
          default: null
          description: Comments associated with the reservation.
          allOf:
          - $ref: '#/components/schemas/CommentsType'
          nullable: true
        HotelReservationsIDsType:
          default: null
          description: Identifiers for multiple hotel reservations (if applicable).
          allOf:
          - $ref: '#/components/schemas/HotelReservationsIDsType'
          nullable: true
      required:
      - Guarantee
      - Total
    ResGuest:
      type: object
      properties:
        ResGuestRPH:
          type: integer
          description: A reference number for the guest within the reservation.
        AgeQualifyingCode:
          description: |-
            A code indicating the age category of the guest (e.g., adult, child).


            Values (AgeQualifyCodeEnum):
            `10=Adult` | `8=Child` | `7=Infant`.
          $ref: '#/components/schemas/AgeQualifyCodeEnum'
        Age:
          type: integer
          description: The age of the guest.
        Profiles:
          description: Profile information for the guest, including personal details
            and contact information.
          allOf:
          - $ref: '#/components/schemas/Profiles'
        PrimaryIndicator:
          type: boolean
          default: false
          description: Indicates if this is the primary guest in the reservation (true)
            or not (false).
        SpecialRequests:
          type: string
          default: null
          description: Any special requests made by the guest for the reservation.
          nullable: true
      required:
      - Age
      - AgeQualifyingCode
      - Profiles
      - ResGuestRPH
    ResGuestsType:
      type: object
      properties:
        ResGuests:
          type: array
          description: A list of guests associated with the hotel reservation.
          items:
            $ref: '#/components/schemas/ResGuest'
    RoomStay1:
      type: object
      properties:
        AvailabilityStatus:
          type: string
          default: null
          description: The availability status of the room stay (e.g., 'Available',
            'NotAvailable').
          nullable: true
        BasicPropertyInfo:
          description: Basic information about the hotel or property for this room
            stay.
          allOf:
          - $ref: '#/components/schemas/BasicPropertyInfo'
        RPH:
          type: integer
          default: 0
          description: The Rate Plan Header (RPH) number associated with this room
            stay.
        RatePlans:
          type: array
          description: A list of rate plans available for this room stay.
          items:
            $ref: '#/components/schemas/RatePlan'
        RoomRates:
          type: array
          description: A list of room rates available for this room stay.
          items:
            $ref: '#/components/schemas/RoomRate'
        RoomTypes:
          type: array
          description: A list of room types included in this room stay.
          items:
            $ref: '#/components/schemas/RoomType'
        TPA_Extensions:
          default: null
          description: Additional information or extensions specific to the Travel
            Partner Agreement (TPA).
          allOf:
          - $ref: '#/components/schemas/TPAExtensions'
          nullable: true
        Total:
          description: The total cost for this room stay, including taxes and fees.
          allOf:
          - $ref: '#/components/schemas/Total'
        CommentsType:
          default: null
          description: A collection of Comment objects. Comments which apply to the
            whole Reservation or a particular Room Stay.
          allOf:
          - $ref: '#/components/schemas/CommentsType'
          nullable: true
        SpecialRequestsType:
          default: null
          description: The SpecialRequest object indicates special requests for the
            whole Reservation, or a particular Room Stay.
          allOf:
          - $ref: '#/components/schemas/SpecialRequestsType'
          nullable: true
        IndexNumber:
          type: string
          default: null
          description: A unique number (e.g. segment number or index number) used
            to further identify a booked item within a list of booked items
          nullable: true
        RoomStayStatus:
          default: null
          description: Identifies the status of the room stay.
          allOf:
          - $ref: '#/components/schemas/ResStatus'
          nullable: true
        Guarantees:
          type: array
          default: null
          description: Guarantee information that applies to the rate plan. A maximum
            of 5 occurances are available for use depending on the context. Not yet
            implemented.
          items:
            $ref: '#/components/schemas/Guarantee'
          nullable: true
        GuestCountsType:
          description: Information about the number of guests staying in the room.
          allOf:
          - $ref: '#/components/schemas/GuestCountsType1'
        Reference:
          type: string
          default: null
          description: A reference number or identifier for the room stay.
          nullable: true
        RoomStayCandidateRPH:
          type: integer
          default: null
          description: A reference to a requested room stay candidate from the SearchCriteria.
          nullable: true
      required:
      - BasicPropertyInfo
      - Total
    RoomStaysType1:
      type: object
      properties:
        RoomStays:
          type: array
          description: A list of room stay objects, each representing a single room
            stay within a hotel reservation.
          items:
            $ref: '#/components/schemas/RoomStay1'
      required:
      - RoomStays
    HotelReservationResStatus:
      type: object
      properties:
        TransactionActionType:
          default: 0
          $ref: '#/components/schemas/TransactionActionTypeEnum'
    HotelReservationRQ:
      type: object
      properties:
        POS:
          default: null
          description: Point of sale information for the request.
          allOf:
          - $ref: '#/components/schemas/POSType'
          nullable: true
        ResGlobalInfo:
          description: Global information for the reservation request, including guarantees,
            total cost, and comments.
          allOf:
          - $ref: '#/components/schemas/ResGlobalInfo'
        ResGuestsType:
          description: Information about the guests included in the reservation request.
          allOf:
          - $ref: '#/components/schemas/ResGuestsType'
        RoomStaysType:
          description: Information about the room stays requested in the reservation.
          allOf:
          - $ref: '#/components/schemas/RoomStaysType1'
        ResStatus:
          description: The status of the reservation request.
          allOf:
          - $ref: '#/components/schemas/HotelReservationResStatus'
      required:
      - ResGlobalInfo
      - ResGuestsType
      - ResStatus
      - RoomStaysType
    HotelReservationsTypeRQ:
      type: object
      properties:
        HotelReservations:
          type: array
          description: A list of hotel reservation requests, each detailing the specifics
            of a desired reservation.
          items:
            $ref: '#/components/schemas/HotelReservationRQ'
    HotelBookingServiceRQ:
      description: Payload de booking
      type: object
      properties:
        PrimaryLangID:
          default: 8
          description: |-
            The primary language code for the request (e.g., 'BR' for Brazilian Portuguese).


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        EchoToken:
          type: string
          default: null
          description: An arbitrary string returned in the response for tracking/debugging.
          nullable: true
        TimeStamp:
          type: string
          description: The date and time (ISO format) just before the request is sent.
        Target:
          description: |-
            The target environment for this request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        Version:
          type: number
          default: 1.0
          description: The version number of this request format.
        HotelReservationsType:
          description: A container for the list of hotel reservation requests.
          allOf:
          - $ref: '#/components/schemas/HotelReservationsTypeRQ'
        TransactionIdentifier:
          type: string
          default: null
          description: A unique identifier for the booking transaction.
          nullable: true
      required:
      - HotelReservationsType
      - Target
      - TimeStamp
    HotelReservationRS:
      type: object
      properties:
        POS:
          default: null
          description: Point of sale information for the request.
          allOf:
          - $ref: '#/components/schemas/POSType'
          nullable: true
        ResGlobalInfo:
          description: Global information for the reservation request, including guarantees,
            total cost, and comments.
          allOf:
          - $ref: '#/components/schemas/ResGlobalInfo'
        ResGuestsType:
          description: Information about the guests included in the reservation request.
          allOf:
          - $ref: '#/components/schemas/ResGuestsType'
        RoomStaysType:
          description: Information about the room stays requested in the reservation.
          allOf:
          - $ref: '#/components/schemas/RoomStaysType1'
        ResStatus:
          description: The status of the reservation request.
          allOf:
          - $ref: '#/components/schemas/ResStatus'
        UniqueID:
          default: null
          description: A unique identifier for the hotel reservation.
          allOf:
          - $ref: '#/components/schemas/UniqueID'
          nullable: true
        CreateDateTime:
          type: string
          default: null
          description: The date and time the reservation was created (ISO 8601 format).
          nullable: true
        LastModifyDateTime:
          type: string
          default: null
          description: The date and time the reservation was last modified (ISO 8601
            format).
          nullable: true
      required:
      - ResGlobalInfo
      - ResGuestsType
      - ResStatus
      - RoomStaysType
    HotelReservationsTypeRS:
      type: object
      properties:
        HotelReservations:
          type: array
          description: A list of hotel reservation responses, each containing details
            of a confirmed reservation.
          items:
            $ref: '#/components/schemas/HotelReservationRS'
    HotelBookingServiceRS:
      description: Response de booking
      type: object
      properties:
        EchoToken:
          type: string
          default: null
          description: The same token received in the request.
          nullable: true
        ErrorsType:
          default: null
          description: Used to inform that an error occurred in the server. The partner
            should contact support with the echotoken passed.
          allOf:
          - $ref: '#/components/schemas/ErrorsType'
          nullable: true
        PrimaryLangID:
          default: 8
          $ref: '#/components/schemas/LanguageCodeEnum'
        Success:
          type: object
          additionalProperties:
            type: string
          nullable: true
        Target:
          description: |-
            The environment target. The same value received in the request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        TimeStamp:
          type: string
          description: The date in ISO format right before the response is sent.
        Version:
          type: number
          description: Version of the API being used. The same value received in the
            request.
        WarningsType:
          default: null
          description: Used to specify a warning related to business rules. This field
            could be present alongside Success.
          allOf:
          - $ref: '#/components/schemas/WarningsType'
          nullable: true
        HotelReservationsType:
          description: A container for the list of hotel reservation responses.
          allOf:
          - $ref: '#/components/schemas/HotelReservationsTypeRS'
        MaxResponses:
          type: integer
          default: null
          description: The maximum number of responses allowed in a single response
            message.
          nullable: true
        MoreIndicator:
          type: boolean
          default: false
          description: Indicates if there are more results available than what is
            included in this response (true) or not (false).
        POS:
          default: null
          description: Point of sale information for the response.
          allOf:
          - $ref: '#/components/schemas/POSType'
          nullable: true
        PageNumber:
          type: integer
          default: null
          description: The current page number of the response (for paginated responses).
          nullable: true
        ResResponseType:
          type: string
          default: null
          description: The type of reservation response (e.g., 'Hotel', 'NonHotel').
          nullable: true
        RetransmissionIndicator:
          type: boolean
          default: null
          description: Indicates whether this is a retransmission of a previous response
            (true) or not (false).
          nullable: true
        TotalRecords:
          type: integer
          default: null
          description: The total number of records matching the search criteria.
          nullable: true
        TransactionIdentifier:
          type: string
          default: null
          description: A unique identifier for the booking transaction that matches
            the one in the request.
          nullable: true
        ExpectedProcessingTimeInSeconds:
          type: integer
          default: null
          description: Expected time to process the booking request in the case ResStatus.PMS_ResStatusType
            = 0 (Requested).
          nullable: true
        MaximumProcessingTimeInSeconds:
          type: integer
          default: null
          description: Expected time to process the booking request in the case ResStatus.PMS_ResStatusType
            = 0 (Requested).
          nullable: true
      required:
      - HotelReservationsType
      - Target
      - TimeStamp
      - Version
    SelectionCriteria:
      type: object
      properties:
        Start:
          type: string
          description: The start date (ISO 8601 format) of the date range for the
            hotel search.
        End:
          type: string
          description: The end date (ISO 8601 format) of the date range for the hotel
            search.
        Duration:
          type: integer
          default: null
          description: The duration of the stay in nights.
          nullable: true
      required:
      - End
      - Start
    HotelReadRequest:
      type: object
      properties:
        HotelRef:
          default: null
          description: Information about the hotel or chain to search for.
          allOf:
          - $ref: '#/components/schemas/HotelRef'
          nullable: true
        SelectionCriteria:
          default: null
          description: Criteria for selecting hotels within the specified date range
            (e.g., start and end dates).
          allOf:
          - $ref: '#/components/schemas/SelectionCriteria'
          nullable: true
    ReadRequestsType:
      type: object
      properties:
        HotelReadRequests:
          type: array
          description: A list of hotel read requests, each specifying the criteria
            for a hotel search.
          items:
            $ref: '#/components/schemas/HotelReadRequest'
    GetBookingsRQ:
      description: Payload da consulta
      type: object
      properties:
        PrimaryLangID:
          default: 8
          description: |-
            The primary language code for the request (e.g., 'BR' for Brazilian Portuguese).


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        EchoToken:
          type: string
          default: null
          description: An arbitrary string returned in the response for tracking/debugging.
          nullable: true
        TimeStamp:
          type: string
          description: The date and time (ISO format) just before the request is sent.
        Target:
          description: |-
            The target environment for this request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        Version:
          type: number
          default: 1.0
          description: The version number of this request format.
        ReadRequestsType:
          default: null
          description: A container for multiple hotel read requests.
          allOf:
          - $ref: '#/components/schemas/ReadRequestsType'
          nullable: true
        UniqueID:
          default: null
          description: A unique identifier for the booking request.
          allOf:
          - $ref: '#/components/schemas/UniqueID'
          nullable: true
      required:
      - Target
      - TimeStamp
    Source1:
      type: object
      properties:
        ISOCountry:
          type: string
          default: null
          description: The ISO 3166-1 alpha-2 country code of the source.
          nullable: true
    POSType1:
      type: object
      properties:
        Sources:
          type: array
          description: A list of sources for the point of sale.
          items:
            $ref: '#/components/schemas/Source1'
    RoomStaysType2:
      type: object
      properties:
        MoreIndicator:
          type: boolean
          default: false
          description: Indicates if there are more room stays available (true) or
            not (false).
        RoomStays:
          type: array
          description: A list of room stay objects.
          items:
            $ref: '#/components/schemas/RoomStay'
    ResGuestsType1:
      type: object
      properties:
        ResGuests:
          type: array
          description: A list of guests associated with the reservation.
          items:
            $ref: '#/components/schemas/ResGuest'
    HotelReservationID1:
      type: object
      properties:
        ResID_Type:
          default: null
          description: |-
            The type of unique identifier for the hotel reservation.


            Values (UniqueIDCodeEnum):
            `14=Reservation` | `25=AssociatedReservation`.
          nullable: true
          $ref: '#/components/schemas/UniqueIDCodeEnum'
        ResID_Value:
          type: string
          default: null
          description: The value of the unique identifier for the hotel reservation.
          nullable: true
    HotelReservationsIDsType1:
      type: object
      properties:
        HotelReservationIDs:
          type: array
          description: A list of hotel reservation identifiers.
          items:
            $ref: '#/components/schemas/HotelReservationID1'
    CommentsType1:
      type: object
      properties:
        Comments:
          type: array
          description: A list of comments, each with a name and description.
          items:
            $ref: '#/components/schemas/Comment'
    ResGlobalInfo1:
      type: object
      properties:
        TimeSpan:
          type: string
          default: null
          description: The time span of the reservation (e.g., check-in and check-out
            dates).
          nullable: true
        Total:
          description: The total cost information for the reservation.
          allOf:
          - $ref: '#/components/schemas/Total'
        HotelReservationsIDsType:
          default: null
          description: Identifiers for multiple hotel reservations (if applicable).
          allOf:
          - $ref: '#/components/schemas/HotelReservationsIDsType1'
          nullable: true
        Guarantee:
          default: null
          description: Information about the guarantee for the reservation.
          allOf:
          - $ref: '#/components/schemas/Guarantee'
          nullable: true
        CommentsType:
          default: null
          description: Comments associated with the reservation.
          allOf:
          - $ref: '#/components/schemas/CommentsType1'
          nullable: true
      required:
      - Total
    HotelReservation:
      type: object
      properties:
        CreateDateTime:
          type: string
          default: null
          description: The date and time the reservation was created (ISO 8601 format).
          nullable: true
        LastModifyDateTime:
          type: string
          default: null
          description: The date and time the reservation was last modified (ISO 8601
            format).
          nullable: true
        ResStatus:
          default: null
          description: Indicates the status of the reservation represented by the
            message.
          allOf:
          - $ref: '#/components/schemas/ResStatus'
          nullable: true
        POS:
          default: null
          description: Information about the point of sale where the reservation was
            made.
          allOf:
          - $ref: '#/components/schemas/POSType1'
          nullable: true
        UniqueID:
          description: A unique identifier for the reservation.
          allOf:
          - $ref: '#/components/schemas/UniqueID'
        RoomStaysType:
          description: Information about the room stays within the reservation.
          allOf:
          - $ref: '#/components/schemas/RoomStaysType2'
        ResGuestsType:
          description: Information about the guests associated with the reservation.
          allOf:
          - $ref: '#/components/schemas/ResGuestsType1'
        ResGlobalInfo:
          description: Global information about the reservation.
          allOf:
          - $ref: '#/components/schemas/ResGlobalInfo1'
        Services:
          type: array
          default: null
          description: Information about services included in the reservation.
          items:
            $ref: '#/components/schemas/Service'
          nullable: true
      required:
      - ResGlobalInfo
      - ResGuestsType
      - RoomStaysType
      - UniqueID
    HotelReservationsType:
      type: object
      properties:
        HotelReservations:
          type: array
          description: A list of hotel reservations.
          items:
            $ref: '#/components/schemas/HotelReservation'
    GetBookingsRS:
      description: Get bookings response
      type: object
      properties:
        EchoToken:
          type: string
          default: null
          description: The same token received in the request.
          nullable: true
        ErrorsType:
          default: null
          description: Used to inform that an error occurred in the server. The partner
            should contact support with the echotoken passed.
          allOf:
          - $ref: '#/components/schemas/ErrorsType'
          nullable: true
        PrimaryLangID:
          default: 8
          $ref: '#/components/schemas/LanguageCodeEnum'
        Success:
          type: object
          additionalProperties:
            type: string
          nullable: true
        Target:
          description: |-
            The environment target. The same value received in the request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        TimeStamp:
          type: string
          description: The date in ISO format right before the response is sent.
        Version:
          type: number
          description: Version of the API being used. The same value received in the
            request.
        WarningsType:
          default: null
          description: Used to specify a warning related to business rules. This field
            could be present alongside Success.
          allOf:
          - $ref: '#/components/schemas/WarningsType'
          nullable: true
        MaxResponses:
          type: integer
          default: null
          description: Maximum number of responses that can be returned, if specified.
          nullable: true
        PageNumber:
          type: integer
          description: Page number of the current response set.
        TotalRecords:
          type: integer
          description: Total number of records available.
        MoreIndicator:
          type: boolean
          default: false
          description: Indicates whether there are more records available.
        POS:
          type: string
          default: null
          description: Point of Sale (POS) identifier, if applicable.
          nullable: true
        HotelReservationsType:
          description: Type of hotel reservations included in the response.
          allOf:
          - $ref: '#/components/schemas/HotelReservationsType'
        ResResponseType:
          type: string
          default: null
          description: Response type for the reservation, if any.
          nullable: true
        RetransmissionIndicator:
          type: string
          default: null
          description: Indicator for retransmission, if applicable.
          nullable: true
        TransactionIdentifier:
          type: string
          default: null
          description: Identifier for the transaction, if any.
          nullable: true
      required:
      - HotelReservationsType
      - PageNumber
      - Target
      - TimeStamp
      - TotalRecords
      - Version
    GetCountryListRQ:
      description: 'GetCountryListRQ(*, PrimaryLangID: schema.common.LanguageCodeEnum
        = <LanguageCodeEnum.br: 8>, EchoToken: str | None = None, TimeStamp: str,
        Target: schema.common.TargetEnum, Version: float = 1)'
      type: object
      properties:
        PrimaryLangID:
          default: 8
          description: |-
            The primary language code for the request (e.g., 'BR' for Brazilian Portuguese).


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        EchoToken:
          type: string
          default: null
          description: An arbitrary string returned in the response for tracking/debugging.
          nullable: true
        TimeStamp:
          type: string
          description: The date and time (ISO format) just before the request is sent.
        Target:
          description: |-
            The target environment for this request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        Version:
          type: number
          default: 1.0
          description: The version number of this request format.
      required:
      - Target
      - TimeStamp
    Country:
      type: object
      properties:
        Code:
          description: Code.
          oneOf:
          - type: integer
          - type: string
        Name:
          type: string
          description: Name.
      required:
      - Code
      - Name
    CountriesType:
      type: object
      properties:
        Countries:
          type: array
          description: List of countries.
          items:
            $ref: '#/components/schemas/Country'
      required:
      - Countries
    GetCountryListRS:
      description: 'GetCountryListRS(*, EchoToken: str | None = None, ErrorsType:
        schema.common.ErrorsTypeSchema | None = None, PrimaryLangID: schema.common.LanguageCodeEnum
        = <LanguageCodeEnum.br: 8>, Success: dict[str, str] | None, Target: schema.common.TargetEnum,
        TimeStamp: str, Version: float, WarningsType: schema.common.WarningsTypeSchema
        | None = None)'
      type: object
      properties:
        EchoToken:
          type: string
          default: null
          description: The same token received in the request.
          nullable: true
        ErrorsType:
          default: null
          description: Used to inform that an error occurred in the server. The partner
            should contact support with the echotoken passed.
          allOf:
          - $ref: '#/components/schemas/ErrorsType'
          nullable: true
        PrimaryLangID:
          default: 8
          $ref: '#/components/schemas/LanguageCodeEnum'
        Success:
          type: object
          additionalProperties:
            type: string
          nullable: true
        Target:
          description: |-
            The environment target. The same value received in the request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        TimeStamp:
          type: string
          description: The date in ISO format right before the response is sent.
        Version:
          type: number
          description: Version of the API being used. The same value received in the
            request.
        WarningsType:
          default: null
          description: Used to specify a warning related to business rules. This field
            could be present alongside Success.
          allOf:
          - $ref: '#/components/schemas/WarningsType'
          nullable: true
        CountriesType:
          description: Countries type.
          allOf:
          - $ref: '#/components/schemas/CountriesType'
      required:
      - CountriesType
      - Target
      - TimeStamp
      - Version
    GetStateListRQ:
      description: 'GetStateListRQ(*, PrimaryLangID: schema.common.LanguageCodeEnum
        = <LanguageCodeEnum.br: 8>, EchoToken: str | None = None, TimeStamp: str,
        Target: schema.common.TargetEnum, Version: float = 1)'
      type: object
      properties:
        PrimaryLangID:
          default: 8
          description: |-
            The primary language code for the request (e.g., 'BR' for Brazilian Portuguese).


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        EchoToken:
          type: string
          default: null
          description: An arbitrary string returned in the response for tracking/debugging.
          nullable: true
        TimeStamp:
          type: string
          description: The date and time (ISO format) just before the request is sent.
        Target:
          description: |-
            The target environment for this request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        Version:
          type: number
          default: 1.0
          description: The version number of this request format.
        Country_UID:
          type: string
          description: Country code.
        CitiesDataUid:
          type: string
          default: null
          description: Not yet implemented.
          nullable: true
        StateSearchCode:
          type: string
          default: null
          description: State code.
          nullable: true
        ZoneSearchCode:
          type: string
          default: null
          description: Zone code. Not yet implemented.
          nullable: true
      required:
      - Country_UID
      - Target
      - TimeStamp
    Position1:
      type: object
      properties:
        Latitude:
          type: number
          default: null
          description: The measure of the angular distance on a meridian north or
            south of the equator.
          xml:
            namespace: null
            inner_namespaces:
              null: http://schemas.datacontract.org/2004/07/Pull.BLL.Models.OTA
          nullable: true
        Longitude:
          type: number
          default: null
          description: The measure of the angular distance on a meridian east or west
            of the prime meridian.
          xml:
            namespace: null
            inner_namespaces:
              null: http://schemas.datacontract.org/2004/07/Pull.BLL.Models.OTA
          nullable: true
        Code:
          description: Code.
          oneOf:
          - type: integer
          - type: string
        CountryUID:
          type: integer
          default: null
          description: The code of country.
          nullable: true
        Name:
          type: string
          description: Name.
        SearchCode:
          description: Name.
          oneOf:
          - type: integer
          - type: string
        SearchZoneCode:
          type: string
          default: null
          description: Zone code. Not yet implemented.
          nullable: true
      required:
      - Code
      - Name
      - SearchCode
    PositionsType:
      type: object
      properties:
        Positions:
          type: array
          description: List of positions.
          items:
            $ref: '#/components/schemas/Position1'
      required:
      - Positions
    GetStateListRS:
      description: 'GetStateListRS(*, EchoToken: str | None = None, ErrorsType: schema.common.ErrorsTypeSchema
        | None = None, PrimaryLangID: schema.common.LanguageCodeEnum = <LanguageCodeEnum.br:
        8>, Success: dict[str, str] | None, Target: schema.common.TargetEnum, TimeStamp:
        str, Version: float, WarningsType: schema.common.WarningsTypeSchema | None
        = None)'
      type: object
      properties:
        EchoToken:
          type: string
          default: null
          description: The same token received in the request.
          nullable: true
        ErrorsType:
          default: null
          description: Used to inform that an error occurred in the server. The partner
            should contact support with the echotoken passed.
          allOf:
          - $ref: '#/components/schemas/ErrorsType'
          nullable: true
        PrimaryLangID:
          default: 8
          $ref: '#/components/schemas/LanguageCodeEnum'
        Success:
          type: object
          additionalProperties:
            type: string
          nullable: true
        Target:
          description: |-
            The environment target. The same value received in the request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        TimeStamp:
          type: string
          description: The date in ISO format right before the response is sent.
        Version:
          type: number
          description: Version of the API being used. The same value received in the
            request.
        WarningsType:
          default: null
          description: Used to specify a warning related to business rules. This field
            could be present alongside Success.
          allOf:
          - $ref: '#/components/schemas/WarningsType'
          nullable: true
        PositionsType:
          description: Positions type.
          allOf:
          - $ref: '#/components/schemas/PositionsType'
      required:
      - PositionsType
      - Target
      - TimeStamp
      - Version
    GetCityListRQ:
      description: 'GetCityListRQ(*, PrimaryLangID: schema.common.LanguageCodeEnum
        = <LanguageCodeEnum.br: 8>, EchoToken: str | None = None, TimeStamp: str,
        Target: schema.common.TargetEnum, Version: float = 1)'
      type: object
      properties:
        PrimaryLangID:
          default: 8
          description: |-
            The primary language code for the request (e.g., 'BR' for Brazilian Portuguese).


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        EchoToken:
          type: string
          default: null
          description: An arbitrary string returned in the response for tracking/debugging.
          nullable: true
        TimeStamp:
          type: string
          description: The date and time (ISO format) just before the request is sent.
        Target:
          description: |-
            The target environment for this request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        Version:
          type: number
          default: 1.0
          description: The version number of this request format.
        Country_UID:
          type: string
          description: The code of country.
        StateSearchCode:
          type: string
          description: State search code.
        CitiesDataUid:
          type: string
          default: null
          description: Not yet implemented.
          nullable: true
        ZoneSearchCode:
          type: string
          default: null
          description: Zone code. Not yet implemented.
          nullable: true
      required:
      - Country_UID
      - StateSearchCode
      - Target
      - TimeStamp
    GetCityListRS:
      description: 'GetCityListRS(*, EchoToken: str | None = None, ErrorsType: schema.common.ErrorsTypeSchema
        | None = None, PrimaryLangID: schema.common.LanguageCodeEnum = <LanguageCodeEnum.br:
        8>, Success: dict[str, str] | None, Target: schema.common.TargetEnum, TimeStamp:
        str, Version: float, WarningsType: schema.common.WarningsTypeSchema | None
        = None)'
      type: object
      properties:
        EchoToken:
          type: string
          default: null
          description: The same token received in the request.
          nullable: true
        ErrorsType:
          default: null
          description: Used to inform that an error occurred in the server. The partner
            should contact support with the echotoken passed.
          allOf:
          - $ref: '#/components/schemas/ErrorsType'
          nullable: true
        PrimaryLangID:
          default: 8
          $ref: '#/components/schemas/LanguageCodeEnum'
        Success:
          type: object
          additionalProperties:
            type: string
          nullable: true
        Target:
          description: |-
            The environment target. The same value received in the request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        TimeStamp:
          type: string
          description: The date in ISO format right before the response is sent.
        Version:
          type: number
          description: Version of the API being used. The same value received in the
            request.
        WarningsType:
          default: null
          description: Used to specify a warning related to business rules. This field
            could be present alongside Success.
          allOf:
          - $ref: '#/components/schemas/WarningsType'
          nullable: true
        PositionsType:
          $ref: '#/components/schemas/PositionsType'
      required:
      - PositionsType
      - Target
      - TimeStamp
      - Version
    ContentTypeEnum:
      type: int
      enum:
      - 0
      - 1
      - 2
      description: |-
        Values (ContentTypeEnum):
        `0=Property` | `1=City` | `2=VervotechProperty`.
    GetContentFileUrlRQ:
      description: 'GetContentFileUrlRQ(*, PrimaryLangID: schema.common.LanguageCodeEnum
        = <LanguageCodeEnum.br: 8>, EchoToken: str | None = None, TimeStamp: str,
        Target: schema.common.TargetEnum, Version: float = 1)'
      type: object
      properties:
        PrimaryLangID:
          default: 8
          description: |-
            The primary language code for the request (e.g., 'BR' for Brazilian Portuguese).


            Values (LanguageCodeEnum):
            `8=br` | `4=pt` | `3=es` | `1=en` | `2=fr` | `5=da` | `6=it` | `7=de`.
          $ref: '#/components/schemas/LanguageCodeEnum'
        EchoToken:
          type: string
          default: null
          description: An arbitrary string returned in the response for tracking/debugging.
          nullable: true
        TimeStamp:
          type: string
          description: The date and time (ISO format) just before the request is sent.
        Target:
          description: |-
            The target environment for this request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        Version:
          type: number
          default: 1.0
          description: The version number of this request format.
        ContentType:
          description: |-
            Specify the type of content to download.


            Values (ContentTypeEnum):
            `0=Property` | `1=City` | `2=VervotechProperty`.
          $ref: '#/components/schemas/ContentTypeEnum'
      required:
      - ContentType
      - Target
      - TimeStamp
    GetContentFileUrlRS:
      description: 'GetContentFileUrlRS(*, EchoToken: str | None = None, ErrorsType:
        schema.common.ErrorsTypeSchema | None = None, PrimaryLangID: schema.common.LanguageCodeEnum
        = <LanguageCodeEnum.br: 8>, Success: dict[str, str] | None, Target: schema.common.TargetEnum,
        TimeStamp: str, Version: float, WarningsType: schema.common.WarningsTypeSchema
        | None = None)'
      type: object
      properties:
        EchoToken:
          type: string
          default: null
          description: The same token received in the request.
          nullable: true
        ErrorsType:
          default: null
          description: Used to inform that an error occurred in the server. The partner
            should contact support with the echotoken passed.
          allOf:
          - $ref: '#/components/schemas/ErrorsType'
          nullable: true
        PrimaryLangID:
          default: 8
          $ref: '#/components/schemas/LanguageCodeEnum'
        Success:
          type: object
          additionalProperties:
            type: string
          nullable: true
        Target:
          description: |-
            The environment target. The same value received in the request.


            Values (TargetEnum):
            `0=Test` | `1=Production`.
          $ref: '#/components/schemas/TargetEnum'
        TimeStamp:
          type: string
          description: The date in ISO format right before the response is sent.
        Version:
          type: number
          description: Version of the API being used. The same value received in the
            request.
        WarningsType:
          default: null
          description: Used to specify a warning related to business rules. This field
            could be present alongside Success.
          allOf:
          - $ref: '#/components/schemas/WarningsType'
          nullable: true
        FileURL:
          type: string
          description: The URL of the content file.
      required:
      - FileURL
      - Target
      - TimeStamp
      - Version
  securitySchemes:
    apiKey:
      description: Niara API Username
      type: apiKey
      name: Username
      in: header
    secretKey:
      description: Niara API Password
      type: apiKey
      name: Password
      in: header
