{ "swagger": "2.0", "info": { "title": "OPERA Cloud Distribution Onboarding", "description": "Oracle Hospitality Distribution Onboarding specification for distribution partners to retrieve property status with its attributes and update property status.

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.

", "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" } }, "basePath": "/onboard/v1", "schemes": [ "https" ], "produces": [ "application/json; charset=utf-8" ], "paths": { "/hotels/{hotelCode}/propertyStatus": { "put": { "summary": "Update property status for a given channel.", "operationId": "putPropertyStatus", "description": "Modify property status for given property for given channel.

OperationId:putPropertyStatus

", "tags": [ "Onboarding" ], "consumes": [ "application/json; charset=utf-8" ], "parameters": [ { "in": "body", "name": "body", "schema": { "$ref": "#/definitions/UpdateConnectionInformationData" }, "required": true }, { "$ref": "#/parameters/x-channelCode" }, { "$ref": "#/parameters/hotelCodePath" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/Accept-Language" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" } ], "responses": { "200": { "description": "Updated property status for a given channel.", "headers": { "Location": { "type": "string", "description": "Location of the updated resource", "x-example": "/onboard/v1/hotels/{hotelCode}/propertyStatus" }, "Content-Language": { "type": "string", "description": "Response language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-US" } }, "schema": { "$ref": "#/definitions/UpdateChannelPropertyStatus" } }, "400": { "description": "Bad Request", "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" } }, "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" } } } }, "get": { "summary": "Get Property Status.", "operationId": "getPropertyStatus", "description": "Retrieve property status for a given channel.

OperationId:getPropertyStatus

", "tags": [ "Onboarding" ], "consumes": [ "application/json; charset=utf-8" ], "parameters": [ { "$ref": "#/parameters/x-channelCode" }, { "$ref": "#/parameters/hotelCodePath" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/Accept-Language" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" } ], "responses": { "200": { "description": "Get Property Status.", "headers": { "Location": { "type": "string", "description": "Location of the resource", "x-example": "/onboard/v1/hotels/{hotelCode}/propertyStatus" }, "Content-Language": { "type": "string", "description": "Response language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-US" } }, "schema": { "$ref": "#/definitions/ChannelPropertyStatus" } }, "400": { "description": "Bad Request", "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" } }, "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": { "x-channelCode": { "name": "x-channelCode", "in": "header", "description": "Code for the channel.", "type": "string", "minLength": 1, "maxLength": 50, "required": true, "x-example": "CH1" }, "hotelCodePath": { "name": "hotelCode", "description": "The unique identifier of the Property in Channel system.", "type": "string", "in": "path", "required": true, "minLength": 1, "x-example": "XUSXXYY99" }, "Accept-Language": { "name": "Accept-Language", "in": "header", "type": "string", "description": "Language code" }, "x-app-key": { "name": "x-app-key", "in": "header", "description": "Client or Partner's Application Key", "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$", "type": "string", "required": false }, "authKey": { "name": "authorization", "in": "header", "description": "Bearer token that needs to be passed which is generated post user authentication", "required": true, "type": "string" }, "x-request-id": { "name": "x-request-id", "type": "string", "description": "Unique tracing key e.g. 4664ab3423434a45", "in": "header", "x-example": "4664ab3423434a45" }, "x-originating-application": { "name": "x-originating-application", "type": "string", "description": "Customer's Integration Application Id", "in": "header" } }, "definitions": { "ChannelPropertyStatus": { "type": "object", "properties": { "hotelCode": { "type": "string", "description": "The unique identifier of the Property in Channel system.", "example": "XUSXXYY99" }, "channelCode": { "type": "string", "description": "Unique ID that identifies a single Channel.", "example": "CH1", "maxLength": 20, "minLength": 1 }, "connectionInformation": { "$ref": "#/definitions/ConnectionInformation" } } }, "ConnectionInformation": { "type": "object", "description": "Channel Connection Information", "properties": { "connectionStatus": { "$ref": "#/definitions/ConnectionStatus" }, "connectionNotes": { "type": "string", "description": "Connection Notes for the latest connection Status change.", "maxLength": 300, "example": "Property onboarded successfully" }, "connectionStatusLastChangedOn": { "type": "string", "format": "date-time", "description": "Date on which Channel connection status was updated last time.", "example": "2021-09-17T08:17:18.321Z" } } }, "ConnectionStatus": { "type": "string", "description": "The connection status to the property.", "enum": [ "NEW", "TEST", "MAINTENANCE", "ACTIVE", "INACTIVE" ], "example": "ACTIVE" }, "UpdateConnectionInformationData": { "type": "object", "description": "Channel Connection Information", "properties": { "connectionStatus": { "$ref": "#/definitions/UpdateConnectionStatus" }, "connectionNotes": { "type": "string", "description": "Connection Notes for the latest connection Status change.", "maxLength": 300, "example": "Property onboarded successfully" } }, "required": [ "connectionStatus", "connectionNotes" ] }, "UpdateConnectionStatus": { "type": "string", "description": "The connection status to be updated for the given channel and property. The connection status can be changed to TEST / MAINTENANCE if the existing connection Status is NEW. If the existing connection status is TEST, it can be changed to MAINTENANCE.", "enum": [ "TEST", "MAINTENANCE" ], "example": "TEST" }, "ExceptionDetail": { "type": "object", "allOf": [ { "$ref": "#/definitions/ExceptionObj" }, { "type": "object", "properties": { "o.errorDetails": { "type": "array", "items": { "$ref": "#/definitions/ExceptionObj" } } } } ] }, "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": "DCR00001" }, "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" ] }, "UpdateChannelPropertyStatus": { "type": "object", "properties": { "hotelCode": { "type": "string", "description": "The unique identifier of the Property in Channel system.", "example": "XUSXXYY99" }, "channelCode": { "type": "string", "description": "Unique ID that identifies a single Channel.", "example": "CH1", "maxLength": 20, "minLength": 1 }, "connectionInformation": { "$ref": "#/definitions/UpdateConnectionInformation" } } }, "UpdateConnectionInformation": { "type": "object", "description": "Channel Connection Information", "properties": { "connectionStatus": { "$ref": "#/definitions/UpdateConnectionStatus" }, "connectionNotes": { "type": "string", "description": "Connection Notes for the latest connection Status change.", "maxLength": 300, "example": "Property onboarded successfully" }, "connectionStatusLastChangedOn": { "type": "string", "format": "date-time", "description": "Date on which Channel connection status was updated last time." } } } }, "tags": [ { "name": "Onboarding", "description": "Distribution Onboarding" } ], "externalDocs": { "description": "Find out more about Oracle Hospitality", "url": "https://docs.oracle.com/en/industries/hospitality/integration_platforms.html" } }