Oracle Hospitality · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for OPERA Cloud Reservation Asynchronous Reservation Async API

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

$.info
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/reservations/dailySummary'].post
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/reservations/dailySummary/{summaryId}'].get
$.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/reservations/dailySummary/{summaryId}'].head
$.paths['/hotels/{hotelId}/reservationDetailsMassUpdate'].post
$.paths['/hotels/{hotelId}/tracesMassUpdate'].post
$.paths['/hotels/{hotelId}/preferencesMassUpdate'].post
$.paths['/hotels/{hotelId}/routingInstructionsMassUpdate'].post
$.paths['/hotels/{hotelId}/housekeepingMassUpdate'].post
$.paths['/hotels/{hotelId}/massUpdate/{massUpdateId}'].get
$.paths['/hotels/{hotelId}/massUpdate/{massUpdateId}'].head
$.paths['/hotels/{hotelId}/notesMassUpdate'].post
$.paths['/hotels/{hotelId}/transportationsMassUpdate'].post
$.paths['/hotels/{hotelId}/blocks/{blockId}/roominglistvalidation'].post
$.paths['/hotels/{hotelId}/roominglistvalidation/{requestId}'].get
$.paths['/hotels/{hotelId}/roominglistvalidation/{requestId}'].head

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 Asynchronous Reservation Async API
  version: 1.0.0
extends: openapi/oracle-hospitality-reservationasync-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: 19
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/reservations/dailySummary'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a reservations daily summary job
      effect: write
      questions:
      - How do I request a daily reservation summary for a date range?
      - What's the longest date range a daily summary job can cover?
      instructions:
      - text: Start a reservations daily summary for hotel {hotelId} via external system {extSystemCode}.
        slots:
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: Kick off a daily summary for hotel {hotelId} with {criteria}.
        slots:
          hotelId: path.hotelId
          criteria: requestBody.criteria
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/reservations/dailySummary/{summaryId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the results of a daily summary job
      effect: read
      questions:
      - Where do I fetch the finished reservation daily summary?
      - Can I download the daily summary once its job is complete?
      instructions:
      - text: Get daily summary {summaryId} for hotel {hotelId} and system {extSystemCode}.
        slots:
          summaryId: path.summaryId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: Fetch the results of summary job {summaryId}.
        slots:
          summaryId: path.summaryId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/externalSystems/{extSystemCode}/hotels/{hotelId}/reservations/dailySummary/{summaryId}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check if a daily summary job is done
      effect: read
      questions:
      - Is my reservation daily summary still processing?
      - How can I poll a daily summary job without downloading it?
      instructions:
      - text: Check the status of daily summary {summaryId} for hotel {hotelId} and system {extSystemCode}.
        slots:
          summaryId: path.summaryId
          hotelId: path.hotelId
          extSystemCode: path.extSystemCode
      - text: Poll whether summary {summaryId} has finished.
        slots:
          summaryId: path.summaryId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/reservationDetailsMassUpdate'].post
  update:
    x-apievangelist-phrasing:
      intent: Mass update reservation details
      effect: write
      questions:
      - Can I change the market or source code on many reservations at once?
      - How do I bulk-set expected arrival times for a list of bookings?
      instructions:
      - text: Set market code {marketCode} on reservations {reservationIds} at hotel {hotelId}.
        slots:
          marketCode: requestBody.marketCode
          reservationIds: requestBody.reservationIds
          hotelId: path.hotelId
      - text: Mass update source code to {sourceCode} for reservations {reservationIds}.
        slots:
          sourceCode: requestBody.sourceCode
          reservationIds: requestBody.reservationIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/tracesMassUpdate'].post
  update:
    x-apievangelist-phrasing:
      intent: Mass add traces to reservations
      effect: write
      questions:
      - How do I add the same trace for housekeeping to dozens of reservations?
      - Can I put a department trace on a whole list of bookings?
      instructions:
      - text: Add trace {traceText} to reservations {reservationIds} at hotel {hotelId}.
        slots:
          traceText: requestBody.traceText
          reservationIds: requestBody.reservationIds
          hotelId: path.hotelId
      - text: Send a trace to departments {departmentIds} on reservations {reservationIds}.
        slots:
          departmentIds: requestBody.departmentIds
          reservationIds: requestBody.reservationIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/preferencesMassUpdate'].post
  update:
    x-apievangelist-phrasing:
      intent: Mass add preferences to reservations
      effect: write
      questions:
      - Can I add a guest preference like a high floor to many reservations at once?
      - Will mass-added preferences also be copied to the guest profiles?
      instructions:
      - text: Add preferences {preferenceCollection} to reservations {reservationIds} at hotel {hotelId}.
        slots:
          preferenceCollection: requestBody.preferenceCollection
          reservationIds: requestBody.reservationIds
          hotelId: path.hotelId
      - text: Add these preferences to reservations {reservationIds} and copy them to profiles.
        slots:
          reservationIds: requestBody.reservationIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/routingInstructionsMassUpdate'].post
  update:
    x-apievangelist-phrasing:
      intent: Mass update reservation routing instructions
      effect: write
      questions:
      - How do I route charges to a master folio for a whole list of reservations?
      - Can I set room routing on many bookings in one job?
      instructions:
      - text: Route charges for reservations {reservationIds} to room {room} at hotel {hotelId}.
        slots:
          reservationIds: requestBody.reservationIds
          room: requestBody.room
          hotelId: path.hotelId
      - text: Apply folio routing {folio} to reservations {reservationIds}.
        slots:
          folio: requestBody.folio
          reservationIds: requestBody.reservationIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/housekeepingMassUpdate'].post
  update:
    x-apievangelist-phrasing:
      intent: Mass update reservation housekeeping
      effect: write
      questions:
      - Can I set a housekeeping service schedule for a batch of reservations?
      - How do I change housekeeping instructions on many bookings at once?
      instructions:
      - text: Apply housekeeping schedule {housekeepingSchedule} to reservations {reservationIds} at hotel {hotelId}.
        slots:
          housekeepingSchedule: requestBody.housekeepingSchedule
          reservationIds: requestBody.reservationIds
          hotelId: path.hotelId
      - text: Set housekeeping instructions {housekeepingInstructions} on reservations {reservationIds}.
        slots:
          housekeepingInstructions: requestBody.housekeepingInstructions
          reservationIds: requestBody.reservationIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/massUpdate/{massUpdateId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the results of a mass update job
      effect: read
      questions:
      - Which reservations succeeded or failed in my mass update?
      - Where do I see the outcome of a reservation mass update?
      instructions:
      - text: Get the results of mass update {massUpdateId} at hotel {hotelId}.
        slots:
          massUpdateId: path.massUpdateId
          hotelId: path.hotelId
      - text: Show the reservation summary for mass update {massUpdateId}.
        slots:
          massUpdateId: path.massUpdateId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/massUpdate/{massUpdateId}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check if a mass update job is done
      effect: read
      questions:
      - Is my reservation mass update still running?
      - How do I poll a mass update's status without fetching its results?
      instructions:
      - text: Check the status of mass update {massUpdateId} at hotel {hotelId}.
        slots:
          massUpdateId: path.massUpdateId
          hotelId: path.hotelId
      - text: Poll whether mass update {massUpdateId} has completed.
        slots:
          massUpdateId: path.massUpdateId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/notesMassUpdate'].post
  update:
    x-apievangelist-phrasing:
      intent: Mass add notes to reservations
      effect: write
      questions:
      - How do I add the same comment to a list of reservations?
      - Can I put a note on many bookings in one request?
      instructions:
      - text: Add note {reservationComment} to reservations {reservationIds} at hotel {hotelId}.
        slots:
          reservationComment: requestBody.reservationComment
          reservationIds: requestBody.reservationIds
          hotelId: path.hotelId
      - text: Mass-add a VIP arrival comment to reservations {reservationIds}.
        slots:
          reservationIds: requestBody.reservationIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/transportationsMassUpdate'].post
  update:
    x-apievangelist-phrasing:
      intent: Mass add transportation to reservations
      effect: write
      questions:
      - Can I add airport pickup details to many reservations at once?
      - How do I set departure transport for a whole group's bookings?
      instructions:
      - text: Add arrival transport {arrivalTransport} to reservations {reservationIds} at hotel {hotelId}.
        slots:
          arrivalTransport: requestBody.arrivalTransport
          reservationIds: requestBody.reservationIds
          hotelId: path.hotelId
      - text: Set departure transport {departureTransport} on reservations {reservationIds}.
        slots:
          departureTransport: requestBody.departureTransport
          reservationIds: requestBody.reservationIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/blocks/{blockId}/roominglistvalidation'].post
  update:
    x-apievangelist-phrasing:
      intent: Validate a rooming list for a block
      effect: read
      questions:
      - Can I check a group's rooming list for errors before creating the reservations?
      - How do I dry-run a rooming list against a block?
      instructions:
      - text: Validate the rooming list {reservations} for block {blockId} at hotel {hotelId}.
        slots:
          reservations: requestBody.reservations
          blockId: path.blockId
          hotelId: path.hotelId
      - text: Check block {blockId}'s rooming list for problems without booking it.
        slots:
          blockId: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/roominglistvalidation/{requestId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get rooming list validation results
      effect: read
      questions:
      - What problems did the rooming list validation find?
      - Where do I read the outcome of a rooming list check?
      instructions:
      - text: Get the validation results for request {requestId} at hotel {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Show what rooming list validation {requestId} reported.
        slots:
          requestId: path.requestId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/roominglistvalidation/{requestId}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check a rooming list validation's status
      effect: read
      questions:
      - Is my rooming list validation still processing or has it failed?
      - How do I poll a rooming list check for Success or Invalid?
      instructions:
      - text: Check the status of rooming list validation {requestId} at hotel {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Poll validation job {requestId} until it finishes.
        slots:
          requestId: path.requestId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/paymentInstructionsMassUpdate'].post
  update:
    x-apievangelist-phrasing:
      intent: Mass update reservation payment instructions
      effect: write
      questions:
      - Can I turn on pre-stay charging for a list of reservations at once?
      - How do I set posting restrictions on many bookings in one job?
      instructions:
      - text: Update payment instructions on reservations {reservationIds} at hotel {hotelId}.
        slots:
          reservationIds: requestBody.reservationIds
          hotelId: path.hotelId
      - text: Set posting restriction {postingRestriction} on reservations {reservationIds}.
        slots:
          postingRestriction: requestBody.postingRestriction
          reservationIds: requestBody.reservationIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/blocks/{blockId}/roominglistcreation'].post
  update:
    x-apievangelist-phrasing:
      intent: Create reservations from a rooming list
      effect: write
      questions:
      - How do I turn a group's rooming list into actual reservations?
      - Can I book all the names on a rooming list against a block, with shares?
      instructions:
      - text: Create reservations from rooming list {reservations} for block {blockId} at hotel {hotelId}.
        slots:
          reservations: requestBody.reservations
          blockId: path.blockId
          hotelId: path.hotelId
      - text: Book block {blockId}'s rooming list, including shares {shares}.
        slots:
          blockId: path.blockId
          shares: requestBody.shares
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/roominglistcreation/{requestId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get rooming list creation results
      effect: read
      questions:
      - Which rooming list reservations were created successfully?
      - Where do I read the outcome of a rooming list booking job?
      instructions:
      - text: Get the rooming list creation results for request {requestId} at hotel {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Show which reservations rooming list job {requestId} created.
        slots:
          requestId: path.requestId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelId}/roominglistcreation/{requestId}'].head
  update:
    x-apievangelist-phrasing:
      intent: Check a rooming list creation's status
      effect: read
      questions:
      - Is my rooming list reservation creation still running?
      - How do I poll whether rooming list booking succeeded or failed?
      instructions:
      - text: Check the status of rooming list creation {requestId} at hotel {hotelId}.
        slots:
          requestId: path.requestId
          hotelId: path.hotelId
      - text: Poll booking job {requestId} until it completes.
        slots:
          requestId: path.requestId
      method: generated
      generated: '2026-09-26'