# 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' - target: $.paths['/hotels/{hotelId}/promotionCodes/{promotionCode}/coupons'].post update: x-apievangelist-phrasing: intent: Generate coupon codes for a hotel promotion effect: write questions: - Can I generate a batch of unique coupon codes for a property promotion? - How do I produce single-use coupons under a hotel promo code? instructions: - text: Generate coupon codes for promotion {promo} at hotel {hotelId}. slots: promo: path.promotionCode hotelId: path.hotelId - text: Create a new batch of property coupons under promo {promo} at hotel {hotelId}. slots: promo: path.promotionCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/promotionCodes/{promotionCode}/coupons/{couponId}'].get update: x-apievangelist-phrasing: intent: Get one coupon code for a hotel promotion effect: read questions: - Can I look up a single coupon by its ID under a hotel promotion? - What are the details of one specific property coupon code? instructions: - text: Show coupon {couponId} for promotion {promo} at hotel {hotelId}. slots: couponId: path.couponId promo: path.promotionCode hotelId: path.hotelId - text: Look up property coupon {couponId} under promo {promo} at hotel {hotelId}. slots: couponId: path.couponId promo: path.promotionCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/promotionCodes/{promotionCode}/coupons/{couponId}'].put update: x-apievangelist-phrasing: intent: Update a coupon code for a hotel promotion effect: write questions: - Can I edit an individual coupon under a property promotion? - Is it possible to deactivate one hotel coupon code by its ID? instructions: - text: Update coupon {couponId} for promotion {promo} at hotel {hotelId}. slots: couponId: path.couponId promo: path.promotionCode hotelId: path.hotelId - text: Change the details of property coupon {couponId} under promo {promo} at hotel {hotelId}. slots: couponId: path.couponId promo: path.promotionCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/promotionGroups'].get update: x-apievangelist-phrasing: intent: List a hotel's promotion groups effect: read questions: - Which promotion groups are set up at my property? - Can I search promotion groups by their description? instructions: - text: List the promotion groups at hotel {hotelId}. slots: hotelId: path.hotelId - text: Find promotion groups at hotel {hotelId} with code {code}. slots: hotelId: path.hotelId code: query.code method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/promotionGroups/copy'].put update: x-apievangelist-phrasing: intent: Copy promotion groups to other hotels effect: write questions: - Can I copy promotion groups from one property to another? - Is there a quick way to replicate a hotel's promotion groups elsewhere? instructions: - text: Copy the promotion groups from hotel {hotelId} using these criteria. slots: hotelId: path.hotelId - text: Replicate promotion groups from hotel {hotelId} with copy criteria {criteria}. slots: hotelId: path.hotelId criteria: requestBody.criteria method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/promotionGroups/{groupCode}'].put update: x-apievangelist-phrasing: intent: Change a promotion group effect: write questions: - Can I edit which promotions sit in an existing promotion group? - How do I rename a promotion group at my hotel? instructions: - text: Update promotion group {group} at hotel {hotelId}. slots: group: path.groupCode hotelId: path.hotelId - text: Change the description of promotion group {group} at hotel {hotelId}. slots: group: path.groupCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/promotionGroups/{groupCode}'].post update: x-apievangelist-phrasing: intent: Create a promotion group effect: write questions: - How do I create a group to organize related promotion codes? - Can I add a new promotion group to a property? instructions: - text: Create promotion group {group} at hotel {hotelId}. slots: group: path.groupCode hotelId: path.hotelId - text: Set up a new promotion group called {group} at hotel {hotelId}. slots: group: path.groupCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/promotionGroups/{groupCode}'].delete update: x-apievangelist-phrasing: intent: Delete a promotion group effect: destructive questions: - Can I delete a promotion group we no longer use? - What happens to a promotion group once I remove it from a hotel? instructions: - text: Delete promotion group {group} at hotel {hotelId}. slots: group: path.groupCode hotelId: path.hotelId - text: Remove the promotion group {group} from hotel {hotelId}. slots: group: path.groupCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/rateAccessExclusions'].put update: x-apievangelist-phrasing: intent: Set rate access exclusions effect: write questions: - Can I block a booking channel from creating reservations on a rate code? - How do I stop a source from seeing a rate in availability? instructions: - text: Set rate access exclusions at hotel {hotelId}. slots: hotelId: path.hotelId - text: Apply these rate access exclusions {exclusions} at hotel {hotelId}. slots: exclusions: requestBody.rateAccessExclusions hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/rateAccessExclusions'].delete update: x-apievangelist-phrasing: intent: Delete rate access exclusions effect: destructive questions: - Can I lift a rate access exclusion so a source can book the rate again? - Is it possible to delete exclusions for one rate code over a date range? instructions: - text: Delete rate access exclusions for rate code {rateCode} at hotel {hotelId}. slots: rateCode: query.rateCode hotelId: path.hotelId - text: Remove access exclusions on rate {rateCode} at hotel {hotelId} from {start} to {end}. slots: rateCode: query.rateCode hotelId: path.hotelId start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/rateGroups'].get update: x-apievangelist-phrasing: intent: List rate groups at a hotel effect: read questions: - Which rate groups are configured at my hotel? - Can I search rate groups by a partial code or description? instructions: - text: List the rate groups at hotel {hotelId}. slots: hotelId: path.hotelId - text: Find rate groups at hotel {hotelId} with code {code}. slots: hotelId: path.hotelId code: query.code method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/rateGroups'].put update: x-apievangelist-phrasing: intent: Change existing rate groups effect: write questions: - Can I rename an existing rate group at my property? - How do I edit rate groups that are already configured? instructions: - text: Update the existing rate groups at hotel {hotelId}. slots: hotelId: path.hotelId - text: Change rate group details {groups} at hotel {hotelId}. slots: groups: requestBody.rateGroups hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/rateGroups'].post update: x-apievangelist-phrasing: intent: Create rate groups effect: write questions: - How do I create a rate group to organize rate plans? - Can I add several new rate groups to a hotel at once? instructions: - text: Create new rate groups at hotel {hotelId}. slots: hotelId: path.hotelId - text: Add rate groups {groups} to hotel {hotelId}. slots: groups: requestBody.rateGroups hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/rateGroups'].delete update: x-apievangelist-phrasing: intent: Delete rate groups effect: destructive questions: - Can I delete the rate groups configured at a property? - What does removing rate groups from a hotel involve? instructions: - text: Delete the rate groups at hotel {hotelId}. slots: hotelId: path.hotelId - text: Remove rate groups from hotel {hotelId}. slots: hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlan/schedule/yieldAdjustment'].get update: x-apievangelist-phrasing: intent: Get yield adjustments on rate plan schedules effect: read questions: - Which rate plan schedules carry yield adjustments at my hotel? - Can I see yield adjustments for a single rate plan's schedules? instructions: - text: Show rate plan schedule yield adjustments at hotel {hotelId}. slots: hotelId: path.hotelId - text: Get schedule yield adjustments for rate plan {code} at hotel {hotelId}. slots: code: query.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlanSchedules/{scheduleId}/split'].post update: x-apievangelist-phrasing: intent: Split a rate plan schedule effect: write questions: - Can I split one pricing schedule into two date ranges? - How do I break a rate plan schedule so part of it gets a different price? instructions: - text: Split rate plan schedule {scheduleId} at hotel {hotelId}. slots: scheduleId: path.scheduleId hotelId: path.hotelId - text: Split schedule {scheduleId} at hotel {hotelId} using split details {details}. slots: scheduleId: path.scheduleId hotelId: path.hotelId details: requestBody.splitDetails method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans'].get update: x-apievangelist-phrasing: intent: Get rate plans for a hotel effect: read questions: - What rate plans does a given hotel have? - Can I get a hotel's rate plans for a posting interval other than nightly? instructions: - text: List the rate plans configured under hotel code {hotelId}. slots: hotelId: path.hotelId - text: Get hotel {hotelId}'s rate plans with posting interval {interval}. slots: hotelId: path.hotelId interval: query.postingInterval method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans'].post update: x-apievangelist-phrasing: intent: Create a rate plan effect: write questions: - How do I create a new rate plan for my hotel? - Can I add a rate code with its room types and controls in one request? instructions: - text: Create a new rate plan at hotel {hotelId}. slots: hotelId: path.hotelId - text: Add rate plan {ratePlan} to hotel {hotelId}. slots: ratePlan: requestBody.ratePlan hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/sync'].put update: x-apievangelist-phrasing: intent: Sync rate plans across properties effect: write questions: - Can I make a rate code identical across all our hotels that share it? - How do I push a rate header and its packages to other properties? instructions: - text: Sync rate codes {codes} from hotel {hotelId} to target properties {target}. slots: codes: requestBody.ratePlanCodes hotelId: path.hotelId target: requestBody.target - text: Synchronize rate plan {codes} from hotel {hotelId} to {target}. slots: codes: requestBody.ratePlanCodes hotelId: path.hotelId target: requestBody.target method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}'].get update: x-apievangelist-phrasing: intent: Get one rate plan effect: read questions: - What are the details of a specific rate plan code at my hotel? - Can I retrieve a single rate plan with its instructions? instructions: - text: Show rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId - text: Get the full details of rate code {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}'].put update: x-apievangelist-phrasing: intent: Change a rate plan effect: write questions: - Can I change the date range of an existing rate plan? - How do I update the room types linked to a rate code? instructions: - text: Update rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId - text: Change the rate controls on rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}'].delete update: x-apievangelist-phrasing: intent: Delete a rate plan effect: destructive questions: - Can I delete a rate plan that's no longer sold? - Is deleting a rate code from a hotel reversible? instructions: - text: Delete rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId - text: Remove rate code {code} from hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/copy'].put update: x-apievangelist-phrasing: intent: Copy a rate plan effect: write questions: - Can I clone an existing rate plan into a new rate code? - What's the fastest way to duplicate a rate plan? instructions: - text: Copy rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId - text: Duplicate rate plan {code} at hotel {hotelId} using copy criteria {criteria}. slots: code: path.ratePlanCode hotelId: path.hotelId criteria: requestBody.criteria method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/dailySchedules'].put update: x-apievangelist-phrasing: intent: Set a daily rate schedule range effect: write questions: - How do I set day-by-day prices on a rate plan for a date range? - Can I load daily rate amounts for a rate code? instructions: - text: Set the daily schedule range for rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId - text: Apply daily rates {range} to rate plan {code} at hotel {hotelId}. slots: range: requestBody.dailyRateScheduleRange code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/dailySchedules'].delete update: x-apievangelist-phrasing: intent: Delete daily rate schedules for a range effect: destructive questions: - Can I clear the daily rates on a rate plan for certain dates? - Is it possible to delete daily rate schedules only for one room type? instructions: - text: Delete daily schedules for rate plan {code} at hotel {hotelId} from {startDate} to {endDate}. slots: code: path.ratePlanCode hotelId: path.hotelId startDate: query.startDate endDate: query.endDate - text: Clear daily rates on {code} at hotel {hotelId} for room type {roomType} between {startDate} and {endDate}. slots: code: path.ratePlanCode hotelId: path.hotelId roomType: query.roomType startDate: query.startDate endDate: query.endDate method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/metrics'].get update: x-apievangelist-phrasing: intent: Get dependency counts for a rate plan effect: read questions: - How many rates are derived from this base rate plan? - Can I count the pricing schedules on a rate plan before deleting it? instructions: - text: Show the metrics for rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId - text: Count dependent base rates and schedules for rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/packages'].put update: x-apievangelist-phrasing: intent: Change packages on a rate plan effect: write questions: - Can I change the package already included in a rate plan? - How do I edit the package attached to a rate code? instructions: - text: Update the packages on rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId - text: Change existing packages {packages} on rate plan {code} at hotel {hotelId}. slots: packages: requestBody.packages code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/packages'].post update: x-apievangelist-phrasing: intent: Add a package to a rate plan effect: write questions: - How do I include breakfast in a rate plan? - Can I attach a new package to an existing rate code? instructions: - text: Attach packages {packages} to rate plan {code} at hotel {hotelId}. slots: packages: requestBody.packages code: path.ratePlanCode hotelId: path.hotelId - text: Add a new package to rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/packages'].delete update: x-apievangelist-phrasing: intent: Remove packages from a rate plan effect: destructive questions: - Can I remove a package from a rate plan without deleting the package itself? - Is there a way to detach a whole package group from a rate code? instructions: - text: Remove package {pkg} from rate plan {code} at hotel {hotelId}. slots: pkg: query.packageCode code: path.ratePlanCode hotelId: path.hotelId - text: Detach package group {group} from rate plan {code} at hotel {hotelId}. slots: group: query.packageGroup code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/postingRhythms'].put update: x-apievangelist-phrasing: intent: Change posting rhythms on a rate plan effect: write questions: - Can I change how often a rate plan posts charges to the folio? - How do I edit a rate code's existing posting rhythm? instructions: - text: Update the posting rhythms on rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId - text: Change existing posting rhythms {rhythms} on rate plan {code} at hotel {hotelId}. slots: rhythms: requestBody.postingRhythms code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/postingRhythms'].post update: x-apievangelist-phrasing: intent: Add posting rhythms to a rate plan effect: write questions: - How do I set a rate plan to post weekly instead of nightly? - Can I add a new posting rhythm to a rate code? instructions: - text: Add posting rhythms {rhythms} to rate plan {code} at hotel {hotelId}. slots: rhythms: requestBody.postingRhythms code: path.ratePlanCode hotelId: path.hotelId - text: Create a posting rhythm for rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/postingRhythms'].delete update: x-apievangelist-phrasing: intent: Delete posting rhythms from a rate plan effect: destructive questions: - Can I remove a posting rhythm from a rate plan? - What's needed to delete one posting rhythm code off a rate? instructions: - text: Delete posting rhythm {rhythm} from rate plan {code} at hotel {hotelId}. slots: rhythm: query.code code: path.ratePlanCode hotelId: path.hotelId - text: Remove the posting rhythms on rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/schedules'].get update: x-apievangelist-phrasing: intent: Get a rate plan's pricing schedules effect: read questions: - What prices are scheduled on a rate plan for next month? - Can I see a rate plan's schedules for just one room type? instructions: - text: Show the pricing schedules for rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId - text: Get schedules for rate plan {code} at hotel {hotelId} from {startDate} to {endDate} for room type {roomType}. slots: code: path.ratePlanCode hotelId: path.hotelId startDate: query.startDate endDate: query.endDate roomType: query.roomType method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/schedules'].put update: x-apievangelist-phrasing: intent: Change a rate plan's pricing schedules effect: write questions: - Can I change the amounts on existing pricing schedules of a rate plan? - How do I edit a rate plan schedule that's already loaded? instructions: - text: Update the existing schedules on rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId - text: Change schedule list {schedules} on rate plan {code} at hotel {hotelId}. slots: schedules: requestBody.ratePlanScheduleList code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/schedules'].post update: x-apievangelist-phrasing: intent: Create pricing schedules for a rate plan effect: write questions: - How do I add a new season's prices to a rate plan? - Can I create additional pricing schedules on a rate code? instructions: - text: Create pricing schedules for rate plan {code} at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId - text: Add new schedules {schedules} to rate plan {code} at hotel {hotelId}. slots: schedules: requestBody.ratePlanScheduleList code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/schedules'].delete update: x-apievangelist-phrasing: intent: Delete pricing schedules from a rate plan effect: destructive questions: - Can I delete specific pricing schedules from a rate plan by ID? - Is it possible to remove a rate plan's schedules for one season only? instructions: - text: Delete schedules {ids} from rate plan {code} at hotel {hotelId}. slots: ids: query.ratePlanScheduleIds code: path.ratePlanCode hotelId: path.hotelId - text: Remove schedules {ids} in season {season} from rate plan {code} at hotel {hotelId}. slots: ids: query.ratePlanScheduleIds season: query.seasonCode code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/schedules/set'].put update: x-apievangelist-phrasing: intent: Set a rate plan's schedules effect: write questions: - Can I set a rate plan's schedules in one call, replacing what's there? - Which call sets a single rate code's schedule list directly? instructions: - text: Set the schedules for rate plan {code} at hotel {hotelId} to {schedules}. slots: code: path.ratePlanCode hotelId: path.hotelId schedules: requestBody.ratePlanScheduleList - text: Overwrite rate plan {code}'s schedule set at hotel {hotelId}. slots: code: path.ratePlanCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/ratePlans/{ratePlanCode}/sourceTiers/{sourceTierId}/destinationTiers/{destinationTierId}/schedules/copy'].put update: x-apievangelist-phrasing: intent: Copy schedules between rate tiers effect: write questions: - Can I copy pricing from one rate tier to another on the same rate plan? - Is it possible to add an adult or child offset when copying tiered schedules? instructions: - text: Copy schedules on rate plan {code} at hotel {hotelId} from tier {source} to tier {dest}. slots: code: path.ratePlanCode hotelId: path.hotelId source: path.sourceTierId dest: path.destinationTierId - text: Copy tier {source} schedules to tier {dest} on {code} at hotel {hotelId} with adult offset {offset}. slots: source: path.sourceTierId dest: path.destinationTierId code: path.ratePlanCode hotelId: path.hotelId offset: requestBody.adultOffset method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/rateStrategies'].get update: x-apievangelist-phrasing: intent: List a hotel's rate strategies effect: read questions: - What rate strategies are in place at my hotel? - Can I see which rate strategies restrict a particular date? instructions: - text: List the rate strategies at hotel {hotelId}. slots: hotelId: path.hotelId - text: Show rate strategies at hotel {hotelId} restricting {date}. slots: hotelId: path.hotelId date: query.restrictionDate method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/rateStrategies'].post update: x-apievangelist-phrasing: intent: Create a rate strategy at a hotel effect: write questions: - How do I create a rate strategy that closes rates when occupancy is high? - Can I add a new rate strategy to one property? instructions: - text: Create a rate strategy at hotel {hotelId}. slots: hotelId: path.hotelId - text: Add rate strategy {strategy} to hotel {hotelId}. slots: strategy: requestBody.rateStrategy hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/rateStrategies/{rateStrategyId}'].put update: x-apievangelist-phrasing: intent: Change a rate strategy effect: write questions: - Can I edit an existing rate strategy by its ID? - How do I adjust the thresholds on a rate strategy I already set up? instructions: - text: Update rate strategy {strategyId} at hotel {hotelId}. slots: strategyId: path.rateStrategyId hotelId: path.hotelId - text: Change the settings of rate strategy {strategyId} at hotel {hotelId}. slots: strategyId: path.rateStrategyId hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/rateStrategies/{rateStrategyId}'].delete update: x-apievangelist-phrasing: intent: Delete a rate strategy effect: destructive questions: - Can I delete a rate strategy that's no longer needed? - What happens when a rate strategy is removed from a hotel? instructions: - text: Delete rate strategy {strategyId} at hotel {hotelId}. slots: strategyId: path.rateStrategyId hotelId: path.hotelId - text: Remove rate strategy {strategyId} from hotel {hotelId}. slots: strategyId: path.rateStrategyId hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/rates/activityLog'].get update: x-apievangelist-phrasing: intent: View the rate activity log effect: read questions: - Who changed a rate plan and when? - Can I search the rate activity log by user or date range? instructions: - text: Show rate activity at hotel {hotelId} for module {module} where {name} is {value}. slots: hotelId: path.hotelId module: query.module name: query.parameterName value: query.parameterValue - text: Get the rate activity log at hotel {hotelId} for module {module}, {name} {value}, from {fromDate} to {toDate}. slots: hotelId: path.hotelId module: query.module name: query.parameterName value: query.parameterValue fromDate: query.fromDate toDate: query.toDate method: generated generated: '2026-10-01' - target: $.paths['/hotels/{hotelId}/yieldAdjustments'].get update: x-apievangelist-phrasing: intent: Get a hotel's yield adjustments effect: read questions: - What yield adjustments are configured at my hotel? - Can I view yield adjustments in a particular currency? instructions: - text: List the yield adjustments at hotel {hotelId}. slots: hotelId: path.hotelId - text: Show yield adjustments at hotel {hotelId} in currency {currency}. slots: hotelId: path.hotelId currency: query.currencyCode method: generated generated: '2026-10-01' - target: $.paths['/packageForecastGroups'].get update: x-apievangelist-phrasing: intent: List template package forecast groups effect: read questions: - Which package forecast groups exist at the chain template level? - Can I search template forecast groups by a wildcard code? instructions: - text: List the template package forecast groups, with inactive ones set to {inactive}. slots: inactive: query.includeInactive - text: Find template package forecast group {code}, include inactive {inactive}. slots: code: query.packageForecastGroupCode inactive: query.includeInactive method: generated generated: '2026-10-01' - target: $.paths['/packageForecastGroups'].put update: x-apievangelist-phrasing: intent: Update template package forecast groups effect: write questions: - Can I edit a chain-level package forecast group template? - How do I change template forecast groups shared by all properties? instructions: - text: Update the template package forecast groups with these changes. - text: Change template forecast groups {groups}. slots: groups: requestBody.templatePackageForecastGroups method: generated generated: '2026-10-01' - target: $.paths['/packageForecastGroups'].post update: x-apievangelist-phrasing: intent: Create template package forecast groups effect: write questions: - How do I add a package forecast group to the chain template? - Can new template forecast groups be created for properties to inherit? instructions: - text: Create new template package forecast groups. - text: Add template forecast groups {groups} at the chain level. slots: groups: requestBody.templatePackageForecastGroups method: generated generated: '2026-10-01' - target: $.paths['/packageForecastGroups/{packageForecastGroupCode}'].delete update: x-apievangelist-phrasing: intent: Delete a template package forecast group effect: destructive questions: - Can I delete a package forecast group from the chain template? - What's the way to retire a template-level forecast group? instructions: - text: Delete template package forecast group {code}. slots: code: path.packageForecastGroupCode - text: Remove forecast group {code} from the chain template. slots: code: path.packageForecastGroupCode method: generated generated: '2026-10-01' - target: $.paths['/packages'].get update: x-apievangelist-phrasing: intent: Search packages effect: read questions: - Which packages can be sold at a hotel for given dates and guest counts? - Can I search packages by category or a word in the description? instructions: - text: Search packages at hotel {hotelId}. slots: hotelId: query.hotelId - text: Find packages at hotel {hotelId} in category {category} from {startDate} to {endDate}. slots: hotelId: query.hotelId category: query.packageCategory startDate: query.startDate endDate: query.endDate method: generated generated: '2026-10-01' - target: $.paths['/packages/copy'].put update: x-apievangelist-phrasing: intent: Copy package codes between hotels effect: write questions: - Can I copy package codes from one hotel to another? - Is there a way to replicate a property's packages at a sister hotel? instructions: - text: Copy package codes from hotel {hotel} to another property. slots: hotel: header.x-hotelid - text: Replicate our package codes to the sister property. method: generated generated: '2026-10-01' - target: $.paths['/packages/text/{responseId}'].put update: x-apievangelist-phrasing: intent: Save an AI-generated package description effect: write questions: - How do I keep the package description the AI author produced? - Can I save edited text back to the AI Author Service for a package? instructions: - text: Save the text {text} for AI author response {responseId}. slots: text: requestBody.savedText responseId: path.responseId - text: Store the generated package description from response {responseId}. slots: responseId: path.responseId method: generated generated: '2026-10-01' - target: $.paths['/profiles/{profileId}/negotiatedRates'].get update: x-apievangelist-phrasing: intent: Get a profile's negotiated rates effect: read questions: - What negotiated rates does a company profile have across our hotels? - Can I see one guest profile's negotiated rates at a specific hotel? instructions: - text: Show the negotiated rates for profile {profileId}. slots: profileId: path.profileId - text: List negotiated rates for profile {profileId} at hotel {hotelCode}. slots: profileId: path.profileId hotelCode: query.hotelCode method: generated generated: '2026-10-01' - target: $.paths['/promotionCodes'].get update: x-apievangelist-phrasing: intent: List template promotion codes effect: read questions: - Which promotion codes exist in the chain template? - Can I search template promotion codes by promotion group? instructions: - text: List the template promotion codes. - text: Find template promotion codes in group {group}. slots: group: query.promotionGroup method: generated generated: '2026-10-01' - target: $.paths['/promotionCodes/{promotionCode}'].put update: x-apievangelist-phrasing: intent: Change a template promotion code effect: write questions: - Can I edit a chain-level promotion code template? - How do I update an existing template promo code? instructions: - text: Update template promotion code {promo}. slots: promo: path.promotionCode - text: Change the chain template promo {promo}. slots: promo: path.promotionCode method: generated generated: '2026-10-01' - target: $.paths['/promotionCodes/{promotionCode}'].post update: x-apievangelist-phrasing: intent: Create a template promotion code effect: write questions: - How do I create a promo code at the chain template level? - Can I add a template promotion code properties can adopt? instructions: - text: Create template promotion code {promo}. slots: promo: path.promotionCode - text: Add a new chain template promo {promo}. slots: promo: path.promotionCode method: generated generated: '2026-10-01' - target: $.paths['/promotionCodes/{promotionCode}/coupons'].get update: x-apievangelist-phrasing: intent: List coupon codes for a template promotion effect: read questions: - Which coupons have been generated under a chain template promotion? - Can I list template promotion coupons created on a certain date? instructions: - text: List coupon codes for template promotion {promo}. slots: promo: path.promotionCode - text: Show template coupons in batch {batch} for promotion {promo}. slots: batch: query.batchCode promo: path.promotionCode method: generated generated: '2026-10-01' - target: $.paths['/promotionCodes/{promotionCode}/coupons'].post update: x-apievangelist-phrasing: intent: Generate coupon codes for a template promotion effect: write questions: - Can I generate coupons at the chain template promotion level? - How are coupon codes produced for a template promo? instructions: - text: Generate coupon codes for template promotion {promo}. slots: promo: path.promotionCode - text: Create a batch of template-level coupons for promo {promo}. slots: promo: path.promotionCode method: generated generated: '2026-10-01' - target: $.paths['/promotionCodes/{promotionCode}/coupons/inactivate'].put update: x-apievangelist-phrasing: intent: Deactivate a batch of promotion coupons effect: destructive questions: - Can I switch off every coupon in one batch at once? - Is there a way to invalidate a leaked batch of promotion coupons? instructions: - text: Inactivate coupon batch {batch} for promotion {promo}. slots: batch: requestBody.batchCode promo: path.promotionCode - text: Deactivate all coupons in batch {batch} for promotion {promo} at hotel {hotel}. slots: batch: requestBody.batchCode promo: path.promotionCode hotel: requestBody.hotelId method: generated generated: '2026-10-01' - target: $.paths['/promotionCodes/{promotionCode}/coupons/{couponId}'].get update: x-apievangelist-phrasing: intent: Get one coupon for a template promotion effect: read questions: - Can I look up a single template-level coupon by its ID? - What are the details of one coupon under a chain template promo? instructions: - text: Show template coupon {couponId} for promotion {promo}. slots: couponId: path.couponId promo: path.promotionCode - text: Look up coupon {couponId} under chain template promo {promo}. slots: couponId: path.couponId promo: path.promotionCode method: generated generated: '2026-10-01' - target: $.paths['/promotionCodes/{promotionCode}/coupons/{couponId}'].put update: x-apievangelist-phrasing: intent: Update one coupon for a template promotion effect: write questions: - Can I edit a single coupon under a template promotion? - How do I change one template-level coupon code's details? instructions: - text: Update template coupon {couponId} for promotion {promo}. slots: couponId: path.couponId promo: path.promotionCode - text: Change chain template coupon {couponId} under promo {promo}. slots: couponId: path.couponId promo: path.promotionCode method: generated generated: '2026-10-01' - target: $.paths['/ratePlanSchedules'].put update: x-apievangelist-phrasing: intent: Manage schedules across hotels' rate plans effect: write questions: - Can I update rate plan schedules for several hotels in one request? - Is there a multi-property way to manage rate schedules? instructions: - text: Update rate plan schedules across hotels with {schedules}. slots: schedules: requestBody.hotelRatePlansSchedules - text: Manage schedules for multiple hotels' rate plans in one batch. method: generated generated: '2026-10-01' - target: $.paths['/ratePlans'].get update: x-apievangelist-phrasing: intent: Search rate plans effect: read questions: - Which rate plans are sellable on a given date at a hotel? - Can I search rate plans by category or only day-use rates? instructions: - text: Search rate plans for hotel {hotelId}. slots: hotelId: query.hotelId - text: Find rate plans at hotel {hotelId} in category {category} sellable on {sellDate}. slots: hotelId: query.hotelId category: query.rateCategory sellDate: query.sellDate method: generated generated: '2026-10-01' - target: $.paths['/rateStrategies'].post update: x-apievangelist-phrasing: intent: Set rate strategies across hotels effect: write questions: - Can I set rate strategies for many properties in one request? - Is there a bulk call for applying rate strategies without a hotel in the path? instructions: - text: Set these rate strategies {strategies}. slots: strategies: requestBody.rateStrategies - text: Apply rate strategies in bulk across our properties. method: generated generated: '2026-10-01' - target: $.paths['/services/rateplan/status'].get update: x-apievangelist-phrasing: intent: Check the rate plan service version effect: read questions: - Is the rate plan service up and responding? - What version of the rate plan service is running? instructions: - text: Check the rate plan service status for hotel {hotel}. slots: hotel: header.x-hotelid - text: Get the rate plan service version. method: generated generated: '2026-10-01' - target: $.paths['/upsert/hotels/{hotelId}/packageFormulaRanges'].put update: x-apievangelist-phrasing: intent: Create or update package formula ranges effect: write questions: - Can I upsert package formula ranges without checking if they exist? - Is there one call that creates or changes formula ranges? instructions: - text: Upsert package formula ranges at hotel {hotelId}. slots: hotelId: path.hotelId - text: Create or update formula ranges {ranges} at hotel {hotelId}. slots: ranges: requestBody.packageFormulaRanges hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/upsert/hotels/{hotelId}/promotionCodes/{promotionCode}'].put update: x-apievangelist-phrasing: intent: Create or update a hotel promotion code effect: write questions: - Can I upsert a property promotion code in one call? - Is there a way to create a promo code if missing or update it if present? instructions: - text: Upsert promotion code {promo} at hotel {hotelId}. slots: promo: path.promotionCode hotelId: path.hotelId - text: Create or update property promo {promo} at hotel {hotelId}. slots: promo: path.promotionCode hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/upsert/hotels/{hotelId}/rateGroups'].put update: x-apievangelist-phrasing: intent: Create or update rate groups effect: write questions: - Can I upsert rate groups instead of creating and updating separately? - Is there a single call to create or change rate groups? instructions: - text: Upsert rate groups at hotel {hotelId}. slots: hotelId: path.hotelId - text: Create or update rate groups {groups} at hotel {hotelId}. slots: groups: requestBody.rateGroups hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/upsert/hotels/{hotelId}/rateStrategies'].put update: x-apievangelist-phrasing: intent: Create or update a rate strategy effect: write questions: - Can I upsert a rate strategy at a property? - Is there one call to create a rate strategy or update it if it exists? instructions: - text: Upsert a rate strategy at hotel {hotelId}. slots: hotelId: path.hotelId - text: Create or update rate strategy {strategy} at hotel {hotelId}. slots: strategy: requestBody.rateStrategy hotelId: path.hotelId method: generated generated: '2026-10-01' - target: $.paths['/upsert/promotionCodes/{promotionCode}'].put update: x-apievangelist-phrasing: intent: Create or update a template promotion code effect: write questions: - Can I upsert a chain template promotion code? - Is there a single call to create or change a template promo code? instructions: - text: Upsert template promotion code {promo}. slots: promo: path.promotionCode - text: Create or update chain template promo {promo}. slots: promo: path.promotionCode method: generated generated: '2026-10-01'