Oracle Hospitality Reservation Request API

Reservation Request API operations allow a channel to create, modify and cancel reservations in Oracle Hospitality Distribution. It is usually used in conjunction with OPERA Cloud Distribution Shop API to retrieve available offers before creating a reservation. For these operations, API will perform all the necessary validations to authorize the reservation request and generate a confirmation number.

Operations 5

POST /hotels/{hotelCode}/reservations Create reservation #
PUT /hotels/{hotelCode}/reservations/{confirmationNum} Modify reservation #
GET /hotels/{hotelCode}/reservations/{confirmationNum} Retrieve reservation #
POST /hotels/{hotelCode}/reservations/{confirmationNum}/cancellations Cancel reservation #
POST /hotels/{hotelCode}/reservations/{confirmationNum}/status Commit/Ignore an onHold reservation #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/oracle-hospitality-reservation-request-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

oracle-hospitality-reservation-request-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OPERA Cloud Distribution Book Reservation Request API
  description: OPERA Cloud Distribution Reservations API allows authorized channel partners to create and update reservations for any active property in Oracle Hospitality Distribution (regardless if the property is using OPERA Cloud, OPERA V5 / Suite8 / on-premise PMS Versions).<br/> Regardless of how the reservation is created, either directly in Oracle Hospitality Distribution API (reservation request operations) or already created and committed in another external system (reservation notification operations) the same API can be used.<br /><br /> Compatible with OPERA Cloud release 26.2.0.0<br /><br /><p> This document and all content within is available under the Universal Permissive License v 1.0 (https://oss.oracle.com/licenses/upl). Copyright (c) 2020, 2026 Oracle and/or its affiliates.</p>
  version: 26.2.0.0
  termsOfService: https://www.oracle.com/legal/terms.html
  contact:
    email: hospitality_apis_ww_grp@oracle.com
  license:
    name: UPL
    url: https://opensource.org/licenses/upl
servers:
- url: /book/v1
tags:
- name: Reservation Request
  description: Reservation Request API operations allow a channel to create, modify and cancel reservations in Oracle Hospitality Distribution.<br/> It is usually used in conjunction with OPERA Cloud Distribution Shop API to retrieve available offers before creating a reservation.<br/> For these operations, API will perform all the necessary validations to authorize the reservation request and generate a confirmation number.
paths:
  /hotels/{hotelCode}/reservations:
    post:
      summary: Create reservation
      operationId: postReservation
      description: <p>Create new reservation.</p> <p><strong>OperationId:</strong>postReservation</p>
      tags:
      - Reservation Request
      parameters:
      - $ref: '#/components/parameters/hotelCodePath'
      - $ref: '#/components/parameters/x-tracing-key'
      - $ref: '#/components/parameters/authKey'
      - $ref: '#/components/parameters/channelCodeHeader'
      - $ref: '#/components/parameters/appKey'
      - $ref: '#/components/parameters/Accept-Language'
      - $ref: '#/components/parameters/x-request-id'
      - $ref: '#/components/parameters/x-originating-application'
      responses:
        '200':
          description: Ok
          headers:
            Content-Language:
              description: Audience language
              x-example: en-GB
              schema:
                type: string
                pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*'
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Response'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '406':
          $ref: '#/components/responses/406'
        '413':
          $ref: '#/components/responses/413'
        '414':
          $ref: '#/components/responses/414'
        '415':
          $ref: '#/components/responses/415'
        '500':
          $ref: '#/components/responses/500'
        '502':
          $ref: '#/components/responses/502'
        '503':
          $ref: '#/components/responses/503'
      requestBody:
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/CreateRequestType'
        required: true
  /hotels/{hotelCode}/reservations/{confirmationNum}:
    put:
      summary: Modify reservation
      operationId: putReservation
      description: <p>Modify a reservation.</p> <p><strong>OperationId:</strong>putReservation</p>
      tags:
      - Reservation Request
      parameters:
      - $ref: '#/components/parameters/hotelCodePath'
      - $ref: '#/components/parameters/confirmationNumberPath'
      - $ref: '#/components/parameters/x-tracing-key'
      - $ref: '#/components/parameters/authKey'
      - $ref: '#/components/parameters/channelCodeHeader'
      - $ref: '#/components/parameters/appKey'
      - $ref: '#/components/parameters/Accept-Language'
      - $ref: '#/components/parameters/x-request-id'
      - $ref: '#/components/parameters/x-originating-application'
      responses:
        '200':
          description: Ok
          headers:
            Content-Language:
              description: Audience language
              x-example: en-GB
              schema:
                type: string
                pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*'
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Response'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '406':
          $ref: '#/components/responses/406'
        '413':
          $ref: '#/components/responses/413'
        '414':
          $ref: '#/components/responses/414'
        '415':
          $ref: '#/components/responses/415'
        '500':
          $ref: '#/components/responses/500'
        '502':
          $ref: '#/components/responses/502'
        '503':
          $ref: '#/components/responses/503'
      requestBody:
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/ModifyRequestType'
        required: true
    get:
      summary: Retrieve reservation
      operationId: getReservation
      description: <p>Get reservation.</p> <p><strong>OperationId:</strong>getReservation</p>
      tags:
      - Reservation Request
      parameters:
      - $ref: '#/components/parameters/hotelCodePath'
      - $ref: '#/components/parameters/x-tracing-key'
      - $ref: '#/components/parameters/authKey'
      - $ref: '#/components/parameters/channelCodeHeader'
      - $ref: '#/components/parameters/appKey'
      - $ref: '#/components/parameters/confirmationNumberPath'
      - $ref: '#/components/parameters/idExtension'
      - $ref: '#/components/parameters/Accept-Language'
      - $ref: '#/components/parameters/x-request-id'
      - $ref: '#/components/parameters/x-originating-application'
      responses:
        '200':
          description: Ok
          headers:
            Content-Language:
              description: Audience language
              x-example: en-GB
              schema:
                type: string
                pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*'
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Response'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '406':
          $ref: '#/components/responses/406'
        '413':
          $ref: '#/components/responses/413'
        '414':
          $ref: '#/components/responses/414'
        '415':
          $ref: '#/components/responses/415'
        '500':
          $ref: '#/components/responses/500'
        '502':
          $ref: '#/components/responses/502'
        '503':
          $ref: '#/components/responses/503'
  /hotels/{hotelCode}/reservations/{confirmationNum}/cancellations:
    post:
      summary: Cancel reservation
      operationId: postCancelReservation
      description: <p>Cancel a reservation.</p> <p><strong>OperationId:</strong>postCancelReservation</p>
      tags:
      - Reservation Request
      parameters:
      - $ref: '#/components/parameters/hotelCodePath'
      - $ref: '#/components/parameters/confirmationNumberPath'
      - $ref: '#/components/parameters/x-tracing-key'
      - $ref: '#/components/parameters/authKey'
      - $ref: '#/components/parameters/channelCodeHeader'
      - $ref: '#/components/parameters/appKey'
      - $ref: '#/components/parameters/Accept-Language'
      - $ref: '#/components/parameters/x-request-id'
      - $ref: '#/components/parameters/x-originating-application'
      responses:
        '200':
          description: Ok
          headers:
            Content-Language:
              description: Audience language
              x-example: en-GB
              schema:
                type: string
                pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*'
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/CancelResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '406':
          $ref: '#/components/responses/406'
        '413':
          $ref: '#/components/responses/413'
        '414':
          $ref: '#/components/responses/414'
        '415':
          $ref: '#/components/responses/415'
        '500':
          $ref: '#/components/responses/500'
        '502':
          $ref: '#/components/responses/502'
        '503':
          $ref: '#/components/responses/503'
      requestBody:
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/CancelRequestType'
        required: true
  /hotels/{hotelCode}/reservations/{confirmationNum}/status:
    post:
      summary: Commit/Ignore an onHold reservation
      operationId: postOnHoldReservation
      description: <p>Commit/Ignore an onHold reservation.</p> <p><strong>OperationId:</strong>postOnHoldReservation</p>
      tags:
      - Reservation Request
      parameters:
      - $ref: '#/components/parameters/hotelCodePath'
      - $ref: '#/components/parameters/confirmationNumberPath'
      - $ref: '#/components/parameters/x-tracing-key'
      - $ref: '#/components/parameters/authKey'
      - $ref: '#/components/parameters/channelCodeHeader'
      - $ref: '#/components/parameters/appKey'
      - $ref: '#/components/parameters/Accept-Language'
      - $ref: '#/components/parameters/x-request-id'
      - $ref: '#/components/parameters/x-originating-application'
      responses:
        '200':
          description: Ok
          headers:
            Content-Language:
              description: Audience language
              x-example: en-GB
              schema:
                type: string
                pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*'
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/OnHoldResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '406':
          $ref: '#/components/responses/406'
        '413':
          $ref: '#/components/responses/413'
        '414':
          $ref: '#/components/responses/414'
        '415':
          $ref: '#/components/responses/415'
        '500':
          $ref: '#/components/responses/500'
        '502':
          $ref: '#/components/responses/502'
        '503':
          $ref: '#/components/responses/503'
      requestBody:
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/OnHoldRequestType'
        required: true
components:
  schemas:
    RoomAmenities:
      type: object
      properties:
        roomAmenity:
          description: The code for an amenity offered with the room type.
          type: string
          example: '13'
        description:
          description: Description of the amenity for the room type.
          type: string
          example: Bathtub
        availabilityStatus:
          description: 'Indicates the availability status of the room amenity.

            * AvailableForSale - Room amenity is available for sale.

            * NoAvailability - Room amenity is not available for sale

            '
          type: string
          enum:
          - AvailableForSale
          - NoAvailability
          example: AvailableForSales
        quantity:
          description: The number of amenities within the room amenity code.
          type: integer
          format: int32
        includeInRate:
          description: When true indicates if the room amenity is included with the room rate.
          type: boolean
        confirmable:
          description: When true indicates there is a need to contact the property to confirm the availability of the room amenity.
          type: boolean
    PaymentCard:
      type: object
      properties:
        cardType:
          description: Type of the Credit Card
          type: string
          example: MC
        cardNumber:
          description: Full Card Number or the Card Token
          type: string
          example: '5105105105105100'
        expirationDate:
          description: Expiration date in format MM/YY
          type: string
          pattern: ^((?:0[1-9]|1[0-2])\/([0-9][0-9])|(?:\d{4})-(?:0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$
          example: 06/21
        cardHolderName:
          description: Credit card holder name
          type: string
          example: Mary Smith
        cardNumberMasked:
          description: Masked card number.
          type: string
          example: XXXXXXXXXXXX0005
          minLength: 0
          maxLength: 80
        cardOrToken:
          type: string
          description: This contains information on whether credit card is tokenized (token enabled). A value of 'Token' indicates cardNumber holds token value and 'CardNumber' indicates cardNumber holds credit card number.
          enum:
          - CardNumber
          - Token
        citId:
          type: string
          description: Customer Initiated Transaction(CIT) Id for Credit Cards. This is only used when PAYMENT SERVICES DIRECTIVE (PSD2) Opera Control is active.
          minLength: 0
          maxLength: 16
          example: 654321ABC1234578
      required:
      - cardType
      - cardNumber
      - expirationDate
      - cardHolderName
    Total:
      type: object
      description: 'Reservation Total Rate Information

        * If the rate plan is configured as Tax Inclusive, Amount After Tax is returned.

        * If the rate Plan is configured as Tax Exclusive, Amount Before Tax is returned.

        '
      properties:
        taxes:
          type: object
          description: Total Tax details applicable for this reservation
          $ref: '#/components/schemas/Taxes'
        description:
          type: string
          example: string
          deprecated: true
        currencySymbol:
          type: string
          description: Symbol of Rate Currency.
          example: $
        decimalPlaces:
          type: number
          description: Rate Amount decimal Places.
          example: 1
        code:
          type: string
          example: string
          deprecated: true
        rateOverride:
          type: boolean
          description: Indicated if the rate is ovverriden or not.
          example: true
        amountAfterTax:
          type: number
          example: 214.5
          description: Reservation Total Rate including all known taxes, fees and surcharges.
        amountBeforeTax:
          type: number
          description: Reservation Total Rate excluding all known taxes, fees and surcharges.
          example: 200
        currencyCode:
          $ref: '#/components/schemas/CurrencyCode'
    GuestCount:
      type: object
      description: Reservation Guest Count details in room Stay level
      properties:
        childAges:
          description: Ages of children
          type: array
          items:
            type: integer
            format: int32
          example:
          - 4
          - 9
          - 17
        adults:
          description: Number of adults
          type: integer
          format: int32
          example: 2
        children:
          description: Number of children
          type: integer
          format: int32
          example: 3
      required:
      - adults
    ExceptionObj:
      type: object
      properties:
        logId:
          type: integer
          example: 884366973
        title:
          type: string
          description: Short, human-readable summary of the problem.  The summary SHOULD NOT change for subsequent occurrences of the problem, except for purposes of localization.
          example: Error Occurred During Reservation Processing
        status:
          type: integer
          description: HTTP status code for this occurrence of the problem, set by the origin server.
          example: 400
        o.errorCode:
          type: string
          description: HDP error code, which is different from HTTP error code.
          example: DRSC10000
        type:
          type: string
          description: Absolute URI [RFC3986] that identifies the problem type.  When dereferenced, it SHOULD provide a human-readable summary of the problem.
          example: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.x
        timestamp:
          type: string
          example: '2021-09-17T08:17:18.321Z'
          format: date-time
        o.errorDetails:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetailsObj'
      required:
      - logId
      - title
      - status
    Deadline:
      type: object
      properties:
        absoluteDeadline:
          type: string
          format: date-time
          description: Absolute Deadline
          example: '2021-04-01T15:46:40.134+01:00'
        offsetFromArrival:
          type: integer
          format: int32
          description: offset from arrival
          example: 2
        offsetDropTime:
          type: string
          enum:
          - BeforeArrival
          - AfterBooking
          description: offset drop time
          example: BeforeArrival
        offsetFromBookingDate:
          type: integer
          format: int32
          description: offset value from booking date
          example: 5
        offsetUnitMultiplier:
          type: integer
          format: int32
          description: offset value Unit multiplier
          example: 8
        offsetTimeUnit:
          type: string
          enum:
          - Year
          - Month
          - Day
          - Hour
          description: offset time unit
          example: Hour
    Location:
      type: object
      properties:
        propertyLocation:
          type: string
          maxLength: 1024
          example: ABC hills
    RoomRate:
      type: object
      properties:
        base:
          type: object
          description: 'Base Rate Details

            * If the rate plan is configured as Tax Inclusive, Amount After Tax is expected in reservation requests.

            * If the rate Plan is configured as Tax exclusive, Amount Before Tax is expected in reservation requests.

            '
          properties:
            amountAfterTax:
              type: number
              example: 214.5
              description: Room Rate including all known taxes, fees and surcharges.
            amountBeforeTax:
              type: number
              description: Room Rate excluding all known taxes, fees and surcharges.
              example: 200
            currencyCode:
              $ref: '#/components/schemas/CurrencyCode'
        start:
          description: 'Effective Start Date of the room rate.

            * Value must be of format ''date''

            '
          type: string
          format: date
          example: '2024-05-16'
        end:
          description: 'Effective End Date of the room rate.

            * Value must be of format ''date''

            '
          type: string
          format: date
          example: '2024-05-16'
    Tax:
      type: object
      properties:
        description:
          type: string
          description: OTA Standard Fee Tax Type description
          example: VAT (Value Added Tax)
        type:
          type: string
          description: Indicates if this tax is included or excluded in rate.
          enum:
          - Inclusive
          - Exclusive
          example: Exclusive
        code:
          type: string
          description: OTA Standard Fee Tax Type
          example: '36'
        amount:
          type: number
          description: Total tax amount of given Fee Tax type.
          example: 10
        currencyCode:
          type: string
          description: ISO currency code of the tax.
          example: EUR
        codeType:
          type: string
          description: Classification of the code:Tax or Fee
          enum:
          - Tax
          - Fee
          example: Tax
    OfferDistanceUnit:
      type: string
      enum:
      - Kilometers
      - Miles
      description: Distance unit of measure
    PersonName:
      type: object
      properties:
        givenName:
          type: string
          description: Given Name of Guest
          example: Mary
        surname:
          type: string
          description: Last Name of Guest
          minLength: 2
          example: Smith
        middleName:
          type: string
          description: Indicates the Middle Name of the Guest
          example: Mathew
        nameTitle:
          type: string
          description: Title of Guest
          example: Mr and Mrs
        nameType:
          type: string
          description: Name Type. Valid value 'Primary'
          example: Primary
        email:
          type: string
          description: Email of Guest
          example: customer@example.com
        phoneNumber:
          type: string
          description: Phone number of Guest
          example: 415.555.0100
        address:
          $ref: '#/components/schemas/Address'
      required:
      - surname
    ReservationGuestResponse:
      type: object
      description: Reservation Guest Information
      properties:
        profileInfo:
          type: object
          properties:
            profileIdList:
              $ref: '#/components/schemas/ProfileIdListResponse'
            profile:
              $ref: '#/components/schemas/Profile'
          required:
          - profile
        primary:
          type: boolean
          example: true
          description: Indicates if the profile is primary if multiple profiles of the same type are being sent. Should be true by default if only one profile of same type is sent
        arrivalTransport:
          description: Arrival Transport details of the Guest
          $ref: '#/components/schemas/ReservationTransport'
        departureTransport:
          description: Departure Transport details of the Guest
          $ref: '#/components/schemas/ReservationTransport'
      required:
      - profileInfo
    ReservationIdCreate:
      type: object
      properties:
        id:
          type: string
          description: Global reservation number from external channel. Maximum length is 50 alphanumeric characters without spaces.
          example: '5030863'
    Url:
      type: object
      properties:
        url:
          type: string
        urlType:
          type: string
        urlTypeCode:
          type: string
    ProfileIdListResponse:
      type: array
      items:
        type: object
        properties:
          id:
            type: string
            description: The unique ID associated with that profile
          idContext:
            type: string
            example: Central
            description: 'The Context of the ID sent above. Possible Values : Central'
          type:
            type: string
            description: 'The type of profile being sent Possible Values : Guest, TravelAgent, Source, Company and Profile'
    RoomStay:
      type: object
      description: List of room stay information including Room Rates, Promotion, Guest Counts and Guarantee
      properties:
        arrivalDate:
          type: string
          format: date
          description: Arrival Date of the Reservation. Value must be of format YYYY-MM-DD
          example: '2024-05-16'
        departureDate:
          type: string
          format: date
          description: Departure Date of the Reservation. Value must be of format YYYY-MM-DD
          example: '2024-05-17'
        roomRates:
          description: Room Rate Information
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/InfoRoomRate'
        guestCounts:
          type: object
          properties:
            adults:
              type: integer
              format: int32
              description: Adults count
              example: 2
            children:
              type: integer
              format: int32
              description: Children count
              example: 3
            childAges:
              description: Ages of children
              type: array
              items:
                type: integer
                format: int32
              example:
              - 4
              - 9
              - 17
          required:
          - adults
        promotion:
          description: Details of Promotion attached to the reservation.
          type: object
          properties:
            promotionCode:
              type: string
              example: EARLYBIRD
              description: Promotion code associated with the rate plan.
              minLength: 0
              maxLength: 20
        guarantee:
          description: Reservation guarantee details.
          type: object
          properties:
            guaranteeCode:
              type: string
              example: CC
              description: 'Accepts Property Guarantee Code.

                Either of guaranteeCode or guaranteeType should be provided.

                '
            guaranteeType:
              type: string
              example: '8'
              description: 'Accepts OTA Standard Guarantee Type.

                Possible Values : Type assigned to the Guarantee.

                Valid values: 5 = Credit Card, 8 = Deposit, 19 = Travel agency IATA number, 22 = Frequent guest, 38 = None.

                Either of guaranteeCode or guaranteeType should be provided.

                '
            onHold:
              type: boolean
              example: false
              description: If true indicates this Guarantee Code is used only to hold the inventory during reservation process.
        printRate:
          description: Defines if the rate is printed on various correspondence. Possible values are 'true' or 'false'.
          type: boolean
          example: false
        expectedTimes:
          description: Expected Arrival and Departure Time information.
          $ref: '#/components/schemas/ExpectedTimesType'
        bookingMedium:
          description: Indicates the Origin of the reservation
          type: string
          minLength: 1
          maxLength: 20
          example: OTA
      required:
      - arrivalDate
      - departureDate
      - roomRates
      - guarantee
    ProfileType:
      type: string
      enum:
      - Guest
      - TravelAgent
      - Source
      - Company
      example: Guest
      description: The type of profile being sent
    ReservationGuestRequest:
      type: object
      description: Reservation Guest Information
      properties:
        profileInfo:
          type: object
          properties:
            profileIdList:
              $ref: '#/components/schemas/ProfileIdListRequest'
            profile:
              $ref: '#/components/schemas/Profile'
          required:
          - profile
        primary:
          type: boolean
          example: true
          description: Indicates if the profile is primary if multiple profiles of the same type are being sent. Should be true by default if only one profile of same type is sent
        arrivalTransport:
          description: Arrival Transport details of the Guest
          $ref: '#/components/schemas/ReservationTransport'
        departureTransport:
          description: Departure Transport details of the Guest
          $ref: '#/components/schemas/ReservationTransport'
      required:
      - profileInfo
    Country:
      type: object
      properties:
        code:
          type: string
          description: Supported codes for countries are ISO 3166-1 Alpha-2 values only, ie. US, not USA.
          example: US
    OfferAddress:
      type: object
      properties:
        addressLine:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 2
          example:
          - Street 123
          - Box 1
        countryCode:
          type: string
          example: US
        cityName:
          type: string
          description: Name of the City
          example: Miami
        stateProv:
          type: string
          example: Florida
        postalCode:
          type: string
          example: '90210'
    RoomStayData:
      type: object
      description: List of room stay information including Room Rates, Promotion, Guest Counts and Guarantee
      properties:
        arrivalDate:
          type: string
          format: date
          description: Arrival Date of the Reservation. Value must be of format YYYY-MM-DD
          example: '2024-05-16'
        departureDate:
          type: string
          format: date
          description: Departure Date of the Reservation. Value must be of format YYYY-MM-DD
          example: '2024-05-17'
        guestCounts:
          type: object
          description: Reservation Guest Count details in room Stay level
          properties:
            adults:
              type: integer
              format: int32
              description: Adults count
              example: 2
            children:
              type: integer
              format: int32
              description: Children count
              example: 3
            childAges:
              description: Ages of children
              type: array
              items:
                type: integer
                format: int32
              example:
              - 4
              - 9
              - 17
          required:
          - adults
        promotion:
          description: Details of Promotion attached to the reservation.
          type: object
          properties:
            promotionCode:
              type: string
              example: EARLYBIRD
              description: Promotion code associated with the rate plan.
              minLength: 0
              maxLength: 20
        guarantee:
          type: object
          description: Reservation guarantee details.
          properties:
            guaranteeCode:
              type: string
              example: CC
              description: 'Accepts Property Guarantee Code.

                Either of guaranteeCode or guaranteeType should be provided.

                '
            guaranteeType:
              type: string
              example: '5'
              description: 'Accepts OTA Standard Guarantee Type.

                Possible Values : Type assigned to the Guarantee.

                Valid values: 5 = Credit Card, 8 = Deposit, 19 = Travel agency IATA number, 22 = Frequent guest, 30 = Corporate ID/CD Number, 38 = None.

                Either of guaranteeCode or guaranteeType should be provided.

                '
            onHold:
              type: boolean
              example: false
              description: If true indicates this Guarantee Code is used only to hold the inventory during reservation process.
        printRate:
          description: Defines if the rate is printed on various correspondence. Possible values are 'true' or 'false'.
          type: boolean
          example: false
        roomRates:
          description: Room Rate Information
          type: array
          minItems: 1
          items

# --- truncated at 32 KB (96 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oracle-hospitality/refs/heads/main/openapi/oracle-hospitality-reservation-request-api-openapi.yml