Oracle Hospitality Availability Async API

The Availability Asynchronous module provides capability for an external system to retrieve availability related data using an asynchronous approach.

Operations 3

POST /externalSystems/{extSystemCode}/hotels/{hotelId}/restrictions Create restrictions in OPERA Cloud. #
HEAD /externalSystems/{extSystemCode}/hotels/{hotelId}/restrictions/{requestId} Check status of Restrictions #
GET /externalSystems/{extSystemCode}/hotels/{hotelId}/restrictions/{requestId} Get status for created restrictions. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/oracle-hospitality-availabilityasync-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

oracle-hospitality-availabilityasync-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OPERA Cloud Price Availability Rate Async Availability Async API
  description: APIs to cater for Price and Rate Availability Asynchronous functionality in OPERA Cloud.<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
servers:
- url: /par/async/v1
tags:
- name: AvailabilityAsync
  description: The Availability Asynchronous module provides capability for an external system to retrieve availability related data using an asynchronous approach.
paths:
  /externalSystems/{extSystemCode}/hotels/{hotelId}/restrictions:
    post:
      summary: Create restrictions in OPERA Cloud.
      description: A user can send various restrictions to OPERA by specifying restriction details in the request. <p><strong>OperationId:</strong>postRestrictionsProcess</p>
      operationId: postRestrictionsProcess
      x-interaction:
      - async-polling
      responses:
        '202':
          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})*'
            Location:
              description: Location of newly created resource
              schema:
                type: string
          description: HATEOAS links which help the consumer to navigate to resources
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/links'
        '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'
      parameters:
      - name: hotelId
        in: path
        required: true
        description: Unique ID of the hotel in OPERA
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: extSystemCode
        in: path
        required: true
        description: Unique code of the external system
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - $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/Accept-Language'
      tags:
      - AvailabilityAsync
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/restrictions'
        description: Request for configuring restrictions.
        required: true
  /externalSystems/{extSystemCode}/hotels/{hotelId}/restrictions/{requestId}:
    head:
      summary: Check status of Restrictions
      description: Use this to check whether the restrictions sent have been processed. <p><strong>OperationId:</strong>getRestrictionsProcessStatus</p>
      operationId: getRestrictionsProcessStatus
      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})*'
            Status:
              description: Status of the requested process.
              schema:
                type: string
                enum:
                - Processing
                - Invalid
            Cache-Control:
              description: number of seconds to wait before polling again.
              x-example: max-age=10
              schema:
                type: string
          description: Response for status of scheduled asynchronous process.
        '201':
          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})*'
            Status:
              description: Status of the requested process.
              schema:
                type: string
                enum:
                - Completed
            Location:
              description: Location of newly created resource once the status of process run is Complete.
              schema:
                type: string
          description: Response for status of scheduled asynchronous process.
        '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'
      parameters:
      - name: requestId
        in: path
        required: true
        description: Unique ID to fetch status of created restrictions.
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: extSystemCode
        in: path
        required: true
        description: Unique code of the external system.
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: hotelId
        in: path
        required: true
        description: Unique ID of Hotel in OPERA.
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - $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/Accept-Language'
      tags:
      - AvailabilityAsync
    get:
      summary: Get status for created restrictions.
      description: Use this to check whether the restrictions sent have been processed. <p><strong>OperationId:</strong>getRestrictions</p>
      operationId: getRestrictions
      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: HATEOAS links which help the consumer to navigate to resources
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/restrictionsStatus'
        '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'
      parameters:
      - name: hotelId
        in: path
        required: true
        description: Unique ID of Hotel in OPERA.
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: extSystemCode
        in: path
        required: true
        description: Unique code of the external system.
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: requestId
        in: path
        required: true
        description: Unique ID to fetch status of created restrictions.
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - $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/Accept-Language'
      tags:
      - AvailabilityAsync
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
    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:
    restrictionsStatus:
      type: object
      description: Response for created restrictions status.
      properties:
        warnings:
          description: List of warnings that occurred.
          $ref: '#/components/schemas/warningsType'
        links:
          $ref: '#/components/schemas/links'
    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.
    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'
    createRestrictionType:
      type: object
      properties:
        restrictionStatus:
          description: Indicates the type of the restriction.
          $ref: '#/components/schemas/restrictionStatusType'
        ratePlanCodes:
          description: The rate code for which the restriction will be applied.
          type: array
          maxItems: 4000
          items:
            type: string
            minLength: 0
            maxLength: 20
        rateClasses:
          description: The rate class for which the restriction will be applied.
          type: array
          maxItems: 4000
          items:
            type: string
            minLength: 0
            maxLength: 20
        roomClasses:
          description: The room class for which the restriction will be applied.
          type: array
          maxItems: 4000
          items:
            type: string
            minLength: 0
            maxLength: 20
        bookingChannels:
          description: Booking channel.
          type: array
          maxItems: 4000
          items:
            type: string
            minLength: 0
            maxLength: 20
        roomTypes:
          description: The room type for which the restriction will be applied.
          type: array
          maxItems: 4000
          items:
            type: string
            minLength: 0
            maxLength: 20
        ratePlanCategories:
          description: The rate category for which the restriction will be applied.
          type: array
          maxItems: 4000
          items:
            type: string
            minLength: 0
            maxLength: 20
        seasonCode:
          description: The season code during which the restrictions are valid.
          type: string
          minLength: 0
          maxLength: 20
        blockId:
          description: Unique block identifier of the block for which restriction will be applied.
          $ref: '#/components/schemas/blockId'
        bookingChannelOnRequest:
          description: Booking channel on request.
          type: string
          minLength: 0
          maxLength: 1
        dateRangeStart:
          description: The starting value of the date range.
          type: string
          format: date
        dateRangeEnd:
          description: The ending value of the date range.
          type: string
          format: date
        sunday:
          type: boolean
        monday:
          type: boolean
        tuesday:
          type: boolean
        wednesday:
          type: boolean
        thursday:
          type: boolean
        friday:
          type: boolean
        saturday:
          type: boolean
        yieldStatus:
          description: Yield status condition.
          $ref: '#/components/schemas/roomTypeYieldableType'
    restrictionStatusType:
      type: object
      description: The RestrictionStatusType is used to indicate the type of restriction applied. An enumerated restriction type is defined in the attribute group.
      properties:
        code:
          description: Identifies the type of restriction. I.E. Closed, ClosedForArrival, etc.
          $ref: '#/components/schemas/restrictionStatusesType'
        unit:
          description: Defines restriction in conjunction with Restriction Code. Value must be specified for Restriction Codes MinimumStayThrough, MaximumStayThrough, MinimumLengthOfStay, MaximumLengthOfStay, MinimumAdvanceBooking, MaximumAdvanceBooking.
          type: integer
        lengthOfStay1:
          description: Indicates Length of Stay 1 is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
          type: boolean
        lengthOfStay2:
          description: Indicates Length of Stay 2 is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
          type: boolean
        lengthOfStay3:
          description: Indicates Length of Stay 3 is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
          type: boolean
        lengthOfStay4:
          description: Indicates Length of Stay 4 is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
          type: boolean
        lengthOfStay5:
          description: Indicates Length of Stay 5 is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
          type: boolean
        lengthOfStay6:
          description: Indicates Length of Stay 6 is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
          type: boolean
        lengthOfStay7:
          description: Indicates Length of Stay 7 or more is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
          type: boolean
    restrictionsType:
      type: array
      description: Collection of restrictions to be configured.
      maxItems: 1000
      items:
        $ref: '#/components/schemas/createRestrictionType'
    restrictionStatusesType:
      type: string
      enum:
      - Closed
      - ClosedForArrival
      - ClosedForDeparture
      - MinimumStayThrough
      - MaximumStayThrough
      - MinimumLengthOfStay
      - MaximumLengthOfStay
      - LengthOfStayNotAvailable
      - MinimumAdvanceBooking
      - MaximumAdvanceBooking
      - Open
      - OpenForArrival
      - OpenForDeparture
    blockId:
      type: object
      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).
      properties:
        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
    restrictions:
      type: object
      description: Request for configuring restrictions.
      properties:
        restrictions:
          description: Restrictions to be configured.
          $ref: '#/components/schemas/restrictionsType'
        links:
          $ref: '#/components/schemas/links'
    warningsType:
      type: array
      description: Used in conjunction with the Success element to define a business error.
      maxItems: 4000
      items:
        $ref: '#/components/schemas/warningType'
    roomTypeYieldableType:
      type: string
      description: Simple type for Yieldable or Non Yieldable
      enum:
      - Yieldable
      - NonYieldable
    links:
      type: array
      items:
        $ref: '#/components/schemas/instanceLink'
externalDocs:
  description: Find out more about Oracle Hospitality
  url: https://docs.oracle.com/en/industries/hospitality/integration_platforms.html