Oracle Hospitality · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for OPERA Cloud Configuration Channel API
130 actions
130 updates
phrasing
extends
openapi/oracle-hospitality-channel-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 130 · first 16 shown; the file carries all of them
$.info
$.paths['/channels'].get
$.paths['/channels'].put
$.paths['/channels'].post
$.paths['/channels/account/contracts'].delete
$.paths['/channels/account/contracts/copy'].put
$.paths['/channels/accounts'].get
$.paths['/channels/accounts'].put
$.paths['/channels/accounts'].post
$.paths['/channels/accounts/{accountProfileId}'].get
$.paths['/channels/accounts/{accountProfileId}/contracts'].put
$.paths['/channels/accounts/{accountProfileId}/contracts'].post
$.paths['/channels/accounts/{accountProfileId}/contracts/{contractId}'].get
$.paths['/channels/amenities'].put
$.paths['/channels/amenities'].post
$.paths['/channels/amenities'].delete
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 Configuration Channel API
version: 1.0.0
extends: openapi/oracle-hospitality-channel-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 129
- target: $.paths['/channels'].get
update:
x-apievangelist-phrasing:
intent: List configured distribution channels
effect: read
questions:
- Which booking channels are set up in OPERA Cloud for my property?
- Can I filter the channel list to only GDS or web channel sub types?
- What channels exist with a daily versus max weekly rate type?
instructions:
- text: List all channels of system type {systemType}.
slots:
systemType: query.systemType
- text: Find the channel whose booking channel code is {channelCode} in the channel list.
slots:
channelCode: query.channelCode
- text: List channels with sub type {systemSubType}, including inactive ones.
slots:
systemSubType: query.systemSubType
method: generated
generated: '2026-09-26'
- target: $.paths['/channels'].put
update:
x-apievangelist-phrasing:
intent: Update existing channel configuration
effect: write
questions:
- How do I change the settings of a booking channel that already exists?
- Can I edit the configuration of several existing channels in one request?
instructions:
- text: Update the existing channel configuration with {channels}.
slots:
channels: requestBody.channels
- text: Save my edited channel settings for hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels'].post
update:
x-apievangelist-phrasing:
intent: Add a new booking channel code
effect: write
questions:
- How do I add a brand-new booking channel code to OPERA?
- Can I register a new OTA as a channel for my property?
instructions:
- text: Add new channel {channels} to OPERA.
slots:
channels: requestBody.channels
- text: Create a new booking channel code while logged in to hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/account/contracts'].delete
update:
x-apievangelist-phrasing:
intent: Delete channel account contracts
effect: destructive
questions:
- How do I remove a contract from a channel account?
- Can I delete two channel account contracts in the same call?
instructions:
- text: Delete channel account contract {id}.
slots:
id: query.id
- text: Remove channel account contracts {id} and {id1}.
slots:
id: query.id
id1: query.id1
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/account/contracts/copy'].put
update:
x-apievangelist-phrasing:
intent: Copy channel account contracts
effect: write
questions:
- Can I duplicate an existing channel account contract instead of re-entering it?
- How do I clone channel account contracts onto another account?
instructions:
- text: 'Copy these channel account contracts: {channelAccountContractsCopy}.'
slots:
channelAccountContractsCopy: requestBody.channelAccountContractsCopy
- text: Duplicate the channel account contracts for hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/accounts'].get
update:
x-apievangelist-phrasing:
intent: Search channel accounts
effect: read
questions:
- Which channel accounts do we have on file in OPERA?
- Can I find channel accounts whose contracts expire within the next 30 days?
- How do I look up a channel account by its name or code?
instructions:
- text: List channel accounts with contracts expiring within {contractExpInDays} days.
slots:
contractExpInDays: query.contractExpInDays
- text: Find the channel account named {accountName}.
slots:
accountName: query.accountName
- text: List channel accounts of type {accountType} for hotel {hotelId}.
slots:
accountType: query.accountType
hotelId: query.hotelId
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/accounts'].put
update:
x-apievangelist-phrasing:
intent: Update existing channel accounts
effect: write
questions:
- How do I edit a channel account that already exists for an OPERA profile?
- Can I change a channel account's details after it was created?
instructions:
- text: Update the existing channel accounts for hotel {hotel}.
slots:
hotel: header.x-hotelid
- text: Save changes to my channel account records.
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/accounts'].post
update:
x-apievangelist-phrasing:
intent: Add new channel accounts
effect: write
questions:
- How do I set up a new channel account?
- Can I create several channel accounts in one request?
instructions:
- text: 'Add these new channel accounts: {channelAccounts}.'
slots:
channelAccounts: requestBody.channelAccounts
- text: Create a channel account for hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/accounts/{accountProfileId}'].get
update:
x-apievangelist-phrasing:
intent: Get the channel account for a profile
effect: read
questions:
- How do I view the channel account for one specific OPERA profile?
- Can I mark a channel account as recently accessed when I open it?
instructions:
- text: Show the channel account for profile {accountProfileId}.
slots:
accountProfileId: path.accountProfileId
- text: Open channel account {accountProfileId} and record it as recently accessed.
slots:
accountProfileId: path.accountProfileId
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/accounts/{accountProfileId}/contracts'].put
update:
x-apievangelist-phrasing:
intent: Update contracts on a channel account
effect: write
questions:
- How do I change the contracts already attached to a channel account?
- Can I edit contract terms for one account profile only?
instructions:
- text: Update the channel account contracts for profile {accountProfileId}.
slots:
accountProfileId: path.accountProfileId
- text: Replace contract details on account {accountProfileId} with {channelAccountContracts}.
slots:
accountProfileId: path.accountProfileId
channelAccountContracts: requestBody.channelAccountContracts
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/accounts/{accountProfileId}/contracts'].post
update:
x-apievangelist-phrasing:
intent: Add contracts to a channel account
effect: write
questions:
- How do I add a new contract to an existing channel account?
- Can one channel account profile hold more than one contract?
instructions:
- text: Add a new contract to channel account {accountProfileId}.
slots:
accountProfileId: path.accountProfileId
- text: Attach contracts {channelAccountContracts} to account profile {accountProfileId}.
slots:
accountProfileId: path.accountProfileId
channelAccountContracts: requestBody.channelAccountContracts
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/accounts/{accountProfileId}/contracts/{contractId}'].get
update:
x-apievangelist-phrasing:
intent: Get one contract on a channel account
effect: read
questions:
- What are the terms of a specific contract on a channel account?
- Can I sort the elements of a channel account contract by an attribute?
instructions:
- text: Show contract {contractId} for channel account {accountProfileId}.
slots:
contractId: path.contractId
accountProfileId: path.accountProfileId
- text: Get the elements of contract {contractId} on account {accountProfileId} sorted by {attributeName}.
slots:
contractId: path.contractId
accountProfileId: path.accountProfileId
attributeName: query.attributeName
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/amenities'].put
update:
x-apievangelist-phrasing:
intent: Update channel amenity mappings
effect: write
questions:
- How do I change how my hotel amenities map to a channel's amenity codes?
- Can I edit amenity mappings that already exist for a channel?
instructions:
- text: Update the channel amenity mappings with {amenities}.
slots:
amenities: requestBody.amenities
- text: Change the existing amenity code mapping for hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/amenities'].post
update:
x-apievangelist-phrasing:
intent: Add channel amenity mappings
effect: write
questions:
- How do I map a new OPERA amenity to a channel's amenity code?
- Can I add amenity mappings for a web channel?
instructions:
- text: Add channel amenity mappings {amenities}.
slots:
amenities: requestBody.amenities
- text: Create a new amenity mapping for hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/amenities'].delete
update:
x-apievangelist-phrasing:
intent: Delete a channel amenity mapping
effect: destructive
questions:
- How do I remove an amenity mapping from a channel?
- Can I delete the mapping for an amenity in a particular amenity group?
instructions:
- text: Delete the amenity mapping for local amenity code {localSystemCode} on channel {systemCode}.
slots:
localSystemCode: query.localSystemCode
systemCode: query.systemCode
- text: Remove the channel amenity mapping in amenity group {amenityGroup}.
slots:
amenityGroup: query.amenityGroup
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/amenities/mapping'].get
update:
x-apievangelist-phrasing:
intent: View channel amenity mappings
effect: read
questions:
- Which amenities are mapped to channel amenity codes for my hotel?
- Can I see the amenity mappings for just one channel?
instructions:
- text: Show amenity mappings for channel {systemCode}.
slots:
systemCode: query.systemCode
- text: List channel amenity mappings for local amenity codes {localSystemCodes}.
slots:
localSystemCodes: query.localSystemCodes
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/availability/publish'].put
update:
x-apievangelist-phrasing:
intent: Publish availability to channels
effect: write
questions:
- How do I push room availability out to my distribution channels?
- Can I trigger an availability publish to a channel from OPERA?
instructions:
- text: Publish availability to channels using {publishAvailability}.
slots:
publishAvailability: requestBody.publishAvailability
- text: Send the current channel availability for hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/billingStatements'].get
update:
x-apievangelist-phrasing:
intent: Search channel billing statements
effect: read
questions:
- What channel billing statements were issued between two dates?
- Can I include locked billing statements in the search results?
- How do I find billing statements for a particular profile?
instructions:
- text: List channel billing statements from {beginDate} to {endDate}.
slots:
beginDate: query.beginDate
endDate: query.endDate
- text: Find billing statements for profile {profileId}.
slots:
profileId: query.profileId
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/billingStatements'].put
update:
x-apievangelist-phrasing:
intent: Update channel billing statements
effect: write
questions:
- How do I correct the details on a channel billing statement?
- Can I edit a channel billing statement after it exists?
instructions:
- text: Update channel billing statements with {channelBillingStatements}.
slots:
channelBillingStatements: requestBody.channelBillingStatements
- text: Save corrections to the channel billing statement for hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/billingStatements'].post
update:
x-apievangelist-phrasing:
intent: Add channel billing statements manually
effect: write
questions:
- How do I manually add a channel billing statement?
- Can I enter a billing statement record myself rather than generating it?
instructions:
- text: Add channel billing statements {channelBillingStatements}.
slots:
channelBillingStatements: requestBody.channelBillingStatements
- text: Create a billing statement entry by hand for hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/billingStatements'].delete
update:
x-apievangelist-phrasing:
intent: Delete a channel billing statement
effect: destructive
questions:
- How do I remove a channel billing statement?
- Can I delete a billing statement that was created by mistake?
instructions:
- text: Delete channel billing statement {id}.
slots:
id: query.id
- text: Remove the billing statement with ID {id} of type {type}.
slots:
id: query.id
type: query.type
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/billingStatements/generate'].post
update:
x-apievangelist-phrasing:
intent: Generate channel billing statements
effect: write
questions:
- How do I have OPERA generate channel billing statements for me?
- Can channel billing statements be produced automatically in bulk?
instructions:
- text: Generate channel billing statements for {channelBillingStatements}.
slots:
channelBillingStatements: requestBody.channelBillingStatements
- text: Run billing statement generation for hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/billingStatements/{statementId}'].get
update:
x-apievangelist-phrasing:
intent: Get a channel billing statement
effect: read
questions:
- How do I view one channel billing statement by its ID?
- What does a specific channel billing statement header contain?
instructions:
- text: Show channel billing statement {statementId}.
slots:
statementId: path.statementId
- text: Get billing statement {statementId} using ID type {idType}.
slots:
statementId: path.statementId
idType: query.idType
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/billingStatements/{statementId}/details'].get
update:
x-apievangelist-phrasing:
intent: List line details of a billing statement
effect: read
questions:
- What line items make up a channel billing statement?
- Can I filter a statement's line details by contract?
instructions:
- text: List the line details of billing statement {statementId}.
slots:
statementId: path.statementId
- text: Show line items on statement {statementId} for contract {contractId}.
slots:
statementId: path.statementId
contractId: query.contractId
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/billingStatements/{statementId}/statistics'].get
update:
x-apievangelist-phrasing:
intent: Get statistics for a billing statement
effect: read
questions:
- What are the totals and statistics behind a channel billing statement?
- Can I get statement statistics for a single contract?
instructions:
- text: Show statistics for billing statement {statementId}.
slots:
statementId: path.statementId
- text: Get summary statistics of statement {statementId} for contract {contractId}.
slots:
statementId: path.statementId
contractId: query.contractId
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/cardType/mappings'].get
update:
x-apievangelist-phrasing:
intent: List credit card type mappings by hotel
effect: read
questions:
- Which credit card types are mapped to channel card codes at my hotels?
- Can I see which card types are still unmapped for a channel at a property?
instructions:
- text: List per-hotel credit card type mappings for hotels {hotelIds}.
slots:
hotelIds: query.hotelIds
- text: Show card types at hotel {hotelIds} not yet mapped for channel {bookingChannelCodes}.
slots:
hotelIds: query.hotelIds
bookingChannelCodes: query.bookingChannelCodes
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/cardTypes'].put
update:
x-apievangelist-phrasing:
intent: Update channel-level credit card code mappings
effect: write
questions:
- How do I change a channel's credit card code mapping to OPERA card codes?
- Can I update several channel card code mappings in bulk?
instructions:
- text: Update channel-level credit card code mappings with {creditCards}.
slots:
creditCards: requestBody.creditCards
- text: Change the bulk channel card code mapping while logged in to hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/cardTypes'].post
update:
x-apievangelist-phrasing:
intent: Add channel-level credit card code mappings
effect: write
questions:
- How do I map OPERA credit card codes to a channel's card codes in bulk?
- Can I add card mappings at channel level rather than per hotel?
instructions:
- text: Add channel-level credit card code mappings {creditCards}.
slots:
creditCards: requestBody.creditCards
- text: Create bulk channel credit card mappings from hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/cardTypes'].delete
update:
x-apievangelist-phrasing:
intent: Delete a channel-level credit card mapping
effect: destructive
questions:
- How do I remove a channel-level credit card code mapping?
- Can I unmap one OPERA card code from a channel across the board?
instructions:
- text: Delete the channel card code mapping for OPERA card {localSystemCode}.
slots:
localSystemCode: query.localSystemCode
- text: Remove channel card code {externalSystemCode} from channel {systemCode}.
slots:
externalSystemCode: query.externalSystemCode
systemCode: query.systemCode
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/cardTypes/mapping'].get
update:
x-apievangelist-phrasing:
intent: View channel-level credit card code mappings
effect: read
questions:
- Which OPERA credit card codes are mapped at the channel level?
- Can I see channel card code mappings including inactive ones?
instructions:
- text: Show channel-level credit card code mappings for channel {systemCode}.
slots:
systemCode: query.systemCode
- text: List channel card code mappings for OPERA card codes {localSystemCodes}.
slots:
localSystemCodes: query.localSystemCodes
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/confirmationLetters'].get
update:
x-apievangelist-phrasing:
intent: View channel confirmation letter mappings
effect: read
questions:
- Which confirmation letter is configured for a channel at my property?
- Can I look up channel confirmation letters by language?
instructions:
- text: Show confirmation letter mappings for channel {channelCode}.
slots:
channelCode: query.channelCode
- text: Get the {letterType} confirmation letter setup for hotels {hotelIds} in {language}.
slots:
letterType: query.letterType
hotelIds: query.hotelIds
language: query.language
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/confirmationLetters'].put
update:
x-apievangelist-phrasing:
intent: Update channel confirmation letter mappings
effect: write
questions:
- How do I change which confirmation letter a channel's bookings use?
- Can I edit an existing property confirmation letter mapping?
instructions:
- text: Update channel confirmation letter mappings with {channelHotelLetters}.
slots:
channelHotelLetters: requestBody.channelHotelLetters
- text: Change the existing confirmation letter configuration for hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/confirmationLetters'].post
update:
x-apievangelist-phrasing:
intent: Add channel confirmation letter mappings
effect: write
questions:
- How do I assign a confirmation letter to a channel for my property?
- Can I set up a new confirmation letter mapping for each channel?
instructions:
- text: Add confirmation letter mappings {channelHotelLetters}.
slots:
channelHotelLetters: requestBody.channelHotelLetters
- text: Create a new channel confirmation letter mapping for hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/confirmationLetters'].delete
update:
x-apievangelist-phrasing:
intent: Delete a channel confirmation letter mapping
effect: destructive
questions:
- How do I remove a channel's confirmation letter mapping?
- Can I delete only one letter type from a property's channel letter setup?
instructions:
- text: Delete the {letterType} confirmation letter mapping for hotel {hotelId}.
slots:
letterType: query.letterType
hotelId: query.hotelId
- text: Remove confirmation letter {code} from the channel letter setup.
slots:
code: query.code
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/currencies'].put
update:
x-apievangelist-phrasing:
intent: Update channel currency code mappings
effect: write
questions:
- How do I change how a channel's currency codes map to OPERA currencies?
- Can I edit currency code mappings that already exist?
instructions:
- text: Update channel currency mappings with {currencies}.
slots:
currencies: requestBody.currencies
- text: Change the existing currency code mapping for hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/currencies'].post
update:
x-apievangelist-phrasing:
intent: Add channel currency code mappings
effect: write
questions:
- How do I map a channel currency code to an OPERA currency?
- Can I add a new currency mapping for a channel?
instructions:
- text: Add channel currency code mappings {currencies}.
slots:
currencies: requestBody.currencies
- text: Create a new currency code mapping for hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/currencies'].delete
update:
x-apievangelist-phrasing:
intent: Delete a channel currency code mapping
effect: destructive
questions:
- How do I remove a currency code mapping from a channel?
- Can I unmap a single OPERA currency from a channel?
instructions:
- text: Delete the currency mapping for OPERA currency {localSystemCode}.
slots:
localSystemCode: query.localSystemCode
- text: Remove channel currency code {externalSystemCode} from channel {systemCode}.
slots:
externalSystemCode: query.externalSystemCode
systemCode: query.systemCode
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/currencies/mapping'].get
update:
x-apievangelist-phrasing:
intent: View channel currency code mappings
effect: read
questions:
- Which currency codes are mapped between my channels and OPERA?
- Can I list currency mappings for only certain OPERA currencies?
instructions:
- text: Show currency code mappings for channel {systemCode}.
slots:
systemCode: query.systemCode
- text: List currency mappings for OPERA currencies {localSystemCodes}.
slots:
localSystemCodes: query.localSystemCodes
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/distributionTemplates'].get
update:
x-apievangelist-phrasing:
intent: List distribution rate templates
effect: read
questions:
- What distribution rate templates exist for my hotels?
- Can I list only chain-level distribution templates?
instructions:
- text: List distribution templates for hotels {hotelIds}.
slots:
hotelIds: query.hotelIds
- text: Show distribution templates with codes {codes}.
slots:
codes: query.codes
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/distributionTemplates'].put
update:
x-apievangelist-phrasing:
intent: Update distribution rate templates
effect: write
questions:
- How do I edit an existing distribution rate template?
- Can I update the templates assigned to several hotels at once?
instructions:
- text: Update distribution rate templates {distributionTemplates}.
slots:
distributionTemplates: requestBody.distributionTemplates
- text: Change the existing hotel distribution templates {hotelsDistributionTemplates}.
slots:
hotelsDistributionTemplates: requestBody.hotelsDistributionTemplates
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/distributionTemplates'].post
update:
x-apievangelist-phrasing:
intent: Add distribution rate templates
effect: write
questions:
- How do I create a new distribution rate template?
- Can I add a new rate template for a specific hotel?
instructions:
- text: Add a new distribution rate template {distributionTemplates}.
slots:
distributionTemplates: requestBody.distributionTemplates
- text: Create new hotel-level distribution templates {hotelsDistributionTemplates}.
slots:
hotelsDistributionTemplates: requestBody.hotelsDistributionTemplates
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/distributionTemplates'].delete
update:
x-apievangelist-phrasing:
intent: Delete distribution rate templates
effect: destructive
questions:
- How do I delete a distribution rate template?
- Can I remove several distribution templates by code at once?
instructions:
- text: Delete distribution template {code} for hotel {hotelId}.
slots:
code: query.code
hotelId: query.hotelId
- text: Remove distribution templates {codes}.
slots:
codes: query.codes
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/errorCodes'].delete
update:
x-apievangelist-phrasing:
intent: Delete channel error code mappings
effect: destructive
questions:
- How do I remove an error code mapping from a channel?
- Can I delete one specific error mapping for a booking channel?
instructions:
- text: Delete error code {error} for channel {bookingChannelCode}.
slots:
error: query.error
bookingChannelCode: query.bookingChannelCode
- text: Remove the error code mapping configured on channel {bookingChannelCode}.
slots:
bookingChannelCode: query.bookingChannelCode
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/guarantees'].put
update:
x-apievangelist-phrasing:
intent: Update channel-level guarantee code mappings
effect: write
questions:
- How do I change how a channel's guarantee codes map to OPERA guarantee codes?
- Can I edit guarantee mappings in bulk at channel level?
instructions:
- text: Update channel-level guarantee code mappings with {guarantees}.
slots:
guarantees: requestBody.guarantees
- text: Change the bulk guarantee code mapping while logged in to hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/guarantees'].post
update:
x-apievangelist-phrasing:
intent: Add channel-level guarantee code mappings
effect: write
questions:
- How do I map a channel's guarantee codes to OPERA guarantee codes in bulk?
- Can I add guarantee mappings without specifying a single hotel and code?
instructions:
- text: Add channel-level guarantee code mappings {guarantees}.
slots:
guarantees: requestBody.guarantees
- text: Create bulk channel guarantee mappings from hotel {hotel}.
slots:
hotel: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/channels/guarantees'].delete
update:
x-apievangelist-phrasing:
intent: Delete a channel-level guarantee mapping
effect: destructive
questions:
- How do I remove a channel-level guarantee code mapping?
- Can I delete the guarantee mapping tied to a particular requirement code?
instructions:
- text: Delete the channel guarantee mapping for OPERA guarantee {localSystemCode}.
slots:
localSystemCode: query.localSystemCode
- text: Remove guarantee mapping with requirement code {requirementCode} from channel {systemCode}.
slots:
requirementCode: query.requirementCode
systemCode: query.systemCode
method: generated
generated: '2026-09-26'
# --- truncated at 32 KB (92 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oracle-hospitality/refs/heads/main/overlays/oracle-hospitality-channel-api-phrasing-overlay.yaml