{
"swagger": "2.0",
"info": {
"title": "OPERA Cloud Distribution ARI Publication",
"version": "26.2.0.0",
"description": "Oracle Hospitality Distribution ARI publication message specification for distribution partners to receive in real time property restrictions/availability, rate, and inventory schedules updates, also known as ARI. Partner receives this message will respond with success or error/warning so that property/CRS user can see the status of message delivery in OPERA. A channel code identifier is required in Oracle Hospitality Distribution to receive those messages.
Compatible with OPERA Cloud release 26.2.0.0
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.
", "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": "/aripublication/v1", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/inventory": { "post": { "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 process status resource" } }, "description": "Response for publishing inventory" }, "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" } } }, "summary": "Publish Inventory", "operationId": "postInventory", "description": "This message will provide property room type inventory (rooms to sell) by date to the distribution (full synchronization or delta updates).OperationId:postInventory
", "tags": [ "ARI Publication" ], "parameters": [ { "name": "authorization", "description": "Bearer token that needs to be passed which is generated post user authentication", "type": "string", "in": "header", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/OTA_HotelInvCountNotifRQ" } } ], "produces": [ "application/json" ] } }, "/rates": { "post": { "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 process status resource" } }, "description": "Response for publishing rates" }, "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" } } }, "summary": "Publish Rates", "operationId": "postRates", "description": "This message will provide property rate plans rate schedules by date and room type to the distribution (full synchronization or delta updates).OperationId:postRates
", "tags": [ "ARI Publication" ], "parameters": [ { "name": "authorization", "description": "Bearer token that needs to be passed which is generated post user authentication", "type": "string", "in": "header", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/OTA_HotelRateAmountNotifRQ" } } ], "produces": [ "application/json" ] } }, "/restrictions": { "post": { "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 process status resource" } }, "description": "Response for publishing restrictions" }, "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" } } }, "summary": "Publish Restrictions", "operationId": "postRestrictions", "description": "This message will provide property rate plan-room type restrictions by date to the distribution (full synchronization or delta updates).OperationId:postRestrictions
", "tags": [ "ARI Publication" ], "parameters": [ { "name": "authorization", "description": "Bearer token that needs to be passed which is generated post user authentication", "type": "string", "in": "header", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/OTA_HotelRestrictionsNotifRQ" } } ], "produces": [ "application/json" ] } } }, "definitions": { "UniqueId": { "type": "string", "description": "The unique identifier element allows the trading partners to uniquely identify each request of the same message, (i.e. the entire message) for transaction traceability", "example": "234512-3432-234234234" }, "Timestamp": { "type": "string", "format": "DATE_TIME", "description": "Indicates the creation date and time of the message in UTC using the following format specified by ISO 8601; YYYY-MM-DDThh:mm:ss.zzz with time values using the 24 hour clock (e.g. 20 November 2003, 1:59:38 pm UTC becomes 2003-11-20T13:59:38.000).", "example": "2021-11-20T13:59:38.000" }, "OTA_HotelRestrictionsNotifRQ": { "description": "The object provides property rate plan-room type restrictions by date to the distribution.", "type": "object", "properties": { "hotelRestrictions": { "$ref": "#/definitions/HotelRestriction" } } }, "HotelRestriction": { "description": "A list of property rate plan-room type restrictions by date to the distribution.", "type": "object", "properties": { "hotelCode": { "type": "string", "description": "A unique identifier value for the property/hotel associated with channel", "example": "HOTELCODE" }, "channelCode": { "type": "string", "description": "Code for the channel which is receiving published data.", "example": "CHANNELCODE" }, "chainCode": { "type": "string", "description": "If the property/hotel is part of the chain, the associated chain code.", "example": "CHAINCODE" }, "brandCode": { "type": "string", "description": "A value of the brand code associated with channel", "example": "BRANDCODE" }, "uniqueId": { "$ref": "#/definitions/UniqueId" }, "timeStamp": { "$ref": "#/definitions/Timestamp" }, "availStatusMessages": { "type": "array", "description": "The availStatusMessage indicates whether the inventory is opened, closed, closed on request, etc.", "items": { "$ref": "#/definitions/RestrictionAvailStatusMessage" } } } }, "RestrictionAvailStatusMessage": { "type": "object", "required": [ "statusApplicationControl" ], "properties": { "statusApplicationControl": { "$ref": "#/definitions/restrStatusApplicationControl" }, "lengthsOfStay": { "type": "object", "$ref": "#/definitions/lengthsOfStay" }, "restrictionStatus": { "$ref": "#/definitions/RestrictionStatus" } } }, "lengthsOfStay": { "type": "array", "description": "Collection of Length of Stay (LOS) elements. These LOS elements indicate what LOS restrictions are to be added or removed.", "items": { "$ref": "#/definitions/lengthOfStay" } }, "lengthOfStay": { "type": "object", "properties": { "minMaxMessageType": { "$ref": "#/definitions/LOSEnum" }, "time": { "type": "string", "description": "Used in conjunction with the minMaxMessageType and the time Unit to define the length of stay requirements. A value of zero is treated as no restriction.Note: This attribute must be set unless using MinMaxMessageType=\"FullPatternLOS\".
", "example": "0" }, "timeUnit": { "$ref": "#/definitions/TimeUnitEnum", "description": "A time unit used to apply this status message to other inventory, and with more granularity than daily.Note: This attribute must be set unless using MinMaxMessageType=\"FullPatternLOS\".
" }, "losFixedPatternLength": { "type": "integer", "description": "The number of elements in the length of stay pattern. This attribute must be set when using MinMaxMessageType=\"FullPatternLOS\" and absent otherwise.", "example": 7 }, "losPattern": { "type": "string", "description": "Defines the length of stay restriction pattern. This attribute must be set when using MinMaxMessageType=\"FullPatternLOS\" and absent otherwise. A sequence of Y and N characters indicating whether each length of stay is allowed, from one night to the value in FixedPatternLength. Any length of stay greater than FixedPatternLength inherits the value at the final position. For example, with FixedPatternLength=\"4\" and FullPatternLOS=\"YNYN\", only lengths of stay 1 and 3 are allowed.", "example": "NYNNYYN" } } }, "TimeUnitEnum": { "type": "string", "description": "A time unit used to apply this status message to other inventory, and with more granularity than daily.Day - Represents if the restriction is per day.
Hour - Represents if the restriction is hourly
Note: This attribute must be set unless using MinMaxMessageType=\"FullPatternLOS\".
", "enum": [ "Day", "Hour" ] }, "LOSEnum": { "type": "string", "description": "An enumerated type that represents various type of length of stay restrictions. It is used to define how the minimum and maximum LOS is applied.MinLOS - Indicates Minimum length of stay restriction. Apply based on arrival date.
MaxLOS - Indicates Maximum length of Stay restriction. Apply based on arrival date.
RemoveMinLOS - Removes minimum lenth of stay restriction.
RemoveMaxLOS - Removes maximum lenth of stay restriction.
ForwardMinStay - Indicates a Minimum Stay Through restriction.
ForwardMaxStay - Indicates a Maximum Stay Through restriction.
RemoveForwardMinStay - Removes minimum foraward stay through restriction.
RemoveForwardMaxStay - Removes minimum foraward stay through restriction.
FullPatternLOS - Indicates Full Pattern Length of Stay restriction.
", "externalDocs": { "description": "Find out more about Oracle Hospitality Restriction", "url": "https://docs.oracle.com/en/industries/hospitality/opera-cloud/23.4/ocsuh/c_availability_restrictions.htm#Restrictions-300570AD" }, "enum": [ "MinLOS", "MaxLOS", "RemoveMinLOS", "RemoveMaxLOS", "ForwardMinStay", "ForwardMaxStay", "RemoveForwardMinStay", "RemoveForwardMaxStay", "FullPatternLOS" ] }, "RestrictionStatus": { "type": "object", "description": "Availability status assigned to the room rate combination.", "properties": { "status": { "$ref": "#/definitions/statusEnum" }, "restriction": { "$ref": "#/definitions/restrictionEnum" }, "minAdvancedBookingOffset": { "type": "string", "description": "Minimum days before the arrival date for which this rate plan may be booked.", "example": "0" }, "maxAdvancedBookingOffset": { "type": "string", "description": "Maximum days before the arrival date for which this rate plan may be booked.", "example": "0" } } }, "statusEnum": { "type": "string", "description": "Identifies the availability status of an item.", "enum": [ "Open", "Close" ] }, "restrictionEnum": { "type": "string", "description": "The restriction type.Arrival -It is applicable based on arrival date of a booking.
Departure - It is applicable based on arrival date of a booking.
Master - This value indicates whether the room rate is available for booking on the date. Note: setting Master to Close is known as a STOP SELL
", "enum": [ "Arrival", "Departure", "Master" ] }, "OTA_HotelRateAmountNotifRQ": { "type": "object", "properties": { "hotelRatePlans": { "type": "object", "$ref": "#/definitions/HotelRatePlan" } } }, "HotelRatePlan": { "type": "object", "properties": { "uniqueId": { "$ref": "#/definitions/UniqueId" }, "timeStamp": { "$ref": "#/definitions/Timestamp" }, "hotelCode": { "type": "string", "description": "A unique identifier value for the property/hotel associated with channel", "example": "HOTELCODE" }, "channelCode": { "type": "string", "description": "Code for the channel which is receiving published data.", "example": "CHANNELCODE" }, "chainCode": { "type": "string", "description": "If the property/hotel is part of the chain, the associated chain code.", "example": "CHAINCODE" }, "brandCode": { "type": "string", "description": "A value of the brand code associated with channel", "example": "BRANDCODE" }, "ratePlans": { "type": "array", "items": { "$ref": "#/definitions/RatePlan" } } } }, "RatePlan": { "type": "object", "properties": { "ratePlanNotifType": { "type": "string", "$ref": "#/definitions/ratePlanNotifTypeEnum", "description": "Indicates the notification type", "example": "Delta" }, "ratePlanCode": { "type": "string", "description": "The code for the rate plan.", "example": "EX_DAILY" }, "rateCategory": { "type": "string", "description": "Rate Category for the rate plan.", "example": "ABC" }, "commissionable": { "type": "boolean", "description": "Indicates if the rate code is commissionable or not.", "example": true }, "currencyCode": { "type": "string", "description": "The code used for the rate plan code. ISO 4217 currency code", "example": "USD" }, "startSellDate": { "type": "string", "description": "Start sell date of the rate code.", "example": "2015-07-11" }, "endSellDate": { "type": "string", "description": "End sell date of the rate code.", "example": "2015-07-11" }, "shortDescription": { "type": "string", "description": "The short description of the rate plan code.", "example": "Best available rate" }, "rates": { "type": "array", "items": { "$ref": "#/definitions/RateObject" } } } }, "ratePlanNotifTypeEnum": { "type": "string", "description": "The type of notification to apply to every rate notification message.Delta - Add or update the existing per-occupancy rates for the room type, rate plan, and dates specified in rate notification message.
New - Add new occupancy rates for the room type, rate plan, and dates specified in the rate notification message.
Overlay - Delete all of the per-occupancy rates for the room type, rate plan, and dates specified and replace them with new rates.
Remove - Delete all of the existing per-occupancy rates for the room type, rate plan, and dates.
", "enum": [ "Delta", "New", "Overlay", "Remove" ] }, "RateObject": { "type": "object", "properties": { "invTypeCode": { "type": "string", "description": "Channelized room type code", "example": "EX_A1K" }, "maxGuestApplicable": { "type": "string", "description": "Indicates maximum occupancy for the room type.", "example": "" }, "start": { "type": "string", "format": "date", "description": "The starting value of the date range in the ISO 8601 Date Format.", "example": "2015-07-11" }, "end": { "type": "string", "format": "date", "description": "The ending value of the date range in the ISO 8601 Date Format.", "example": "2015-07-11" }, "sun": { "type": "boolean", "description": "Sunday, day of week value", "example": true }, "mon": { "type": "boolean", "description": "Monday, day of week value", "example": true }, "tue": { "type": "boolean", "description": "Tueday, day of week value", "example": true }, "weds": { "type": "boolean", "description": "Wednesday, day of week value", "example": true }, "thur": { "type": "boolean", "description": "Thursday, day of week value", "example": true }, "fri": { "type": "boolean", "description": "Friday, day of week value", "example": true }, "sat": { "type": "boolean", "description": "Saturday, day of week value", "example": true }, "ratesAmounts": { "type": "array", "description": "Rate amounts for the channelized room rate", "items": { "$ref": "#/definitions/RatesAmount" } } } }, "RatesAmount": { "type": "object", "properties": { "baseByGuestAmts": { "type": "array", "description": "Container for a collection of base charges.", "items": { "$ref": "#/definitions/BaseByGuestAmt" }, "example": [ { "ageQualifyingCode": "10", "numberOfGuests": "1", "amountBeforeTax": "80", "amountAfterTax": "100" }, { "ageQualifyingCode": "10", "numberOfGuests": "2", "amountBeforeTax": "80", "amountAfterTax": "100" }, { "ageQualifyingCode": "10", "numberOfGuests": "3", "amountBeforeTax": "80", "amountAfterTax": "100" }, { "ageQualifyingCode": "10", "numberOfGuests": "4", "amountBeforeTax": "80", "amountAfterTax": "100" }, { "ageQualifyingCode": "10", "numberOfGuests": "5", "amountBeforeTax": "80", "amountAfterTax": "100" } ] }, "additionalGuestAmounts": { "type": "array", "description": "Container for a collection of charges for additional guests.", "items": { "$ref": "#/definitions/AdditionalGuestAmount" }, "example": [ { "ageQualifyingCode": "10", "amount": "50" }, { "ageQualifyingCode": "8", "minAge": "2", "maxAge": "8", "amount": "50" } ] } } }, "BaseByGuestAmt": { "type": "object", "properties": { "ageQualifyingCode": { "type": "string", "description": "The Age category of the guest(s). This field is mapped to OTA Code List Age Qualifying Code (AQC). Only the following codes are supported for AgeQualifyingCode: (10 - Adult, 8 - Child).", "example": "8" }, "numberOfGuests": { "type": "string", "description": "Number of guests", "example": "1" }, "amountBeforeTax": { "type": "string", "description": "Room Rate excluding all known taxes, fees and surcharges.", "example": "80" }, "amountAfterTax": { "type": "string", "description": "Room Rate including all known taxes, fees and surcharges.", "example": "100" } } }, "AdditionalGuestAmount": { "type": "object", "properties": { "ageQualifyingCode": { "type": "string", "description": "The Age category of the guest(s). This field is mapped to OTA Code List Age Qualifying Code (AQC). Only the following codes are supported for AgeQualifyingCode: (10 - Adult, 8 - Child).", "example": "10" }, "minAge": { "type": "string", "description": "Indicates minimum age of a person for the charges to be applicable.", "example": "2" }, "maxAge": { "type": "string", "description": "Indicates maximum age of a person for the charges to be applicable.", "example": "8" }, "amount": { "type": "string", "description": "Amount to be charged", "example": "50" } } }, "OTA_HotelInvCountNotifRQ": { "type": "object", "properties": { "hotelInventories": { "type": "object", "description": "The object to support a hotels inventory data per room type and date", "$ref": "#/definitions/HotelInventoryCount" } } }, "HotelInventoryCount": { "type": "object", "properties": { "uniqueId": { "type": "object", "$ref": "#/definitions/UniqueId" }, "timeStamp": { "$ref": "#/definitions/Timestamp" }, "hotelCode": { "type": "string", "description": "A unique identifier value for the property/hotel associated with channel", "example": "HOTELCODE" }, "channelCode": { "type": "string", "description": "Code for the channel which is receiving published data.", "example": "CHANNELCODE" }, "chainCode": { "type": "string", "description": "If the property/hotel is part of the chain, the associated chain code.", "example": "CHAINCODE" }, "brandCode": { "type": "string", "description": "A value of the brand code associated with channel", "example": "BRANDCODE" }, "inventories": { "type": "array", "description": "The object to support room type inventory per start and end date", "items": { "$ref": "#/definitions/Inventory" } } } }, "Inventory": { "type": "object", "properties": { "statusApplicationControl": { "$ref": "#/definitions/invStatusApplicationControl" }, "ratePlan": { "type": "object", "properties": { "ratePlanCode": { "type": "string", "description": "The code for the rate plan.", "example": "EX_DAILY" } } }, "invCounts": { "type": "object", "description": "A container for defining a single inventory count.", "properties": { "countType": { "type": "string", "description": "The type of inventory count being specified.", "example": "DefinitiveAvailability" }, "count": { "type": "string", "description": "The number of rooms", "example": "8" } } } } }, "invStatusApplicationControl": { "type": "object", "required": [ "start", "end", "invTypeCode" ], "properties": { "start": { "type": "string", "format": "date", "description": "The starting value of the date range in the ISO 8601 Date Format.", "example": "2021-12-01" }, "end": { "type": "string", "format": "date", "description": "The ending value of the date range in the ISO 8601 Date Format.", "example": "2021-12-15" }, "invTypeCode": { "type": "string", "description": "room type code.", "example": "EX_A1K" } } }, "AvailStatusMessage": { "type": "object", "required": [ "bookingLimit", "statusApplicationControl" ], "properties": { "bookingLimit": { "type": "number", "description": "It indicates the number of rooms that can be sold for a property." }, "statusApplicationControl": { "$ref": "#/definitions/invStatusApplicationControl" } } }, "restrStatusApplicationControl": { "type": "object", "required": [ "start", "end", "mon", "tue", "weds", "thur", "fri", "sat", "sun", "invTypeCode", "ratePlanCode" ], "properties": { "start": { "type": "string", "format": "date", "description": "The starting value of the date range in the ISO 8601 Date Format.", "example": "2021-11-20" }, "end": { "type": "string", "format": "date", "description": "The ending value of the date range in the ISO 8601 Date Format.", "example": "2021-11-20" }, "mon": { "type": "boolean", "description": "Monday, day of week value", "example": true }, "tue": { "type": "boolean", "description": "Tuesday, day of week value", "example": true }, "weds": { "type": "boolean", "description": "Wednesday, day of week value", "example": true }, "thur": { "type": "boolean", "description": "Thursday, day of week value", "example": true }, "fri": { "type": "boolean", "description": "Friday, day of week value", "example": true }, "sat": { "type": "boolean", "description": "Saturday, day of week value", "example": true }, "sun": { "type": "boolean", "description": "Sunday, day of week value", "example": true }, "invTypeCode": { "type": "string", "description": "room type code.", "example": "EX_A1K" }, "ratePlanCode": { "type": "string", "description": "The code for the rate plan.", "example": "EX_DAILY" } } }, "ExceptionObj": { "type": "object", "properties": { "logId": { "type": "integer", "example": 884366976 }, "title": { "type": "string", "description": "Short, human-readable summary of the problem. The summary SHOULD NOT change for subsequent occurrences of the problem, except for purposes of localization." }, "status": { "type": "integer", "description": "HTTP status code for this occurrence of the problem, set by the origin server.", "example": 400 }, "o.errorCode": { "type": "string", "description": "HDP error code, which is different from HTTP error code.", "example": "DARI00001" }, "type": { "type": "string", "description": "Absolute URI [RFC3986] that identifies the problem type. When dereferenced, it SHOULD provide a human-readable summary of the problem.", "example": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.x" }, "timestamp": { "type": "string", "example": "2021-09-17T08:17:18.321Z", "format": "date-time" } }, "required": [ "logId", "title", "status" ] }, "ExceptionDetail": { "type": "object", "allOf": [ { "$ref": "#/definitions/ExceptionObj" }, { "type": "object", "properties": { "o.errorDetails": { "type": "array", "items": { "$ref": "#/definitions/ExceptionObj" } } } } ] } }, "responses": { "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" } } }, "tags": [ { "name": "ARI Publication", "description": " The ARI Publication service provides ability to send distribution partners with hotel property inventory level, room rates, and restrictions." } ], "externalDocs": { "description": "Find out more about Oracle Hospitality", "url": "https://docs.oracle.com/en/industries/hospitality/integration_platforms.html" } }