Oracle Hospitality · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for OPERA Cloud Distribution Shop API

7 actions 7 updates phrasing extends openapi/oracle-hospitality-shop-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 7

$.info
$.paths['/hotels'].get
$.paths['/hotels/{hotelCode}/offers'].get
$.paths['/hotels/{hotelCode}/offer'].get
$.paths['/hotels/{hotelCode}/addons'].get
$.paths['/hotels/{hotelCode}/calendar'].get
$.paths['/hotels/{hotelCode}/alternateOffers'].get

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 Distribution Shop API
  version: 1.0.0
extends: openapi/oracle-hospitality-shop-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: 6
- target: $.paths['/hotels'].get
  update:
    x-apievangelist-phrasing:
      intent: Compare availability and rates across hotels
      effect: read
      questions:
      - Which of our hotels have rooms available for my dates, and at what rate range?
      - Can I search several properties at once for two adults and only see the ones with availability?
      - Is it possible to limit a multi-hotel search to a minimum and maximum rate?
      instructions:
      - text: Check availability at hotels {hotelCodes} from {arrivalDate} to {departureDate}.
        slots:
          hotelCodes: query.hotelCodes
          arrivalDate: query.arrivalDate
          departureDate: query.departureDate
      - text: Show rate ranges across properties {hotelCodes} for {adults} adults arriving {arrivalDate} and leaving {departureDate}, available ones only.
        slots:
          hotelCodes: query.hotelCodes
          adults: query.adults
          arrivalDate: query.arrivalDate
          departureDate: query.departureDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelCode}/offers'].get
  update:
    x-apievangelist-phrasing:
      intent: List room offers at one hotel
      effect: read
      questions:
      - What rooms and rates can a guest book at this hotel for my stay dates?
      - Can I filter a hotel's offers by room type or promotion code?
      - How do I page through a long list of offers for one property?
      instructions:
      - text: List available offers at hotel {hotelCode} from {arrivalDate} to {departureDate}.
        slots:
          hotelCode: path.hotelCode
          arrivalDate: query.arrivalDate
          departureDate: query.departureDate
      - text: Show offers for room types {roomTypes} at hotel {hotelCode} arriving {arrivalDate}, departing {departureDate}.
        slots:
          roomTypes: query.roomTypes
          hotelCode: path.hotelCode
          arrivalDate: query.arrivalDate
          departureDate: query.departureDate
      - text: Find offers with promo code {promotionCodes} at property {hotelCode} for {arrivalDate} to {departureDate}.
        slots:
          promotionCodes: query.promotionCodes
          hotelCode: path.hotelCode
          arrivalDate: query.arrivalDate
          departureDate: query.departureDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelCode}/offer'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one specific room offer
      effect: read
      questions:
      - What is the exact price for one room type and rate plan combination on my dates?
      - Can I look up a single offer by its booking code?
      instructions:
      - text: Get the offer for room type {roomType} on rate plan {ratePlanCode} at hotel {hotelCode} from {arrivalDate} to {departureDate}.
        slots:
          roomType: query.roomType
          ratePlanCode: query.ratePlanCode
          hotelCode: path.hotelCode
          arrivalDate: query.arrivalDate
          departureDate: query.departureDate
      - text: Retrieve the single offer for booking code {bookingCode} at hotel {hotelCode}, {arrivalDate} to {departureDate}.
        slots:
          bookingCode: query.bookingCode
          hotelCode: path.hotelCode
          arrivalDate: query.arrivalDate
          departureDate: query.departureDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelCode}/addons'].get
  update:
    x-apievangelist-phrasing:
      intent: List add-on packages for a stay
      effect: read
      questions:
      - What add-ons like breakfast or parking packages can a guest buy at this hotel?
      - Can I see grouped package offerings for particular stay dates?
      instructions:
      - text: List add-on packages at hotel {hotelCode} for a stay from {arrivalDate} to {departureDate}.
        slots:
          hotelCode: path.hotelCode
          arrivalDate: query.arrivalDate
          departureDate: query.departureDate
      - text: Show package group {packageGroupCodes} add-ons at property {hotelCode} for {arrivalDate} to {departureDate}.
        slots:
          packageGroupCodes: query.packageGroupCodes
          hotelCode: path.hotelCode
          arrivalDate: query.arrivalDate
          departureDate: query.departureDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelCode}/calendar'].get
  update:
    x-apievangelist-phrasing:
      intent: Show lowest rates on a calendar for a hotel
      effect: read
      questions:
      - What is the cheapest nightly rate at this hotel for each day over the next two months?
      - How many days can a hotel rate calendar cover?
      - Why does the rate calendar only check the top channel rates when I don't filter?
      instructions:
      - text: Show the lowest-rate calendar for hotel {hotelCode} for arrivals from {arrivalDateFrom} to {arrivalDateTo}.
        slots:
          hotelCode: path.hotelCode
          arrivalDateFrom: query.arrivalDateFrom
          arrivalDateTo: query.arrivalDateTo
      - text: Build a {lengthOfStay}-night lowest price calendar at property {hotelCode} between {arrivalDateFrom} and {arrivalDateTo}.
        slots:
          lengthOfStay: query.lengthOfStay
          hotelCode: path.hotelCode
          arrivalDateFrom: query.arrivalDateFrom
          arrivalDateTo: query.arrivalDateTo
      method: generated
      generated: '2026-09-26'
- target: $.paths['/hotels/{hotelCode}/alternateOffers'].get
  update:
    x-apievangelist-phrasing:
      intent: Suggest alternate dates with availability
      effect: read
      questions:
      - If my dates are sold out, which nearby arrival dates still have offers?
      - Can I see alternate offers a few days either side of the requested arrival?
      instructions:
      - text: Find alternate offers at hotel {hotelCode} around arrival {arrivalDate}.
        slots:
          hotelCode: path.hotelCode
          arrivalDate: query.arrivalDate
      - text: Show alternate dates within {alternateDays} days of {arrivalDate} for a {lengthOfStay}-night stay at property {hotelCode}.
        slots:
          alternateDays: query.alternateDays
          arrivalDate: query.arrivalDate
          lengthOfStay: query.lengthOfStay
          hotelCode: path.hotelCode
      method: generated
      generated: '2026-09-26'