Oracle Hospitality · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Opera Cloud Rate Plan Asynchronous Service Rate Plan Async…

28 actions 28 updates phrasing extends openapi/oracle-hospitality-rateplanasync-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Oracle Hospitality's API. It is a proposal applied on top of the contract, not a document Oracle Hospitality publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 28 · first 16 shown; the file carries all of them

$.info
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/dailySchedules'].post
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/dailySchedules/{requestId}'].get
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/dailySchedules/{requestId}'].head
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/bestAvailableLOS'].post
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/bestAvailableLOS/{requestId}'].get
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/bestAvailableLOS/{requestId}'].head
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/rates/hurdles'].post
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/rates/hurdles/{requestId}'].get
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/rates/hurdles/{requestId}'].head
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/headers'].post
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/headers/{requestId}'].get
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/headers/{requestId}'].head
$.paths['/hotels/{hotelId}/ratePlans/roomTypes'].post
$.paths['/hotels/{hotelId}/ratePlans/roomTypes/{requestId}'].get
$.paths['/hotels/{hotelId}/ratePlans/roomTypes/{requestId}'].head

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Opera Cloud Rate Plan Asynchronous Service Rate Plan Async…
  version: 1.0.0
extends: openapi/oracle-hospitality-rateplanasync-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 27
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/dailySchedules'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a daily rate plan pricing update
      effect: write
      questions:
      - How do I push daily rate plan prices from my revenue system into OPERA Cloud?
      - Can I add and update daily pricing schedules for rate plans in bulk?
      instructions:
      - text: Start a daily pricing schedule update for hotel {hotelId} from external system {extSystemCode} with {dailyRatePlanSchedule}.
        slots:
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
          dailyRatePlanSchedule: requestBody.dailyRatePlanSchedule
      - text: Kick off the daily rate plan schedule upload for property {hotelId} as system {extSystemCode}.
        slots:
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/dailySchedules/{requestId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get results of a daily rate plan pricing update
      effect: read
      questions:
      - Which daily rate plan prices failed to load after my schedule upload?
      - Where do I see the outcome of a daily pricing schedule job?
      instructions:
      - text: Show the results of daily pricing schedule job {requestId} for hotel {hotelId} from system {extSystemCode}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: List the failed rows from daily rate schedule request {requestId} at hotel {hotelId}, system {extSystemCode}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/dailySchedules/{requestId}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check if a daily pricing update has finished
      effect: read
      questions:
      - Is my daily rate plan pricing upload still running?
      - How can I tell when a daily rate schedule job is complete?
      instructions:
      - text: Check whether daily pricing schedule job {requestId} for hotel {hotelId} from {extSystemCode} is done.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: Poll the status of daily rate schedule request {requestId} at property {hotelId}, system {extSystemCode}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/bestAvailableLOS'].post
  update:
    x-apievangelist-phrasing:
      intent: Start setting best available rate plans
      effect: write
      questions:
      - How do I set best available rates by day or by length of stay?
      - Can my revenue system update BAR rate plans for a hotel in one batch?
      instructions:
      - text: Start setting best available rate plans {bestAvailableRatePlans} for hotel {hotelId} from system {extSystemCode}.
        slots:
          bestAvailableRatePlans: requestBody.bestAvailableRatePlans
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: Kick off a best available rate by length of stay update for property {hotelId} as {extSystemCode}.
        slots:
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/bestAvailableLOS/{requestId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get results of a best available rate update
      effect: read
      questions:
      - Which best available rate entries failed to process?
      - Where can I see what happened in my BAR by length of stay job?
      instructions:
      - text: Show the results of best available rate job {requestId} for hotel {hotelId} from {extSystemCode}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: List failures from BAR update request {requestId} at hotel {hotelId}, system {extSystemCode}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/bestAvailableLOS/{requestId}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check if a best available rate update finished
      effect: read
      questions:
      - Has my best available rate plans job completed yet?
      - How do I poll the progress of a BAR by length of stay upload?
      instructions:
      - text: Check whether best available rate job {requestId} for hotel {hotelId} from {extSystemCode} is complete.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: Poll BAR update request {requestId} at property {hotelId}, system {extSystemCode}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/rates/hurdles'].post
  update:
    x-apievangelist-phrasing:
      intent: Start configuring hurdle rates
      effect: write
      questions:
      - How can my revenue system set hurdle rates for a hotel?
      - Is configuring hurdle rates an asynchronous job?
      instructions:
      - text: Start configuring hurdle rates for hotel {hotelId} from system {extSystemCode}.
        slots:
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: Kick off a hurdle rate update at property {hotelId} as {extSystemCode}.
        slots:
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/rates/hurdles/{requestId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get results of a hurdle rate configuration
      effect: read
      questions:
      - What was the outcome of my hurdle rate configuration request?
      - Where do I fetch the result for configured hurdle rates?
      instructions:
      - text: Show the result of hurdle rate job {requestId} for hotel {hotelId} from {extSystemCode}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: Fetch hurdle rate request {requestId} results at property {hotelId}, system {extSystemCode}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/rates/hurdles/{requestId}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check if a hurdle rate job has finished
      effect: read
      questions:
      - Is my hurdle rate configuration job still in progress?
      - How do I poll the status of a hurdle rates process?
      instructions:
      - text: Check whether hurdle rate job {requestId} for hotel {hotelId} from {extSystemCode} is done.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: Poll hurdle rates request {requestId} at property {hotelId}, system {extSystemCode}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/headers'].post
  update:
    x-apievangelist-phrasing:
      intent: Start updating rate plan header flags
      effect: write
      questions:
      - How do I update header flags on many rate codes at once?
      - How many rate codes should I send in one rate header update?
      instructions:
      - text: Start a rate header flag update for {ratePlans} at hotel {hotelId} from {extSystemCode}.
        slots:
          ratePlans: requestBody.ratePlans
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: Kick off a rate plan header update for property {hotelId} as {extSystemCode}, keeping it under 250 rate codes.
        slots:
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/headers/{requestId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get results of a rate plan header update
      effect: read
      questions:
      - What happened with my rate plan header flag update?
      - Where do I fetch the result for a rate headers job?
      instructions:
      - text: Show the result of rate header job {requestId} for hotel {hotelId} from {extSystemCode}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: Fetch rate plan header request {requestId} results at property {hotelId}, system {extSystemCode}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/ratePlans/headers/{requestId}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check if a rate header update has finished
      effect: read
      questions:
      - Is my rate plan header flag update finished?
      - How can I poll a rate headers job until it completes?
      instructions:
      - text: Check whether rate header job {requestId} for hotel {hotelId} from {extSystemCode} is done.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: Poll rate plan header request {requestId} at property {hotelId}, system {extSystemCode}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/roomTypes'].post
  update:
    x-apievangelist-phrasing:
      intent: Add or remove room types on rate codes
      effect: write
      questions:
      - How do I add a room type to a bunch of rate codes at once?
      - Can I remove room types from every rate code in a rate category?
      instructions:
      - text: '{action} room types {roomTypes} on rate codes {rateCodes} at hotel {hotelId}.'
        slots:
          action: requestBody.action
          roomTypes: requestBody.roomTypes
          rateCodes: requestBody.rateCodes
          hotelId: path.hotelId
      - text: '{action} room types {roomTypes} for rate category {rateCategory} at hotel {hotelId}.'
        slots:
          action: requestBody.action
          roomTypes: requestBody.roomTypes
          rateCategory: requestBody.rateCategory
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/roomTypes/{requestId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get results of a room type add/remove job
      effect: read
      questions:
      - What was the outcome of adding room types to my rate codes?
      - Where do I see the summary of a room type add or remove job?
      instructions:
      - text: Show the summary of room type add/remove job {requestId} at hotel {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Fetch results of rate code room type change {requestId} for property {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/roomTypes/{requestId}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check if a room type add/remove job finished
      effect: read
      questions:
      - Is my job to add or remove room types on rate codes still running?
      - How do I know when the rate code room type change has completed?
      instructions:
      - text: Check whether room type add/remove job {requestId} at hotel {hotelId} is complete.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Poll rate code room type change {requestId} for property {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/deletions'].post
  update:
    x-apievangelist-phrasing:
      intent: Bulk delete rate plans
      effect: destructive
      questions:
      - How do I delete a large number of rate plans in one go?
      - Can I bulk remove rate codes from a property?
      instructions:
      - text: Delete rate plans {ratePlanCodes} at hotel {hotelId}.
        slots:
          ratePlanCodes: requestBody.ratePlanCodes
          hotelId: path.hotelId
      - text: Start a bulk deletion of rate codes {ratePlanCodes} for property {hotelId}.
        slots:
          ratePlanCodes: requestBody.ratePlanCodes
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/deletions/{requestId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get results of a bulk rate plan deletion
      effect: read
      questions:
      - Which rate plans were actually removed by my bulk delete?
      - Where do I see the summary of a rate plan deletion job?
      instructions:
      - text: Show the summary of rate plan deletion job {requestId} at hotel {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Fetch results of bulk rate code delete {requestId} for property {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/deletions/{requestId}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check if a bulk rate plan deletion finished
      effect: read
      questions:
      - Is my bulk rate plan deletion done yet?
      - How can I poll a rate plan delete job?
      instructions:
      - text: Check whether rate plan deletion job {requestId} at hotel {hotelId} is complete.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Poll bulk rate code delete {requestId} for property {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/schedules/deletions'].post
  update:
    x-apievangelist-phrasing:
      intent: Bulk delete rate plan schedules
      effect: destructive
      questions:
      - How do I remove pricing schedules from rate plans without deleting the rate plans?
      - Can I bulk delete rate plan schedules for a hotel?
      instructions:
      - text: Delete rate plan schedules {ratePlansSchedules} at hotel {hotelId}.
        slots:
          ratePlansSchedules: requestBody.ratePlansSchedules
          hotelId: path.hotelId
      - text: Start a bulk removal of pricing schedules for property {hotelId}.
        slots:
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/schedules/deletions/{requestId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get results of a rate schedule deletion
      effect: read
      questions:
      - Which rate plan schedules were removed by my schedule delete job?
      - Where is the summary of a rate schedule deletion?
      instructions:
      - text: Show the summary of rate schedule deletion job {requestId} at hotel {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Fetch results of pricing schedule delete {requestId} for property {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/schedules/deletions/{requestId}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check if a rate schedule deletion finished
      effect: read
      questions:
      - Has my rate plan schedule deletion completed?
      - How do I poll a pricing schedule delete job?
      instructions:
      - text: Check whether rate schedule deletion job {requestId} at hotel {hotelId} is complete.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Poll pricing schedule delete {requestId} for property {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/schedules/sync'].post
  update:
    x-apievangelist-phrasing:
      intent: Sync pricing schedules to linked base rates
      effect: write
      questions:
      - How do I push a standard rate plan's pricing schedule to its linked base rates?
      - Can I sync one schedule to all linked base rates or just one base rate?
      instructions:
      - text: Sync pricing schedules from rate plan {ratePlanCode} to linked base rates at hotel {hotelId} using mode {syncMode}.
        slots:
          ratePlanCode: requestBody.ratePlanCode
          hotelId: path.hotelId
          syncMode: requestBody.syncMode
      - text: Start a {syncMode} schedule sync to base rate {baseRateCode} at property {hotelId}.
        slots:
          syncMode: requestBody.syncMode
          baseRateCode: requestBody.baseRateCode
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/schedules/sync/{requestId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get results of a pricing schedule sync
      effect: read
      questions:
      - What was the result of syncing schedules to my base rates?
      - Where do I see the outcome of a rate plan schedule sync job?
      instructions:
      - text: Show the result of schedule sync job {requestId} at hotel {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Fetch base rate sync results for request {requestId} at property {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/schedules/sync/{requestId}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check if a pricing schedule sync finished
      effect: read
      questions:
      - Is the schedule sync to linked base rates still running?
      - How can I poll a rate plan schedule sync until it is done?
      instructions:
      - text: Check whether schedule sync job {requestId} at hotel {hotelId} is complete.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Poll base rate sync request {requestId} for property {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/copy'].post
  update:
    x-apievangelist-phrasing:
      intent: Copy rate plans to other properties
      effect: write
      questions:
      - How do I copy rate codes from one hotel to several other hotels?
      - Can I replicate a property's rate plans across the chain in the background?
      instructions:
      - text: Copy rate plans from source hotel {hotelId} using criteria {criteria}.
        slots:
          hotelId: path.hotelId
          criteria: requestBody.criteria
      - text: Start copying rate codes from property {hotelId} to our other properties.
        slots:
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/copy/{requestId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get results of a rate plan copy
      effect: read
      questions:
      - Did all my rate codes copy to the target properties?
      - Where do I see the outcome of a rate plan copy job?
      instructions:
      - text: Show the result of rate plan copy job {requestId} from hotel {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Fetch rate code copy results for request {requestId} at property {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/ratePlans/copy/{requestId}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check if a rate plan copy finished
      effect: read
      questions:
      - Is my rate plan copy to other hotels still in progress?
      - How do I poll a rate code copy job?
      instructions:
      - text: Check whether rate plan copy job {requestId} from hotel {hotelId} is complete.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Poll rate code copy request {requestId} for property {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'