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.
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
# 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'