Oracle Hospitality Shop API

The Shop API from Oracle Hospitality — 6 operation(s) for shop.

Operations 6

GET /hotels Property Search #
GET /hotels/{hotelCode}/offers Property Offers #
GET /hotels/{hotelCode}/offer Property Get Offer #
GET /hotels/{hotelCode}/addons Get Property addons #
GET /hotels/{hotelCode}/calendar Property Calendar #
GET /hotels/{hotelCode}/alternateOffers Property Alternate Offers #

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-shop-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-shop-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OPERA Cloud Distribution Shop API
  description: Oracle Hospitality Distribution Shop is for distribution partners to find properties availability, room-rates offers for a single property or a specific room-rate offer detail..<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
  contact:
    email: hospitality_apis_ww_grp@oracle.com
  license:
    name: UPL
    url: https://opensource.org/licenses/upl
  termsOfService: https://www.oracle.com/legal/terms.html
servers:
- url: /shop/v1
tags:
- name: Shop
paths:
  /hotels:
    get:
      summary: Property Search
      description: List the availability status and rate range at multiple properties for given list of properties. <p><strong>OperationId:</strong>getProperties</p>
      operationId: getProperties
      tags:
      - Shop
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/x-channelCode'
      - $ref: '#/components/parameters/x-app-key'
      - $ref: '#/components/parameters/Accept-Language'
      - $ref: '#/components/parameters/HotelCodes'
      - $ref: '#/components/parameters/ArrivalDate'
      - $ref: '#/components/parameters/DepartureDate'
      - $ref: '#/components/parameters/Adults'
      - $ref: '#/components/parameters/Children'
      - $ref: '#/components/parameters/ChildrenAges'
      - $ref: '#/components/parameters/RatePlanCodes'
      - $ref: '#/components/parameters/AccessCode'
      - $ref: '#/components/parameters/NumberOfUnits'
      - $ref: '#/components/parameters/RateMode'
      - $ref: '#/components/parameters/RatePlanCodeMatchOnly'
      - $ref: '#/components/parameters/RatePlanType'
      - $ref: '#/components/parameters/AvailableOnly'
      - $ref: '#/components/parameters/minRate'
      - $ref: '#/components/parameters/maxRate'
      - $ref: '#/components/parameters/AlternateOffers'
      - $ref: '#/components/parameters/CommissionableStatus'
      - $ref: '#/components/parameters/PromotionCodes'
      - $ref: '#/components/parameters/CompanyId'
      - $ref: '#/components/parameters/TravelAgentId'
      - $ref: '#/components/parameters/SourceId'
      - $ref: '#/components/parameters/x-request-id'
      - $ref: '#/components/parameters/x-originating-application'
      responses:
        '200':
          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})*'
          description: OK
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/PropertySearchResponse'
        '400':
          description: Request data provided is invalid
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '401':
          description: Unauthorized
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '403':
          description: Forbidden
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '404':
          description: Not Found
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '405':
          description: Not Allowed
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '406':
          description: Not Acceptable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '413':
          description: Payload Too Large
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '414':
          description: URI Too Long
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '415':
          description: Unsupported Media Type
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '500':
          description: Internal Server Error
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '502':
          description: Bad Gateway
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '503':
          description: Service Unavailable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
  /hotels/{hotelCode}/offers:
    get:
      summary: Property Offers
      description: List available offers for a single property. <p><strong>OperationId:</strong>getPropertyOffers</p>
      operationId: getPropertyOffers
      tags:
      - Shop
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/x-channelCode'
      - $ref: '#/components/parameters/x-app-key'
      - $ref: '#/components/parameters/Accept-Language'
      - $ref: '#/components/parameters/HotelCode'
      - $ref: '#/components/parameters/ArrivalDate'
      - $ref: '#/components/parameters/DepartureDate'
      - $ref: '#/components/parameters/Adults'
      - $ref: '#/components/parameters/Children'
      - $ref: '#/components/parameters/ChildrenAges'
      - $ref: '#/components/parameters/RoomTypes'
      - $ref: '#/components/parameters/RatePlanCodes'
      - $ref: '#/components/parameters/AccessCode'
      - $ref: '#/components/parameters/RatePlanType'
      - $ref: '#/components/parameters/NumberOfUnits'
      - $ref: '#/components/parameters/RoomTypeMatchOnly'
      - $ref: '#/components/parameters/RatePlanCodeMatchOnly'
      - $ref: '#/components/parameters/RateMode'
      - $ref: '#/components/parameters/RoomAmenity'
      - $ref: '#/components/parameters/RoomAmenityQuantity'
      - $ref: '#/components/parameters/IncludeAmenities'
      - $ref: '#/components/parameters/minRate'
      - $ref: '#/components/parameters/maxRate'
      - $ref: '#/components/parameters/AlternateOffers'
      - $ref: '#/components/parameters/CommissionableStatus'
      - $ref: '#/components/parameters/PromotionCodes'
      - $ref: '#/components/parameters/BlockCode'
      - $ref: '#/components/parameters/RoomViewCodes'
      - $ref: '#/components/parameters/FetchInstructionsOffers'
      - $ref: '#/components/parameters/CompanyId'
      - $ref: '#/components/parameters/TravelAgentId'
      - $ref: '#/components/parameters/SourceId'
      - $ref: '#/components/parameters/ValidateItemInventory'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/x-request-id'
      - $ref: '#/components/parameters/x-originating-application'
      responses:
        '200':
          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})*'
          description: Response object for hotel offers search
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/PropertyOffersResponse'
        '400':
          description: Request data provided is invalid
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '401':
          description: Unauthorized
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '403':
          description: Forbidden
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '404':
          description: Not Found
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '405':
          description: Not Allowed
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '406':
          description: Not Acceptable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '413':
          description: Payload Too Large
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '414':
          description: URI Too Long
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '415':
          description: Unsupported Media Type
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '500':
          description: Internal Server Error
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '502':
          description: Bad Gateway
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '503':
          description: Service Unavailable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
  /hotels/{hotelCode}/offer:
    get:
      summary: Property Get Offer
      description: Retrieve a single offer by room type and rate plan. Or booking code. <p><strong>OperationId:</strong>getPropertyOffer</p>
      operationId: getPropertyOffer
      tags:
      - Shop
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/x-externalsystem'
      - $ref: '#/components/parameters/x-app-key'
      - $ref: '#/components/parameters/x-channelCode'
      - $ref: '#/components/parameters/Accept-Language'
      - $ref: '#/components/parameters/HotelCode'
      - $ref: '#/components/parameters/ArrivalDate'
      - $ref: '#/components/parameters/DepartureDate'
      - $ref: '#/components/parameters/Adults'
      - $ref: '#/components/parameters/Children'
      - $ref: '#/components/parameters/ChildrenAges'
      - $ref: '#/components/parameters/RoomType'
      - $ref: '#/components/parameters/RatePlanCode'
      - $ref: '#/components/parameters/AccessCode'
      - $ref: '#/components/parameters/RateMode'
      - $ref: '#/components/parameters/NumberOfUnits'
      - $ref: '#/components/parameters/BookingCode'
      - $ref: '#/components/parameters/IncludeAmenities'
      - $ref: '#/components/parameters/PromotionCodes'
      - $ref: '#/components/parameters/BlockCode'
      - $ref: '#/components/parameters/FetchInstructionsOffers'
      - $ref: '#/components/parameters/CompanyId'
      - $ref: '#/components/parameters/TravelAgentId'
      - $ref: '#/components/parameters/SourceId'
      - $ref: '#/components/parameters/ValidateItemInventory'
      - $ref: '#/components/parameters/x-request-id'
      - $ref: '#/components/parameters/x-originating-application'
      responses:
        '200':
          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})*'
          description: Response object for property check offer
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/OfferDetailsResponse'
        '400':
          description: Request data provided is invalid
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '401':
          description: Unauthorized
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '403':
          description: Forbidden
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '404':
          description: Not Found
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '405':
          description: Not Allowed
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '406':
          description: Not Acceptable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '413':
          description: Payload Too Large
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '414':
          description: URI Too Long
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '415':
          description: Unsupported Media Type
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '500':
          description: Internal Server Error
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '502':
          description: Bad Gateway
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '503':
          description: Service Unavailable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
  /hotels/{hotelCode}/addons:
    get:
      summary: Get Property addons
      description: Retrieve available property add-on offerings, including individual packages and grouped packages.<p><strong>OperationId:</strong>getPropertyAddons</p>
      operationId: getPropertyAddons
      tags:
      - Shop
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/x-externalsystem'
      - $ref: '#/components/parameters/x-app-key'
      - $ref: '#/components/parameters/x-channelCode'
      - $ref: '#/components/parameters/Accept-Language'
      - $ref: '#/components/parameters/HotelCode'
      - $ref: '#/components/parameters/ArrivalDate'
      - $ref: '#/components/parameters/DepartureDate'
      - $ref: '#/components/parameters/Adults'
      - $ref: '#/components/parameters/Children'
      - $ref: '#/components/parameters/ChildrenAges'
      - $ref: '#/components/parameters/NumberOfUnits'
      - $ref: '#/components/parameters/PackageCodes'
      - $ref: '#/components/parameters/PackageGroupCodes'
      - $ref: '#/components/parameters/x-request-id'
      - $ref: '#/components/parameters/x-originating-application'
      responses:
        '200':
          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})*'
          description: Response object for packageAddons
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/PropertyPackageAddonsResponse'
        '400':
          description: Request data provided is invalid
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '401':
          description: Unauthorized
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '403':
          description: Forbidden
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '404':
          description: Not Found
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '405':
          description: Not Allowed
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '406':
          description: Not Acceptable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '413':
          description: Payload Too Large
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '414':
          description: URI Too Long
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '415':
          description: Unsupported Media Type
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '500':
          description: Internal Server Error
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '502':
          description: Bad Gateway
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '503':
          description: Service Unavailable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
  /hotels/{hotelCode}/calendar:
    get:
      summary: Property Calendar
      description: Lists the lowest available offers as a calendar for a single property for up to 62 days. If no rate filters are provided (no specific rate plan codes, room type codes, or promotion codes), evaluation is limited to the top 20 channel rates based on the configured Channel Rate Order (no iteration over remaining public rates). If rate filters are provided, the getPropertyCalendar retains the existing behavior and evaluates all applicable rates per current logic. <p><strong>OperationId:</strong>getPropertyCalendar</p>
      operationId: getPropertyCalendar
      tags:
      - Shop
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/x-channelCode'
      - $ref: '#/components/parameters/x-app-key'
      - $ref: '#/components/parameters/Accept-Language'
      - $ref: '#/components/parameters/HotelCode'
      - $ref: '#/components/parameters/ArrivalDateFrom'
      - $ref: '#/components/parameters/ArrivalDateTo'
      - $ref: '#/components/parameters/LengthOfStay'
      - $ref: '#/components/parameters/Adults'
      - $ref: '#/components/parameters/Children'
      - $ref: '#/components/parameters/ChildrenAges'
      - $ref: '#/components/parameters/RatePlanCodes'
      - $ref: '#/components/parameters/RoomTypes'
      - $ref: '#/components/parameters/PromotionCodes'
      - $ref: '#/components/parameters/NumberOfUnits'
      - $ref: '#/components/parameters/RateMode'
      - $ref: '#/components/parameters/x-request-id'
      - $ref: '#/components/parameters/x-originating-application'
      responses:
        '200':
          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})*'
          description: Response object for hotel offers search
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/PropertyCalendarResponse'
        '400':
          description: Request data provided is invalid
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '401':
          description: Unauthorized
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '403':
          description: Forbidden
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '404':
          description: Not Found
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '405':
          description: Not Allowed
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '406':
          description: Not Acceptable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '413':
          description: Payload Too Large
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '414':
          description: URI Too Long
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '415':
          description: Unsupported Media Type
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '500':
          description: Internal Server Error
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '502':
          description: Bad Gateway
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '503':
          description: Service Unavailable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
  /hotels/{hotelCode}/alternateOffers:
    get:
      summary: Property Alternate Offers
      description: Lsts available alternate offers as a calendar for a single property. If no rate filters are provided (no specific rate plan codes, room type codes, access codes, room view codes, or promotion codes), evaluation is limited to the top 20 channel rates based on the configured Channel Rate Order (no iteration over remaining public rates). If any rate filters are provided, the system retains the existing behavior and evaluates all applicable rates per current logic. <p><strong>OperationId:</strong>getPropertyAlternateOffers</p>
      operationId: getPropertyAlternateOffers
      tags:
      - Shop
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/x-channelCode'
      - $ref: '#/components/parameters/x-app-key'
      - $ref: '#/components/parameters/Accept-Language'
      - $ref: '#/components/parameters/HotelCode'
      - $ref: '#/components/parameters/ArrivalDate'
      - $ref: '#/components/parameters/AlternateDays'
      - $ref: '#/components/parameters/LengthOfStay'
      - $ref: '#/components/parameters/Adults'
      - $ref: '#/components/parameters/Children'
      - $ref: '#/components/parameters/ChildrenAges'
      - $ref: '#/components/parameters/RatePlanCodes'
      - $ref: '#/components/parameters/RoomTypes'
      - $ref: '#/components/parameters/NumberOfUnits'
      - $ref: '#/components/parameters/PromotionCodes'
      - $ref: '#/components/parameters/RateMode'
      - $ref: '#/components/parameters/AccessCode'
      - $ref: '#/components/parameters/RoomViewCodes'
      - $ref: '#/components/parameters/CompanyId'
      - $ref: '#/components/parameters/TravelAgentId'
      - $ref: '#/components/parameters/SourceId'
      - $ref: '#/components/parameters/x-request-id'
      - $ref: '#/components/parameters/x-originating-application'
      responses:
        '200':
          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})*'
          description: Response object for hotel offers search
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/PropertyAlternateOffersResponse'
        '400':
          description: Request data provided is invalid
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '401':
          description: Unauthorized
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '403':
          description: Forbidden
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '404':
          description: Not Found
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '405':
          description: Not Allowed
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '406':
          description: Not Acceptable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '413':
          description: Payload Too Large
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '414':
          description: URI Too Long
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '415':
          description: Unsupported Media Type
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '500':
          description: Internal Server Error
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '502':
          description: Bad Gateway
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '503':
          description: Service Unavailable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
components:
  parameters:
    ArrivalDate:
      name: arrivalDate
      in: query
      description: Arrival/Check-in Date
      required: true
      x-example: '2021-06-01'
      schema:
        type: string
        format: date
    Children:
      name: children
      in: query
      description: Number of children
      required: false
      x-example: 2
      schema:
        type: integer
        default: 0
        maximum: 10
        minimum: 0
    AlternateOffers:
      name: alternateOffers
      in: query
      description: 'This is supported with ratePlanCodeMatchOnly flag as false: <p> <strong>Always</strong> - return alternate offers </p> <p> <strong>WhenRequestedNotAvailable</strong> - return alternate rates if requested rates are not available </p>'
      required: false
      x-example: Always
      schema:
        type: string
        enum:
        - Always
        - WhenRequestedNotAvailable
        default: Always
    RoomTypeMatchOnly:
      name: roomTypeMatchOnly
      in: query
      description: If true, only room types specified, otherwise public room types too
      required: false
      x-example: true
      schema:
        type: boolean
        default: false
    RoomAmenity:
      name: roomAmenity
      in: query
      description: Id of requested amenity, single element
      required: false
      x-example: Baby bed
      schema:
        type: string
    AvailableOnly:
      name: availableOnly
      in: query
      description: If true, only hotels with availability will be returned (except if all of them are unavailable)
      x-example: true
      schema:
        type: boolean
        default: false
    ArrivalDateTo:
      name: arrivalDateTo
      in: query
      description: Arrival/Check-in Date To
      required: true
      x-example: '2021-06-01'
      schema:
        type: string
        format: date
    RoomViewCodes:
      name: roomViewCodes
      in: query
      description: Indicates the codes of the room view. Typical values would be "11 for Ocean view", "12 for Pool view" or "16 for Garden View". Refer to OTA List Room View Type (RVT).  </p>
      required: false
      x-example:
      - 11
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          minLength: 1
          maxLength: 20
        maxItems: 15
        minItems: 0
    RoomTypes:
      name: roomTypes
      in: query
      description: List of Room Type codes
      required: false
      x-example:
      - XA1K
      - XB1K
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          minLength: 1
          maxLength: 50
        maxItems: 15
        minItems: 0
    Offset:
      name: offset
      in: query
      description: Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned. By default, the offset is 0.
      x-example: 2
      required: false
      schema:
        type: integer
        default: 0
    DepartureDate:
      name: departureDate
      in: query
      description: Departure/Check-out Date
      required: true
      x-example: '2021-06-07'
      schema:
        type: string
        format: date
    Accept-Language:
      name: Accept-Language
      in: header
      required: false
      description: Indicates the natural language and locale that the client prefers
      x-example: en-GB
      schema:
        type: string
        pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*'
    RatePlanCodes:
      name: ratePlanCodes
      in: query
      description: List of Rate Plan codes
      required: false
      x-example:
      - XDAILY
      - XRACK
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          minLength: 1
          maxLength: 50
        maxItems: 15
        minItems: 0
    ValidateItemInventory:
      name: validateItemInventory
      in: query
      description: If true, offer with a linked package item will be

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