openapi: 3.2.0
info:
title: OPERA Cloud Integration Processor API
description: APIs to get Business Events generated in OPERA Cloud.
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 servers: - url: /int/v1 tags: - name: IntegrationProcessor description: The Integration Processor Service provides a set of operations which help the external customers and vendors to process Business Events generated in OPERA. paths: /externalSystem/{extSystemCode}/businessEvents: get: summary: Get Business Events by External System description: Business Event messages are placed in a queue. Use this API to dequeue/fetch the Business Event messages based on the external system for all hotels within the same chain. In order to get events, you must have a unique consumer code for the External System and hotels.OperationId:getBusinessEventsByExternalSystem
The maximum allowable limit for this API is 20.
operationId: getBusinessEventsByExternalSystem parameters: - name: extSystemCode in: path required: true description: External system code which will be used to dequeue the events schema: type: string maxLength: 2000 minLength: 1 - name: limit in: query required: false description: Number of messages web service should dequeue from the BE queue. schema: type: integer default: 20 maximum: 20 - $ref: '#/components/parameters/authKey' - $ref: '#/components/parameters/externalData' - $ref: '#/components/parameters/x-app-key' - $ref: '#/components/parameters/x-request-id' - $ref: '#/components/parameters/x-originating-application' - $ref: '#/components/parameters/x-hotelid' - $ref: '#/components/parameters/x-externalsystem' - $ref: '#/components/parameters/Accept-Language' responses: '200': headers: Content-Language: description: Audience language x-example: en-GB schema: type: string pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*' description: Provides business event message dequeued from BE queue as response content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/businessEvents' '204': description: BusinessEventsByExternalSystem not found. '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '413': $ref: '#/components/responses/413' '414': $ref: '#/components/responses/414' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' tags: - IntegrationProcessor /externalSystem/{extSystemCode}/hotels/{hotelId}/businessEvents: get: summary: Get Business Events by External System and Hotel ID description: Business Event messages are placed in a queue. Use this API to fetch(dequeue) the Business Event messages based on the External System and Hotel ID. In order to get property specific business event messages, you must have a unique consumer code (OPERA Cloud UI > Toolbox > External Database) for the External System and the Hotel ID.OperationId:getBusinessEvents
The maximum allowable limit for this API is 20.
operationId: getBusinessEvents parameters: - name: hotelId in: path required: true description: Unique OPERA Hotel code schema: type: string maxLength: 2000 minLength: 1 - name: extSystemCode in: path required: true description: External system code which will be used to dequeue the events. schema: type: string maxLength: 2000 minLength: 1 - name: limit in: query required: false description: Number of messages web service should dequeue from the BE queue. schema: type: integer default: 20 maximum: 20 - $ref: '#/components/parameters/authKey' - $ref: '#/components/parameters/externalData' - $ref: '#/components/parameters/x-app-key' - $ref: '#/components/parameters/x-request-id' - $ref: '#/components/parameters/x-originating-application' - $ref: '#/components/parameters/x-hotelid' - $ref: '#/components/parameters/x-externalsystem' - $ref: '#/components/parameters/Accept-Language' responses: '200': headers: Content-Language: description: Audience language x-example: en-GB schema: type: string pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*' description: Provides business event message dequeued from BE queue as response content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/businessEvents' '204': description: BusinessEvents not found. '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '413': $ref: '#/components/responses/413' '414': $ref: '#/components/responses/414' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' tags: - IntegrationProcessor components: responses: '406': description: Not acceptable. '414': description: Request URI Too Large '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/exceptionDetailType' '403': description: Forbidden '413': description: Request Entity Too Large '415': description: Unsupported Media Type '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/exceptionDetailType' '502': description: Bad Gateway '500': description: System Error content: application/json: schema: $ref: '#/components/schemas/exceptionDetailType' '503': description: Service Unavailable '401': description: Unauthorized '405': description: Method not allowed parameters: x-hotelid: name: x-hotelid description: Mandatory parameter to identify the hotel code where the end user is logged in in: header required: true schema: type: string x-app-key: name: x-app-key description: Client or Partner's Application Key in: header required: true schema: type: string pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$ authKey: name: authorization description: Bearer token that needs to be passed which is generated post user authentication in: header required: true schema: type: string x-externalsystem: name: x-externalsystem description: External system code. in: header x-example: EXTERNALSYSTEMCODE schema: type: string maxLength: 40 externalData: name: externalData description: Pass this header as true, if payload needs DVM in: header schema: type: string x-originating-application: name: x-originating-application description: Customer's Integration Application Id in: header schema: type: string Accept-Language: name: Accept-Language description: Language code in: header schema: type: string x-request-id: name: x-request-id description: Request Id of an incoming request in: header schema: type: string pattern: ~*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12} schemas: businessEventHeaderType: type: object properties: moduleName: description: Business event module name. $ref: '#/components/schemas/businessEventModuleType' actionType: description: Business event action type, such as new reservation, update profile, etc. type: string actionId: description: Unique action instance id of the business event, uniqueness is guaranteed intra-module only. type: number primaryKey: description: Primary key value of the business event, such as resv name id, allotment header id, name id etc. type: string parentActionId: description: Action instance id of the parent business event, if the action triggered this event was a side effect of another action. type: number publisherId: description: Internal id of the application or system user that triggered this event. type: number createdDateTime: description: Timestamp of the business event. type: string format: date-time hotelId: description: The property this business event is associated with. type: string minLength: 0 maxLength: 20 businessEvents: type: object description: Provides business event message dequeued from BE queue as response properties: businessEventData: description: List of BusinessEvents dequeued for given external system type: array items: $ref: '#/components/schemas/businessEventDataType' dataValueMapping: description: List of available data value mappings for a given external system and property. type: array items: $ref: '#/components/schemas/dataValueMappingType' links: type: array items: $ref: '#/components/schemas/instanceLink' warnings: $ref: '#/components/schemas/warningsType' businessEventDetailsType: type: array maxItems: 4000 items: $ref: '#/components/schemas/businessEventDetailType' instanceLink: type: object description: Metadata describing link description objects that MAY appear in the JSON instance representation. properties: href: description: URI [RFC3986] or URI Template [RFC6570]. If the value is set to URI Template, then the "templated" property must be set to true. type: string rel: description: Name of the link relation that, in addition to the type property, can be used to retrieve link details. For example, href or profile. type: string templated: description: Boolean flag that specifies that "href" property is a URI or URI Template. If the property is a URI template, set this value to true. By default, this value is false. type: boolean default: false method: description: HTTP method for requesting the target of the link. type: string enum: - GET - POST - PUT - DELETE - PATCH - OPTIONS - HEAD targetSchema: description: Link to the metadata of the resource, such as JSON-schema, that describes the resource expected when dereferencing the target resource.. type: string operationId: description: The operationId of the path you can call to follow this link. This allows you to look up not only the path and method, but the description of that path and any parameters you need to supply. type: string title: description: Exact copy of the "summary" field on the linked operation. type: string errorInstance: title: Error Instance Details description: Complex type that contains error instance details for a REST call. type: object properties: type: type: string description: Absolute URI [RFC3986] that identifies the problem type. When dereferenced, it SHOULD provide a human-readable summary of the problem (for example, using HTML). 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. detail: type: string description: Human-readable description specific to this occurrence of the problem. instance: type: string description: Absolute URI that identifies the specific occurrence of the problem. It may or may not provide additional information if dereferenced. o:errorCode: type: string description: Application error code, which is different from HTTP error code. o:errorPath: type: string description: Path to the problem at the resource or property level. required: - type - title warningType: type: object description: Used when a message has been successfully processed to report any warnings or business errors that occurred. properties: value: type: string description: Property Value shortText: description: An abbreviated version of the error in textual format. type: string maxLength: 2000 code: description: If present, this refers to a table of coded values exchanged between applications to identify errors or warnings. type: string minLength: 0 maxLength: 20 docURL: description: If present, this URL refers to an online description of the error that occurred. type: string maxLength: 2000 status: description: If present, recommended values are those enumerated in the ErrorRS, (NotProcessed Incomplete Complete Unknown) however, the data type is designated as string data, recognizing that trading partners may identify additional status conditions not included in the enumeration. type: string maxLength: 2000 tag: description: If present, this attribute may identify an unknown or misspelled tag that caused an error in processing. It is recommended that the Tag attribute use XPath notation to identify the location of a tag in the event that more than one tag of the same name is present in the document. Alternatively, the tag name alone can be used to identify missing data [Type=ReqFieldMissing]. type: string maxLength: 2000 recordId: description: If present, this attribute allows for batch processing and the identification of the record that failed amongst a group of records. This value may contain a concatenation of a unique failed transaction ID with specific record(s) associated with that transaction. type: string maxLength: 2000 type: description: The Warning element MUST contain the Type attribute that uses a recommended set of values to indicate the warning type. The validating XSD can expect to accept values that it has NOT been explicitly coded for and process them by using Type ="Unknown". type: string minLength: 0 maxLength: 20 language: description: Language identification. type: string pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*' rph: description: Reference Place Holder used as an index for this warning. type: string minLength: 1 maxLength: 8 exceptionDetailType: title: Error Detail description: Complex type that contains error details for a REST call. type: object properties: type: type: string description: Absolute URI [RFC3986] that identifies the problem type. When dereferenced, it SHOULD provide a human-readable summary of the problem (for example, using HTML). 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. detail: type: string description: Human-readable description specific to this occurrence of the problem. instance: type: string description: Absolute URI that identifies the specific occurrence of the problem. It may or may not provide additional information if dereferenced. o:errorCode: type: string description: Application error code, which is different from HTTP error code. o:errorPath: type: string description: Path to the problem at the resource or property level. o:errorDetails: description: Details of the error message, consisting of a hierarchical tree structure. type: array items: $ref: '#/components/schemas/errorInstance' links: $ref: '#/components/schemas/links' required: - type - title businessEventDataType: type: object properties: businessEvent: description: Business event type. $ref: '#/components/schemas/businessEventType' businessEventId: description: Unique identifier of the Business Event ID $ref: '#/components/schemas/businessEventIDType' businessEventModuleType: type: string enum: - Activity - Availability - Block - BlockOffsets - Cashiering - Catering - CateringNotes - Configuration - ECertificate - Enrollment - Housekeeping - MrEnrollment - NightAudit - OwnerContract - Profile - Rate - Reservation - StayRecords - RoomRotation businessEventDetailType: type: object properties: dataElement: description: Name of the data element, such as arrival date, departure date, etc. type: string oldValue: description: Value of the element when this action took place. In case of date values, format used is YYYY-MM-DD. type: string newValue: description: Value of the element after this action took place. In case of date values, format used is YYYY-MM-DD. type: string scopeFrom: description: Begin date from when this value is applicable, such as daily element date, block grid date etc. type: string format: date maxLength: 8 scopeTo: description: End date till when this value is applicable, such as daily element date, block grid date etc. type: string format: date maxLength: 8 elementSequence: description: Sequence number used to correlate fields of each record, when a collection of records is represented. type: integer elementType: description: Element type used to correlate fields of each record, when a collection of records is represented, such as phone type for phones. type: string elementRole: description: Element role used to correlate fields of each record, when a collection of records is represented, such as phone role for phones. type: string hotelId: description: Hotel code for the data element. type: string dataValueMappingType: type: object description: An element to provide OPERA to External value as operaValue and External to OPERA values as externalValue along with the data element when available for the given external system and property. properties: dataElement: description: Name of the data element, such as rate code, room type, etc. type: string operaValue: description: OPERA to External value that is configured for the given external system and property. type: string externalValue: description: External to OPERA value that is configured for the given external system and property. type: string businessEventType: type: object properties: header: description: Business event header type. $ref: '#/components/schemas/businessEventHeaderType' details: description: Business event details collection. $ref: '#/components/schemas/businessEventDetailsType' warningsType: type: array description: Used in conjunction with the Success element to define a business error. maxItems: 4000 items: $ref: '#/components/schemas/warningType' links: type: array items: $ref: '#/components/schemas/instanceLink' businessEventIDType: type: object properties: type: description: A reference to the type of object defined by the UniqueID element. type: string minLength: 0 maxLength: 20 idContext: description: Used to identify the source of the identifier (e.g., IATA, ABTA). type: string minLength: 0 maxLength: 80 id: 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 minLength: 0 maxLength: 80 description: An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote). externalDocs: description: Find out more about Oracle Hospitality url: https://docs.oracle.com/en/industries/hospitality/integration_platforms.html