OPERA Cloud Distribution Shop

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.. Compatible with OPERA Cloud release 26.2.0.0. 6 operation(s) documented; base path /shop/v1. Harvested verbatim from Oracle's public hospitality-api-docs repository (Swagger 2.0, release 26.2.0.0).

OpenAPI Specification

oracle-hospitality-distribution-v1-shop.json Raw ↑
{
  "swagger": "2.0",
  "info": {
    "title": "OPERA Cloud Distribution Shop",
    "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"
  },
  "basePath": "/shop/v1",
  "schemes": [
    "https"
  ],
  "produces": [
    "application/json; charset=utf-8"
  ],
  "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": "#/parameters/authorization"
          },
          {
            "$ref": "#/parameters/x-channelCode"
          },
          {
            "$ref": "#/parameters/x-app-key"
          },
          {
            "$ref": "#/parameters/Accept-Language"
          },
          {
            "$ref": "#/parameters/HotelCodes"
          },
          {
            "$ref": "#/parameters/ArrivalDate"
          },
          {
            "$ref": "#/parameters/DepartureDate"
          },
          {
            "$ref": "#/parameters/Adults"
          },
          {
            "$ref": "#/parameters/Children"
          },
          {
            "$ref": "#/parameters/ChildrenAges"
          },
          {
            "$ref": "#/parameters/RatePlanCodes"
          },
          {
            "$ref": "#/parameters/AccessCode"
          },
          {
            "$ref": "#/parameters/NumberOfUnits"
          },
          {
            "$ref": "#/parameters/RateMode"
          },
          {
            "$ref": "#/parameters/RatePlanCodeMatchOnly"
          },
          {
            "$ref": "#/parameters/RatePlanType"
          },
          {
            "$ref": "#/parameters/AvailableOnly"
          },
          {
            "$ref": "#/parameters/minRate"
          },
          {
            "$ref": "#/parameters/maxRate"
          },
          {
            "$ref": "#/parameters/AlternateOffers"
          },
          {
            "$ref": "#/parameters/CommissionableStatus"
          },
          {
            "$ref": "#/parameters/PromotionCodes"
          },
          {
            "$ref": "#/parameters/CompanyId"
          },
          {
            "$ref": "#/parameters/TravelAgentId"
          },
          {
            "$ref": "#/parameters/SourceId"
          },
          {
            "$ref": "#/parameters/x-request-id"
          },
          {
            "$ref": "#/parameters/x-originating-application"
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "Content-Language": {
                "type": "string",
                "description": "Audience language",
                "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",
                "x-example": "en-GB"
              }
            },
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PropertySearchResponse"
            }
          },
          "400": {
            "description": "Request data provided is invalid",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "405": {
            "description": "Not Allowed",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "406": {
            "description": "Not Acceptable",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "413": {
            "description": "Payload Too Large",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "414": {
            "description": "URI Too Long",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "415": {
            "description": "Unsupported Media Type",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "502": {
            "description": "Bad Gateway",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "503": {
            "description": "Service Unavailable",
            "schema": {
              "$ref": "#/definitions/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": "#/parameters/authorization"
          },
          {
            "$ref": "#/parameters/x-channelCode"
          },
          {
            "$ref": "#/parameters/x-app-key"
          },
          {
            "$ref": "#/parameters/Accept-Language"
          },
          {
            "$ref": "#/parameters/HotelCode"
          },
          {
            "$ref": "#/parameters/ArrivalDate"
          },
          {
            "$ref": "#/parameters/DepartureDate"
          },
          {
            "$ref": "#/parameters/Adults"
          },
          {
            "$ref": "#/parameters/Children"
          },
          {
            "$ref": "#/parameters/ChildrenAges"
          },
          {
            "$ref": "#/parameters/RoomTypes"
          },
          {
            "$ref": "#/parameters/RatePlanCodes"
          },
          {
            "$ref": "#/parameters/AccessCode"
          },
          {
            "$ref": "#/parameters/RatePlanType"
          },
          {
            "$ref": "#/parameters/NumberOfUnits"
          },
          {
            "$ref": "#/parameters/RoomTypeMatchOnly"
          },
          {
            "$ref": "#/parameters/RatePlanCodeMatchOnly"
          },
          {
            "$ref": "#/parameters/RateMode"
          },
          {
            "$ref": "#/parameters/RoomAmenity"
          },
          {
            "$ref": "#/parameters/RoomAmenityQuantity"
          },
          {
            "$ref": "#/parameters/IncludeAmenities"
          },
          {
            "$ref": "#/parameters/minRate"
          },
          {
            "$ref": "#/parameters/maxRate"
          },
          {
            "$ref": "#/parameters/AlternateOffers"
          },
          {
            "$ref": "#/parameters/CommissionableStatus"
          },
          {
            "$ref": "#/parameters/PromotionCodes"
          },
          {
            "$ref": "#/parameters/BlockCode"
          },
          {
            "$ref": "#/parameters/RoomViewCodes"
          },
          {
            "$ref": "#/parameters/FetchInstructionsOffers"
          },
          {
            "$ref": "#/parameters/CompanyId"
          },
          {
            "$ref": "#/parameters/TravelAgentId"
          },
          {
            "$ref": "#/parameters/SourceId"
          },
          {
            "$ref": "#/parameters/ValidateItemInventory"
          },
          {
            "$ref": "#/parameters/Limit"
          },
          {
            "$ref": "#/parameters/Offset"
          },
          {
            "$ref": "#/parameters/x-request-id"
          },
          {
            "$ref": "#/parameters/x-originating-application"
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "Content-Language": {
                "type": "string",
                "description": "Audience language",
                "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",
                "x-example": "en-GB"
              }
            },
            "description": "Response object for hotel offers search",
            "schema": {
              "$ref": "#/definitions/PropertyOffersResponse"
            }
          },
          "400": {
            "description": "Request data provided is invalid",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "405": {
            "description": "Not Allowed",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "406": {
            "description": "Not Acceptable",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "413": {
            "description": "Payload Too Large",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "414": {
            "description": "URI Too Long",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "415": {
            "description": "Unsupported Media Type",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "502": {
            "description": "Bad Gateway",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "503": {
            "description": "Service Unavailable",
            "schema": {
              "$ref": "#/definitions/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": "#/parameters/authorization"
          },
          {
            "$ref": "#/parameters/x-externalsystem"
          },
          {
            "$ref": "#/parameters/x-app-key"
          },
          {
            "$ref": "#/parameters/x-channelCode"
          },
          {
            "$ref": "#/parameters/Accept-Language"
          },
          {
            "$ref": "#/parameters/HotelCode"
          },
          {
            "$ref": "#/parameters/ArrivalDate"
          },
          {
            "$ref": "#/parameters/DepartureDate"
          },
          {
            "$ref": "#/parameters/Adults"
          },
          {
            "$ref": "#/parameters/Children"
          },
          {
            "$ref": "#/parameters/ChildrenAges"
          },
          {
            "$ref": "#/parameters/RoomType"
          },
          {
            "$ref": "#/parameters/RatePlanCode"
          },
          {
            "$ref": "#/parameters/AccessCode"
          },
          {
            "$ref": "#/parameters/RateMode"
          },
          {
            "$ref": "#/parameters/NumberOfUnits"
          },
          {
            "$ref": "#/parameters/BookingCode"
          },
          {
            "$ref": "#/parameters/IncludeAmenities"
          },
          {
            "$ref": "#/parameters/PromotionCodes"
          },
          {
            "$ref": "#/parameters/BlockCode"
          },
          {
            "$ref": "#/parameters/FetchInstructionsOffers"
          },
          {
            "$ref": "#/parameters/CompanyId"
          },
          {
            "$ref": "#/parameters/TravelAgentId"
          },
          {
            "$ref": "#/parameters/SourceId"
          },
          {
            "$ref": "#/parameters/ValidateItemInventory"
          },
          {
            "$ref": "#/parameters/x-request-id"
          },
          {
            "$ref": "#/parameters/x-originating-application"
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "Content-Language": {
                "type": "string",
                "description": "Audience language",
                "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",
                "x-example": "en-GB"
              }
            },
            "description": "Response object for property check offer",
            "schema": {
              "$ref": "#/definitions/OfferDetailsResponse"
            }
          },
          "400": {
            "description": "Request data provided is invalid",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "405": {
            "description": "Not Allowed",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "406": {
            "description": "Not Acceptable",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "413": {
            "description": "Payload Too Large",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "414": {
            "description": "URI Too Long",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "415": {
            "description": "Unsupported Media Type",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "502": {
            "description": "Bad Gateway",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "503": {
            "description": "Service Unavailable",
            "schema": {
              "$ref": "#/definitions/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": "#/parameters/authorization"
          },
          {
            "$ref": "#/parameters/x-externalsystem"
          },
          {
            "$ref": "#/parameters/x-app-key"
          },
          {
            "$ref": "#/parameters/x-channelCode"
          },
          {
            "$ref": "#/parameters/Accept-Language"
          },
          {
            "$ref": "#/parameters/HotelCode"
          },
          {
            "$ref": "#/parameters/ArrivalDate"
          },
          {
            "$ref": "#/parameters/DepartureDate"
          },
          {
            "$ref": "#/parameters/Adults"
          },
          {
            "$ref": "#/parameters/Children"
          },
          {
            "$ref": "#/parameters/ChildrenAges"
          },
          {
            "$ref": "#/parameters/NumberOfUnits"
          },
          {
            "$ref": "#/parameters/PackageCodes"
          },
          {
            "$ref": "#/parameters/PackageGroupCodes"
          },
          {
            "$ref": "#/parameters/x-request-id"
          },
          {
            "$ref": "#/parameters/x-originating-application"
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "Content-Language": {
                "type": "string",
                "description": "Audience language",
                "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",
                "x-example": "en-GB"
              }
            },
            "description": "Response object for packageAddons",
            "schema": {
              "$ref": "#/definitions/PropertyPackageAddonsResponse"
            }
          },
          "400": {
            "description": "Request data provided is invalid",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "405": {
            "description": "Not Allowed",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "406": {
            "description": "Not Acceptable",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "413": {
            "description": "Payload Too Large",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "414": {
            "description": "URI Too Long",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "415": {
            "description": "Unsupported Media Type",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "502": {
            "description": "Bad Gateway",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "503": {
            "description": "Service Unavailable",
            "schema": {
              "$ref": "#/definitions/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": "#/parameters/authorization"
          },
          {
            "$ref": "#/parameters/x-channelCode"
          },
          {
            "$ref": "#/parameters/x-app-key"
          },
          {
            "$ref": "#/parameters/Accept-Language"
          },
          {
            "$ref": "#/parameters/HotelCode"
          },
          {
            "$ref": "#/parameters/ArrivalDateFrom"
          },
          {
            "$ref": "#/parameters/ArrivalDateTo"
          },
          {
            "$ref": "#/parameters/LengthOfStay"
          },
          {
            "$ref": "#/parameters/Adults"
          },
          {
            "$ref": "#/parameters/Children"
          },
          {
            "$ref": "#/parameters/ChildrenAges"
          },
          {
            "$ref": "#/parameters/RatePlanCodes"
          },
          {
            "$ref": "#/parameters/RoomTypes"
          },
          {
            "$ref": "#/parameters/PromotionCodes"
          },
          {
            "$ref": "#/parameters/NumberOfUnits"
          },
          {
            "$ref": "#/parameters/RateMode"
          },
          {
            "$ref": "#/parameters/x-request-id"
          },
          {
            "$ref": "#/parameters/x-originating-application"
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "Content-Language": {
                "type": "string",
                "description": "Audience language",
                "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",
                "x-example": "en-GB"
              }
            },
            "description": "Response object for hotel offers search",
            "schema": {
              "$ref": "#/definitions/PropertyCalendarResponse"
            }
          },
          "400": {
            "description": "Request data provided is invalid",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "405": {
            "description": "Not Allowed",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "406": {
            "description": "Not Acceptable",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "413": {
            "description": "Payload Too Large",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "414": {
            "description": "URI Too Long",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "415": {
            "description": "Unsupported Media Type",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "502": {
            "description": "Bad Gateway",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "503": {
            "description": "Service Unavailable",
            "schema": {
              "$ref": "#/definitions/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": "#/parameters/authorization"
          },
          {
            "$ref": "#/parameters/x-channelCode"
          },
          {
            "$ref": "#/parameters/x-app-key"
          },
          {
            "$ref": "#/parameters/Accept-Language"
          },
          {
            "$ref": "#/parameters/HotelCode"
          },
          {
            "$ref": "#/parameters/ArrivalDate"
          },
          {
            "$ref": "#/parameters/AlternateDays"
          },
          {
            "$ref": "#/parameters/LengthOfStay"
          },
          {
            "$ref": "#/parameters/Adults"
          },
          {
            "$ref": "#/parameters/Children"
          },
          {
            "$ref": "#/parameters/ChildrenAges"
          },
          {
            "$ref": "#/parameters/RatePlanCodes"
          },
          {
            "$ref": "#/parameters/RoomTypes"
          },
          {
            "$ref": "#/parameters/NumberOfUnits"
          },
          {
            "$ref": "#/parameters/PromotionCodes"
          },
          {
            "$ref": "#/parameters/RateMode"
          },
          {
            "$ref": "#/parameters/AccessCode"
          },
          {
            "$ref": "#/parameters/RoomViewCodes"
          },
          {
            "$ref": "#/parameters/CompanyId"
          },
          {
            "$ref": "#/parameters/TravelAgentId"
          },
          {
            "$ref": "#/parameters/SourceId"
          },
          {
            "$ref": "#/parameters/x-request-id"
          },
          {
            "$ref": "#/parameters/x-originating-application"
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "Content-Language": {
                "type": "string",
                "description": "Audience language",
                "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",
                "x-example": "en-GB"
              }
            },
            "description": "Response object for hotel offers search",
            "schema": {
              "$ref": "#/definitions/PropertyAlternateOffersResponse"
            }
          },
          "400": {
            "description": "Request data provided is invalid",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "405": {
            "description": "Not Allowed",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "406": {
            "description": "Not Acceptable",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "413": {
            "description": "Payload Too Large",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "414": {
            "description": "URI Too Long",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "415": {
            "description": "Unsupported Media Type",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "502": {
            "description": "Bad Gateway",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          },
          "503": {
            "description": "Service Unavailable",
            "schema": {
              "$ref": "#/definitions/ExceptionDetail"
            }
          }
        }
      }
    }
  },
  "parameters": {
    "HotelCode": {
      "name": "hotelCode",
      "in": "path",
      "description": "Hotel Code for a channel",
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "required": true,
      "x-example": "XUSXXYY99"
    },
    "DepartureDate": {
      "name": "departureDate",
      "in": "query",
      "description": "Departure/Check-out Date",
      "type": "string",
      "format": "date",
      "required": true,
      "x-example": "2021-06-07"
    },
    "PromotionCodes": {
      "name": "promotionCodes",
      "in": "query",
      "description": "List of Promotion codes",
      "type": "array",
      "collectionFormat": "csv",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 50
      },
      "minItems": 0,
      "maxItems": 15,
      "required": false,
      "x-example": [
        "PROMO1",
        "PROMO2"
      ]
    },
    "Children": {
      "name": "children",
      "in": "query",
      "description": "Number of children",
      "type": "integer",
      "minimum": 0,
      "maximum": 10,
      "required": false,
      "default": 0,
      "x-example": 2
    },
    "BookingCode": {
      "name": "bookingCode",
      "description": "BookingCode is the concatenation of channel roomTypeCode and channel rate plan code at the offer level",
      "in": "query",
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "required": false,
      "x-example": "XA1KXDAILY"
    },
    "maxRate": {
      "name": "maxRate",
      "in": "query",
      "description": "Maximum base rate in an offer",
      "type": "number",
      "required": false,
      "x-example": 24.12
    },
    "RatePlanCode": {
      "name": "ratePlanCode",
      "in": "query",
      "description": "Rate Plan code",
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "required": false,
      "x-example": "XDAILY"
    },
    "Accept-Language": {
      "name": "Accept-Language",
      "in": "header",
      "required": false,
      "type": "string",
      "description": "Indicates the natural language and locale that the client prefers",
      "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",
      "x-example": "en-GB"
    },
    "ArrivalDate": {
      "name": "arrivalDate",
      "in": "query",
      "description": "Arrival/Check-in Date",
      "type": "string",
      "format": "date",
      "required": true,
      "x-example": "2021-06-01"
    },
    "x-app-key": {
      "name": "x-app-key",
    

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