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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for OPERA Cloud 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'