Oracle Hospitality · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for OPERA Cloud Rate Rate Plan API
113 actions
113 updates
phrasing
extends
openapi/oracle-hospitality-rate-plan-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 113 · first 16 shown; the file carries all of them
$.info
$.paths['/controlSegmentTemplate/{controlSegmentCode}'].put
$.paths['/controlSegmentTemplate/{controlSegmentCode}'].post
$.paths['/controlSegmentTemplate/{controlSegmentCode}'].delete
$.paths['/controlSegmentTemplates'].get
$.paths['/controlSegments'].get
$.paths['/hotels/{hotelId}/bestavailablerates'].get
$.paths['/hotels/{hotelId}/bestavailablerates'].post
$.paths['/hotels/{hotelId}/bestavailablerates'].delete
$.paths['/hotels/{hotelId}/blocks/ratePlans'].get
$.paths['/hotels/{hotelId}/controlSegments/{controlSegmentCode}'].put
$.paths['/hotels/{hotelId}/controlSegments/{controlSegmentCode}'].post
$.paths['/hotels/{hotelId}/controlSegments/{controlSegmentCode}'].delete
$.paths['/hotels/{hotelId}/massRateChangeLog'].delete
$.paths['/hotels/{hotelId}/massRateChangeStatus'].get
$.paths['/hotels/{hotelId}/massRatePlanSchedules'].put
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 Rate Plan API
version: 1.0.0
extends: openapi/oracle-hospitality-rate-plan-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 112
- target: $.paths['/controlSegmentTemplate/{controlSegmentCode}'].put
update:
x-apievangelist-phrasing:
intent: Modify a control segment template
effect: write
questions:
- Can I edit a chain-level control segment template after it has been created?
- Is it possible to update several control segment templates in one call?
instructions:
- text: Update the control segment template {code} with the new template settings.
slots:
code: path.controlSegmentCode
- text: Change the rules on control segment template {code}.
slots:
code: path.controlSegmentCode
method: generated
generated: '2026-10-01'
- target: $.paths['/controlSegmentTemplate/{controlSegmentCode}'].post
update:
x-apievangelist-phrasing:
intent: Create a control segment template
effect: write
questions:
- How do I set up a new control segment template at the chain level?
- Can I add a brand-new control segment template that properties can inherit?
instructions:
- text: Create a new control segment template with code {code}.
slots:
code: path.controlSegmentCode
- text: Add control segment template {code} to the template library.
slots:
code: path.controlSegmentCode
method: generated
generated: '2026-10-01'
- target: $.paths['/controlSegmentTemplate/{controlSegmentCode}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a control segment template
effect: destructive
questions:
- Can I remove a control segment template that we no longer use?
- What happens when I delete a control segment template from the chain setup?
instructions:
- text: Delete the control segment template {code}.
slots:
code: path.controlSegmentCode
- text: Remove template-level control segment {code} permanently.
slots:
code: path.controlSegmentCode
method: generated
generated: '2026-10-01'
- target: $.paths['/controlSegmentTemplates'].get
update:
x-apievangelist-phrasing:
intent: List control segment templates
effect: read
questions:
- Which control segment templates are defined for our chain?
- Can I filter control segment templates by membership type, including inactive ones?
instructions:
- text: List all control segment templates, including inactive ones.
- text: Show control segment templates for membership type {type}.
slots:
type: query.membershipType
method: generated
generated: '2026-10-01'
- target: $.paths['/controlSegments'].get
update:
x-apievangelist-phrasing:
intent: Search property control segments
effect: read
questions:
- Which control segments are configured at a specific hotel?
- Can I search property control segments by membership level?
instructions:
- text: Find the control segments configured at hotel {hotel}.
slots:
hotel: query.hotelIds
- text: Search control segments at hotel {hotel} for membership type {type} and level {level}.
slots:
hotel: query.hotelIds
type: query.membershipType
level: query.membershipLevel
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/bestavailablerates'].get
update:
x-apievangelist-phrasing:
intent: Fetch best available rates for a hotel
effect: read
questions:
- What are the best available rates set up at my hotel starting next week?
- Can I look up best available rates for a particular rate code and length of stay?
instructions:
- text: Show best available rates at hotel {hotelId} from {startDay}.
slots:
hotelId: path.hotelId
startDay: query.startDay
- text: Get the best available rates for rate code {rateCode} at hotel {hotelId} between {startDay} and {endDay}.
slots:
rateCode: query.rateCode
hotelId: path.hotelId
startDay: query.startDay
endDay: query.endDay
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/bestavailablerates'].post
update:
x-apievangelist-phrasing:
intent: Create best available rates
effect: write
questions:
- How do I load best available rates for a rate code into the property?
- Can I define new BAR entries for several rate codes at once?
instructions:
- text: Create best available rates at hotel {hotelId} from the rates I provide.
slots:
hotelId: path.hotelId
- text: Add these new BAR entries to hotel {hotelId}.
slots:
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/bestavailablerates'].delete
update:
x-apievangelist-phrasing:
intent: Delete best available rates for a date range
effect: destructive
questions:
- Can I clear best available rates for a rate code over a date range?
- Is it possible to delete BAR only for weekends or certain lengths of stay?
instructions:
- text: Delete best available rates for rate code {code} at hotel {hotelId} from {start} to {end}.
slots:
code: query.code
hotelId: path.hotelId
start: query.start
end: query.end
- text: Remove the Saturday best available rates for {code} at hotel {hotelId} between {start} and {end}.
slots:
code: query.code
hotelId: path.hotelId
start: query.start
end: query.end
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/blocks/ratePlans'].get
update:
x-apievangelist-phrasing:
intent: Find rate plans usable on a group block
effect: read
questions:
- Which rate plans can I attach to a group block at my hotel?
- Can I list only negotiated rate plans available to a company's block?
instructions:
- text: Show the rate plans available for blocks at hotel {hotelId} from {beginDate} to {endDate}.
slots:
hotelId: path.hotelId
beginDate: query.beginDate
endDate: query.endDate
- text: List block rate plans at hotel {hotelId} negotiated for company {companyId}.
slots:
hotelId: path.hotelId
companyId: query.companyId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/controlSegments/{controlSegmentCode}'].put
update:
x-apievangelist-phrasing:
intent: Modify a hotel control segment
effect: write
questions:
- Can I change the rules on a control segment at one hotel?
- Is it possible to switch a property control segment to require membership?
instructions:
- text: Update control segment {code} at hotel {hotelId} with new rules.
slots:
code: path.controlSegmentCode
hotelId: path.hotelId
- text: Deactivate control segment {code} at hotel {hotelId}.
slots:
code: path.controlSegmentCode
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/controlSegments/{controlSegmentCode}'].post
update:
x-apievangelist-phrasing:
intent: Create a hotel control segment
effect: write
questions:
- How do I add a control segment with rate rules to a single property?
- Can a new property control segment be restricted to a membership type?
instructions:
- text: Create control segment {code} at hotel {hotelId} with the rules I give you.
slots:
code: path.controlSegmentCode
hotelId: path.hotelId
- text: Set up a membership-only control segment {code} at hotel {hotelId} for membership type {type}.
slots:
code: path.controlSegmentCode
hotelId: path.hotelId
type: requestBody.membershipTypeCode
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/controlSegments/{controlSegmentCode}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a hotel control segment
effect: destructive
questions:
- Can I delete a control segment from one hotel without touching the template?
- What does removing a property control segment do to its rules?
instructions:
- text: Delete control segment {code} at hotel {hotelId}.
slots:
code: path.controlSegmentCode
hotelId: path.hotelId
- text: Remove the property control segment {code} from hotel {hotelId}.
slots:
code: path.controlSegmentCode
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/massRateChangeLog'].delete
update:
x-apievangelist-phrasing:
intent: Clear the mass rate change log
effect: destructive
questions:
- Can I wipe the mass rate change log for a hotel?
- Is there a way to reset the log left behind by mass rate changes?
instructions:
- text: Delete the mass rate change log for hotel {hotelId}.
slots:
hotelId: path.hotelId
- text: Clear out hotel {hotelId}'s mass rate change history log.
slots:
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/massRateChangeStatus'].get
update:
x-apievangelist-phrasing:
intent: Check the status of a mass rate change
effect: read
questions:
- Has the mass rate change I started at my hotel finished?
- Can I see detailed status for a running mass rate update?
instructions:
- text: Check the mass rate change status for hotel {hotelId}.
slots:
hotelId: path.hotelId
- text: Show mass rate change progress at hotel {hotelId} with detail status {detail}.
slots:
hotelId: path.hotelId
detail: query.detailStatus
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/massRatePlanSchedules'].put
update:
x-apievangelist-phrasing:
intent: Update rate plan schedules in bulk
effect: write
questions:
- How do I change pricing schedules across many rate plans in one go?
- Can I apply a mass update to rate plan schedules using criteria?
instructions:
- text: Run a mass rate plan schedule update at hotel {hotelId} using these criteria.
slots:
hotelId: path.hotelId
- text: Apply the mass rate change criteria {criteria} to schedules at hotel {hotelId}.
slots:
criteria: requestBody.criteria
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/negotiatedRates'].get
update:
x-apievangelist-phrasing:
intent: List a hotel's negotiated rates and profiles
effect: read
questions:
- Which companies have negotiated rates at my hotel?
- Can I include inactive negotiated rates when listing a property's corporate deals?
instructions:
- text: List every negotiated rate and its profile at hotel {hotelId}.
slots:
hotelId: path.hotelId
- text: Show negotiated rates at hotel {hotelId} valid between {startDate} and {endDate}.
slots:
hotelId: path.hotelId
startDate: query.startDate
endDate: query.endDate
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/negotiatedRates'].post
update:
x-apievangelist-phrasing:
intent: Create a negotiated rate for a profile
effect: write
questions:
- How do I give a corporate account a negotiated rate at my property?
- Can I attach a new negotiated rate code to a travel agent profile?
instructions:
- text: Create a negotiated rate at hotel {hotelId} for the profile I specify.
slots:
hotelId: path.hotelId
- text: Add these negotiated rates {rates} at hotel {hotelId}.
slots:
rates: requestBody.negotiatedRates
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/negotiatedRates/distributions'].put
update:
x-apievangelist-phrasing:
intent: Distribute negotiated rates to other hotels
effect: write
questions:
- Can I push a negotiated rate out to several other properties?
- Which hotels can a negotiated rate be distributed to from this property?
instructions:
- text: Distribute negotiated rates from hotel {hotelId} to hotels {hotels}.
slots:
hotelId: path.hotelId
hotels: requestBody.hotelCodeList
- text: Share the negotiated rate list {rates} from hotel {hotelId} across our other properties.
slots:
rates: requestBody.negotiatedRateList
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/negotiatedRates/{rateCode}'].put
update:
x-apievangelist-phrasing:
intent: Change a negotiated rate for a profile
effect: write
questions:
- Can I extend the dates on a company's existing negotiated rate?
- How can I edit a negotiated rate code that's already linked to a profile?
instructions:
- text: Update negotiated rate {rateCode} at hotel {hotelId}.
slots:
rateCode: path.rateCode
hotelId: path.hotelId
- text: Change the dates on negotiated rate {rateCode} at hotel {hotelId} for the profile I name.
slots:
rateCode: path.rateCode
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/negotiatedRates/{rateCode}/profiles'].get
update:
x-apievangelist-phrasing:
intent: List profiles holding a negotiated rate code
effect: read
questions:
- Which profiles have been given a specific negotiated rate code at my hotel?
- Who is entitled to a particular corporate rate code at this property?
instructions:
- text: Show the profiles linked to negotiated rate {rateCode} at hotel {hotelId}.
slots:
rateCode: path.rateCode
hotelId: path.hotelId
- text: List accounts on rate code {rateCode} at hotel {hotelId}, include inactive set to {inactive}.
slots:
rateCode: path.rateCode
hotelId: path.hotelId
inactive: query.includeInactiveNegotiatedRates
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packageForecastGroups'].get
update:
x-apievangelist-phrasing:
intent: List a hotel's package forecast groups
effect: read
questions:
- Which package forecast groups exist at my property?
- Can I search a hotel's package forecast groups by a partial code?
instructions:
- text: List the package forecast groups at hotel {hotelId}.
slots:
hotelId: path.hotelId
- text: Find package forecast groups at hotel {hotelId} with code {code}.
slots:
hotelId: path.hotelId
code: query.PackageForecastGroupCodes
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packageForecastGroups'].put
update:
x-apievangelist-phrasing:
intent: Update a hotel's package forecast groups
effect: write
questions:
- Can I rename a package forecast group at one property?
- Is it possible to edit existing hotel-level package forecast groups in bulk?
instructions:
- text: Update the package forecast groups at hotel {hotelId} with these changes.
slots:
hotelId: path.hotelId
- text: Change hotel {hotelId}'s package forecast group descriptions.
slots:
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packageForecastGroups'].post
update:
x-apievangelist-phrasing:
intent: Create package forecast groups at a hotel
effect: write
questions:
- How do I add a new package forecast group for one hotel?
- Can I group packages for forecasting at a single property?
instructions:
- text: Create new package forecast groups at hotel {hotelId}.
slots:
hotelId: path.hotelId
- text: Add package forecast group {groups} to hotel {hotelId}.
slots:
groups: requestBody.hotelPackageForecastGroups
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packageForecastGroups'].delete
update:
x-apievangelist-phrasing:
intent: Delete a hotel's package forecast groups
effect: destructive
questions:
- Can I remove a package forecast group from one property?
- What's the way to drop an unused hotel package forecast group?
instructions:
- text: Delete package forecast group {code} at hotel {hotelId}.
slots:
code: query.code
hotelId: path.hotelId
- text: Remove the hotel-level forecast group {code} from hotel {hotelId}.
slots:
code: query.code
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packageFormulaRanges'].get
update:
x-apievangelist-phrasing:
intent: Get package formula ranges
effect: read
questions:
- What package formula ranges are defined at my hotel?
- Can I filter package formula ranges by tax range type?
instructions:
- text: Show the package formula ranges at hotel {hotelId}.
slots:
hotelId: path.hotelId
- text: List package formula ranges at hotel {hotelId} of tax range type {type}.
slots:
hotelId: path.hotelId
type: query.taxRangeType
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packageFormulaRanges'].post
update:
x-apievangelist-phrasing:
intent: Create package formula ranges
effect: write
questions:
- How do I define new amount ranges for package formulas?
- Can I add package formula ranges for a property?
instructions:
- text: Create package formula ranges at hotel {hotelId}.
slots:
hotelId: path.hotelId
- text: Add these new formula ranges {ranges} to hotel {hotelId}.
slots:
ranges: requestBody.packageFormulaRanges
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packageFormulaRanges/{packageFormulaRangeId}'].put
update:
x-apievangelist-phrasing:
intent: Change a package formula range
effect: write
questions:
- Can I edit the amounts on a package formula range I already created?
- Is there a way to modify a single package formula range by its ID?
instructions:
- text: Update package formula range {rangeId} at hotel {hotelId}.
slots:
rangeId: path.packageFormulaRangeId
hotelId: path.hotelId
- text: Change the limits on formula range {rangeId} at hotel {hotelId}.
slots:
rangeId: path.packageFormulaRangeId
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packageFormulaRanges/{packageFormulaRangeId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a package formula range
effect: destructive
questions:
- Can I delete a package formula range I no longer need?
- Does deleting a formula range let me target a specific amount and currency?
instructions:
- text: Delete package formula range {rangeId} at hotel {hotelId}.
slots:
rangeId: path.packageFormulaRangeId
hotelId: path.hotelId
- text: Remove formula range {rangeId} at hotel {hotelId} for amount {amount} in {currency}.
slots:
rangeId: path.packageFormulaRangeId
hotelId: path.hotelId
amount: query.amount
currency: query.currencyCode
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packageGroups'].get
update:
x-apievangelist-phrasing:
intent: List package groups at a hotel
effect: read
questions:
- Which package groups are set up at my property?
- Can I find package groups by a word in their description?
instructions:
- text: List the package bundles (package groups) defined at hotel {hotelId}.
slots:
hotelId: path.hotelId
- text: Find package groups at hotel {hotelId} whose description contains {text}.
slots:
hotelId: path.hotelId
text: query.descriptionWildCard
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packageGroups'].put
update:
x-apievangelist-phrasing:
intent: Change a package group
effect: write
questions:
- Can I change which packages belong to an existing package group?
- How can I edit a package group's details at my hotel?
instructions:
- text: Edit the existing package bundles (package groups) at hotel {hotelId}.
slots:
hotelId: path.hotelId
- text: Change the contents of existing package group {groups} at hotel {hotelId}.
slots:
groups: requestBody.packageGroups
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packageGroups'].post
update:
x-apievangelist-phrasing:
intent: Create a package group
effect: write
questions:
- How do I bundle several packages into a new package group?
- Can I create a package group like a breakfast-and-parking bundle?
instructions:
- text: Create a new package group at hotel {hotelId}.
slots:
hotelId: path.hotelId
- text: Add package group {groups} to hotel {hotelId}.
slots:
groups: requestBody.packageGroups
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packageGroups/{packageCode}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a package group
effect: destructive
questions:
- Can I delete a package group without deleting the packages inside it?
- What's involved in removing a package group from a hotel?
instructions:
- text: Delete package group {code} at hotel {hotelId}.
slots:
code: path.packageCode
hotelId: path.hotelId
- text: Remove the package group with code {code} from hotel {hotelId}.
slots:
code: path.packageCode
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packages/{packageCode}'].get
update:
x-apievangelist-phrasing:
intent: Get one package's details
effect: read
questions:
- What's included in a specific package code at my hotel?
- Can I see the configuration of a single package, including its instructions?
instructions:
- text: Show the details of package {code} at hotel {hotelId}.
slots:
code: path.packageCode
hotelId: path.hotelId
- text: Get package {code} at hotel {hotelId} with instructions {fetch}.
slots:
code: path.packageCode
hotelId: path.hotelId
fetch: query.fetchInstructions
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packages/{packageCode}'].put
update:
x-apievangelist-phrasing:
intent: Update a package
effect: write
questions:
- Can I change the price or posting of an existing package?
- How do I edit a package that's already set up at my hotel?
instructions:
- text: Update package {code} at hotel {hotelId}.
slots:
code: path.packageCode
hotelId: path.hotelId
- text: Change the settings of existing package {code} at hotel {hotelId}.
slots:
code: path.packageCode
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packages/{packageCode}'].post
update:
x-apievangelist-phrasing:
intent: Create a package
effect: write
questions:
- How do I create a new package like breakfast included at my property?
- Can I add a package code that can later be attached to rate plans?
instructions:
- text: Create package {code} at hotel {hotelId}.
slots:
code: path.packageCode
hotelId: path.hotelId
- text: Set up a new package with code {code} at hotel {hotelId}.
slots:
code: path.packageCode
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packages/{packageCode}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a package
effect: destructive
questions:
- Can I delete a package code we've stopped selling?
- Is removing a package from a hotel permanent?
instructions:
- text: Delete package {code} at hotel {hotelId}.
slots:
code: path.packageCode
hotelId: path.hotelId
- text: Remove package code {code} from hotel {hotelId} for good.
slots:
code: path.packageCode
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packages/{packageCode}/rates'].get
update:
x-apievangelist-phrasing:
intent: List rate plans that include a package
effect: read
questions:
- Which rate plans include a particular package?
- What rate codes is a package attached to at my hotel?
instructions:
- text: List the rate plan codes that include package {code} at hotel {hotelId}.
slots:
code: path.packageCode
hotelId: path.hotelId
- text: Show which rates package {code} is attached to at hotel {hotelId}.
slots:
code: path.packageCode
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/packages/{packageCode}/text'].post
update:
x-apievangelist-phrasing:
intent: Generate a package description with AI
effect: write
questions:
- Can AI write a guest-facing description for one of my packages?
- Could I give a prompt to shape an AI-generated package description?
instructions:
- text: Generate an AI description for package {code} at hotel {hotelId}.
slots:
code: path.packageCode
hotelId: path.hotelId
- text: Write a package description for {code} at hotel {hotelId} using the prompt {prompt}.
slots:
code: path.packageCode
hotelId: path.hotelId
prompt: requestBody.userPrompt
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/profiles/{profileId}/startDate/{startDate}/negotiatedRates/{ratePlanId}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a negotiated rate from a profile
effect: destructive
questions:
- Can I take a negotiated rate away from a company profile?
- What do I need to delete a negotiated rate that starts on a given date?
instructions:
- text: Delete negotiated rate {ratePlanId} for profile {profileId} at hotel {hotelId} starting {startDate}.
slots:
ratePlanId: path.ratePlanId
profileId: path.profileId
hotelId: path.hotelId
startDate: path.startDate
- text: Remove profile {profileId}'s negotiated rate {ratePlanId} at hotel {hotelId} effective {startDate}.
slots:
ratePlanId: path.ratePlanId
profileId: path.profileId
hotelId: path.hotelId
startDate: path.startDate
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/promotionCodes'].get
update:
x-apievangelist-phrasing:
intent: List a hotel's promotion codes
effect: read
questions:
- Which promotion codes are active at my hotel?
- Can I find promotion codes tied to a certain rate code?
instructions:
- text: List the promotion codes at hotel {hotelId}.
slots:
hotelId: path.hotelId
- text: Find property promotion codes at hotel {hotelId} in promotion group {group}.
slots:
hotelId: path.hotelId
group: query.promotionGroup
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/promotionCodes/{promotionCode}'].put
update:
x-apievangelist-phrasing:
intent: Change a hotel promotion code
effect: write
questions:
- Can I edit a promotion code that already exists at my property?
- How do I update the rates a property promo code applies to?
instructions:
- text: Update promotion code {promo} at hotel {hotelId}.
slots:
promo: path.promotionCode
hotelId: path.hotelId
- text: Change the existing property promo {promo} at hotel {hotelId}.
slots:
promo: path.promotionCode
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/promotionCodes/{promotionCode}'].post
update:
x-apievangelist-phrasing:
intent: Create a hotel promotion code
effect: write
questions:
- How do I create a new promo code guests can use at my hotel?
- Can I add a promotion code to just one property?
instructions:
- text: Create promotion code {promo} at hotel {hotelId}.
slots:
promo: path.promotionCode
hotelId: path.hotelId
- text: Add a brand-new property promo {promo} to hotel {hotelId}.
slots:
promo: path.promotionCode
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
- target: $.paths['/hotels/{hotelId}/promotionCodes/{promotionCode}/coupons'].get
update:
x-apievangelist-phrasing:
intent: List coupon codes for a hotel promotion
effect: read
questions:
- What coupon codes have been generated under a promotion at my hotel?
- Can I list a promotion's coupons from a certain batch?
instructions:
- text: List coupon codes for promotion {promo} at hotel {hotelId}.
slots:
promo: path.promotionCode
hotelId: path.hotelId
- text: Show coupons in batch {batch} for promotion {promo} at hotel {hotelId}.
slots:
batch: query.batchCode
promo: path.promotionCode
hotelId: path.hotelId
method: generated
generated: '2026-10-01'
# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oracle-hospitality/refs/heads/main/overlays/oracle-hospitality-rate-plan-api-phrasing-overlay.yaml