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