# 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 Service Front Desk Operations API version: 1.0.0 extends: openapi/oracle-hospitality-frontdeskoperations-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: 61 - target: $.paths['/hotels/{hotelId}/authorizationReservations'].get update: x-apievangelist-phrasing: intent: Find reservations due a batch card authorization effect: read questions: - Which reservations still need their credit card authorized in the nightly batch? - Can I narrow batch authorization candidates by card type or arrival dates? instructions: - text: List reservations eligible for batch credit card authorization at hotel {hotel}. slots: hotel: path.hotelId - text: Show batch card authorization candidates at {hotel} arriving between {start} and {end}. slots: hotel: path.hotelId start: query.arrivalStartDate end: query.arrivalEndDate method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/batchReservationAuthorizations'].put update: x-apievangelist-phrasing: intent: Run batch credit card authorization effect: write questions: - How do I authorize credit cards for many reservations in one run? - Can I submit a list of reservations for batch card authorization? instructions: - text: Process batch credit card authorization at hotel {hotel} for reservations {reservations}. slots: hotel: path.hotelId reservations: requestBody.reservations - text: Run the batch card authorization for tonight's arrivals at {hotel}. slots: hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/billingReservations'].get update: x-apievangelist-phrasing: intent: Find reservations ready for billing effect: read questions: - Which reservations have open folios that the cashier needs to bill? - What is the maximum date span when searching reservations for billing? - Can I search billing reservations by guest surname or room number? instructions: - text: List reservations for billing at hotel {hotel}. slots: hotel: path.hotelId - text: Find billing reservations at {hotel} for guest surname {surname} with open folios. slots: hotel: path.hotelId surname: query.surname - text: Show reservations to bill at {hotel} departing between {start} and {end}. slots: hotel: path.hotelId start: query.departureStart end: query.departureEnd method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/dailyDocket'].get update: x-apievangelist-phrasing: intent: Get the daily docket effect: read questions: - What is on today's daily docket for the front office? - Can I pull the daily docket for one department on a given date? instructions: - text: Get the daily docket at hotel {hotel} for {date}. slots: hotel: path.hotelId date: query.docketDate - text: Show the {department} department's daily docket at {hotel}. slots: department: query.department hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/dailyDocket'].put update: x-apievangelist-phrasing: intent: Change daily docket entries effect: write questions: - Can I edit entries already on the daily docket? - How do I correct a daily docket entry after it was created? instructions: - text: Update the existing daily docket entries at hotel {hotel} with {entries}. slots: hotel: path.hotelId entries: requestBody.dailyDocketEntries - text: Edit today's docket entry at {hotel} to change its department. slots: hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/dailyDocket'].post update: x-apievangelist-phrasing: intent: Create a daily docket entry effect: write questions: - What do I send to add a new item to the daily docket? - Can I create several daily docket entries in one request? instructions: - text: Create a new daily docket at hotel {hotel} with {entries}. slots: hotel: path.hotelId entries: requestBody.dailyDocketEntries - text: Add a new docket entry at {hotel} for the VIP arrival. slots: hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/dailyDocket/{docketId}'].delete update: x-apievangelist-phrasing: intent: Delete a daily docket effect: destructive questions: - How do I remove a daily docket that is no longer needed? - Can I delete a single docket by its id? instructions: - text: Delete daily docket {docket} at hotel {hotel}. slots: docket: path.docketId hotel: path.hotelId - text: Remove docket {docket}. slots: docket: path.docketId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/externalRoomKeys'].post update: x-apievangelist-phrasing: intent: Request room keys from an external door lock effect: write questions: - How does OPERA Cloud send a key request to an external door lock system via outbound configuration? - Which encoder and key type fields are required for an external room key request? instructions: - text: Send an external door lock key request at hotel {hotel} on encoder {encoder} terminal {terminal} with key type {keyType}. slots: hotel: path.hotelId encoder: requestBody.encoderId terminal: requestBody.encoderTerminal keyType: requestBody.keyType - text: Ask the external lock system for {count} keys for room {room}. slots: count: requestBody.noOfKeys room: requestBody.roomId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/floorPlans'].get update: x-apievangelist-phrasing: intent: Get a property's floor plans effect: read questions: - Can I see a graphical layout of the floors and rooms in my hotel? - Where are the elevators and stairways relative to a given room? instructions: - text: Get the floor plans for hotel {hotel}. slots: hotel: path.hotelId - text: Show the floor plan containing room {room} at {hotel}. slots: room: query.room hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/fulfillmentActivityLogs'].get update: x-apievangelist-phrasing: intent: Review the fulfillment activity log effect: read questions: - What fulfillment activity has been logged at my property recently? - How far back can the fulfillment activity log be searched? instructions: - text: Show the fulfillment activity log at hotel {hotel} from {from} to {to}. slots: hotel: path.hotelId from: query.fromDate to: query.toDate - text: Search fulfillment activity at {hotel} for text {text}. slots: hotel: path.hotelId text: query.searchText method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/interfaces/{interfaceId}/roomStatuses'].get update: x-apievangelist-phrasing: intent: Get room statuses from a property interface effect: read questions: - What room statuses is a connected interface reporting for arriving guests? - Can I filter interface room statuses by floor or room class? instructions: - text: Get room interface statuses from interface {interface} at hotel {hotel}. slots: interface: path.interfaceId hotel: path.hotelId - text: Show interface {interface} room status for guest {lastName}. slots: interface: path.interfaceId lastName: query.lastName method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/interfaces/{interfaceId}/roomStatuses'].put update: x-apievangelist-phrasing: intent: Change room statuses on a property interface effect: write questions: - Can I push an updated reservation status to a connected room interface? - How do I reset the interface status for a guest's room? instructions: - text: Update room statuses on interface {interface} at hotel {hotel} with {status}. slots: interface: path.interfaceId hotel: path.hotelId status: requestBody.reservationInterfaceStatus - text: Change the interface room status for interface {interface}. slots: interface: path.interfaceId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/keyInterfaces'].get update: x-apievangelist-phrasing: intent: Get key encoder interface configuration effect: read questions: - Which key encoders are configured for my door lock interface? - Can I look up key encoder settings for one interface id? instructions: - text: Get key encoder interface details at hotel {hotel}. slots: hotel: path.hotelId - text: Show encoder configuration for interface {interface} at {hotel}. slots: interface: query.interfaceId hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/queuedReservations'].get update: x-apievangelist-phrasing: intent: List queued reservations waiting for rooms effect: read questions: - Which arrived guests are waiting in the queue because their room isn't ready? - Can I search the room queue by guest name or room type? instructions: - text: List queued reservations at hotel {hotel}. slots: hotel: path.hotelId - text: Find queued guests at {hotel} whose name matches {name}. slots: hotel: path.hotelId name: query.guestNameWildCard method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/queuedReservations/{reservationId}'].put update: x-apievangelist-phrasing: intent: Add a reservation to the room queue effect: write questions: - How do I put an arriving guest in the queue until housekeeping readies a room? - Can I queue a reservation when no room of its type is available? instructions: - text: Add reservation {reservation} at hotel {hotel} to the room queue. slots: reservation: path.reservationId hotel: path.hotelId - text: Queue reservation {reservation} until a room is clean. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/queuedReservations/{reservationId}'].delete update: x-apievangelist-phrasing: intent: Remove a reservation from the room queue effect: destructive questions: - How do I take a guest out of the queue once their room is assigned? - Can I remove one reservation from the queued rooms list? instructions: - text: Remove reservation {reservation} at hotel {hotel} from the queue. slots: reservation: path.reservationId hotel: path.hotelId - text: Take {reservation} off the queued reservations list. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservationSummaries'].get update: x-apievangelist-phrasing: intent: Search reservation summaries for a hotel effect: read questions: - Can I get a quick summary list of reservations by membership number or VIP status? - Which reservations are staying over a given date range at my hotel? - What search criteria does the reservation summaries lookup support? instructions: - text: Get reservation summaries at hotel {hotel} arriving from {start} to {end}. slots: hotel: path.hotelId start: query.arrivalStart end: query.arrivalEnd - text: Find reservation summaries at {hotel} for company {company}. slots: hotel: path.hotelId company: query.companyName - text: Summarize reservations at {hotel} for member {member}. slots: hotel: path.hotelId member: query.membershipNumber method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/ai/rooms'].get update: x-apievangelist-phrasing: intent: Check the last AI room assignment run effect: read questions: - Did the last AI room assignment run finish successfully? - When did automated intelligence room assignment last run at my property? instructions: - text: Get the last AI room assignment run status for hotel {hotel}. slots: hotel: path.hotelId - text: Show me how the most recent AI room assignment at {hotel} went. slots: hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/ai/rooms'].post update: x-apievangelist-phrasing: intent: Run AI room assignment for arrivals effect: write questions: - Can AI allocate rooms to all of today's incoming reservations? - How do I trigger automated intelligence room assignment across several hotels? instructions: - text: Run AI room assignment at hotel {hotel}. slots: hotel: path.hotelId - text: Use AI to assign rooms for hotels {hotels}. slots: hotels: requestBody.hotelCodes method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/autoRoomAssignments'].post update: x-apievangelist-phrasing: intent: Auto-assign rooms to reservations effect: write questions: - Can the system pick and assign rooms automatically based on criteria? - What criteria drive the rule-based auto room assignment? instructions: - text: Automatically assign rooms at hotel {hotel} using {criteria}. slots: hotel: path.hotelId criteria: requestBody.criteria - text: Auto-assign rooms to unassigned arrivals at {hotel}. slots: hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/autoRoomAssignments'].delete update: x-apievangelist-phrasing: intent: Automatically unassign rooms from reservations effect: destructive questions: - How do I clear room assignments in bulk for a date range? - Can I auto-unassign rooms only on a particular floor or room type? instructions: - text: Auto-unassign rooms at hotel {hotel} from {start} to {end}. slots: hotel: path.hotelId start: query.startDate end: query.endDate - text: Unassign all {roomType} rooms at {hotel} automatically. slots: roomType: query.roomType hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/massAdvanceCheckIns'].post update: x-apievangelist-phrasing: intent: Advance check in many reservations at once effect: write questions: - Can I flag a whole group of today's arrivals as advance checked in? - What criteria select reservations for a mass advance check-in? instructions: - text: Mass advance check in reservations at hotel {hotel} matching {criteria}. slots: hotel: path.hotelId criteria: requestBody.criteria - text: Advance check in every early-arriving group reservation at {hotel}. slots: hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/massCheckIns'].post update: x-apievangelist-phrasing: intent: Check in many reservations at once effect: write questions: - How do I check in a whole tour group in one step? - Can I mass check in reservations that match a set of criteria? instructions: - text: Check in, in one batch, every arrival at property {hotel} that fits {criteria}. slots: hotel: path.hotelId criteria: requestBody.criteria - text: Fully check in all of today's group arrivals at {hotel}. slots: hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/advanceCheckIns'].post update: x-apievangelist-phrasing: intent: Advance check in one reservation effect: write questions: - Can a guest who arrived before their room is ready post charges to their folio? - How do I flag a single reservation as advance checked in? instructions: - text: Advance check in reservation {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: Mark {reservation} as advance checked in so the guest can charge to the room. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/advanceCheckIns'].delete update: x-apievangelist-phrasing: intent: Reverse an advance check-in effect: destructive questions: - How do I undo an advance check-in flagged by mistake? - Can I reverse the advance checked-in status on a reservation? instructions: - text: Reverse the advance check-in on reservation {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: Remove the advance check-in flag from {reservation}. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/checkIns'].post update: x-apievangelist-phrasing: intent: Check in a guest effect: write questions: - What status must a reservation be in before I can check the guest in? - Can I pick an available room as part of checking in a guest? instructions: - text: Check in reservation {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: Check in the guest on {reservation} and send notifications. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/checkIns'].delete update: x-apievangelist-phrasing: intent: Reverse a guest check-in effect: destructive questions: - How do I put a checked-in reservation back to due in status? - Can I unassign the room when I reverse a check-in? instructions: - text: Reverse the check-in for reservation {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: Undo check-in on {reservation} and set the room status to {status}. slots: reservation: path.reservationId status: query.roomStatus method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/keyOptions'].get update: x-apievangelist-phrasing: intent: Get door lock key options for a reservation effect: read questions: - Which areas like the pool or gym can this guest's room key open? - What key option preferences are attached to a reservation's room and profile? instructions: - text: Get key options for reservation {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: Show the door lock access options on {reservation}. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/linked'].get update: x-apievangelist-phrasing: intent: List reservations linked to a reservation effect: read questions: - Which other reservations are linked to this booking? - Can I see all the rooms linked together for a family's stay? instructions: - text: Get reservations linked to {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: Show the linked reservations for {reservation}. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/priority'].put update: x-apievangelist-phrasing: intent: Change a queued reservation's priority effect: write questions: - Can I move a VIP guest up the room-ready queue? - How do I set the queue priority on a waiting reservation? instructions: - text: Set queue priority {priority} on reservation {reservation} at hotel {hotel}. slots: priority: requestBody.priority reservation: path.reservationId hotel: path.hotelId - text: Bump {reservation} to the top of the room queue. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/roomAssignments'].post update: x-apievangelist-phrasing: intent: Assign a room to a reservation effect: write questions: - How do I assign a specific room to a reserved booking? - Can I override warnings to force a room assignment? instructions: - text: Assign a room to reservation {reservation} at hotel {hotel} using {criteria}. slots: reservation: path.reservationId hotel: path.hotelId criteria: requestBody.criteria - text: Give reservation {reservation} room 412, overriding warnings. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/roomKeys'].get update: x-apievangelist-phrasing: intent: Get room key details for a reservation effect: read questions: - What room keys have already been cut for this reservation? - Can I include inactive keys when reviewing a guest's room keys? instructions: - text: Get room keys for reservation {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: List active and inactive keys on {reservation}. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/roomKeys'].put update: x-apievangelist-phrasing: intent: Update existing room keys on a reservation effect: write questions: - Can I change key options or balances on keys already issued with multiple guest keys active? - How do I update room key details for guests sharing a room? instructions: - text: Update the existing room keys on reservation {reservation} at hotel {hotel} with key options {options}. slots: reservation: path.reservationId hotel: path.hotelId options: requestBody.keyOptions - text: Change the issued keys on {reservation} for room {room}. slots: reservation: path.reservationId room: requestBody.roomNumber method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/roomKeys'].post update: x-apievangelist-phrasing: intent: Request new room keys for a reservation effect: write questions: - How do I cut new room keys for a reservation through the door lock interface? - Can I set how long a new room key stays valid? instructions: - text: Create {count} room keys for reservation {reservation} at hotel {hotel}. slots: count: requestBody.noOfKeys reservation: path.reservationId hotel: path.hotelId - text: Make a new key for {reservation} valid until {end}. slots: reservation: path.reservationId end: requestBody.keyValidityEnd method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/roomKeys'].delete update: x-apievangelist-phrasing: intent: Delete room keys on a reservation effect: destructive questions: - How do I invalidate the room keys issued for a reservation? - Can I delete all keys on a booking after a guest loses them? instructions: - text: Delete room keys on reservation {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: Cancel every key issued for {reservation}. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/roomMoveHistory'].get update: x-apievangelist-phrasing: intent: Get a reservation's room move history effect: read questions: - Which rooms has this guest been moved between during their stay? - Can I see the history of room changes on a reservation? instructions: - text: Get room move history for reservation {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: Show all room changes on {reservation}. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/rooms'].put update: x-apievangelist-phrasing: intent: Unassign the room from a reservation effect: destructive questions: - How do I remove the assigned room from a reserved booking? - Can I unassign a room even if the room number is locked? instructions: - text: Remove the assigned room from reservation {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: Unassign the room on {reservation}, overriding the room number lock. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/rooms/{roomId}/roomMoves'].put update: x-apievangelist-phrasing: intent: Move an in-house guest to another room effect: write questions: - A checked-in guest wants a different room, how do I move them? - Can I record a room move for a guest who is already in house? instructions: - text: Move in-house reservation {reservation} at hotel {hotel} from room {room}. slots: reservation: path.reservationId hotel: path.hotelId room: path.roomId - text: Relocate the guest on {reservation} out of room {room} using {criteria}. slots: reservation: path.reservationId room: path.roomId criteria: requestBody.criteria method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/suggestedRooms'].get update: x-apievangelist-phrasing: intent: Get suggested rooms for a reservation effect: read questions: - Which rooms does the system recommend for this reservation? - Can I get room suggestions that have a particular feature? instructions: - text: Get suggested rooms for reservation {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: Suggest {roomType} rooms for {reservation} with feature {feature}. slots: roomType: query.roomType reservation: path.reservationId feature: query.roomFeatureCode method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/textMessages/{messageType}'].put update: x-apievangelist-phrasing: intent: Text a queued guest that their room is ready effect: write questions: - Can I send a text message to a queued guest when their room is ready? - How do I deliver the queue rooms SMS for a reservation? instructions: - text: Send the {type} queue text message for reservation {reservation} at hotel {hotel}. slots: type: path.messageType reservation: path.reservationId hotel: path.hotelId - text: Text the guest on {reservation} with message type {type}. slots: reservation: path.reservationId type: path.messageType method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/verifyCheckIns'].get update: x-apievangelist-phrasing: intent: Verify a reservation can be checked in effect: read questions: - Is this reservation ready to be checked in, or are there blockers? - What checks run before a check-in is allowed? instructions: - text: Verify check-in readiness for reservation {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: Pre-check whether {reservation} passes check-in validation. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/wakeUpCalls'].get update: x-apievangelist-phrasing: intent: Get wake-up calls on one reservation effect: read questions: - What wake-up calls are set for this in-house guest? - Can I include completed or no-answer wake-up calls for a single reservation? instructions: - text: Get wake-up calls for reservation {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: Show pending wake-up calls on {reservation} from {begin}. slots: reservation: path.reservationId begin: query.beginDate method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/wakeUpCalls'].put update: x-apievangelist-phrasing: intent: Change a wake-up call effect: write questions: - How do I move an existing wake-up call to a different time? - Can I edit a wake-up call on an in-house reservation? instructions: - text: Update the existing wake-up call on reservation {reservation} at hotel {hotel} with {calls}. slots: reservation: path.reservationId hotel: path.hotelId calls: requestBody.calls - text: Reschedule the wake-up call on {reservation} to 6:30 am. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/wakeUpCalls'].post update: x-apievangelist-phrasing: intent: Set a wake-up call for a guest effect: write questions: - Can I schedule a wake-up call for a guest who hasn't checked in yet? - What do I send to set a new wake-up call on a reservation? instructions: - text: Create a wake-up call on reservation {reservation} at hotel {hotel} with {calls}. slots: reservation: path.reservationId hotel: path.hotelId calls: requestBody.calls - text: Set a new 7 am wake-up call for {reservation}. slots: reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/wakeUpCalls'].delete update: x-apievangelist-phrasing: intent: Cancel a wake-up call effect: destructive questions: - How do I cancel a guest's wake-up call? - Can I cancel just the wake-up call set for a specific time? instructions: - text: Cancel the wake-up call on reservation {reservation} at hotel {hotel}. slots: reservation: path.reservationId hotel: path.hotelId - text: Cancel the {time} wake-up call for {reservation}. slots: time: query.callTime reservation: path.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservationsKeyOptions'].get update: x-apievangelist-phrasing: intent: Get key options for several reservations effect: read questions: - Can I fetch door lock key options for a batch of reservations at once? - Which access areas do the keys for a list of reservations allow? instructions: - text: Get key options for reservations {reservations} at hotel {hotel}. slots: reservations: query.reservationIdList hotel: path.hotelId - text: Show the combined reservation and profile key options for {reservations}. slots: reservations: query.reservationIdList method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/roomKeysDetails'].get update: x-apievangelist-phrasing: intent: Read a room key card on an encoder effect: read questions: - Can I read what's encoded on a key card sitting in the encoder? - Which room and guest does this key card belong to? instructions: - text: Read the room key on encoder terminal {terminal} at hotel {hotel}. slots: terminal: query.encoderTerminal hotel: path.hotelId - text: Read the key card on encoder {encoder}. slots: encoder: query.encoderId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/roomKeysExternal'].post update: x-apievangelist-phrasing: intent: Request room keys via external lock with key user type effect: write questions: - What fields like key request time and key user type does the roomKeysExternal endpoint require? - Can I send card serial number and print data with an external key request? instructions: - text: Request {roomKeyType} keys at {hotel} on encoder {encoder}/{terminal}, key type {keyType}, user type {userType}, at {time}. slots: roomKeyType: requestBody.roomKeyType hotel: path.hotelId encoder: requestBody.encoderId terminal: requestBody.encoderTerminal keyType: requestBody.keyType userType: requestBody.keyUserType time: requestBody.keyRequestTime - text: Send a roomKeysExternal request for card serial {serial}. slots: serial: requestBody.cardSerialNumber method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/rooms'].get update: x-apievangelist-phrasing: intent: Search rooms available to assign effect: read questions: - Which clean vacant rooms can I assign to an arriving reservation? - Can I search rooms by floor, room class or smoking preference? - What rooms of a given type are free between two dates? instructions: - text: Find assignable rooms at hotel {hotel} of room type {roomType}. slots: hotel: path.hotelId roomType: query.roomType - text: Search rooms at {hotel} on floor {floor} with status {status}. slots: hotel: path.hotelId floor: query.floor status: query.hotelRoomStatus method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/rooms/onHold'].post update: x-apievangelist-phrasing: intent: Place rooms on hold effect: write questions: - How do I hold a room so nobody else assigns it? - Can I place several rooms on hold at once? instructions: - text: Place rooms on hold at hotel {hotel} with {details}. slots: hotel: path.hotelId details: requestBody.holdRoomsDetails - text: Hold room 305 at {hotel} for an incoming VIP. slots: hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/rooms/onHold/release'].post update: x-apievangelist-phrasing: intent: Release rooms on hold effect: write questions: - How do I free up a room that was placed on hold? - Can I release held rooms even if another user placed the hold? instructions: - text: Release held rooms at hotel {hotel} with {details}. slots: hotel: path.hotelId details: requestBody.holdRoomsDetails - text: Release the hold on room 305 at {hotel}. slots: hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/serviceRequests'].get update: x-apievangelist-phrasing: intent: List service requests effect: read questions: - What open service requests do guests have at my hotel? - Can I filter service requests by department or priority? instructions: - text: List service requests at hotel {hotel}. slots: hotel: path.hotelId - text: Show service requests at {hotel} for reservation {reservation}. slots: hotel: path.hotelId reservation: query.reservationId - text: Find service requests at {hotel} with status {status}. slots: hotel: path.hotelId status: query.status method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/serviceRequests'].put update: x-apievangelist-phrasing: intent: Update service requests effect: write questions: - How do I mark a guest service request as completed? - Can I change the details of an existing service request? instructions: - text: Update existing service requests at hotel {hotel} with {details}. slots: hotel: path.hotelId details: requestBody.serviceRequestsDetails - text: Close the broken-AC service request at {hotel}. slots: hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/serviceRequests'].post update: x-apievangelist-phrasing: intent: Create a service request on a reservation effect: write questions: - Can I log a guest complaint as a service request to track and follow up? - What does a new service request need to include? instructions: - text: Create a service request at hotel {hotel} with {details}. slots: hotel: path.hotelId details: requestBody.serviceRequestsDetails - text: Open a new service request at {hotel} for extra towels in room 210. slots: hotel: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/serviceRequests/{serviceRequestId}'].delete update: x-apievangelist-phrasing: intent: Delete a service request effect: destructive questions: - How do I delete a service request logged in error? - Can I remove a single service request by its id? instructions: - text: Delete service request {request} at hotel {hotel}. slots: request: path.serviceRequestId hotel: path.hotelId - text: Remove service request {request}. slots: request: path.serviceRequestId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/sourceReservations/{sourceReservationId}/targetReservations/{targetReservationId}/shiftRooms'].put update: x-apievangelist-phrasing: intent: Shift a room from one reservation to another effect: write questions: - Can I hand one reservation's room over to another reservation in one step? - What does shifting rooms between two reservations do to the source booking? instructions: - text: Shift the room from reservation {source} to reservation {target} at hotel {hotel}. slots: source: path.sourceReservationId target: path.targetReservationId hotel: path.hotelId - text: Give {target} the room currently held by {source}. slots: target: path.targetReservationId source: path.sourceReservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/sourceReservations/{sourceReservationId}/targetReservations/{targetReservationId}/swapRooms'].put update: x-apievangelist-phrasing: intent: Swap rooms between two reservations effect: write questions: - How do I swap the rooms of two guests with each other? - Can I exchange rooms between two reservations without unassigning either? instructions: - text: Swap rooms between reservation {source} and reservation {target} at hotel {hotel}. slots: source: path.sourceReservationId target: path.targetReservationId hotel: path.hotelId - text: Exchange rooms so {source} and {target} trade places. slots: source: path.sourceReservationId target: path.targetReservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/textMessages/{messageType}'].get update: x-apievangelist-phrasing: intent: Preview the queue room text message effect: read questions: - What text will a queued guest receive when their room is ready? - Can I look up the queue rooms message for a given mobile number? instructions: - text: Get the {type} queue room text message at hotel {hotel}. slots: type: path.messageType hotel: path.hotelId - text: Preview queue message {type} for reservation {reservation}. slots: type: path.messageType reservation: query.reservationId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/wakeUpCalls'].get update: x-apievangelist-phrasing: intent: List wake-up calls across the hotel effect: read questions: - Which wake-up calls are scheduled at my hotel for tomorrow morning? - Can I list hotel-wide wake-up calls that got no answer? instructions: - text: List all wake-up calls at hotel {hotel} from {begin} to {end}. slots: hotel: path.hotelId begin: query.beginDate end: query.endDate - text: Show hotel-wide wake-up calls at {hotel} for room {room}. slots: hotel: path.hotelId room: query.room method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/wakeUpCalls/searches'].post update: x-apievangelist-phrasing: intent: Search wake-up calls with a request body effect: read questions: - Can I search wake-up calls by posting the filters in a request body? - Is there a POST search for wake-up calls filtered by guest name? instructions: - text: Search wake-up calls at hotel {hotel} for guest {guest}. slots: hotel: path.hotelId guest: requestBody.guestName - text: Run a wake-up call search at {hotel} for block {block}. slots: hotel: path.hotelId block: requestBody.blockId method: generated generated: '2026-09-26' - target: $.paths['/services/frontDeskOperations/status'].get update: x-apievangelist-phrasing: intent: Check the front desk service is up effect: read questions: - Is the front desk operations service responding? - Can I health-check the front desk API before running check-ins? instructions: - text: Ping the front desk operations service. - text: Health-check the front desk API as hotel {hotel}. slots: hotel: header.x-hotelid method: generated generated: '2026-09-26'