Oracle Hospitality Rate Plan Async API

The RatePlanAsync API from Oracle Hospitality — 18 operation(s) for rateplanasync.

Operations 27

POST /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/dailySchedules API to initiate rate plans' price update process #
HEAD /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/dailySchedules/{requestId} Check status of setting daily rate plan schedule process #
GET /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/dailySchedules/{requestId} Get results of a daily rate plan schedule process #
POST /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/bestAvailableLOS API to initiate setting best available rate plans process. #
HEAD /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/bestAvailableLOS/{requestId} Check status of setting best available rate plans process #
GET /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/bestAvailableLOS/{requestId} Get results of a daily rate plan schedule process #
POST /externalSystems/{extSystemCode}/hotels/{hotelId}/rates/hurdles Operation to configure hurdle rates. #
HEAD /externalSystems/{extSystemCode}/hotels/{hotelId}/rates/hurdles/{requestId} This API returns the status of asynchronous process scheduled for given id. #
GET /externalSystems/{extSystemCode}/hotels/{hotelId}/rates/hurdles/{requestId} This API facilitates fetching of status for configured hurdle rates. #
POST /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/headers Operation to start the update of rate header flags. Recommendation is not to exceed 250 rate codes in one request. #
HEAD /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/headers/{requestId} This API returns the status of asynchronous process scheduled for given id. #
GET /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/headers/{requestId} This API facilitates fetching of status for configured rate plans. #
POST /hotels/{hotelId}/ratePlans/roomTypes Add or remove the Room Types to or from rate codes. #
HEAD /hotels/{hotelId}/ratePlans/roomTypes/{requestId} Check status of add/remove Room Types process. #
GET /hotels/{hotelId}/ratePlans/roomTypes/{requestId} Get results of add/remove Room Types process. #
POST /hotels/{hotelId}/ratePlans/deletions Delete ratePlans #
HEAD /hotels/{hotelId}/ratePlans/deletions/{requestId} Check status of delete ratePlans process. #
GET /hotels/{hotelId}/ratePlans/deletions/{requestId} Get results of delete Rate Plans process. #
POST /hotels/{hotelId}/ratePlans/schedules/deletions Delete ratePlan Schedules #
HEAD /hotels/{hotelId}/ratePlans/schedules/deletions/{requestId} Check status of delete ratePlan schedules process. #
GET /hotels/{hotelId}/ratePlans/schedules/deletions/{requestId} Get results of delete Rate Plan Schedules process. #
POST /hotels/{hotelId}/ratePlans/schedules/sync Sync pricing schedules from a standard rate plan to linked base rates. #
HEAD /hotels/{hotelId}/ratePlans/schedules/sync/{requestId} Check status of rate plan schedules sync process. #
GET /hotels/{hotelId}/ratePlans/schedules/sync/{requestId} Get result of rate plan schedules sync async process. #
POST /hotels/{hotelId}/ratePlans/copy Copy rate plans. #
HEAD /hotels/{hotelId}/ratePlans/copy/{requestId} Check status of rate plans copy process. #
GET /hotels/{hotelId}/ratePlans/copy/{requestId} Get result of rate plans copy async process. #

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-rateplanasync-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-rateplanasync-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Opera Cloud Rate Plan Asynchronous Service Rate Plan Async API
  description: APIs catering to the Rate Plan asynchronous related functionality in a hotel.  This includes adding/updating daily rates&apos; pricing schedules and best available rates by day or length of stay. <p>This API follows an async pattern where</p><ul><li>You make an initial request, which returns a Location header</li><li>You poll HEAD on the Location header returned to obtain the status of the process</li><li>Once the process completes HEAD will return in the Location header the URL that must be called to obtain the results of the process</li><li>You call the URL to obtain the results of the process</li></ul><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: /rtp/async/v1
tags:
- name: RatePlanAsync
paths:
  /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/dailySchedules:
    post:
      summary: API to initiate rate plans&apos; price update process
      description: Use this API to start the process to add and update daily rate plans&apos; pricing schedule. Returns a header parameter Location that can be used in the getDailyRatePlanSchedulesProcessStatus operation. <p><strong>OperationId:</strong>startSetDailyRatePlanSchedulesProcess</p>
      operationId: startSetDailyRatePlanSchedulesProcess
      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 process status resource
              schema:
                type: string
          description: Location of process status resource
        '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
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: extSystemCode
        in: path
        required: true
        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:
      - RatePlanAsync
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/dailyRatePlanSchedules'
        description: Request for configuring daily rate plan schedules.
        required: true
  /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/dailySchedules/{requestId}:
    head:
      summary: Check status of setting daily rate plan schedule process
      description: Use this API to check whether the rate plan pricing schedule process is completed. You can get value of summaryId from the Location header returned by the startSetDailyRatePlanSchedulesProcess operation.<p><strong>OperationId:</strong>getDailyRatePlanSchedulesProcessStatus</p>
      operationId: getDailyRatePlanSchedulesProcessStatus
      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
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: extSystemCode
        in: path
        required: true
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: hotelId
        in: path
        required: true
        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:
      - RatePlanAsync
    get:
      summary: Get results of a daily rate plan schedule process
      description: Use this API to get the result of the daily rate plans schedule process, which will include details of any data that has failed to process. You can get the value of the summaryId from the Location header returned by the getDailyRatePlanSchedulesProcessStatus operation after the process is completed. <p><strong>OperationId:</strong>getDailyRatePlanSchedules</p>
      operationId: getDailyRatePlanSchedules
      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: Response for configured daily rate plan schedules
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/dailyRatePlanSchedulesStatus'
        '204':
          description: DailyRatePlanSchedules 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'
      parameters:
      - name: requestId
        in: path
        required: true
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: hotelId
        in: path
        required: true
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: extSystemCode
        in: path
        required: true
        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:
      - RatePlanAsync
  /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/bestAvailableLOS:
    post:
      summary: API to initiate setting best available rate plans process.
      description: Use this API to start the process of adding and updating best available rate plans by day or by length of stay. Returns a header parameter Location that can be used in the getBestAvailableRatePlansProcessStatus operation. <p><strong>OperationId:</strong>startSetBestAvailableRatePlansProcess</p>
      operationId: startSetBestAvailableRatePlansProcess
      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 process status resource
              schema:
                type: string
          description: Location of process status resource
        '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
        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:
      - RatePlanAsync
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/bestAvailableRatePlans'
        description: Request for configuring best available rate plans.
        required: true
  /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/bestAvailableLOS/{requestId}:
    head:
      summary: Check status of setting best available rate plans process
      description: Use this API to check whether the setting of best available rate plans process is completed. You can get value of summaryId from the Location header returned by the startSetBestAvailableRatePlansProcess operation.<p><strong>OperationId:</strong>getBestAvailableRatePlansProcessStatus</p>
      operationId: getBestAvailableRatePlansProcessStatus
      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
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: extSystemCode
        in: path
        required: true
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: hotelId
        in: path
        required: true
        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:
      - RatePlanAsync
    get:
      summary: Get results of a daily rate plan schedule process
      description: Use this API to get the result of the process to set best available rate plans, which will include details of any data that has been failed to process. You can get the value of the summaryId from the Location header returned by the getBestAvailableRatePlansProcessStatus operation after the process is completed. <p><strong>OperationId:</strong>getBestAvailableRatePlans</p>
      operationId: getBestAvailableRatePlans
      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: This asynchronous callback base type is used as a base for an extension for Opera Web Services Callback Requests to provide uniform implementation.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/bestAvailableRatePlansStatus'
        '204':
          description: BestAvailableRatePlans 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'
      parameters:
      - name: requestId
        in: path
        required: true
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: hotelId
        in: path
        required: true
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: extSystemCode
        in: path
        required: true
        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:
      - RatePlanAsync
  /externalSystems/{extSystemCode}/hotels/{hotelId}/rates/hurdles:
    post:
      summary: Operation to configure hurdle rates.
      description: ' <p><strong>OperationId:</strong>startHurdleRatesProcess</p>'
      operationId: startHurdleRatesProcess
      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 process status resource
              schema:
                type: string
          description: Location of process status resource
        '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:
      - RatePlanAsync
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/hurdleRates'
        description: Request for configuring hurdle rates.
        required: true
  /externalSystems/{extSystemCode}/hotels/{hotelId}/rates/hurdles/{requestId}:
    head:
      summary: This API returns the status of asynchronous process scheduled for given id.
      description: ' <p><strong>OperationId:</strong>getHurdleRatesProcessStatus</p>'
      operationId: getHurdleRatesProcessStatus
      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 configured hurdle rates.
        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:
      - RatePlanAsync
    get:
      summary: This API facilitates fetching of status for configured hurdle rates.
      description: ' <p><strong>OperationId:</strong>getHurdleRates</p>'
      operationId: getHurdleRates
      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/hurdleRatesStatus'
        '204':
          description: Hurdle Rates 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'
      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 configured hurdle rates.
        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:
      - RatePlanAsync
  /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/headers:
    post:
      summary: Operation to start the update of rate header flags. Recommendation is not to exceed 250 rate codes in one request.
      description: ' <p><strong>OperationId:</strong>startSetRatePlansHeadersProcess</p>'
      operationId: startSetRatePlansHeadersProcess
      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 process status resource
              schema:
                type: string
          description: Location of process status resource
        '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:
      - RatePlanAsync
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              allOf:
              - $ref: '#/components/schemas/ratePlans'
        description: Request object to change rate plan.
        required: true
  /externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/headers/{requestId}:
    head:
      summary: This API returns the status of asynchronous process scheduled for given id.
      description: ' <p><strong>OperationId:</strong>getRatePlansHeadersProcessStatus</p>'
      operationId: getRatePlansHeadersProcessStatus
      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: 

# --- truncated at 32 KB (98 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oracle-hospitality/refs/heads/main/openapi/oracle-hospitality-rateplanasync-api-openapi.yml