# 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 Block Configuration Block Config API version: 1.0.0 extends: openapi/oracle-hospitality-blockconfig-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: 32 - target: $.paths['/blockStatusCodes'].get update: x-apievangelist-phrasing: intent: List block status codes effect: read questions: - What block status codes are configured for our chain? - Which block statuses are deduct versus non-deduct? instructions: - text: List the configured block status codes. - text: Show details for block status codes {blockStatusCodes}. slots: blockStatusCodes: query.blockStatusCodes method: generated generated: '2026-09-26' - target: $.paths['/blockStatusCodes'].post update: x-apievangelist-phrasing: intent: Create a block status code effect: write questions: - How do I add a new block status such as Tentative Hold? - Can I define a brand-new status code for group blocks? instructions: - text: Create block status code {blockStatusCode}. slots: blockStatusCode: requestBody.blockStatusCode - text: Add a new non-deduct block status called {blockStatusCode}. slots: blockStatusCode: requestBody.blockStatusCode method: generated generated: '2026-09-26' - target: $.paths['/blockStatusCodes/nextStatusCodes'].get update: x-apievangelist-phrasing: intent: Get allowed next statuses for a block status effect: read questions: - Which statuses can a block move to from its current status? - What is the configured status progression for blocks at a property? instructions: - text: Show the allowed next statuses after {blockStatusCodes}. slots: blockStatusCodes: query.blockStatusCodes - text: List only the configured next-status transitions for block statuses. method: generated generated: '2026-09-26' - target: $.paths['/blockStatusCodes/{blockStatusCode}'].put update: x-apievangelist-phrasing: intent: Change a block status code effect: write questions: - How do I edit the description or type of an existing block status? - Can I rename a block status code that's already configured? instructions: - text: Update block status code {code}. slots: code: path.blockStatusCode - text: Change the settings of existing block status {code} to {blockStatusCode}. slots: code: path.blockStatusCode blockStatusCode: requestBody.blockStatusCode method: generated generated: '2026-09-26' - target: $.paths['/blockStatusCodes/{blockStatusCode}'].delete update: x-apievangelist-phrasing: intent: Delete a block status code effect: destructive questions: - How do I remove a block status we no longer use? - Can I delete a configured block status code? instructions: - text: Delete block status code {blockStatusCode}. slots: blockStatusCode: path.blockStatusCode - text: Remove the unused block status {blockStatusCode} from configuration. slots: blockStatusCode: path.blockStatusCode method: generated generated: '2026-09-26' - target: $.paths['/blockStatusCodes/{srcBlockStatusCode}/nextStatusCodes'].put update: x-apievangelist-phrasing: intent: Set the next statuses for a block status effect: write questions: - How do I control which statuses a block can move to next? - Can I change the allowed transitions from a given block status? instructions: - text: Set the next statuses after {srcBlockStatusCode} to {nextBlockStatusCodeList}. slots: srcBlockStatusCode: path.srcBlockStatusCode nextBlockStatusCodeList: requestBody.nextBlockStatusCodeList - text: Update the status transitions allowed from {srcBlockStatusCode}. slots: srcBlockStatusCode: path.srcBlockStatusCode method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/blockCutoffScheduleRange'].put update: x-apievangelist-phrasing: intent: Set a cutoff schedule over a date range effect: write questions: - Can I apply cutoff days to blocks across a whole date range? - How do I set default cutoff days per room type for a period? instructions: - text: Set the block cutoff schedule range at hotel {hotelId} using {criteria}. slots: hotelId: path.hotelId criteria: requestBody.criteria - text: Apply cutoff days over a stay date range at hotel {hotelId}. slots: hotelId: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/blockSalesAllowance'].get update: x-apievangelist-phrasing: intent: Get block sales allowance effect: read questions: - How many rooms are we allowed to sell to groups on each night? - What's the block sales allowance by room type for the next 90 days? instructions: - text: Show block sales allowance at hotel {hotelId} from {startDateRange} to {endDateRange}. slots: hotelId: path.hotelId startDateRange: query.startDateRange endDateRange: query.endDateRange - text: Get sales allowance for room types {roomTypesCodes} at hotel {hotelId}. slots: roomTypesCodes: query.roomTypesCodes hotelId: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/blockSalesAllowance/activityLog'].get update: x-apievangelist-phrasing: intent: Review the block sales allowance activity log effect: read questions: - Who changed the block sales allowance and when? - Can I see the history of sales allowance changes for a date? instructions: - text: Show the sales allowance activity log for hotel {hotelId}. slots: hotelId: path.hotelId - text: List sales allowance changes made by user {userId} at hotel {hotelId}. slots: userId: query.userId hotelId: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/blockSalesAllowanceRange'].put update: x-apievangelist-phrasing: intent: Set block sales allowance for a date range effect: write questions: - How do I cap group room sales across a range of dates? - Can I set the sales allowance for many nights in one request? instructions: - text: Set block sales allowance at hotel {hotelId} using {criteria}. slots: hotelId: path.hotelId criteria: requestBody.criteria - text: Raise the group sales allowance for next month at hotel {hotelId}. slots: hotelId: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/blockSalesAllowanceRange'].delete update: x-apievangelist-phrasing: intent: Delete block sales allowance for a date range effect: destructive questions: - How do I clear the sales allowance for a range of dates? - Can I remove the allowance only on weekends within a date range? instructions: - text: Delete block sales allowance at hotel {hotelId} from {startDate} to {endDate}. slots: hotelId: path.hotelId startDate: query.startDate endDate: query.endDate - text: Clear Saturday sales allowances at hotel {hotelId} between {startDate} and {endDate}. slots: hotelId: path.hotelId startDate: query.startDate endDate: query.endDate method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/cutoffSchedules'].get update: x-apievangelist-phrasing: intent: List block cutoff schedule codes effect: read questions: - What cutoff schedule codes are configured at a property? - Which cutoff schedules start after a certain date? instructions: - text: List cutoff schedule codes at hotel {hotelId}. slots: hotelId: path.hotelId - text: Show cutoff schedules {cutoffCodes} at hotel {hotelId}. slots: cutoffCodes: query.cutoffCodes hotelId: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/cutoffSchedules'].post update: x-apievangelist-phrasing: intent: Create a block cutoff schedule code effect: write questions: - How do I create a new cutoff schedule for group blocks? - Can I define a cutoff code with default cutoff days per room type? instructions: - text: Create cutoff schedule code {cutoffCodes} at hotel {hotelId}. slots: cutoffCodes: requestBody.cutoffCodes hotelId: path.hotelId - text: Add a new 21-day cutoff schedule at hotel {hotelId}. slots: hotelId: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/cutoffSchedules/{cutoffCodeId}'].get update: x-apievangelist-phrasing: intent: Get the details of a cutoff schedule effect: read questions: - What cutoff days apply per stay date and room type under a cutoff code? - Can I see the day-by-day detail of one cutoff schedule? instructions: - text: Show the details of cutoff schedule {cutoffCodeId} at hotel {hotelId}. slots: cutoffCodeId: path.cutoffCodeId hotelId: path.hotelId - text: List stay dates and cutoff days under code {cutoffCodeId}. slots: cutoffCodeId: path.cutoffCodeId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/cutoffSchedules/{cutoffCodeId}'].put update: x-apievangelist-phrasing: intent: Change a block cutoff schedule code effect: write questions: - How do I edit an existing cutoff schedule code? - Can I change the cutoff days on a schedule already in use? instructions: - text: Update cutoff schedule {cutoffCodeId} at hotel {hotelId} with {cutoffCodes}. slots: cutoffCodeId: path.cutoffCodeId hotelId: path.hotelId cutoffCodes: requestBody.cutoffCodes - text: Change the cutoff days on schedule {cutoffCodeId}. slots: cutoffCodeId: path.cutoffCodeId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/cutoffSchedules/{cutoffCodeId}'].delete update: x-apievangelist-phrasing: intent: Delete a cutoff schedule code effect: destructive questions: - How do I remove a cutoff schedule we no longer apply to blocks? - Can I delete a cutoff schedule code at a property? instructions: - text: Delete cutoff schedule {cutoffCodeId} at hotel {hotelId}. slots: cutoffCodeId: path.cutoffCodeId hotelId: path.hotelId - text: Remove cutoff code {cutoffCodeId} from configuration. slots: cutoffCodeId: path.cutoffCodeId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/salesManagers'].get update: x-apievangelist-phrasing: intent: List a hotel's sales managers effect: read questions: - Who are the sales managers assigned to a property? - Can I look up one hotel's sales manager by last name? instructions: - text: List the sales managers at hotel {hotelId}. slots: hotelId: path.hotelId - text: Find sales managers named {lastName} at hotel {hotelId}. slots: lastName: query.lastName hotelId: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/salesManagers/searches'].post update: x-apievangelist-phrasing: intent: Search a hotel's sales managers with a body effect: read questions: - Can I send a search request body to find a property's sales managers by owner code? - Is there a POST search for one hotel's sales managers? instructions: - text: Run a POST search for sales managers with owner codes {ownerCodes} at hotel {hotelId}. slots: ownerCodes: requestBody.ownerCodes hotelId: path.hotelId - text: Search hotel {hotelId}'s sales managers by first name {firstName} via the searches endpoint. slots: hotelId: path.hotelId firstName: requestBody.firstName method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/salesManagers/{salesManagerId}/salesManagerGoals'].get update: x-apievangelist-phrasing: intent: Get a sales manager's goals at a hotel effect: read questions: - What revenue and room night goals does a sales manager have at a property? - Can I see only a sales manager's future goals for one hotel? instructions: - text: Show goals for sales manager {salesManagerId} at hotel {hotelId}. slots: salesManagerId: path.salesManagerId hotelId: path.hotelId - text: List future goals of sales manager {salesManagerId} at hotel {hotelId}. slots: salesManagerId: path.salesManagerId hotelId: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/salesManagers/{salesManagerId}/salesManagerGoals'].post update: x-apievangelist-phrasing: intent: Create goals for a sales manager effect: write questions: - How do I set new sales goals for a sales manager? - Can I add quarterly targets to a sales manager's record? instructions: - text: Create goals {salesManagerGoals} for sales manager {salesManagerId} at hotel {hotelId}. slots: salesManagerGoals: requestBody.salesManagerGoals salesManagerId: path.salesManagerId hotelId: path.hotelId - text: Add new sales targets for manager {salesManagerId}. slots: salesManagerId: path.salesManagerId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/salesManagers/{salesManagerId}/salesManagerGoals/{salesGoalId}'].put update: x-apievangelist-phrasing: intent: Update a sales manager's goal effect: write questions: - How do I revise an existing goal for a sales manager? - Can I change one specific sales goal by its goal ID? instructions: - text: Update goal {salesGoalId} for sales manager {salesManagerId} at hotel {hotelId}. slots: salesGoalId: path.salesGoalId salesManagerId: path.salesManagerId hotelId: path.hotelId - text: Change goal {salesGoalId} of manager {salesManagerId} to {salesManagerGoals}. slots: salesGoalId: path.salesGoalId salesManagerId: path.salesManagerId salesManagerGoals: requestBody.salesManagerGoals method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/washSchedules'].post update: x-apievangelist-phrasing: intent: Create a block wash schedule effect: write questions: - How do I set up a wash schedule that releases unsold group rooms over time? - Can I create a new wash schedule code for blocks? instructions: - text: Create wash schedule {washCodes} at hotel {hotelId}. slots: washCodes: requestBody.washCodes hotelId: path.hotelId - text: Add a new block wash schedule at hotel {hotelId}. slots: hotelId: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/washSchedules/{washScheduleCode}'].put update: x-apievangelist-phrasing: intent: Change an existing block wash schedule effect: write questions: - How do I edit the wash percentages on an existing wash schedule? - Can I change a wash schedule that is already configured? instructions: - text: Update wash schedule {washScheduleCode} at hotel {hotelId}. slots: washScheduleCode: path.washScheduleCode hotelId: path.hotelId - text: Change existing wash schedule {washScheduleCode} to {washCodes}. slots: washScheduleCode: path.washScheduleCode washCodes: requestBody.washCodes method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/washSchedules/{washScheduleCode}'].delete update: x-apievangelist-phrasing: intent: Delete a block wash schedule effect: destructive questions: - How do I remove a wash schedule we no longer use? - Can I delete a block wash schedule code? instructions: - text: Delete wash schedule {washScheduleCode} at hotel {hotelId}. slots: washScheduleCode: path.washScheduleCode hotelId: path.hotelId - text: Remove wash code {washScheduleCode}. slots: washScheduleCode: path.washScheduleCode method: generated generated: '2026-09-26' - target: $.paths['/salesManagers'].get update: x-apievangelist-phrasing: intent: List sales managers across hotels effect: read questions: - Who are the sales managers across several of our properties? - Can I list sales managers for multiple hotels at once? instructions: - text: List sales managers at hotels {hotelIds}. slots: hotelIds: query.hotelIds - text: Find sales managers with owner codes {ownerCodes} across hotels {hotelIds}. slots: ownerCodes: query.ownerCodes hotelIds: query.hotelIds method: generated generated: '2026-09-26' - target: $.paths['/salesManagers/searches'].post update: x-apievangelist-phrasing: intent: Search sales managers across hotels with a body effect: read questions: - Is there a POST search that finds sales managers across many hotels? - Can I send a multi-property sales manager search in the request body? instructions: - text: Run a multi-hotel POST search for sales managers at {hotelIds}. slots: hotelIds: requestBody.hotelIds - text: Search sales managers named {lastName} across hotels {hotelIds} via the searches endpoint. slots: lastName: requestBody.lastName hotelIds: requestBody.hotelIds method: generated generated: '2026-09-26' - target: $.paths['/salesManagers/{salesManagerId}/salesManagerGoals'].get update: x-apievangelist-phrasing: intent: Get a sales manager's goals across hotels effect: read questions: - What goals does a sales manager have across all the hotels they cover? - Can I see a sales manager's goals for several properties together? instructions: - text: Show goals for sales manager {salesManagerId} across all their hotels. slots: salesManagerId: path.salesManagerId - text: List goals of sales manager {salesManagerId} for hotels {hotelIds}. slots: salesManagerId: path.salesManagerId hotelIds: query.hotelIds method: generated generated: '2026-09-26' - target: $.paths['/salesManagers/{salesManagerId}/salesManagerGoals'].delete update: x-apievangelist-phrasing: intent: Delete several sales manager goals effect: destructive questions: - How do I delete several goals from a sales manager at once? - Can I clear a list of goals off a sales manager? instructions: - text: Delete goals {salesGoalId} for sales manager {salesManagerId}. slots: salesGoalId: query.salesGoalId salesManagerId: path.salesManagerId - text: Remove the listed goals from manager {salesManagerId}. slots: salesManagerId: path.salesManagerId method: generated generated: '2026-09-26' - target: $.paths['/salesManagers/{salesManagerId}/salesManagerGoals/{salesGoalId}'].delete update: x-apievangelist-phrasing: intent: Delete one sales manager goal effect: destructive questions: - How do I delete a single goal by its goal ID? - Can I remove just one target from a sales manager? instructions: - text: Delete goal {salesGoalId} of sales manager {salesManagerId}. slots: salesGoalId: path.salesGoalId salesManagerId: path.salesManagerId - text: Remove only goal {salesGoalId} from manager {salesManagerId}. slots: salesGoalId: path.salesGoalId salesManagerId: path.salesManagerId method: generated generated: '2026-09-26' - target: $.paths['/services/block/status'].get update: x-apievangelist-phrasing: intent: Check the block configuration service status effect: read questions: - Is the block configuration service up? - How can I health-check the block config service? instructions: - text: Ping the block configuration service for hotel {hotel}. slots: hotel: header.x-hotelid - text: Check whether block config is responding. method: generated generated: '2026-09-26' - target: $.paths['/upsert/hotels/{hotelId}/washSchedules/{washScheduleCode}'].put update: x-apievangelist-phrasing: intent: Create or update a wash schedule effect: write questions: - Can I save a wash schedule whether or not it already exists? - Is there an upsert for block wash schedules? instructions: - text: Upsert wash schedule {washScheduleCode} at hotel {hotelId}. slots: washScheduleCode: path.washScheduleCode hotelId: path.hotelId - text: Create or replace wash schedule {washScheduleCode} with {washCodes}. slots: washScheduleCode: path.washScheduleCode washCodes: requestBody.washCodes method: generated generated: '2026-09-26' - target: $.paths['/washSchedules'].get update: x-apievangelist-phrasing: intent: List block wash schedules effect: read questions: - What wash schedules are configured across our hotels? - Can I search wash schedules with a wildcard? instructions: - text: List wash schedules for hotels {hotelIds}. slots: hotelIds: query.hotelIds - text: Show wash schedules matching {wildCard}. slots: wildCard: query.wildCard method: generated generated: '2026-09-26'