openapi: 3.2.0 info: title: OPERA Cloud Distribution Outbound Lookup API version: 26.2.0.0 description: Oracle Hospitality Distribution External Lookup is to get rate plan and room types from external channel partners.

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 servers: - url: /lookup/v1 tags: - name: Lookup paths: /hotels/{hotelCode}/externalRoomTypes: get: summary: Get External Room Types operationId: getExternalRoomTypes description: Provide an ability to get room types information from a channel partner to OPERA Cloud Distribution. tags: - Lookup parameters: - $ref: '#/components/parameters/authorization' - $ref: '#/components/parameters/hotelCode' - $ref: '#/components/parameters/channelCode' - $ref: '#/components/parameters/lang' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' 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: OK content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExternalRoomTypesResponse' '400': description: Request data provided is invalid content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '401': description: Unauthorized content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '403': description: Forbidden content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '404': description: Not Found content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '405': description: Not Allowed content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '406': description: Not Acceptable content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '411': description: Length Required content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '413': description: Payload Too Large content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '414': description: URI Too Long content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '415': description: Unsupported Media Type content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '500': description: Internal Server Error content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '502': description: Bad Gateway content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '503': description: Service Unavailable content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' /hotels/{hotelCode}/externalRatePlans: get: summary: Get External Rate Plans operationId: getExternalRatePlans description: Provide an ability to get rate plan codes information from a channel partner to OPERA Cloud Distribution. tags: - Lookup parameters: - $ref: '#/components/parameters/authorization' - $ref: '#/components/parameters/hotelCode' - $ref: '#/components/parameters/channelCode' - $ref: '#/components/parameters/roomType' - $ref: '#/components/parameters/lang' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' 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: OK content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExternalRatePlansResponse' '400': description: Request data provided is invalid content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '401': description: Unauthorized content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '403': description: Forbidden content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '404': description: Not Found content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '405': description: Not Allowed content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '406': description: Not Acceptable content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '411': description: Length Required content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '413': description: Payload Too Large content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '414': description: URI Too Long content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '415': description: Unsupported Media Type content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '500': description: Internal Server Error content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '502': description: Bad Gateway content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' '503': description: Service Unavailable content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionDetail' components: schemas: ExternalRoomTypesResponse: type: object properties: property: type: object $ref: '#/components/schemas/Property' items: type: array items: $ref: '#/components/schemas/RoomTypeItem' hasMore: type: boolean example: true description: Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response. totalResults: type: integer example: 300 description: Total number of records queried. limit: type: integer example: 200 description: Indicates maximum number of records a Web Service should return in the response. count: type: integer example: 100 description: Total number of rows returned. offset: type: integer example: 0 description: Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned. RatePlanItem: type: object properties: ratePlan: type: object $ref: '#/components/schemas/RatePlan' required: - ratePlan Property: type: object properties: hotelCode: type: string example: XUSXXYY99 description: A unique identifier value for the property/hotel associated with a channel. channelCode: type: string example: CH1 description: ' A code for the channel partner that is set up in the Oracle Hospitality Distribution.' required: - hotelCode - channelCode Room: type: object properties: roomType: type: string example: XA1K description: The code for the room type. roomName: type: string example: '102' description: Name of the room type. description: type: string example: Deluxe King Room on my Channel. description: Description of the room type. required: - roomType RatePlan: type: object properties: ratePlanCode: type: string example: XDAILY description: The code for a rate plan. ratePlanName: type: string example: Corporate description: The name of the rate plan. ratePlanDescription: type: string example: Daily discount for a corporation. description: Description of the rate plan code. required: - ratePlanCode ExceptionDetail: description: Common Error Response format. type: object properties: 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. example: Error in Application 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: Business specific Error code, which is different from HTTP error code. example: RSV-34534534 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.4' timestamp: type: string format: date-time description: The UTC Date and Time of the Error happened. example: '2022-01-02T11: 30: 22.234Z' o:errorDetails: description: Details of the error message, consisting of a hierarchical tree structure. type: array items: $ref: '#/components/schemas/ExceptionDetail' logId: type: integer description: An ID for support reasons to be able identify errors better. example: '334543532224' Occupancy: type: object properties: maxOccupancy: type: integer example: 3 description: The maximum number of individuals allowed in the room type. maxAdultOccupancy: type: integer example: 3 description: The maximum number of adults allowed in the room type. maxChildOccupancy: type: integer example: 2 description: The maximum number of children allowed in the room type. ExternalRatePlansResponse: type: object properties: property: type: object $ref: '#/components/schemas/Property' items: type: array items: $ref: '#/components/schemas/RatePlanItem' hasMore: type: boolean example: true description: Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response. totalResults: type: integer example: 300 description: Total number of records queried. limit: type: integer example: 200 description: Indicates maximum number of records a Web Service should return in the response. count: type: integer example: 100 description: Total number of rows returned. offset: type: integer example: 0 description: Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned. RoomTypeItem: type: object properties: room: type: object $ref: '#/components/schemas/Room' occupancy: type: object $ref: '#/components/schemas/Occupancy' required: - room parameters: authorization: name: authorization description: A Basic authentication header using the base64 hash of your Client user and Client password in the format base64 encoded to the Basic Access Authorization standard. in: header required: true schema: type: string limit: name: limit in: query description: Indicates maximum number of records a Web Service should return in the response. Maximum record limit is 1000. required: true x-example: 1000 schema: type: integer default: 1000 maximum: 1000 offset: name: offset in: query description: Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned. required: true x-example: 1 schema: type: integer lang: name: lang in: query description: ISO639 / BCP 47 language code format. required: false x-example: en-US schema: type: string roomType: name: roomType description: The OPERA Cloud Hotel/proeprty Room type code. in: query required: false x-example: XA1K schema: type: string minLength: 1 hotelCode: name: hotelCode description: A unique identifier value for the property/hotel associated with a channel. in: path required: true x-example: XUSXXYY99 schema: type: string maxLength: 50 minLength: 1 channelCode: name: channelCode description: A unique identifier value for the channel associated with a property/hotel. in: query required: false x-example: CH1 schema: type: string maxLength: 50 minLength: 1 externalDocs: description: Find out more about Oracle Hospitality url: https://docs.oracle.com/en/industries/hospitality/integration_platforms.html