Oracle Hospitality · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for OPERA Cloud Block API

91 actions 91 updates phrasing extends openapi/oracle-hospitality-block-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 91 · first 16 shown; the file carries all of them

$.info
$.paths['/allocation'].post
$.paths['/blockActivityLog'].get
$.paths['/blockWash'].get
$.paths['/blockWash'].put
$.paths['/blocks'].get
$.paths['/blocks/actions/validate'].post
$.paths['/blocks/dailyStatistics'].get
$.paths['/blocks/searches'].post
$.paths['/blocks/status'].get
$.paths['/blocks/{blockCode}/actions/validate'].put
$.paths['/blocks/{blockId}/alternateDates'].put
$.paths['/blocks/{blockId}/alternateDates'].post
$.paths['/blocks/{blockId}/alternateDates'].delete
$.paths['/blocks/{blockId}/attachments'].get
$.paths['/blocks/{blockId}/attachments/{attachId}'].delete

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 API
  version: 1.0.0
extends: openapi/oracle-hospitality-block-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: 90
- target: $.paths['/allocation'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a sub allocation under a master allocation
      effect: write
      questions:
      - How do I carve a sub allocation out of a master allocation in OPERA Cloud?
      - Can I create several sub allocations in one request?
      instructions:
      - text: Create a sub allocation at hotel {hotel} from these details.
        slots:
          hotel: header.x-hotelid
      - text: Add sub allocations {sub_allocations} to the master allocation.
        slots:
          sub_allocations: requestBody.subAllocations
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockActivityLog'].get
  update:
    x-apievangelist-phrasing:
      intent: Read the block activity log
      effect: read
      questions:
      - Who changed what on our group blocks, and when?
      - Can I filter the block activity log by activity type and date range?
      - Is there a way to see only block activity performed by a particular user?
      instructions:
      - text: Show the block activity log for hotel {hotel} from {from} to {to}.
        slots:
          hotel: query.hotelId
          from: query.activityParamsFromDate
          to: query.activityParamsToDate
      - text: List block activity of type {type} performed by user {user}.
        slots:
          type: query.activityType
          user: query.userByIDsUserId
      - text: Search the block activity log for {text}.
        slots:
          text: query.activityParamsSearchText
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockWash'].get
  update:
    x-apievangelist-phrasing:
      intent: Get block details needed for a block wash
      effect: read
      questions:
      - What block information do I need before washing unused rooms from a group block?
      - Can I see wash details for a block's generic room type?
      instructions:
      - text: Get block wash information for block {block} at hotel {hotel}.
        slots:
          block: query.blockId
          hotel: query.hotelId
      - text: Show wash details for block {block} and generic room type {room_type}.
        slots:
          block: query.blockId
          room_type: query.genericRoomType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blockWash'].put
  update:
    x-apievangelist-phrasing:
      intent: Wash room allocation from a block over dates
      effect: destructive
      questions:
      - How do I release unsold group rooms from a block for a range of dates?
      - Can I wash allocation for only certain room types on a block?
      instructions:
      - text: Wash the block allocation described in {wash} to remove rooms for those dates and room types.
        slots:
          wash: requestBody.blockAllocationWashType
      - text: Remove unpicked block rooms at hotel {hotel} for the given dates and room types.
        slots:
          hotel: header.x-hotelid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks'].get
  update:
    x-apievangelist-phrasing:
      intent: Find blocks with query filters
      effect: read
      questions:
      - How can I list all group blocks arriving in a given date range?
      - Can I filter blocks by status, owner or block code?
      - Which blocks are attached to a particular company or travel agent profile?
      instructions:
      - text: List blocks at hotel {hotel} with status {status}.
        slots:
          hotel: query.hotelId
          status: query.blockStatus
      - text: Find blocks named {name} starting on or after {start}.
        slots:
          name: query.blockName
          start: query.blockStartStartDate
      - text: Get the blocks owned by {owner} at hotel {hotel}.
        slots:
          owner: query.blockOwner
          hotel: query.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/actions/validate'].post
  update:
    x-apievangelist-phrasing:
      intent: Validate a block and its rate code overlaps
      effect: write
      questions:
      - Does this block rate code overlap with other blocks before I save it?
      - How do I validate block details and create them in one step?
      instructions:
      - text: Validate the block rate code details {rate_details} for overlapping blocks.
        slots:
          rate_details: requestBody.blockRateCodeDetails
      - text: Validate and create block details for {blocks}.
        slots:
          blocks: requestBody.blocks
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/dailyStatistics'].get
  update:
    x-apievangelist-phrasing:
      intent: Get block daily statistics for a date range
      effect: read
      questions:
      - What do group block statistics look like day by day at my hotel?
      - Can I break down block daily statistics by generic room type?
      instructions:
      - text: Get block daily statistics for hotel {hotel} from {start} to {end}.
        slots:
          hotel: query.hotelId
          start: query.start
          end: query.end
      - text: Show daily block stats for generic room type {room_type} at {hotel}.
        slots:
          room_type: query.genericRoomType
          hotel: query.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/searches'].post
  update:
    x-apievangelist-phrasing:
      intent: Search blocks with criteria in a request body
      effect: read
      questions:
      - Can I send block search criteria as a POST body instead of query parameters?
      - How do I search blocks across multiple hotels with a long criteria list?
      instructions:
      - text: Search blocks via the POST search endpoint across hotels {hotels}.
        slots:
          hotels: requestBody.multipleHotelsSearchHotelIds
      - text: Run a POST block search for block code {code} with status {status}.
        slots:
          code: requestBody.blockCode
          status: requestBody.blockStatus
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/status'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the statuses a block can move to next
      effect: read
      questions:
      - From tentative, which statuses can a block be moved to next?
      - Can I include catering statuses in the allowed status transitions?
      instructions:
      - text: Show the next allowed block statuses after {status} at hotel {hotel}.
        slots:
          status: query.currentStatus
          hotel: query.hotelId
      - text: List status transitions from {status}, including catering statuses.
        slots:
          status: query.currentStatus
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockCode}/actions/validate'].put
  update:
    x-apievangelist-phrasing:
      intent: Validate a block code before using it
      effect: read
      questions:
      - Is this block code unique and consistent with the block code template?
      - Does a block code need to start on the inventory week start day?
      instructions:
      - text: Validate block code {code} at hotel {hotel}.
        slots:
          code: path.blockCode
          hotel: requestBody.hotelId
      - text: Check block code {code} for dates {start} to {end}.
        slots:
          code: path.blockCode
          start: requestBody.startDate
          end: requestBody.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/alternateDates'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a block's alternate dates
      effect: write
      questions:
      - How do I update the alternate dates already recorded on a group block?
      - Can I edit the backup date options a group gave us?
      instructions:
      - text: Change the existing alternate dates on block {block} to {dates}.
        slots:
          block: path.blockId
          dates: requestBody.blockAlternateDates
      - text: Update block {block}'s alternate date options at hotel {hotel}.
        slots:
          block: path.blockId
          hotel: requestBody.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/alternateDates'].post
  update:
    x-apievangelist-phrasing:
      intent: Add alternate dates to a block
      effect: write
      questions:
      - Can I record alternate arrival dates a group would accept?
      - How do I add new alternate dates to a block that has none yet?
      instructions:
      - text: Add alternate dates {dates} to block {block}.
        slots:
          dates: requestBody.blockAlternateDates
          block: path.blockId
      - text: Create new alternate dates for block {block} at hotel {hotel}.
        slots:
          block: path.blockId
          hotel: requestBody.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/alternateDates'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a block's alternate dates
      effect: destructive
      questions:
      - How do I clear the alternate dates on a group block?
      - Can I remove all alternate date options once the group confirms?
      instructions:
      - text: Delete the alternate dates on block {block}.
        slots:
          block: path.blockId
      - text: Clear alternate date options from block {block}.
        slots:
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/attachments'].get
  update:
    x-apievangelist-phrasing:
      intent: List files attached to a block
      effect: read
      questions:
      - What documents are attached to a group block?
      - Can I find a block attachment by its file name?
      instructions:
      - text: List the attachments on block {block}.
        slots:
          block: path.blockId
      - text: Find the attachment named {file} on block {block}.
        slots:
          file: query.attachedFileName
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/attachments/{attachId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a file attached to a block
      effect: destructive
      questions:
      - How do I remove an old contract file attached to a block?
      - Can I delete a single attachment without touching the rest of the block?
      instructions:
      - text: Delete attachment {attachment} from block {block}.
        slots:
          attachment: path.attachId
          block: path.blockId
      - text: Remove file {attachment} attached to block {block}.
        slots:
          attachment: path.attachId
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/blockAccessExclusion'].put
  update:
    x-apievangelist-phrasing:
      intent: Set access exclusions on a block
      effect: write
      questions:
      - Can I stop certain channels or sources from booking into a block?
      - How do I control whether a source can create, modify or cancel block reservations?
      instructions:
      - text: Set access exclusions {exclusions} on block {block}.
        slots:
          exclusions: requestBody.blockAccessExclusions
          block: path.blockId
      - text: Exclude a booking source from block {block}'s availability.
        slots:
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/blockAccessExclusion'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an access exclusion from a block
      effect: destructive
      questions:
      - How do I lift a booking source exclusion from a block?
      - Can I remove the exclusion for one source type and value only?
      instructions:
      - text: Remove the access exclusion for source {source} on block {block}.
        slots:
          source: query.sourceValue
          block: path.blockId
      - text: Delete block {block}'s exclusion of source type {source_type} at hotel {hotel}.
        slots:
          block: path.blockId
          source_type: query.sourceType
          hotel: query.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/blockCutOff'].put
  update:
    x-apievangelist-phrasing:
      intent: Cut off a block's allocation as of today
      effect: destructive
      questions:
      - How do I release a block's remaining rooms back to house as of today?
      - Can I force the cutoff on a group block before its cutoff date?
      instructions:
      - text: Cut off block {block} effective today.
        slots:
          block: path.blockId
      - text: Release block {block}'s allocation at hotel {hotel} as of the current date.
        slots:
          block: path.blockId
          hotel: requestBody.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/owners'].get
  update:
    x-apievangelist-phrasing:
      intent: List the owners of a block
      effect: read
      questions:
      - Who are the sales owners assigned to a group block?
      - Which salespeople own this block at the property?
      instructions:
      - text: Show the owners of block {block}.
        slots:
          block: path.blockId
      - text: List block {block}'s owners at hotel {hotel}.
        slots:
          block: path.blockId
          hotel: query.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/owners'].put
  update:
    x-apievangelist-phrasing:
      intent: Change the owners of a block
      effect: write
      questions:
      - How do I reassign a block from one salesperson to another?
      - Can I replace the existing owners on a block?
      instructions:
      - text: Change the existing owners on block {block}.
        slots:
          block: path.blockId
      - text: Reassign block {block} using owner criteria {criteria}.
        slots:
          block: path.blockId
          criteria: requestBody.criteria
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/owners'].post
  update:
    x-apievangelist-phrasing:
      intent: Assign an owner to a block
      effect: write
      questions:
      - Can I add another sales owner to a block?
      - How do I assign an owner to a block that has none?
      instructions:
      - text: Assign a new owner to block {block}.
        slots:
          block: path.blockId
      - text: Add owner {criteria} to block {block}.
        slots:
          criteria: requestBody.criteria
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/owners'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove an owner from a block
      effect: destructive
      questions:
      - How do I take a salesperson off a block?
      - Can I delete a block owner assignment?
      instructions:
      - text: Delete the owner from block {block}.
        slots:
          block: path.blockId
      - text: Remove the owner assignment on block {block}.
        slots:
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/rates'].put
  update:
    x-apievangelist-phrasing:
      intent: Refresh a block's rates
      effect: write
      questions:
      - After a rate code changed, how do I refresh the rates on a block?
      - Can I recalculate block rates without editing the room grid?
      instructions:
      - text: Refresh the rates on block {block}.
        slots:
          block: path.blockId
      - text: Refresh block {block} rates at hotel {hotel}.
        slots:
          block: path.blockId
          hotel: requestBody.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/reservations'].get
  update:
    x-apievangelist-phrasing:
      intent: List reservations booked in a block
      effect: read
      questions:
      - Which guest reservations have been picked up in a group block?
      - How many reservations are already booked against this block?
      instructions:
      - text: List all reservations in block {block}.
        slots:
          block: path.blockId
      - text: Get block {block}'s reservations at hotel {hotel}.
        slots:
          block: path.blockId
          hotel: query.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/reservations'].put
  update:
    x-apievangelist-phrasing:
      intent: Update reservations within a block
      effect: write
      questions:
      - Can I make a change across the reservations already booked in a block?
      - How do I bulk-update group reservations on a block?
      instructions:
      - text: Apply changes {criteria} to the reservations in block {block}.
        slots:
          criteria: requestBody.criteria
          block: path.blockId
      - text: Update the booked reservations on block {block}.
        slots:
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/restrictions'].get
  update:
    x-apievangelist-phrasing:
      intent: List restrictions on a block
      effect: read
      questions:
      - What booking restrictions are set on a group block for certain dates?
      - How far apart can the start and end dates be when reading block restrictions?
      instructions:
      - text: Show restrictions on block {block} from {start} to {end}.
        slots:
          block: path.blockId
          start: query.startDate
          end: query.endDate
      - text: List block {block} restrictions for room type {room_type}.
        slots:
          block: path.blockId
          room_type: query.roomType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/restrictions'].put
  update:
    x-apievangelist-phrasing:
      intent: Clear all restrictions on a block for a date
      effect: destructive
      questions:
      - How do I wipe every restriction on a block for one day?
      - Can I clear all block restrictions at once instead of one code at a time?
      instructions:
      - text: Clear all restrictions on block {block} for {date}.
        slots:
          block: path.blockId
          date: requestBody.date
      - text: Remove every restriction from block {block} on {date} at hotel {hotel}.
        slots:
          block: path.blockId
          date: requestBody.date
          hotel: requestBody.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/restrictions'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a restriction to a block
      effect: write
      questions:
      - Can I close a block to arrivals or set a minimum stay on certain dates?
      - How do I create a new booking restriction on a group block?
      instructions:
      - text: Create restriction {restriction} on block {block}.
        slots:
          restriction: requestBody.createBlockRestriction
          block: path.blockId
      - text: Add a booking restriction to block {block}.
        slots:
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/restrictions'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a specific restriction from a block
      effect: destructive
      questions:
      - How do I remove one restriction code from a block for a date range?
      - Can I delete a block restriction only for certain room types?
      instructions:
      - text: Delete restriction {code} on block {block} at hotel {hotel} from {start} to {end}.
        slots:
          code: query.code
          block: path.blockId
          hotel: query.hotelId
          start: query.startDate
          end: query.endDate
      - text: Remove restriction {code} for room types {room_types} on block {block} at {hotel} between {start} and {end}.
        slots:
          code: query.code
          room_types: query.roomTypes
          block: path.blockId
          hotel: query.hotelId
          start: query.startDate
          end: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/revenueActivityLog'].get
  update:
    x-apievangelist-phrasing:
      intent: Get revenue changes logged for a block
      effect: read
      questions:
      - How has the revenue on a group block changed over the last month?
      - Are the block revenue change records deltas or totals?
      - What is the longest date span I can pull block revenue changes for?
      instructions:
      - text: Show revenue changes for block {block} between {start} and {end}.
        slots:
          block: path.blockId
          start: query.changeStartDate
          end: query.changeEndDate
      - text: List block {block} revenue log entries with status {status}.
        slots:
          block: path.blockId
          status: query.status
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/roomTypeOrder'].put
  update:
    x-apievangelist-phrasing:
      intent: Set the room type display order for a block
      effect: write
      questions:
      - Can I change the order room types appear in on a block's grid?
      - How do I put suites at the top of a block's room type list?
      instructions:
      - text: Set block {block}'s room type order to {room_types}.
        slots:
          block: path.blockId
          room_types: requestBody.roomTypes
      - text: Reorder the room types shown on block {block}.
        slots:
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/roomTypes'].get
  update:
    x-apievangelist-phrasing:
      intent: List room types for a block
      effect: read
      questions:
      - Which room types are available on a particular group block?
      - Can I get only the room types that already have allocation on a block?
      instructions:
      - text: List room types for block {block} from {start} to {end}.
        slots:
          block: path.blockId
          start: query.startDate
          end: query.endDate
      - text: Show only allocated room types on block {block}.
        slots:
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/roomingList'].post
  update:
    x-apievangelist-phrasing:
      intent: Create reservations from a block rooming list
      effect: write
      questions:
      - How do I load a group's rooming list into reservations on the block?
      - Can shared rooms be created as part of a rooming list upload?
      instructions:
      - text: Create rooming list reservations {reservations} on block {block}.
        slots:
          reservations: requestBody.reservations
          block: path.blockId
      - text: Import the rooming list for block {block} with shares {shares}.
        slots:
          block: path.blockId
          shares: requestBody.shares
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/roomsStatus'].get
  update:
    x-apievangelist-phrasing:
      intent: Get room status for a block's rooms
      effect: read
      questions:
      - Are the rooms assigned to a group block clean and ready?
      - What housekeeping status do a block's rooms have?
      instructions:
      - text: Show room status for block {block}.
        slots:
          block: path.blockId
      - text: Get the room readiness of block {block} at hotel {hotel}.
        slots:
          block: path.blockId
          hotel: query.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/statistics'].get
  update:
    x-apievangelist-phrasing:
      intent: Get detailed statistics for a block
      effect: read
      questions:
      - How is a single group block performing on pickup and revenue?
      - Can I narrow block statistics to one room type or booking channel?
      instructions:
      - text: Get statistics for block {block} starting {start} for {days} days.
        slots:
          block: path.blockId
          start: query.startDate
          days: query.numberOfDays
      - text: Show block {block} statistics for room type {room_type}.
        slots:
          block: path.blockId
          room_type: query.roomType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/statusActivityLog'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a block's status change history
      effect: read
      questions:
      - When did a block move from tentative to definite?
      - Can I see status changes on a block within a date range?
      instructions:
      - text: Show the status change log for block {block}.
        slots:
          block: path.blockId
      - text: List block {block} status changes between {start} and {end}.
        slots:
          block: path.blockId
          start: query.changeStartDate
          end: query.changeEndDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/tourSeries'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a tour series from a block
      effect: write
      questions:
      - How do I generate a recurring tour series based on an existing block?
      - Can I set up weekly tour blocks from one template block?
      instructions:
      - text: Create a tour series from block {block}.
        slots:
          block: path.blockId
      - text: Build a tour series for block {block} using {criteria}.
        slots:
          block: path.blockId
          criteria: requestBody.criteria
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/tourSeries/validate'].put
  update:
    x-apievangelist-phrasing:
      intent: Validate a tour series before creating it
      effect: read
      questions:
      - Will my tour series settings work before I actually create the series?
      - Can I dry-run a tour series for a block?
      instructions:
      - text: Validate the tour series criteria {criteria} for block {block}.
        slots:
          criteria: requestBody.criteria
          block: path.blockId
      - text: Check the proposed tour series on block {block} without creating it.
        slots:
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/washSchedules'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a block's wash schedule
      effect: read
      questions:
      - When is the group block scheduled to release unsold rooms?
      - What wash dates and percentages are set up on a block?
      instructions:
      - text: Show the wash schedule for block {block}.
        slots:
          block: path.blockId
      - text: Get block {block}'s wash schedule at hotel {hotel}.
        slots:
          block: path.blockId
          hotel: query.hotelId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/washSchedules'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a block's wash schedules
      effect: write
      questions:
      - Can I change the wash date or wash percentage on an existing schedule?
      - How do I adjust the sell limit in a block's wash schedule?
      instructions:
      - text: Update the existing wash schedules on block {block} to {schedules}.
        slots:
          block: path.blockId
          schedules: requestBody.blockWashSchedulesInfo
      - text: Change block {block}'s current wash dates and percentages.
        slots:
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/washSchedules'].post
  update:
    x-apievangelist-phrasing:
      intent: Create wash schedules for a block
      effect: write
      questions:
      - How do I schedule automatic release of a block's unsold rooms?
      - Can I set a new wash schedule by percentage per room type?
      instructions:
      - text: Create wash schedules {schedules} on block {block}.
        slots:
          schedules: requestBody.blockWashSchedulesInfo
          block: path.blockId
      - text: Add a new wash schedule to block {block}.
        slots:
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{blockId}/washSchedules'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove all wash schedules from a block
      effect: destructive
      questions:
      - How do I remove all the wash schedules from a block by block ID alone?
      - Can I delete a block's wash schedules without passing a hotel in the path?
      instructions:
      - text: Delete the wash schedules on block {block}.
        slots:
          block: path.blockId
      - text: Remove every wash schedule from block {block} using the block-only endpoint.
        slots:
          block: path.blockId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/blocks/{sourceBlockId}/copy'].post
  update:
    x-apievangelist-phrasing:
      intent: Copy a block as a template for a new one
      effect: write
      questions:
      - Can I duplicate last year's group block for this year's event?
      - How do I create a new block using an existing one as a template?
      instructions:
      - text: Copy block {source} into a new block.
        slots:
          source: path.sourceBlockId
      - text: Create a new block from template block {source} with {criteria}.
        slots:
          source: path.sourceBlockId
          criteria: requestBody.criteria
      method: generated
      generated: '2026-09-26'
- target: $.paths['/caterings/{eventId}/cateringStatus'].put
  update:
    x-apievangelist-phrasing:
      intent: Change the catering status of an event
      effect: write
      questions:
      - How do I move a catering event to a new status?
      - Can I just verify a catering status change without applying it?
      instructions:
      - text: Change the catering status of event {event}.
        slots:
          event: path.eventId
      - text: Verify the catering status change {change} for event {event} without saving.
        slots:
          change: requestBody.changeCateringStatus
          event: path.eventId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/centralSalesHotels'].get
  update:
    x-apievangelist-phrasing:
      intent: Find hotels available for central sales leads
      effect: read
      questions:
      - Which properties can a central sales lead be sent to in a given country?
      - Can I find central sales hotels by marketing city or amenity?
      instructions:
      - text: List central sales hotels in country {country}.
        slots:
          country: query.countryCode
      - text: Find central sales hotels in {city} that offer amenity {amenity}.
        slots:
          city: query.marketingCity
          amenity: query.amenityCode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contractDefaults'].put
  update:
    x-apievangelist-phrasing:
      intent: Apply contract defaults to a block
      effect: write
      questions:
      - How do I reset a block to the property's contract defaults?
      - Can contract default settings be applied to an existing block?
      instructions:
      - text: Set contract defaults on block {block} at hotel {hotel}.
        slots:
          block: requestBody.blockId
          hotel: requestBody.hotelId
      - text: Apply the default contract settings to block {block}.
        slots:
          block: requestBody.blockId
      method: generated
      generated: '2026-09-26'


# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oracle-hospitality/refs/heads/main/overlays/oracle-hospitality-block-api-phrasing-overlay.yaml