OPERA Cloud Price Availability Rate API

APIs to cater for Price and Rate Availability functionality in OPERA Cloud. Availability enables you to manage your room inventory by providing a detailed view of all available and sold rooms at a property. Some of the tasks you can perform include defining conditions for stay restrictions, setting room sell limits, and searching for and viewing room availability. Compatible with OPERA Cloud release 26.2.0.0. 28 operation(s) documented; base path /par/v1. Harvested verbatim from Oracle's public hospitality-api-docs repository (Swagger 2.0, release 26.2.0.0).

OpenAPI Specification

oracle-hospitality-property-v1-par.json Raw ↑
{
  "swagger": "2.0",
  "info": {
    "title": "OPERA Cloud Price Availability Rate API",
    "description": "APIs to cater for Price and Rate Availability functionality in OPERA Cloud. <br /><br />Availability enables you to manage your room inventory by providing a detailed view of all available and sold rooms at a property. Some of the tasks you can perform include defining conditions for stay restrictions, setting room sell limits, and searching for and viewing room availability.<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"
    }
  },
  "schemes": [
    "https"
  ],
  "basePath": "/par/v1",
  "produces": [
    "application/json"
  ],
  "paths": {
    "/availability": {
      "get": {
        "summary": "Get Hotel Availability",
        "description": " This API fetches hotel availablity for multiple hotels, given dates, RatePlans, Rate Category, Rate Group, Membership Rates, Number of People. <p><strong>OperationId:</strong>getHotelAvailabilityCRO</p> <p>This API allows a time span of <strong>90</strong> days.</p>",
        "operationId": "getHotelAvailabilityCRO",
        "deprecated": true,
        "parameters": [
          {
            "name": "cro",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Central reservation office Code who is requesting Rate Availability.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "hotelIds",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Hotel code of the Hotel whose Rate Availability is requested.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "includeClosedRates",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Used to indicate if closed rates are to be included in the Rate Plan set.",
            "items": {
              "type": "boolean"
            },
            "required": false
          },
          {
            "name": "includeDefaultRatePlanSet",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Used to indicate if the configured default rate plan set will be included.",
            "items": {
              "type": "boolean"
            },
            "required": false
          },
          {
            "name": "includeNoRatePlanSet",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Includes the rate codes which do not have a rate plan set associated. This parameter is applicable when the property has not configured a default rate plan set.",
            "items": {
              "type": "boolean"
            },
            "required": false
          },
          {
            "name": "initialRatePlanSet",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "If InitialRatePlanSet is set to true response will return most relevant Rate Plan Set(e.g. NEGOTIATED if profiles has Negotiated Rates) depending on the request. if request does not requires special Rate Plan Set, it will return default Rate Plan Set if RatePlanSet value is not set.",
            "items": {
              "type": "boolean"
            },
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Indicates maximum number of records a Web Service should return.",
            "items": {
              "type": "integer"
            },
            "required": false
          },
          {
            "name": "pagePointerKey",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Specifies fetched record's key as pointer to fetch additional records from. If key is composite use comma separated string.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "ratePlanSet",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Rate Plan Set code to filter Rate Plans based on the predefined set. if not specified it will not filter any Rate Plans by Rate Plan Set. When InitialRatePlanSet is true response may not always return Rate Plans for the supplied Rate Plan Set(See InitialRatePlanSet documentation).",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "redeemAwards",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Used to indicate if the awards are to be redeemed.",
            "items": {
              "type": "boolean"
            },
            "required": false
          },
          {
            "name": "roomStayStartDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date"
          },
          {
            "name": "roomStayEndDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date"
          },
          {
            "name": "roomStayQuantity",
            "in": "query",
            "required": false,
            "type": "integer"
          },
          {
            "name": "adults",
            "in": "query",
            "required": false,
            "description": "Defines the number of Adults.",
            "type": "integer"
          },
          {
            "name": "children",
            "in": "query",
            "required": false,
            "description": "Defines the number of Children.",
            "type": "integer"
          },
          {
            "name": "childAge",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Age of a child in years.",
            "items": {
              "type": "integer"
            },
            "required": false
          },
          {
            "name": "bucket1Count",
            "in": "query",
            "required": false,
            "description": "Number of children classified under the first Age Qualifying Group(Child Bucket#1).",
            "type": "integer"
          },
          {
            "name": "bucket2Count",
            "in": "query",
            "required": false,
            "description": "Number of children classified under the second Age Qualifying Group(Child Bucket#2).",
            "type": "integer"
          },
          {
            "name": "bucket3Count",
            "in": "query",
            "required": false,
            "description": "Number of children classified under the third Age Qualifying Group(Child Bucket#3).",
            "type": "integer"
          },
          {
            "name": "bucket4Count",
            "in": "query",
            "required": false,
            "description": "Number of children classified under the fourth Age Qualifying Group(Child Bucket#4).",
            "type": "integer"
          },
          {
            "name": "bucket5Count",
            "in": "query",
            "required": false,
            "description": "Number of children classified under the fifth Age Qualifying Group(Child Bucket#5).",
            "type": "integer"
          },
          {
            "name": "fullStayTimeSpanStartDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date"
          },
          {
            "name": "fullStayTimeSpanEndDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date"
          },
          {
            "name": "prevailingRate",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "rateCategory",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "rateClass",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "rateGroup",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "ratePlanCode",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "promotionCode",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Promotion code associated with the rate plan.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "roomType",
            "in": "query",
            "type": "array",
            "maxItems": 4000,
            "collectionFormat": "multi",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "roomClass",
            "in": "query",
            "type": "array",
            "maxItems": 4000,
            "collectionFormat": "multi",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "bedType",
            "in": "query",
            "type": "array",
            "maxItems": 4000,
            "collectionFormat": "multi",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "feature",
            "in": "query",
            "type": "array",
            "maxItems": 4000,
            "collectionFormat": "multi",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "reservationGuestId",
            "in": "query",
            "required": false,
            "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.",
            "type": "string"
          },
          {
            "name": "reservationGuestIdType",
            "in": "query",
            "required": false,
            "description": "A reference to the type of object defined by the UniqueID element.",
            "type": "string"
          },
          {
            "name": "reservationProfileType",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "uniqueItems": true,
            "items": {
              "type": "string",
              "enum": [
                "Guest",
                "Company",
                "Group",
                "TravelAgent",
                "Source",
                "ReservationContact",
                "BillingContact",
                "Addressee"
              ]
            },
            "required": false
          },
          {
            "name": "attachedProfileId",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "hotelReservationId",
            "in": "query",
            "required": false,
            "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.",
            "type": "string"
          },
          {
            "name": "hotelReservationIdType",
            "in": "query",
            "required": false,
            "description": "A reference to the type of object defined by the UniqueID element.",
            "type": "string"
          },
          {
            "name": "ratePlanInfo",
            "in": "query",
            "required": false,
            "description": "If true Rate Plan Code Master information will be included in the response.",
            "type": "boolean"
          },
          {
            "name": "returnOnlyAvailableRateCodes",
            "in": "query",
            "required": false,
            "description": "If true Only availability check will be done and it will return available rate codes.",
            "type": "boolean"
          },
          {
            "name": "resGuaranteeInfo",
            "in": "query",
            "required": false,
            "description": "If true Guarantee Code information will be fetched with Rate Code Information. This attribute is only effective when RatePlanInfo is true.",
            "type": "boolean"
          },
          {
            "name": "roomTypeInfo",
            "in": "query",
            "required": false,
            "description": "If true Room Type Master information will be included in the response.",
            "type": "boolean"
          },
          {
            "name": "membershipIdNumber",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Membership id Number of the guest.",
            "items": {
              "type": "integer"
            },
            "required": false
          },
          {
            "name": "membershipLevel",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Membership id Number of the guest.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "membershipType",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Membership id Number of the guest.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "pointsAvailable",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Used to indicate Points Available for Profile Primary Membership Type.",
            "items": {
              "type": "integer"
            },
            "required": false
          },
          {
            "name": "membershipCardNumber",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "required": false,
            "description": "Member Card number associated with the guest membership.",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "smokingPreference",
            "in": "query",
            "type": "array",
            "maxItems": 4000,
            "collectionFormat": "multi",
            "description": "Smoking preference to search a reservation. This is compared to the preference on the guest profile of the reservation.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "hotelPackage",
            "in": "query",
            "type": "array",
            "maxItems": 4000,
            "collectionFormat": "multi",
            "description": "Hotel Package Code to filter the search result.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "yieldMarketCode",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "accessibleRoomTypesOnly",
            "in": "query",
            "type": "boolean",
            "description": "Used to fetch accessible room types only in the Rate Plan set.",
            "required": false
          },
          {
            "name": "includeLocalRates",
            "in": "query",
            "required": false,
            "description": "Used to indicate if local rates are to be included in the Rate Plan set.",
            "type": "boolean"
          },
          {
            "name": "includeOffshoreRates",
            "in": "query",
            "required": false,
            "description": "Used to indicate if offshore rates are to be included in the Rate Plan set.",
            "type": "boolean"
          },
          {
            "name": "postingInterval",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "description": "Optional posting interval filter. When nothing is provided in this filter then only Nightly rates will be returned",
            "uniqueItems": true,
            "items": {
              "type": "string",
              "enum": [
                "Nightly",
                "Weekly",
                "Monthly"
              ]
            }
          },
          {
            "name": "ownerType",
            "in": "query",
            "required": false,
            "type": "string",
            "uniqueItems": true,
            "enum": [
              "Owner",
              "Referral",
              "Regular"
            ],
            "description": "Owner Room Type - can be either Owner or Referral"
          },
          {
            "name": "controlSegment",
            "in": "query",
            "type": "array",
            "maxItems": 4000,
            "collectionFormat": "multi",
            "required": false,
            "description": "Control Segment to check for casino restrction for a patron profile.",
            "items": {
              "type": "string"
            }
          },
          {
            "$ref": "#/parameters/authKey"
          },
          {
            "$ref": "#/parameters/externalData"
          },
          {
            "$ref": "#/parameters/x-app-key"
          },
          {
            "$ref": "#/parameters/x-request-id"
          },
          {
            "$ref": "#/parameters/x-originating-application"
          },
          {
            "$ref": "#/parameters/x-hotelid"
          },
          {
            "$ref": "#/parameters/x-externalsystem"
          },
          {
            "$ref": "#/parameters/Accept-Language"
          }
        ],
        "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 to search hotel availability based on request segment.",
            "schema": {
              "$ref": "#/definitions/hotelAvailability"
            }
          },
          "204": {
            "description": "HotelAvailabilityCRO not found."
          },
          "400": {
            "$ref": "#/responses/400"
          },
          "401": {
            "$ref": "#/responses/401"
          },
          "403": {
            "$ref": "#/responses/403"
          },
          "404": {
            "$ref": "#/responses/404"
          },
          "405": {
            "$ref": "#/responses/405"
          },
          "406": {
            "$ref": "#/responses/406"
          },
          "413": {
            "$ref": "#/responses/413"
          },
          "414": {
            "$ref": "#/responses/414"
          },
          "415": {
            "$ref": "#/responses/415"
          },
          "500": {
            "$ref": "#/responses/500"
          },
          "502": {
            "$ref": "#/responses/502"
          },
          "503": {
            "$ref": "#/responses/503"
          }
        },
        "consumes": [
          "application/json;charset=UTF-8"
        ],
        "produces": [
          "application/json;charset=UTF-8"
        ],
        "tags": [
          "Availability"
        ]
      }
    },
    "/availability/searches": {
      "post": {
        "summary": "Get Hotel Availability",
        "description": " This API fetches hotel availablity for multiple hotels, given dates, RatePlans, Rate Category, Rate Group, Membership Rates, Number of People. <p><strong>OperationId:</strong>searchHotelAvailabilityCRO</p> <p>This API allows a time span of <strong>90</strong> days.</p>",
        "operationId": "searchHotelAvailabilityCRO",
        "parameters": [
          {
            "in": "body",
            "name": "searchHotelAvailabilityCRORequest",
            "description": "Hotel Availability Request",
            "required": false,
            "schema": {
              "$ref": "#/definitions/searchHotelAvailabilityCRORequest"
            }
          },
          {
            "$ref": "#/parameters/authKey"
          },
          {
            "$ref": "#/parameters/externalData"
          },
          {
            "$ref": "#/parameters/x-app-key"
          },
          {
            "$ref": "#/parameters/x-request-id"
          },
          {
            "$ref": "#/parameters/x-originating-application"
          },
          {
            "$ref": "#/parameters/x-hotelid"
          },
          {
            "$ref": "#/parameters/x-externalsystem"
          },
          {
            "$ref": "#/parameters/Accept-Language"
          }
        ],
        "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 to search hotel availability based on request segment.",
            "schema": {
              "$ref": "#/definitions/hotelAvailability"
            }
          },
          "204": {
            "description": "HotelAvailabilityCRO not found."
          },
          "400": {
            "$ref": "#/responses/400"
          },
          "401": {
            "$ref": "#/responses/401"
          },
          "403": {
            "$ref": "#/responses/403"
          },
          "404": {
            "$ref": "#/responses/404"
          },
          "405": {
            "$ref": "#/responses/405"
          },
          "406": {
            "$ref": "#/responses/406"
          },
          "413": {
            "$ref": "#/responses/413"
          },
          "414": {
            "$ref": "#/responses/414"
          },
          "415": {
            "$ref": "#/responses/415"
          },
          "500": {
            "$ref": "#/responses/500"
          },
          "502": {
            "$ref": "#/responses/502"
          },
          "503": {
            "$ref": "#/responses/503"
          }
        },
        "consumes": [
          "application/json;charset=UTF-8"
        ],
        "produces": [
          "application/json;charset=UTF-8"
        ],
        "tags": [
          "Availability"
        ]
      }
    },
    "/externalControlSegment": {
      "post": {
        "summary": "External Control Segment Lookup",
        "description": "Use this API To LookUp Control Segment In An External System:<p><strong>OperationId:</strong>retriveExternalControlSegment</p>",
        "operationId": "retriveExternalControlSegment",
        "parameters": [
          {
            "name": "externalControlSegmentCriteria",
            "in": "body",
            "required": true,
            "description": "The request element which contains criteria to fetch control segment",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/externalControlSegmentCriteria"
                }
              ]
            }
          },
          {
            "$ref": "#/parameters/authKey"
          },
          {
            "$ref": "#/parameters/externalData"
          },
          {
            "$ref": "#/parameters/x-app-key"
          },
          {
            "$ref": "#/parameters/x-request-id"
          },
          {
            "$ref": "#/parameters/x-originating-application"
          },
          {
            "$ref": "#/parameters/x-hotelid"
          },
          {
            "$ref": "#/parameters/x-externalsystem"
          },
          {
            "$ref": "#/parameters/Accept-Language"
          }
        ],
        "responses": {
          "201": {
            "headers": {
              "Content-Language": {
                "type": "string",
                "description": "Audience language",
                "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",
                "x-example": "en-GB"
              },
              "Location": {
                "type": "string",
                "description": "Location of newly created resource"
              }
            },
            "description": "Response Body.",
            "schema": {
              "$ref": "#/definitions/externalControlSegmentDetails"
            }
          },
          "400": {
            "$ref": "#/responses/400"
          },
          "401": {
            "$ref": "#/responses/401"
          },
          "403": {
            "$ref": "#/responses/403"
          },
          "404": {
            "$ref": "#/responses/404"
          },
          "405": {
            "$ref": "#/responses/405"
          },
          "406": {
            "$ref": "#/responses/406"
          },
          "413": {
            "$ref": "#/responses/413"
          },
          "414": {
            "$ref": "#/responses/414"
          },
          "415": {
            "$ref": "#/responses/415"
          },
          "500": {
            "$ref": "#/responses/500"
          },
          "502": {
            "$ref": "#/responses/502"
          },
          "503": {
            "$ref": "#/responses/503"
          }
        },
        "consumes": [
          "application/json;charset=UTF-8"
        ],
        "produces": [
          "application/json;charset=UTF-8"
        ],
        "tags": [
          "AvailabilityExternal"
        ]
      }
    },
    "/hotels": {
      "get": {
        "summary": "Search hotels for the sales process",
        "description": "This API is to search hotels for the sales process. <p><strong>OperationId:</strong>getHotels</p>",
        "operationId": "getHotels",
        "parameters": [
          {
            "name": "cro",
            "in": "query",
            "required": false,
            "description": "Central Reservation Office Code who is conducting the search. This will search only hotels handled by the CRO.",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Indicates maximum number of records a Web Service should return.",
            "type": "integer"
          },
          {
            "name": "startDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date"
          },
          {
            "name": "endDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date"
          },
          {
            "name": "quantity",
            "in": "query",
            "required": false,
            "type": "integer"
          },
          {
            "name": "adults",
            "in": "query",
            "required": false,
            "description": "Defines the number of Adults.",
            "type": "integer"
          },
          {
            "name": "children",
            "in": "query",
            "required": false,
            "description": "Defines the number of Children.",
            "type": "integer"
          },
          {
            "name": "alternateHotels",
            "in": "query",
            "required": false,
            "description": "If true or not specified Alternate Hotels will be returned in the result. To search specific hotels send it false.",
            "type": "boolean"
          },
          {
            "name": "hotelId",
            "in": "query",
            "type": "array",
            "maxItems": 4000,
            "collectionFormat": "multi",
            "description": "Hotel Code to be searched.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "regionCode",
            "in": "query",
            "required": false,
            "description": "Region Code where the given cities are located.",
            "type": "string"
          },
          {
            "name": "city",
            "in": "query",
            "type": "array",
            "maxItems": 4000,
            "collectionFormat": "multi",
            "description": "City Code to filter the search result.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "hotelType",
            "in": "query",
            "type": "array",
            "maxItems": 4000,
            "collectionFormat": "multi",
            "description": "Hotel Type to filter the search result.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "hotelAmenity",
            "in": "query",
            "type": "array",
            "maxItems": 4000,
            "collectionFormat": "multi",
            "description": "Hotel Amenity Code to filter the search result.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "attraction",
            "in": "query",
            "type": "array",
            "maxItems": 4000,
            "collectionFormat": "multi",
            "description": "Attaction Code to filter the search result.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "hotelPackage",
            "in": "query",
            "type": "array",
            "maxItems": 4000,
            "collectionFormat": "multi",
            "description": "Hotel Package Code to filter the search result.",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "prevailingRate",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "rateCategory",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "rateClass",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "rateGroup",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "ratePlanCode",
            "in": "query",
            "type": "array",
            "collectionFormat": "multi",
            "items": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "ratePlanId",
            "i

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