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.
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
# 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'