Oracle Hospitality · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Oracle Hospitality Chain Config API

412 actions 412 updates phrasing extends openapi/oracle-hospitality-chainconfig-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.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 412 · first 16 shown; the file carries all of them

$.info
$.paths['/blockCancellationReasons'].get
$.paths['/blockCancellationReasons'].post
$.paths['/blockCancellationReasons/{blockCancellationReasonsId}'].put
$.paths['/blockCancellationReasons/{blockCancellationReasonsId}'].delete
$.paths['/blockLostBookingCodes'].get
$.paths['/blockLostBookingCodes'].post
$.paths['/blockLostBookingCodes/{blockLostBookingCodesId}'].put
$.paths['/blockLostBookingCodes/{blockLostBookingCodesId}'].delete
$.paths['/blockRateOverrideReasons'].get
$.paths['/blockRateOverrideReasons'].post
$.paths['/blockRateOverrideReasons/{blockRateOverrideReasonsId}'].put
$.paths['/blockRateOverrideReasons/{blockRateOverrideReasonsId}'].delete
$.paths['/blockRefusedReasons'].get
$.paths['/blockRefusedReasons'].post
$.paths['/blockRefusedReasons/{blockRefusedReasonsId}'].put

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Oracle Hospitality Chain Config API
  version: 1.0.0
extends: openapi/oracle-hospitality-chainconfig-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: 411
- target: $.paths['/blockCancellationReasons'].get
  update:
    x-apievangelist-phrasing:
      intent: List block cancellation reasons
      effect: read
      questions:
      - What reasons can a sales manager pick from when a group block is cancelled in OPERA Cloud?
      - Can I include inactive block cancellation reasons when I pull the list?
      instructions:
      - text: List the block cancellation reasons configured for hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      - text: Find block cancellation reasons whose code matches {pattern}, including inactive ones.
        slots:
          pattern: query.wildCard
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockCancellationReasons'].post
  update:
    x-apievangelist-phrasing:
      intent: Create block cancellation reasons
      effect: write
      questions:
      - How do I add a new reason for cancelling a group block?
      - Can I set up several block cancellation reasons in one request?
      instructions:
      - text: Create block cancellation reasons {reasons} for the chain.
        slots:
          reasons: requestBody.blockCancellationReasons
      - text: Add a block cancellation reason for groups that cancel because of budget cuts, logged in from hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockCancellationReasons/{blockCancellationReasonsId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a block cancellation reason
      effect: write
      questions:
      - Can I rename or reword an existing block cancellation reason?
      - What do I need to change the description of a block cancellation reason that already exists?
      instructions:
      - text: Update block cancellation reason {reasonId} with {changes}.
        slots:
          reasonId: path.blockCancellationReasonsId
          changes: requestBody.blockCancellationReasons
      - text: Mark block cancellation reason {reasonId} inactive.
        slots:
          reasonId: path.blockCancellationReasonsId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockCancellationReasons/{blockCancellationReasonsId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a block cancellation reason
      effect: destructive
      questions:
      - Is it possible to remove a block cancellation reason we no longer use?
      - What happens to the block cancellation reason list when I delete one of the codes?
      instructions:
      - text: Delete block cancellation reason {reasonId}.
        slots:
          reasonId: path.blockCancellationReasonsId
      - text: Remove block cancellation reason codes {codes} under record {reasonId}.
        slots:
          codes: query.blockCancellationReasonsCodes
          reasonId: path.blockCancellationReasonsId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockLostBookingCodes'].get
  update:
    x-apievangelist-phrasing:
      intent: List lost booking codes for blocks
      effect: read
      questions:
      - Which lost booking codes can I use to explain why we lost a group block?
      - Can I search block lost booking codes by their description?
      instructions:
      - text: Show the block lost booking codes set up for hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      - text: Look up block lost booking codes described as {text}.
        slots:
          text: query.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockLostBookingCodes'].post
  update:
    x-apievangelist-phrasing:
      intent: Create lost booking codes for blocks
      effect: write
      questions:
      - How do I add a new lost-business code for group blocks?
      - Can I create multiple block lost booking codes at once?
      instructions:
      - text: Create block lost booking codes {codes}.
        slots:
          codes: requestBody.blockLostBookingCodes
      - text: Add a lost booking code for blocks we lose on price, from hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockLostBookingCodes/{blockLostBookingCodesId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a block lost booking code
      effect: write
      questions:
      - Can I edit the wording of an existing block lost booking code?
      - What is needed to deactivate a lost booking code for blocks without deleting it?
      instructions:
      - text: Update block lost booking code {codeId} with {changes}.
        slots:
          codeId: path.blockLostBookingCodesId
          changes: requestBody.blockLostBookingCodes
      - text: Deactivate block lost booking code {codeId}.
        slots:
          codeId: path.blockLostBookingCodesId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockLostBookingCodes/{blockLostBookingCodesId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a block lost booking code
      effect: destructive
      questions:
      - Can I permanently delete a block lost booking code?
      - Is there a way to delete several lost booking codes for blocks in one call?
      instructions:
      - text: Delete block lost booking code {codeId}.
        slots:
          codeId: path.blockLostBookingCodesId
      - text: Remove lost booking codes {codes} from record {codeId}.
        slots:
          codes: query.blockLostBookingCodes
          codeId: path.blockLostBookingCodesId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockRateOverrideReasons'].get
  update:
    x-apievangelist-phrasing:
      intent: List block rate override reasons
      effect: read
      questions:
      - What reasons are available when someone overrides the rate on a group block?
      - Can I filter block rate override reasons by specific codes?
      instructions:
      - text: List block rate override reasons for hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      - text: Get the block rate override reasons with codes {codes}.
        slots:
          codes: query.codes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockRateOverrideReasons'].post
  update:
    x-apievangelist-phrasing:
      intent: Create block rate override reasons
      effect: write
      questions:
      - How do I add a reason code for overriding a block's rate?
      - Can I load a batch of new rate override reasons for blocks?
      instructions:
      - text: Create block rate override reasons {reasons}.
        slots:
          reasons: requestBody.blockRateOverrideReasons
      - text: Add a rate override reason for blocks discounted by the revenue manager, working from hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockRateOverrideReasons/{blockRateOverrideReasonsId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a block rate override reason
      effect: write
      questions:
      - Can I change the description on an existing block rate override reason?
      - What do I send to deactivate a rate override reason used on blocks?
      instructions:
      - text: Update block rate override reason {reasonId} to {changes}.
        slots:
          reasonId: path.blockRateOverrideReasonsId
          changes: requestBody.blockRateOverrideReasons
      - text: Set block rate override reason {reasonId} to inactive.
        slots:
          reasonId: path.blockRateOverrideReasonsId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockRateOverrideReasons/{blockRateOverrideReasonsId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a block rate override reason
      effect: destructive
      questions:
      - Can I remove a block rate override reason that was created by mistake?
      - Is deleting a rate override reason for blocks permanent?
      instructions:
      - text: Delete block rate override reason {reasonId}.
        slots:
          reasonId: path.blockRateOverrideReasonsId
      - text: Remove rate override reason codes {codes} for blocks, starting at {reasonId}.
        slots:
          codes: query.blockRateOverrideReasonsCodes
          reasonId: path.blockRateOverrideReasonsId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockRefusedReasons'].get
  update:
    x-apievangelist-phrasing:
      intent: List reasons a hotel refused a block
      effect: read
      questions:
      - Which reasons can we record when the hotel turns down a group block?
      - Can I see inactive block refused reasons too?
      instructions:
      - text: List the block refused reasons for hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      - text: Search block refused reasons matching {pattern}.
        slots:
          pattern: query.wildCard
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockRefusedReasons'].post
  update:
    x-apievangelist-phrasing:
      intent: Create block refused reasons
      effect: write
      questions:
      - How do I add a reason for refusing a group block request?
      - Can I create block refused reasons for the whole chain in one request?
      instructions:
      - text: Create block refused reasons {reasons}.
        slots:
          reasons: requestBody.blockRefusedReasons
      - text: Add a block refused reason for requests we decline due to overbooking, from hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockRefusedReasons/{blockRefusedReasonsId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a block refused reason
      effect: write
      questions:
      - Can I update the text of a block refused reason?
      - What's required to switch off a block refused reason we still want to keep on file?
      instructions:
      - text: Update block refused reason {reasonId} with {changes}.
        slots:
          reasonId: path.blockRefusedReasonsId
          changes: requestBody.blockRefusedReasons
      - text: Deactivate block refused reason {reasonId}.
        slots:
          reasonId: path.blockRefusedReasonsId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockRefusedReasons/{blockRefusedReasonsId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a block refused reason
      effect: destructive
      questions:
      - Can I delete a block refused reason from the chain configuration?
      - Will removing a block refused reason affect blocks that already used it?
      instructions:
      - text: Delete block refused reason {reasonId}.
        slots:
          reasonId: path.blockRefusedReasonsId
      - text: Remove block refused reason codes {codes} at record {reasonId}.
        slots:
          codes: query.blockRefusedReasonsCodes
          reasonId: path.blockRefusedReasonsId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/destinationCodes'].get
  update:
    x-apievangelist-phrasing:
      intent: List destination codes for lost blocks
      effect: read
      questions:
      - Where can I see the destination codes that record which competitor or city a lost block went to?
      - Can I search destination codes by description?
      instructions:
      - text: List destination codes configured for hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      - text: Find destination codes with description {text}.
        slots:
          text: query.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/destinationCodes'].post
  update:
    x-apievangelist-phrasing:
      intent: Create destination codes for lost blocks
      effect: write
      questions:
      - How do I add a competitor hotel as a destination code for cancelled blocks?
      - Can a destination code represent a geographic destination rather than a competitor?
      instructions:
      - text: Create destination codes {codes}.
        slots:
          codes: requestBody.destinationCodes
      - text: Add a destination code for blocks lost to a rival downtown hotel, from hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/destinationCodes/{destinationCodesId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a destination code
      effect: write
      questions:
      - Can I change the description of a destination code we already use?
      - What do I send to retire a destination code without deleting it?
      instructions:
      - text: Update destination code {destinationId} with {changes}.
        slots:
          destinationId: path.destinationCodesId
          changes: requestBody.destinationCodes
      - text: Deactivate destination code {destinationId}.
        slots:
          destinationId: path.destinationCodesId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/destinationCodes/{destinationCodesId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a destination code
      effect: destructive
      questions:
      - Can I delete a destination code for lost blocks?
      - Is there a way to delete several destination codes in one call?
      instructions:
      - text: Delete destination code {destinationId}.
        slots:
          destinationId: path.destinationCodesId
      - text: Remove destination codes {codes} at record {destinationId}.
        slots:
          codes: query.destinationCodes
          destinationId: path.destinationCodesId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/reservationMethods'].get
  update:
    x-apievangelist-phrasing:
      intent: List reservation methods
      effect: read
      questions:
      - What reservation methods, like phone or email, are set up in OPERA Cloud?
      - Can I list only certain reservation method codes?
      instructions:
      - text: List the reservation methods for hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      - text: Get reservation methods with codes {codes}, including inactive ones.
        slots:
          codes: query.codes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/reservationMethods'].post
  update:
    x-apievangelist-phrasing:
      intent: Create reservation methods
      effect: write
      questions:
      - How do I add a new way guests can book, such as a chat channel, as a reservation method?
      - Can I create several reservation methods at once?
      instructions:
      - text: Create reservation methods {methods}.
        slots:
          methods: requestBody.reservationMethods
      - text: Add a reservation method for bookings taken over WhatsApp, logged in at hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/reservationMethods/{reservationMethodsId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a reservation method
      effect: write
      questions:
      - Can I change the description of an existing reservation method?
      - What do I need to deactivate a reservation method?
      instructions:
      - text: Update reservation method {methodId} with {changes}.
        slots:
          methodId: path.reservationMethodsId
          changes: requestBody.reservationMethods
      - text: Mark reservation method {methodId} as inactive.
        slots:
          methodId: path.reservationMethodsId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/reservationMethods/{reservationMethodsId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a reservation method
      effect: destructive
      questions:
      - Can I delete a reservation method we stopped using?
      - Does deleting a reservation method accept a list of codes?
      instructions:
      - text: Delete reservation method {methodId}.
        slots:
          methodId: path.reservationMethodsId
      - text: Remove reservation method codes {codes} under {methodId}.
        slots:
          codes: query.reservationMethodsCodes
          methodId: path.reservationMethodsId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/services/chainConfig/status'].get
  update:
    x-apievangelist-phrasing:
      intent: Check the chain config service is up
      effect: read
      questions:
      - Is the OPERA Cloud chain configuration service up and responding?
      - Can I health-check the chain config API before running a sync?
      instructions:
      - text: Ping the chain configuration service.
      - text: Check the chain config service status for hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/accountOwners'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up account owners for a chain
      effect: read
      questions:
      - Which sales account owners have access to a given chain?
      - Can I limit how many account owners come back in one lookup?
      instructions:
      - text: List account owners for chain {chain}.
        slots:
          chain: query.chainCode
      - text: Find account owners in chain {chain} with last name {lastName} and first name {firstName}.
        slots:
          chain: query.chainCode
          lastName: query.name
          firstName: query.givenName
      - text: Get the account owner with exact code {ownerCode} in chain {chain}.
        slots:
          ownerCode: query.ownerCode
          chain: query.chainCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/accountOwners/searches'].post
  update:
    x-apievangelist-phrasing:
      intent: Search account owners with a request body
      effect: read
      questions:
      - Can I search account owners by posting the criteria instead of using query parameters?
      - What filters does the account owner search request accept?
      instructions:
      - text: Search account owners in chain {chain} who can access hotel {hotelId}, via the POST search.
        slots:
          chain: requestBody.chainCode
          hotelId: requestBody.hotelId
      - text: Run the account owner search for chain {chain}, capped at {max} records.
        slots:
          chain: requestBody.chainCode
          max: requestBody.maxFetchRecords
      method: generated
      generated: '2026-09-26'
- target: $.paths['/accountPriorities'].get
  update:
    x-apievangelist-phrasing:
      intent: List account priorities
      effect: read
      questions:
      - What account priority levels are defined for profiles?
      - Can I search account priorities by a partial code?
      instructions:
      - text: List account priorities for hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      - text: Find account priorities matching {pattern}.
        slots:
          pattern: query.wildCard
      method: generated
      generated: '2026-09-26'
- target: $.paths['/accountPriorities'].post
  update:
    x-apievangelist-phrasing:
      intent: Create account priorities
      effect: write
      questions:
      - How do I add a new priority level for accounts?
      - Can I set up several account priorities in one call?
      instructions:
      - text: Create account priorities {priorities}.
        slots:
          priorities: requestBody.accountPriorities
      - text: Add a top-tier account priority for strategic accounts, logged in at hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/accountPriorities/{accountPriorityId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an account priority
      effect: write
      questions:
      - Can I change the description or order of an existing account priority?
      - What's needed to deactivate an account priority?
      instructions:
      - text: Update account priority {priorityId} with {changes}.
        slots:
          priorityId: path.accountPriorityId
          changes: requestBody.accountPriorities
      - text: Deactivate account priority {priorityId}.
        slots:
          priorityId: path.accountPriorityId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/accountPriorities/{accountPriorityId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove an account priority
      effect: destructive
      questions:
      - Can I remove an account priority we no longer need?
      - Is removing an account priority reversible?
      instructions:
      - text: Remove account priority {priorityId}.
        slots:
          priorityId: path.accountPriorityId
      - text: Delete the account priority with ID {priorityId} from the chain.
        slots:
          priorityId: path.accountPriorityId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/accountTypes'].get
  update:
    x-apievangelist-phrasing:
      intent: List account types
      effect: read
      questions:
      - Which account types can be assigned to company and agent profiles?
      - Can I pull just the account types with specific codes?
      instructions:
      - text: List account types for hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      - text: Get account types with codes {codes}.
        slots:
          codes: query.codes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/accountTypes'].post
  update:
    x-apievangelist-phrasing:
      intent: Create account types
      effect: write
      questions:
      - How do I add a new account type for profiles?
      - Can I create multiple account types in a single request?
      instructions:
      - text: Create account types {types}.
        slots:
          types: requestBody.accountTypes
      - text: Add an account type for government accounts, from hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/accountTypes/{accountTypesId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an account type
      effect: write
      questions:
      - Can I edit an existing account type's description?
      - What do I send to deactivate an account type?
      instructions:
      - text: Update account type {typeId} with {changes}.
        slots:
          typeId: path.accountTypesId
          changes: requestBody.accountTypes
      - text: Set account type {typeId} to inactive.
        slots:
          typeId: path.accountTypesId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/accountTypes/{accountTypesId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove an account type
      effect: destructive
      questions:
      - Can I remove an account type from the chain?
      - Does deleting an account type need its ID?
      instructions:
      - text: Remove account type {typeId}.
        slots:
          typeId: path.accountTypesId
      - text: Delete the account type with ID {typeId}.
        slots:
          typeId: path.accountTypesId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/addressTypes'].get
  update:
    x-apievangelist-phrasing:
      intent: List address types
      effect: read
      questions:
      - What address types, like home or business, are configured?
      - Can I include inactive address types in the results?
      instructions:
      - text: List address types for hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      - text: Find address types described as {text}.
        slots:
          text: query.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/addressTypes'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an address type
      effect: write
      questions:
      - How do I add a new address type for guest profiles?
      - Can I create a billing address type?
      instructions:
      - text: Create address types {types}.
        slots:
          types: requestBody.addressTypes
      - text: Add a billing address type, logged in at hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/addressTypes/{addressTypeId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an address type
      effect: write
      questions:
      - Can I change the description of an existing address type?
      - What is needed to switch off an address type?
      instructions:
      - text: Update address type {addressTypeId} with {changes}.
        slots:
          addressTypeId: path.addressTypeId
          changes: requestBody.addressTypes
      - text: Deactivate address type {addressTypeId}.
        slots:
          addressTypeId: path.addressTypeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/addressTypes/{addressTypeId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an address type
      effect: destructive
      questions:
      - Can I delete an address type we never use?
      - Will deleting an address type be permanent?
      instructions:
      - text: Delete address type {addressTypeId}.
        slots:
          addressTypeId: path.addressTypeId
      - text: Remove the address type with ID {addressTypeId} from configuration.
        slots:
          addressTypeId: path.addressTypeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/alternateLanguages'].get
  update:
    x-apievangelist-phrasing:
      intent: List guest titles in other languages
      effect: read
      questions:
      - Where can I see guest titles translated into alternate languages?
      - Can I filter alternate-language guest titles by title code?
      instructions:
      - text: List alternate language guest titles for hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      - text: Get alternate-language versions of guest title codes {titleCodes}.
        slots:
          titleCodes: query.titleCodes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/alternateLanguages'].post
  update:
    x-apievangelist-phrasing:
      intent: Create alternate-language guest titles
      effect: write
      questions:
      - How do I add a French or German version of a guest title?
      - Can I add translated guest titles with a greeting for each language?
      instructions:
      - text: Create alternate language guest titles {titles}.
        slots:
          titles: requestBody.alternateLanguageGuestTitles
      - text: Add a Spanish translation of the Mr. guest title, logged in at hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/alternateLanguages/{guestTitlesCode}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an alternate-language guest title
      effect: write
      questions:
      - Can I change the greeting on a translated guest title?
      - What do I send to modify an alternate-language guest title?
      instructions:
      - text: Update alternate language guest title {titleCode} with {changes}.
        slots:
          titleCode: path.guestTitlesCode
          changes: requestBody.alternateLanguageGuestTitles
      - text: Change the translated greeting for guest title {titleCode}.
        slots:
          titleCode: path.guestTitlesCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/alternateLanguages/{guestTitlesCode}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an alternate-language guest title
      effect: destructive
      questions:
      - Can I delete one language's version of a guest title but keep the others?
      - What details identify the alternate-language guest title I want to delete?
      instructions:
      - text: Delete the alternate language guest title {titleCode} for language {language}.
        slots:
          titleCode: path.guestTitlesCode
          language: query.languageCode
      - text: Remove translated guest title {titleCode}.
        slots:
          titleCode: path.guestTitlesCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/businessSegments'].get
  update:
    x-apievangelist-phrasing:
      intent: List business segments
      effect: read
      questions:
      - What business segments are defined for grouping accounts?
      - Can I look up business segments by a partial code?
      instructions:
      - text: List business segments for hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      - text: Find business segments whose code matches {pattern}.
        slots:
          pattern: query.wildCard
      method: generated
      generated: '2026-09-26'
- target: $.paths['/businessSegments'].post
  update:
    x-apievangelist-phrasing:
      intent: Create business segments
      effect: write
      questions:
      - How do I add a new business segment such as pharmaceutical or tech?
      - Can I load several business segments in one request?
      instructions:
      - text: Create business segments {segments}.
        slots:
          segments: requestBody.businessSegments
      - text: Add a business segment for pharmaceutical accounts, logged in at hotel {hotel}.
        slots:
          hotel: header.x-hotelid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/businessSegments/{businessSegmentCode}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a business segment
      effect: write
      questions:
      - Can I rename an existing business segment?
      - What do I need to deactivate a business segment code?
      instructions:
      - text: Update business segment {segment} with {changes}.
        slots:
          segment: path.businessSegmentCode
          changes: requestBody.businessSegments
      - text: Deactivate business segment {segment}.
        slots:
          segment: path.businessSegmentCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/businessSegments/{businessSegmentCode}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a business segment
      effect: destructive
      questions:
      - Can I delete a business segment we merged into another one?
      - Is removing a business segment code permanent?
      instructions:
      - text: Delete business segment {segment}.
        slots:
          segment: path.businessSegmentCode
      - text: Remove the {segment} business segment from the chain.
        slots:
          segment: path.businessSegmentCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/cityPostalCodes'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up cities by postal code
      effect: read
      questions:
      - Which city goes with a given postal code in OPERA Cloud?
      - Can I page through city postal codes within a postal code range?
      instructions:
      - text: Look up city postal codes from {from} to {to}.
        slots:
          from: query.postalCodeFrom
          to: query.postalCodeTo
      - text: Find postal codes for cities matching {city} in state {state}.
        slots:
          city: query.cityWildCard
          state: query.stateCodes
      - text: List the next {limit} city postal codes starting at offset {offset}.
        slots:
          limit: query.limit
          offset: query.offset
      method: generated
      generated: '2026-09-26'


# --- truncated at 32 KB (243 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oracle-hospitality/refs/heads/main/overlays/oracle-hospitality-chainconfig-api-phrasing-overlay.yaml