Oracle Hospitality · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for OPERA Cloud Leisure Management Leisure Management Config API
18 actions
18 updates
phrasing
extends
openapi/oracle-hospitality-leisuremanagementconfig-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 18 · first 16 shown; the file carries all of them
$.info
$.paths['/activityLocations'].get
$.paths['/activityLocations'].post
$.paths['/activityLocations/{activityLocationsId}'].put
$.paths['/activityLocations/{activityLocationsId}'].delete
$.paths['/activityLocations/{activityLocationsId}/copy'].put
$.paths['/activityStatusCodes'].get
$.paths['/activityStatusCodes'].post
$.paths['/activityStatusCodes/{activityStatusCodesId}'].put
$.paths['/activityStatusCodes/{activityStatusCodesId}'].delete
$.paths['/activityTypes'].get
$.paths['/activityTypes'].post
$.paths['/activityTypes/{activityTypesId}'].put
$.paths['/activityTypes/{activityTypesId}'].delete
$.paths['/activityTypes/{activityTypesId}/copy'].put
$.paths['/upsert/activityLocations/{activityLocationsId}'].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 Leisure Management Leisure Management Config API
version: 1.0.0
extends: openapi/oracle-hospitality-leisuremanagementconfig-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: 17
- target: $.paths['/activityLocations'].get
update:
x-apievangelist-phrasing:
intent: Look up activity locations for hotels
effect: read
questions:
- Where can guests do activities at my resort — which activity locations are configured?
- Can I filter activity locations by location code across several properties?
instructions:
- text: List the activity locations configured at hotels {hotelIds}.
slots:
hotelIds: query.hotelIds
- text: Look up activity location codes {criteriaCodes} at {hotelIds}.
slots:
criteriaCodes: query.criteriaCodes
hotelIds: query.hotelIds
method: generated
generated: '2026-09-26'
- target: $.paths['/activityLocations'].post
update:
x-apievangelist-phrasing:
intent: Create an activity location
effect: write
questions:
- How do I add a new place like the spa or tennis courts where leisure activities happen?
- What's required to set up a brand-new activity location code?
instructions:
- text: Create activity location {activityLocations}.
slots:
activityLocations: requestBody.activityLocations
- text: Add a new activity location for the pool deck at hotel {hotelId}.
slots:
hotelId: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/activityLocations/{activityLocationsId}'].put
update:
x-apievangelist-phrasing:
intent: Change an existing activity location
effect: write
questions:
- How do I rename or edit an activity location that already exists?
- Can I update the details of one activity location by its id?
instructions:
- text: Update activity location {activityLocationsId} with the new description.
slots:
activityLocationsId: path.activityLocationsId
- text: Change activity location {activityLocationsId} to {activityLocations}.
slots:
activityLocationsId: path.activityLocationsId
activityLocations: requestBody.activityLocations
method: generated
generated: '2026-09-26'
- target: $.paths['/activityLocations/{activityLocationsId}'].delete
update:
x-apievangelist-phrasing:
intent: Remove an activity location
effect: destructive
questions:
- How do I delete an activity location we closed?
- Can I remove one activity location from specific hotels only?
instructions:
- text: Delete activity location {activityLocationsId} from hotels {hotelIds}.
slots:
activityLocationsId: path.activityLocationsId
hotelIds: query.hotelIds
- text: Remove the closed activity location {activityLocationsId} at {hotelIds}.
slots:
activityLocationsId: path.activityLocationsId
hotelIds: query.hotelIds
method: generated
generated: '2026-09-26'
- target: $.paths['/activityLocations/{activityLocationsId}/copy'].put
update:
x-apievangelist-phrasing:
intent: Copy an activity location to other properties
effect: write
questions:
- How do I copy an activity location from one property to my other hotels?
- Can I replicate activity location setup across properties instead of re-entering it?
instructions:
- text: Copy activity location {activityLocationsId} to the target properties.
slots:
activityLocationsId: path.activityLocationsId
- text: Replicate activity location {activityLocationsId} using copy instructions {copyInstructions}.
slots:
activityLocationsId: path.activityLocationsId
copyInstructions: requestBody.copyInstructions
method: generated
generated: '2026-09-26'
- target: $.paths['/activityStatusCodes'].get
update:
x-apievangelist-phrasing:
intent: List activity status codes
effect: read
questions:
- Which status codes can a leisure activity booking have at my hotel?
- Can I filter activity status codes by application?
instructions:
- text: List the activity status codes for hotels {hotelIds}.
slots:
hotelIds: query.hotelIds
- text: Get activity status codes for application {applicationCodes} at {hotelIds}.
slots:
applicationCodes: query.applicationCodes
hotelIds: query.hotelIds
method: generated
generated: '2026-09-26'
- target: $.paths['/activityStatusCodes'].post
update:
x-apievangelist-phrasing:
intent: Create an activity status code
effect: write
questions:
- How do I add a new status like 'waitlisted' for leisure activities?
- What do I send to define a new activity status code?
instructions:
- text: Create activity status code {activityStatusCodes}.
slots:
activityStatusCodes: requestBody.activityStatusCodes
- text: Add a new activity status code for no-shows at hotel {hotelId}.
slots:
hotelId: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/activityStatusCodes/{activityStatusCodesId}'].put
update:
x-apievangelist-phrasing:
intent: Change an activity status code
effect: write
questions:
- How do I edit the description of an existing activity status code?
- Can I modify one activity status code by its id?
instructions:
- text: Update activity status code {activityStatusCodesId}.
slots:
activityStatusCodesId: path.activityStatusCodesId
- text: Change activity status code {activityStatusCodesId} to {activityStatusCodes}.
slots:
activityStatusCodesId: path.activityStatusCodesId
activityStatusCodes: requestBody.activityStatusCodes
method: generated
generated: '2026-09-26'
- target: $.paths['/activityStatusCodes/{activityStatusCodesId}'].delete
update:
x-apievangelist-phrasing:
intent: Remove an activity status code
effect: destructive
questions:
- How do I delete an activity status code we don't use anymore?
- Can I remove an activity status code from selected hotels?
instructions:
- text: Delete activity status code {activityStatusCodesId} at hotels {hotelIds}.
slots:
activityStatusCodesId: path.activityStatusCodesId
hotelIds: query.hotelIds
- text: Remove the retired activity status {activityStatusCodesId} from {hotelIds}.
slots:
activityStatusCodesId: path.activityStatusCodesId
hotelIds: query.hotelIds
method: generated
generated: '2026-09-26'
- target: $.paths['/activityTypes'].get
update:
x-apievangelist-phrasing:
intent: Fetch activity types
effect: read
questions:
- What kinds of leisure activities — golf, spa, dining — are configured as activity types?
- Can I look up specific activity type codes for a property?
instructions:
- text: List the activity types at hotels {hotelIds}.
slots:
hotelIds: query.hotelIds
- text: Fetch activity types {typeCodes} for {hotelIds}.
slots:
typeCodes: query.typeCodes
hotelIds: query.hotelIds
method: generated
generated: '2026-09-26'
- target: $.paths['/activityTypes'].post
update:
x-apievangelist-phrasing:
intent: Create an activity type
effect: write
questions:
- How do I add a new category of leisure activity, like yoga classes?
- What's needed to create a new activity type?
instructions:
- text: Create activity type {activityTypes}.
slots:
activityTypes: requestBody.activityTypes
- text: Add a new activity type for guided tours at hotel {hotelId}.
slots:
hotelId: header.x-hotelid
method: generated
generated: '2026-09-26'
- target: $.paths['/activityTypes/{activityTypesId}'].put
update:
x-apievangelist-phrasing:
intent: Change an activity type
effect: write
questions:
- How do I edit an activity type that already exists?
- Can I change the description of one activity type by id?
instructions:
- text: Update activity type {activityTypesId}.
slots:
activityTypesId: path.activityTypesId
- text: Change activity type {activityTypesId} to {activityTypes}.
slots:
activityTypesId: path.activityTypesId
activityTypes: requestBody.activityTypes
method: generated
generated: '2026-09-26'
- target: $.paths['/activityTypes/{activityTypesId}'].delete
update:
x-apievangelist-phrasing:
intent: Remove an activity type
effect: destructive
questions:
- How do I delete an activity type we no longer offer?
- Can I remove an activity type from only some of my properties?
instructions:
- text: Delete activity type {activityTypesId} at hotels {hotelIds}.
slots:
activityTypesId: path.activityTypesId
hotelIds: query.hotelIds
- text: Remove the discontinued activity type {activityTypesId} from {hotelIds}.
slots:
activityTypesId: path.activityTypesId
hotelIds: query.hotelIds
method: generated
generated: '2026-09-26'
- target: $.paths['/activityTypes/{activityTypesId}/copy'].put
update:
x-apievangelist-phrasing:
intent: Copy activity types to other properties
effect: write
questions:
- How do I copy existing activity types from a source property to target properties?
- Can I roll out one hotel's activity types to the rest of the chain?
instructions:
- text: Copy activity type {activityTypesId} to the target properties.
slots:
activityTypesId: path.activityTypesId
- text: Replicate activity type {activityTypesId} with copy instructions {copyInstructions}.
slots:
activityTypesId: path.activityTypesId
copyInstructions: requestBody.copyInstructions
method: generated
generated: '2026-09-26'
- target: $.paths['/upsert/activityLocations/{activityLocationsId}'].put
update:
x-apievangelist-phrasing:
intent: Create or update an activity location
effect: write
questions:
- Is there an upsert for activity locations so I don't have to check if one exists first?
- Can I create-or-change an activity location in a single call?
instructions:
- text: Upsert activity location {activityLocationsId}, creating it if missing.
slots:
activityLocationsId: path.activityLocationsId
- text: Create or change activity location {activityLocationsId} as {activityLocations}.
slots:
activityLocationsId: path.activityLocationsId
activityLocations: requestBody.activityLocations
method: generated
generated: '2026-09-26'
- target: $.paths['/upsert/activityStatusCodes/{activityStatusCodesId}'].put
update:
x-apievangelist-phrasing:
intent: Create or update an activity status code
effect: write
questions:
- Can I upsert an activity status code whether or not it already exists?
- Is there a create-or-change call for activity status codes?
instructions:
- text: Upsert activity status code {activityStatusCodesId}.
slots:
activityStatusCodesId: path.activityStatusCodesId
- text: Create or change activity status code {activityStatusCodesId} as {activityStatusCodes}.
slots:
activityStatusCodesId: path.activityStatusCodesId
activityStatusCodes: requestBody.activityStatusCodes
method: generated
generated: '2026-09-26'
- target: $.paths['/upsert/activityTypes/{activityTypesId}'].put
update:
x-apievangelist-phrasing:
intent: Create or update an activity type
effect: write
questions:
- Can I upsert an activity type so it's created if new and updated if it exists?
- Is there a single create-or-change call for activity types?
instructions:
- text: Upsert activity type {activityTypesId}.
slots:
activityTypesId: path.activityTypesId
- text: Create or change activity type {activityTypesId} as {activityTypes}.
slots:
activityTypesId: path.activityTypesId
activityTypes: requestBody.activityTypes
method: generated
generated: '2026-09-26'