Oracle Hospitality · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for OPERA Cloud Block Configuration Block Config API
33 actions
33 updates
phrasing
extends
openapi/oracle-hospitality-blockconfig-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 33 · first 16 shown; the file carries all of them
$.info
$.paths['/blockStatusCodes'].get
$.paths['/blockStatusCodes'].post
$.paths['/blockStatusCodes/nextStatusCodes'].get
$.paths['/blockStatusCodes/{blockStatusCode}'].put
$.paths['/blockStatusCodes/{blockStatusCode}'].delete
$.paths['/blockStatusCodes/{srcBlockStatusCode}/nextStatusCodes'].put
$.paths['/hotels/{hotelId}/blockCutoffScheduleRange'].put
$.paths['/hotels/{hotelId}/blockSalesAllowance'].get
$.paths['/hotels/{hotelId}/blockSalesAllowance/activityLog'].get
$.paths['/hotels/{hotelId}/blockSalesAllowanceRange'].put
$.paths['/hotels/{hotelId}/blockSalesAllowanceRange'].delete
$.paths['/hotels/{hotelId}/cutoffSchedules'].get
$.paths['/hotels/{hotelId}/cutoffSchedules'].post
$.paths['/hotels/{hotelId}/cutoffSchedules/{cutoffCodeId}'].get
$.paths['/hotels/{hotelId}/cutoffSchedules/{cutoffCodeId}'].put
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 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'