Oracle Hospitality · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for OPERA Cloud Reservation API

180 actions 180 updates phrasing extends openapi/oracle-hospitality-reservation-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 180 · first 16 shown; the file carries all of them

$.info
$.paths['/calls'].post
$.paths['/calls/statistics'].get
$.paths['/externalSystems/{extSystemCode}/reservations'].get
$.paths['/externalSystems/{extSystemCode}/reservations/searches'].post
$.paths['/hotels/{hotelId}/awardUpgrades'].get
$.paths['/hotels/{hotelId}/awards'].get
$.paths['/hotels/{hotelId}/blocks/{blockId}/reservations'].post
$.paths['/hotels/{hotelId}/cancellationPolicies'].put
$.paths['/hotels/{hotelId}/confirmationLetters'].get
$.paths['/hotels/{hotelId}/confirmationLetters'].post
$.paths['/hotels/{hotelId}/depositPolicies'].put
$.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/linkedReservations/{reservationExternalId}'].post
$.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/linkedReservations/{reservationExternalId}'].delete
$.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}'].get
$.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}'].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 OPERA Cloud Reservation API
  version: 1.0.0
extends: openapi/oracle-hospitality-reservation-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: 179
- target: $.paths['/calls'].post
  update:
    x-apievangelist-phrasing:
      intent: Register a call on a reservation
      effect: write
      questions:
      - How do I log a phone call a guest made about their reservation?
      - Can the reservation system keep a record of reservation calls handled by agents?
      instructions:
      - text: Register this reservation call with details {call}.
        slots:
          call: requestBody.call
      - text: Log the guest's inbound call against their booking.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/calls/statistics'].get
  update:
    x-apievangelist-phrasing:
      intent: Get reservation call statistics
      effect: read
      questions:
      - What call statistics can I pull for my reservation agents?
      - Is there a limit on the date range for call statistics?
      instructions:
      - text: Show call statistics from {start} to {end}.
        slots:
          start: query.start
          end: query.end
      - text: Get call statistics for app user {user} over the last 30 days.
        slots:
          user: query.appUserName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/reservations'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up reservations by external system references
      effect: read
      questions:
      - Can I find hotel reservations using the reference numbers from my external system?
      - Which reservations match a list of external references from our channel system?
      instructions:
      - text: List reservations from external system {system} with external references {refs}.
        slots:
          system: path.extSystemCode
          refs: query.externalReferenceList
      - text: Look up external system {system} bookings for references {refs} arriving from {from}.
        slots:
          system: path.extSystemCode
          refs: query.externalReferenceList
          from: query.arrivalStartDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/reservations/searches'].post
  update:
    x-apievangelist-phrasing:
      intent: Search external-system reservations via request body
      effect: read
      questions:
      - Can I post a search body to find reservations tied to an external system's references?
      - What search criteria can I send in the body when searching external system reservations?
      instructions:
      - text: Run a body-based reservation search for external system {system} with references {refs}.
        slots:
          system: path.extSystemCode
          refs: requestBody.externalReferenceList
      - text: Submit a search request for external system {system} references {refs} for guest surname {surname}.
        slots:
          system: path.extSystemCode
          refs: requestBody.externalReferenceList
          surname: requestBody.surname
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/awardUpgrades'].get
  update:
    x-apievangelist-phrasing:
      intent: Get award upgrades available at a property
      effect: read
      questions:
      - Which loyalty award upgrades can a member redeem at this hotel?
      - Can I check award upgrades for a membership card number?
      instructions:
      - text: Show award upgrades at hotel {hotelId} for membership card {card}.
        slots:
          hotelId: path.hotelId
          card: query.membershipCardNo
      - text: Get award upgrades at hotel {hotelId} for room type {roomType}.
        slots:
          hotelId: path.hotelId
          roomType: query.roomType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/awards'].get
  update:
    x-apievangelist-phrasing:
      intent: Fetch certificates and awards on a reservation
      effect: read
      questions:
      - What certificates and awards are attached to a guest's reservation?
      - Can I see which award certificates a booking is using?
      instructions:
      - text: Fetch awards and certificates for reservation {reservationId} at hotel {hotelId}.
        slots:
          reservationId: query.reservationId
          hotelId: path.hotelId
      - text: List award certificates tied to bookings at hotel {hotelId}.
        slots:
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/blocks/{blockId}/reservations'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a reservation inside a group block
      effect: write
      questions:
      - How do I book a room against a group block?
      - Can I pick up a room from a block's allotment for a wedding guest?
      instructions:
      - text: Create a reservation in block {blockId} at hotel {hotelId}.
        slots:
          blockId: path.blockId
          hotelId: path.hotelId
      - text: Book {reservations} into group block {blockId} at hotel {hotelId}.
        slots:
          reservations: requestBody.reservations
          blockId: path.blockId
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/cancellationPolicies'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a property's cancellation policy
      effect: write
      questions:
      - Can I edit a cancellation policy that's already configured for my hotel?
      - What do I send to change the property cancellation policy?
      instructions:
      - text: Update the cancellation policy at hotel {hotelId} to {policy}.
        slots:
          hotelId: path.hotelId
          policy: requestBody.policy
      - text: Change the existing cancellation policy configured for hotel {hotelId}.
        slots:
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/confirmationLetters'].get
  update:
    x-apievangelist-phrasing:
      intent: List reservations needing confirmation letters
      effect: read
      questions:
      - Which reservations still need a confirmation letter sent?
      - Can I filter pending confirmation letters by arrival date?
      - What's the maximum date range for the confirmation letter list?
      instructions:
      - text: List pending confirmation letters at hotel {hotelId}.
        slots:
          hotelId: path.hotelId
      - text: Show reservations at hotel {hotelId} arriving from {from} to {to} that need confirmation letters.
        slots:
          hotelId: path.hotelId
          from: query.arrivalStartDate
          to: query.arrivalEndDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/confirmationLetters'].post
  update:
    x-apievangelist-phrasing:
      intent: Create confirmation letters for reservations
      effect: write
      questions:
      - How do I generate a confirmation letter for a guest's booking?
      - Can I create confirmation letters for a specific reservation?
      instructions:
      - text: Create a confirmation letter for reservation {reservationId} at hotel {hotelId}.
        slots:
          reservationId: requestBody.reservationId
          hotelId: path.hotelId
      - text: Generate confirmation letters {letters} at hotel {hotelId}.
        slots:
          letters: requestBody.confLetters
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/depositPolicies'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a property's deposit policy
      effect: write
      questions:
      - Can I modify the deposit policy my hotel already has?
      - What's needed to change an existing property deposit rule?
      instructions:
      - text: Update the deposit policy at hotel {hotelId} to {policy}.
        slots:
          hotelId: path.hotelId
          policy: requestBody.policy
      - text: Change the existing deposit policy configured for hotel {hotelId}.
        slots:
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/linkedReservations/{reservationExternalId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Link reservations using an external reservation ID
      effect: write
      questions:
      - Can I link bookings together using the reservation ID from my external system?
      - How do I link reservations when I only have the external system's reference?
      instructions:
      - text: Link reservations {ids} to external reservation {extId} from system {system} at hotel {hotelId}.
        slots:
          ids: requestBody.reservationIdList
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      - text: Using external system {system} ID {extId}, link other bookings at hotel {hotelId}.
        slots:
          system: path.externalSystemCode
          extId: path.reservationExternalId
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/linkedReservations/{reservationExternalId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Unlink a reservation by its external ID
      effect: destructive
      questions:
      - Can I unlink a reservation identified by my external system's ID?
      - What happens when I remove reservation links using an external reference?
      instructions:
      - text: Unlink external reservation {extId} from system {system} at hotel {hotelId}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      - text: Remove the reservation links on external booking {extId} ({system}) at hotel {hotelId}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a reservation by its external system ID
      effect: read
      questions:
      - How do I fetch a reservation using the ID from my booking engine?
      - Can I retrieve a booking when I only know the external reservation number?
      instructions:
      - text: Get reservation {extId} from external system {system} at hotel {hotelId}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      - text: Show the booking with external ID {extId} ({system}) at hotel {hotelId}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a reservation by its external system ID
      effect: write
      questions:
      - Can I change guest counts on a booking using the external reservation ID?
      - How do I update a reservation my channel system knows only by its own reference?
      instructions:
      - text: Update external reservation {extId} from {system} at hotel {hotelId} with {reservations}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
          reservations: requestBody.reservations
      - text: Add a comment to the booking with external ID {extId} ({system}) at hotel {hotelId}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/addOnReservationPackagesByExtId'].put
  update:
    x-apievangelist-phrasing:
      intent: Update add-on packages via external reservation ID
      effect: write
      questions:
      - Can I update sell-separate add-on packages on a booking known by its external ID?
      - Does the external-ID add-on package update replace the whole package list?
      instructions:
      - text: Set add-on packages {packages} on external reservation {extId} from {system} at hotel {hotelId}.
        slots:
          packages: requestBody.reservationPackages
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      - text: Update sell-separate packages on leg {leg} of external booking {extId} ({system}) at hotel {hotelId}.
        slots:
          leg: query.legNumber
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/cancellations'].put
  update:
    x-apievangelist-phrasing:
      intent: Reinstate a cancelled reservation by external ID
      effect: write
      questions:
      - Can I bring back a cancelled booking using the external system's reservation ID?
      - Is it possible to reinstate an externally referenced reservation and override inventory?
      instructions:
      - text: Reinstate cancelled external reservation {extId} from {system} at hotel {hotelId}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      - text: Restore external booking {extId} ({system}) at hotel {hotelId}, overriding inventory {override}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
          override: requestBody.overrideInventory
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/cancellations'].post
  update:
    x-apievangelist-phrasing:
      intent: Cancel a reservation by its external ID
      effect: destructive
      questions:
      - How do I cancel a guest's booking using my channel's reservation ID?
      - Do I get a cancellation number back when cancelling by external ID?
      instructions:
      - text: Cancel external reservation {extId} from {system} at hotel {hotelId}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      - text: Cancel external booking {extId} ({system}) at hotel {hotelId} with reason {reason}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
          reason: requestBody.reason
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/routingInstructions'].put
  update:
    x-apievangelist-phrasing:
      intent: Change routing instructions via external reservation ID
      effect: write
      questions:
      - Can I edit billing routing on a reservation known by its external ID?
      - How do I modify existing routing instructions for an externally referenced booking?
      instructions:
      - text: Change routing instructions on external reservation {extId} ({system}) at hotel {hotelId} to {criteria}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
          criteria: requestBody.criteria
      - text: Update the existing charge routing for external booking {extId} from {system} at hotel {hotelId}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/routingInstructions'].post
  update:
    x-apievangelist-phrasing:
      intent: Create routing instructions via external reservation ID
      effect: write
      questions:
      - Can I add new charge routing to a booking using its external system ID?
      - How do I route a guest's charges to another folio when I only have the external reference?
      instructions:
      - text: Create routing instructions {criteria} on external reservation {extId} ({system}) at hotel {hotelId}.
        slots:
          criteria: requestBody.criteria
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      - text: Add new billing routing to external booking {extId} from {system} at hotel {hotelId}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/separatedShare'].put
  update:
    x-apievangelist-phrasing:
      intent: Separate a share by external ID with external daily rates
      effect: write
      questions:
      - Can I split a share reservation by external ID and apply daily rates from my external system?
      - When separating an external share, can I skip the max occupancy check?
      instructions:
      - text: Separate share external reservation {extId} ({system}) at hotel {hotelId} using external daily rates {criteria}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
          criteria: requestBody.criteria
      - text: Split external share {extId} from {system} at hotel {hotelId}, overriding the inventory check {override}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
          override: query.overrideInventoryCheck
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/shares'].get
  update:
    x-apievangelist-phrasing:
      intent: Get share reservations by external reservation ID
      effect: read
      questions:
      - Which share reservations exist on a booking my external system references?
      - Can I see who is sharing a room using the external reservation ID?
      instructions:
      - text: List share reservations on external reservation {extId} ({system}) at hotel {hotelId}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      - text: Show sharers for external booking {extId} from {system} at hotel {hotelId}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/shares'].post
  update:
    x-apievangelist-phrasing:
      intent: Combine share reservations by external ID
      effect: write
      questions:
      - Can I combine two bookings into a share using the external reservation ID?
      - How do I make guests share a room when my system only has external references?
      instructions:
      - text: Combine share reservations {criteria} with external reservation {extId} ({system}) at hotel {hotelId}.
        slots:
          criteria: requestBody.criteria
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      - text: Share the room on external booking {extId} from {system} at hotel {hotelId} with another reservation.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/shares'].delete
  update:
    x-apievangelist-phrasing:
      intent: Separate share reservations by external ID
      effect: destructive
      questions:
      - Can I break apart a share reservation using the external system's ID?
      - When separating shares by external ID, can I get the remaining shares back in the response?
      instructions:
      - text: Separate the share reservations on external reservation {extId} ({system}) at hotel {hotelId}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
      - text: Break the share on external booking {extId} from {system} at hotel {hotelId} and return shares {returnShares}.
        slots:
          extId: path.reservationExternalId
          system: path.externalSystemCode
          hotelId: path.hotelId
          returnShares: query.returnShareReservations
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/fetchExternalSystemDeliveryHistory'].get
  update:
    x-apievangelist-phrasing:
      intent: Get external system delivery history
      effect: read
      questions:
      - Was a reservation successfully delivered to the external systems we interface with?
      - Can I see the delivery history of messages sent to external systems for a booking?
      instructions:
      - text: Show external system delivery history for reservation {reservationId} at hotel {hotelId}.
        slots:
          reservationId: query.reservationId
          hotelId: path.hotelId
      - text: Get the external delivery log at hotel {hotelId}.
        slots:
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/guestMessages'].get
  update:
    x-apievangelist-phrasing:
      intent: Search guest messages across a hotel
      effect: read
      questions:
      - Which guest messages at my hotel are still undelivered?
      - Can I find guest messages by room number or confirmation number?
      - What's the most guest messages I can fetch per page?
      instructions:
      - text: List undelivered guest messages at hotel {hotelId}.
        slots:
          hotelId: path.hotelId
      - text: Find guest messages at hotel {hotelId} for room {room}.
        slots:
          hotelId: path.hotelId
          room: query.room
      - text: Show guest messages for confirmation {confirmationNo} at hotel {hotelId}.
        slots:
          confirmationNo: query.confirmationNo
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/locks/{lockHandle}'].put
  update:
    x-apievangelist-phrasing:
      intent: Extend a reservation lock
      effect: write
      questions:
      - Can I keep my lock on a reservation longer while I finish editing?
      - How do I add time to a reservation lock before it expires?
      instructions:
      - text: Extend reservation lock {lockHandle} at hotel {hotelId} by {extra}.
        slots:
          lockHandle: path.lockHandle
          hotelId: path.hotelId
          extra: requestBody.additionalTimeToLive
      - text: Keep lock {lockHandle} at hotel {hotelId} alive longer.
        slots:
          lockHandle: path.lockHandle
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/locks/{lockHandle}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Release a reservation lock
      effect: destructive
      questions:
      - How do I release a reservation lock I'm holding so others can edit?
      - Can I give up a lock handle once my changes are saved?
      instructions:
      - text: Release reservation lock {lockHandle} at hotel {hotelId}.
        slots:
          lockHandle: path.lockHandle
          hotelId: path.hotelId
      - text: Free up lock handle {lockHandle} so the booking at hotel {hotelId} is editable again.
        slots:
          lockHandle: path.lockHandle
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/preArrivalMembersReservations'].get
  update:
    x-apievangelist-phrasing:
      intent: Get upcoming reservations for loyalty members
      effect: read
      questions:
      - Which loyalty members are arriving at my hotel soon?
      - Can I list pre-arrival reservations by membership type?
      instructions:
      - text: List pre-arrival member reservations at hotel {hotelId} from {start} to {end}.
        slots:
          hotelId: path.hotelId
          start: query.start
          end: query.end
      - text: Show upcoming arrivals at hotel {hotelId} for membership type {type}.
        slots:
          hotelId: path.hotelId
          type: query.membershipType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/preConfiguredRoutingInstructions'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up pre-configured routing instructions
      effect: read
      questions:
      - What default billing routing is set up for a company or rate code?
      - Can I see pre-configured routing for a travel agent profile?
      instructions:
      - text: Get pre-configured routing instructions at hotel {hotelId} for rate code {rateCode}.
        slots:
          hotelId: path.hotelId
          rateCode: query.rateCode
      - text: Look up preset routing at hotel {hotelId} for company {company}.
        slots:
          hotelId: path.hotelId
          company: query.companyName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/preConfiguredRoutingInstructions/searches'].post
  update:
    x-apievangelist-phrasing:
      intent: Search pre-configured routing via request body
      effect: read
      questions:
      - Can I post search criteria in the body to find preset routing instructions?
      - Is there a body-based search for pre-configured routing by group or guest?
      instructions:
      - text: Run a body search for pre-configured routing at hotel {hotelId} for group {group}.
        slots:
          hotelId: path.hotelId
          group: requestBody.groupName
      - text: Submit a routing preset search at hotel {hotelId} for guest {guest}.
        slots:
          hotelId: path.hotelId
          guest: requestBody.guestName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/profiles/{profileIdtoShare}/share'].get
  update:
    x-apievangelist-phrasing:
      intent: Find reservations a guest profile can share
      effect: read
      questions:
      - Which existing reservations could this guest profile join as a sharer?
      - Can I find shareable bookings for a profile by surname?
      instructions:
      - text: Find reservations profile {profileId} can share at hotel {hotelId}.
        slots:
          profileId: path.profileIdtoShare
          hotelId: path.hotelId
      - text: Show shareable bookings at hotel {hotelId} for profile {profileId} with surname {surname}.
        slots:
          hotelId: path.hotelId
          profileId: path.profileIdtoShare
          surname: query.surname
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/rateInfoValidation'].put
  update:
    x-apievangelist-phrasing:
      intent: Validate rate plan information for a stay
      effect: read
      questions:
      - Is the rate plan I picked valid for this reservation's dates?
      - Can I check rate information before committing a booking?
      instructions:
      - text: Validate rate information {criteria} at hotel {hotelId}.
        slots:
          criteria: requestBody.criteria
          hotelId: path.hotelId
      - text: Check that the chosen rate plan works for this booking at hotel {hotelId}.
        slots:
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/reservations'].get
  update:
    x-apievangelist-phrasing:
      intent: Find reservations at one hotel
      effect: read
      questions:
      - How do I list tonight's arrivals at a single hotel?
      - Can I look up a hotel's reservations by guest surname or confirmation number?
      - Which reservations at my property have an open balance?
      instructions:
      - text: List reservations at hotel {hotelId} arriving between {from} and {to}.
        slots:
          hotelId: path.hotelId
          from: query.arrivalStartDate
          to: query.arrivalEndDate
      - text: Find the booking at hotel {hotelId} for guest surname {surname}.
        slots:
          hotelId: path.hotelId
          surname: query.surname
      - text: Look up confirmation number {confirmation} at hotel {hotelId}.
        slots:
          confirmation: query.confirmationNumberList
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/reservations'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new hotel reservation
      effect: write
      questions:
      - How do I book a new room reservation at a hotel?
      - What do I need to send to create a reservation after checking availability?
      instructions:
      - text: Create a reservation at hotel {hotelId} for {reservations}.
        slots:
          hotelId: path.hotelId
          reservations: requestBody.reservations
      - text: Book a new stay at hotel {hotelId}.
        slots:
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/reservations/activityLog'].get
  update:
    x-apievangelist-phrasing:
      intent: Fetch a reservation activity log
      effect: read
      questions:
      - Who changed this reservation and when?
      - Can I filter the reservation activity log by activity type and date?
      - How far back can one activity log request cover?
      instructions:
      - text: Show the reservation activity log at hotel {hotelId} from {from} to {to}.
        slots:
          hotelId: path.hotelId
          from: query.fromDate
          to: query.toDate
      - text: Get activity log entries at hotel {hotelId} of type {type}.
        slots:
          hotelId: path.hotelId
          type: query.activityType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/reservations/alerts'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update alerts on many reservations
      effect: write
      questions:
      - Can I add the same alert to many reservations at once?
      - Is there a bulk way to create reservation alerts for front desk staff?
      instructions:
      - text: Create bulk reservation alerts {reservations} at hotel {hotelId}.
        slots:
          reservations: requestBody.reservations
          hotelId: path.hotelId
      - text: Add a check-in alert to several bookings at hotel {hotelId} in one go.
        slots:
          hotelId: path.hotelId
      method: generated
      generated: '2026-09-26'


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