Engine Lodging Booking Service API

The LodgingBookingService API from Engine — 5 operation(s) for lodgingbookingservice.

OpenAPI Specification

hotel-engine-lodgingbookingservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Omni, Powered by Engine Lodging Booking Service API
  description: Definitions for the Omni travel API.
  version: 2.4.0
  contact:
    name: Omni API Support
    url: https://omni.engine.com/
  license:
    name: Apache License Version 2.0
    url: https://github.com/engine-public/engine-partner-api/blob/main/LICENSE
servers:
- url: https://partner-api.engine.com
tags:
- name: LodgingBookingService
paths:
  /book/v1/lodging/booking:
    post:
      summary: Retrieve bookings given the provided Booking IDs.
      description: In case of error, the status will contain a [GetBookingsError] within the [Status.details] field.
      operationId: LodgingBookingService_GetBookings
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1GetBookingsResponse'
        '400':
          description: Error details for gRPC Status of INVALID_ARGUMENT(3).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1GetBookingsError'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      tags:
      - LodgingBookingService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1GetBookingsRequest'
        description: A request to retrieve one or more [BookingDetails].
        required: true
    put:
      summary: Purchase and reserve an Offer.
      description: In case of error, the status will contain a [BookError] within the [Status.details] field.
      operationId: LodgingBookingService_Book
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1BookResponse'
        '400':
          description: Error details for gRPC Status of INVALID_ARGUMENT(3).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1BookError'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      tags:
      - LodgingBookingService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1BookRequest'
        description: A request to purchase and reserve an [OfferSummary].
        required: true
  /book/v1/lodging/booking/generate-folio:
    post:
      summary: Generate a folio.
      description: In case of error, the status will contain a [GenerateFolioError] within the [Status.details] field.
      operationId: LodgingBookingService_GenerateFolio
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiHttpBody'
        '400':
          description: Error details for gRPC Status of FAILED_PRECONDITION(9).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1GenerateFolioError'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      tags:
      - LodgingBookingService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1GenerateFolioRequest'
        description: Generates a folio HTTP response for a Booking.
        required: true
  /book/v1/lodging/booking/preview-cancellation:
    post:
      summary: Get the availability, means, and expected refund for a booking cancellation.
      description: In case of error, the status will contain a [PreviewCancellationError] within the [Status.details] field.
      operationId: LodgingBookingService_PreviewCancellation
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1PreviewCancellationResponse'
        '400':
          description: Error details for gRPC Status of INVALID_ARGUMENT(3).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1PreviewCancellationError'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      tags:
      - LodgingBookingService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1PreviewCancellationRequest'
        description: Requests the expected result of a cancellation.
        required: true
  /book/v1/lodging/booking/submit-cancellation:
    post:
      summary: Attempt to cancel a booking.
      description: In case of error, the status will contain a [SubmitCancellationError] within the [Status.details] field.
      operationId: LodgingBookingService_SubmitCancellation
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1SubmitCancellationResponse'
        '400':
          description: Error details for gRPC Status of INVALID_ARGUMENT(3).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1SubmitCancellationError'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      tags:
      - LodgingBookingService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1SubmitCancellationRequest'
        description: Requests cancellation of a Booking.
        required: true
  /book/v1/lodging/confirm-offer:
    post:
      summary: Confirm the availability, pricing, and details of an Offer prior to booking.
      description: In case of error, the status will contain a [ConfirmOfferError] within the [Status.details] field.
      operationId: LodgingBookingService_ConfirmOffer
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1ConfirmOfferResponse'
        '400':
          description: Error details for gRPC Status of INVALID_ARGUMENT(3).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1ConfirmOfferError'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      tags:
      - LodgingBookingService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1ConfirmOfferRequest'
        description: A request to confirm final pricing and availability of an [OfferSummary].
        required: true
components:
  schemas:
    v1FixedModel:
      type: object
      description: 'Details for a fixed pricing model.

        Under this model, offers must be sold at the exact price quoted by Engine without markup.

        The seller does not receive commission for offers indicated with this pricing model.

        Compensation terms are defined exclusively by the seller''s agreement with Engine.

        Refer to your agreement or contact your Engine sales support team for questions.'
      title: Common_FixedModel_v1
    v1Conditions:
      type: object
      properties:
        modifyConditions:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/v1Condition'
          description: 'Conditions that apply to modification of a [BookingDetails].

            If no modify_conditions exist, the [BookingDetails] may not be modified.'
        cancelConditions:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/v1Condition'
          description: 'Conditions that apply to cancellation of a [BookingDetails].

            If no cancel_conditions exist, the [BookingDetails] may not be canceled.'
      description: Conditions that describe the availability, penalty, and timing constraints on modification to a booked item.
      title: Common_Conditions_v1
    v1PerUnitPrice:
      type: object
      properties:
        key:
          type: string
          description: 'A key to distinguish which unit is represented by this price.

            For example, which date, or which passenger.'
        unit:
          type: string
          description: 'The type of unit.

            For example, "night" or "person".'
        price:
          $ref: '#/components/schemas/v1Price'
          description: The cost for this unit.
      description: 'A price representing the cost of a single unit in a multi-unit breakdown.

        For example, price per night.'
      title: Common_PerUnitPrice_v1
    v1PriceLineItem:
      type: object
      properties:
        description:
          type: string
          description: A textual description of the individual charge.
        price:
          $ref: '#/components/schemas/v1CurrencyValue'
          description: The price of this line item.
        group:
          type: string
          description: 'Optionally, an identifier to group line items for visual display.

            For example, "Extras" or "Loyalty Benefits".'
      description: A individual service or upgrade added to an item during the shopping experience.
      title: Common_PriceLineItem_v1
    v1SubmitCancellationResponse:
      type: object
      properties:
        details:
          $ref: '#/components/schemas/v1CancellationDetails'
          description: The timestamp and refund details.
      description: Returns the result of a requested cancellation.
      title: Book_Lodging_Service_SubmitCancellationResponse_v1
    v1PriceWithPerUnit:
      type: object
      properties:
        price:
          $ref: '#/components/schemas/v1Price'
          description: The total price for the item.
        perUnitPrice:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/v1PerUnitPrice'
          title: The total price broken into per-unit costs
      description: 'The total price, along with a breakdown by a given unit.

        For example, the total stay cost and the per-night cost.'
      title: Common_PriceWithPerUnit_v1
    v1BookingNeedsReviewError:
      type: object
      description: An error that indicates a [BookingDetails] failed in an unknown state and needs to be manually reviewed to determine if it was completed successfully.
      title: Book_Common_Service_BookingNeedsReviewError_v1
    v1BookingDetails:
      type: object
      properties:
        bookingId:
          type: string
          description: A unique identifier for the [BookingDetails].
        status:
          $ref: '#/components/schemas/v1BookingStatus'
          description: Details of the state of the [BookingDetails].
        reservationDetails:
          $ref: '#/components/schemas/v1ReservationDetails'
          title: Details of the Property [ReservationDetails]
        cancellationDetails:
          $ref: '#/components/schemas/v1CancellationDetails'
          description: Optionally, the details of the cancellation action taken for the [BookingDetails].
        metadata:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/v1BookingMetadata'
          title: 'Any metadata provided while booking.

            Maximum length: 10'
          maxItems: 10.0
        guests:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/v1RoomGuests'
          description: 'The details of the guests as provided in the [BookRequest] that created the [BookingDetails].

            The number of RoomGuests will match the number of rooms on the [ReservationDetails].

            Some Properties may not retain all of the provided guest names or honor all of the provided loyalty information.'
      description: An Engine Lodging [BookingDetails] and the Property [ReservationDetails] it describes.
      title: Book_Lodging_BookingDetails_v1
    v1GetBookingsRequest:
      type: object
      properties:
        bookingIds:
          type: array
          items:
            type: string
          description: 'The identifiers of the [BookingDetails] to retrieve.

            No more than 50 [BookingDetails] may be requested at a time.'
          maxItems: 50.0
          minItems: 1.0
      description: A request to retrieve one or more [BookingDetails].
      title: Book_Lodging_Service_GetBookingsRequest_v1
    v1BookingMetadata:
      type: object
      properties:
        key:
          type: string
          title: 'A textual key to represent the purpose of the metadata, for example, "Contract ID".

            Keys must be unique within a [BookingDetails].

            Maximum length: 40 characters'
          maxLength: 40.0
        value:
          type: string
          title: 'A textual value.

            Maximum length: 100 characters'
          maxLength: 100.0
        external:
          type: boolean
          description: 'If true, this Metadata entry will be included on invoices and reports.

            If false, this entry will only be available via direct API access.'
      description: 'Custom Metadata attached to a [BookingDetails].

        Metadata values allow an Omni customer to carry a small amount of context on a [BookingDetails] for their own use.'
      title: Book_Lodging_BookingMetadata_v1
    v1AppliedCardPayment:
      type: object
      properties:
        lastFour:
          type: string
          description: The last four digits of the payment card number used for the transaction.
        cardBrand:
          type: string
          description: The brand or network of the payment card (e.g. "Visa", "Mastercard", "American Express").
      description: Indicates a card payment was used.
      title: Book_Common_AppliedCardPayment_v1
    rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
          description: 'The status code, which should be an enum value of

            [google.rpc.Code][google.rpc.Code].'
        message:
          type: string
          description: 'A developer-facing error message, which should be in English. Any

            user-facing error message should be localized and sent in the

            [google.rpc.Status.details][google.rpc.Status.details] field, or localized

            by the client.'
        details:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/protobufAny'
          description: 'A list of messages that carry the error details.  There is a common set of

            message types for APIs to use.'
      description: 'The `Status` type defines a logical error model that is suitable for

        different programming environments, including REST APIs and RPC APIs. It is

        used by [gRPC](https://github.com/grpc). Each `Status` message contains

        three pieces of data: error code, error message, and error details.


        You can find out more about this error model and how to work with it in the

        [API Design Guide](https://cloud.google.com/apis/design/errors).'
    v1Refund:
      type: object
      properties:
        amount:
          $ref: '#/components/schemas/v1CurrencyValue'
          description: The full amount of the refund.
      description: Details that describe any refund due or granted related to a modification or cancellation of a [BookingDetails].
      title: Common_Refund_v1
    v1InvalidPaymentError:
      type: object
      description: An error indicating that a Booking payment failed due to invalid [PaymentInfo].
      title: Book_Common_Service_InvalidPaymentError_v1
    v1GetBookingsResponse:
      type: object
      properties:
        bookings:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/v1BookingDetails'
          description: The requested [BookingDetails] in no particular order.
      description: The details of a single [BookingDetails].
      title: Book_Lodging_Service_GetBookingsResponse_v1
    v1Surcharge:
      type: object
      properties:
        description:
          type: string
          description: A textual description of the purpose of the Surcharge.
        amount:
          $ref: '#/components/schemas/v1CurrencyValue'
          description: The amount levied.
        type:
          $ref: '#/components/schemas/v1SurchargeType'
          title: The type of surcharge
      description: An additional charge, fee, or tax.
      title: Common_Surcharge_v1
    v1SurchargeType:
      type: string
      enum:
      - SURCHARGE_TYPE_PREPAID_FEE
      - SURCHARGE_TYPE_POSTPAID_FEE
      - SURCHARGE_TYPE_TAX
      default: SURCHARGE_TYPE_PREPAID_FEE
      description: "A programmatic classification of types of surcharges that could be levied.\n\n - SURCHARGE_TYPE_PREPAID_FEE: A fee due at time of booking.\n - SURCHARGE_TYPE_POSTPAID_FEE: A fee due at time of travel.\n - SURCHARGE_TYPE_TAX: Taxes due at time of booking."
      title: Common_SurchargeType_v1
    lodgingExternalCatalogIdentifierList:
      type: object
      properties:
        identifiers:
          type: array
          items:
            type: string
          description: 'Supplier property identifiers for the associated catalog key.

            May contain multiple identifiers when more than one external record is mapped to the Engine record.'
      description: A list of external catalog identifiers for a single catalog key.
      title: Content_ExternalCatalogIdentifierList_v1
    lodgingLodgingAmenityCode:
      type: string
      enum:
      - LODGING_AMENITY_CODE_UNKNOWN
      - LODGING_AMENITY_CODE_AIR_CONDITIONING
      - LODGING_AMENITY_CODE_DINING
      - LODGING_AMENITY_CODE_DRY_CLEANING
      - LODGING_AMENITY_CODE_ELECTRIC_VEHICLE_CHARGING
      - LODGING_AMENITY_CODE_FITNESS_CENTER
      - LODGING_AMENITY_CODE_FREE_AIRPORT_SHUTTLE
      - LODGING_AMENITY_CODE_FREE_BREAKFAST
      - LODGING_AMENITY_CODE_FREE_PARKING
      - LODGING_AMENITY_CODE_FULL_KITCHEN
      - LODGING_AMENITY_CODE_HIGH_SPEED_INTERNET
      - LODGING_AMENITY_CODE_KITCHENETTE
      - LODGING_AMENITY_CODE_MEETING_SPACE
      - LODGING_AMENITY_CODE_PET_FRIENDLY
      - LODGING_AMENITY_CODE_SPA
      - LODGING_AMENITY_CODE_SWIMMING_POOL
      - LODGING_AMENITY_CODE_TRUCK_PARKING
      default: LODGING_AMENITY_CODE_UNKNOWN
      title: Content_LodgingAmenityCode_v1
    v1ActionNotAvailableError:
      type: object
      properties:
        actionAvailability:
          $ref: '#/components/schemas/v1ActionAvailability'
          description: The availability of the attempted action.
      description: An error indicating that an action attempted by the client is unavailable for the given [BookingDetails].
      title: Book_Common_Service_ActionNotAvailableError_v1
    v1Guest:
      type: object
      properties:
        familyName:
          type: string
          description: The guest's family name or last name.
        givenName:
          type: string
          description: The guest's given name or first name.
        isAdult:
          type: boolean
          description: True if the guest is an adult.
      description: A traveler for the stay.
      title: Book_Lodging_Guest_v1
    v1EmailType:
      type: string
      enum:
      - EMAIL_TYPE_UNSPECIFIED
      - EMAIL_TYPE_GENERAL
      - EMAIL_TYPE_BILLING
      - EMAIL_TYPE_RESERVATIONS
      - EMAIL_TYPE_SUPPORT
      default: EMAIL_TYPE_UNSPECIFIED
      description: "Describes the type of an email contact.\n\n - EMAIL_TYPE_UNSPECIFIED: Unspecified email type.\n - EMAIL_TYPE_GENERAL: General contact email.\n - EMAIL_TYPE_BILLING: Billing-related email.\n - EMAIL_TYPE_RESERVATIONS: Reservations and booking email.\n - EMAIL_TYPE_SUPPORT: Customer support email."
      title: Common_EmailType_v1
    v1PaymentCard:
      type: object
      properties:
        number:
          type: string
          description: The payment card number as a string of digits without any separators or whitespace.
        securityCode:
          type: string
          description: The card security code, such as CVV or CVC.
        expirationMonth:
          type: string
          description: The number representing the card’s expiration month (01 through 12). Leading zeroes should be included.
        expirationYear:
          type: string
          description: Four-digit number representing the card’s expiration year.
        billingAddress:
          $ref: '#/components/schemas/v1PostalAddress'
          description: The billing address associated with the payment card being charged.
      description: The payment card that will be charged.
      title: Common_PaymentCard_v1
    v1PaymentProcessingError:
      type: object
      description: 'An error indicating that a Booking payment failed during processing.

        These errors are not safe to retry. Contact Member Support for assistance.'
      title: Book_Common_Service_PaymentProcessingError_v1
    v1ContactEmail:
      type: object
      properties:
        emailAddress:
          type: string
          description: The email address.
        emailType:
          $ref: '#/components/schemas/v1EmailType'
          description: Optional type of email contact.
      description: Contact email information.
      title: Common_ContactEmail_v1
    v1ConditionEventType:
      type: string
      enum:
      - CONDITION_EVENT_TYPE_UNKNOWN
      - CONDITION_EVENT_TYPE_DEPARTURE
      - CONDITION_EVENT_TYPE_CHECKIN
      default: CONDITION_EVENT_TYPE_UNKNOWN
      description: Events that affect the availability of an action when a specific timestamp is not available.
      title: Common_ConditionEventType_v1
    v1GuestWithLoyalty:
      type: object
      properties:
        guest:
          $ref: '#/components/schemas/v1Guest'
          description: The traveler details.
        loyaltyProgramIdentifier:
          $ref: '#/components/schemas/v1LodgingLoyaltyProgramIdentifier'
          description: 'The identifier to provide to the Property during Booking.

            Invalid identifiers may result in Booking failures with some Properties.

            Not all Offers include loyalty rewards.'
      description: A traveler who may be awarded Loyalty Rewards for the stay.
      title: Book_Lodging_GuestWithLoyalty_v1
    lodgingExternalCatalogIdentifiers:
      type: object
      properties:
        giataIdentifier:
          type: string
          description: GIATA identifier for this property.
        catalogIdentifiers:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/lodgingExternalCatalogIdentifierList'
          description: Catalog identifiers keyed by source keys.
      description: External catalog identifiers for property mapping.
      title: Content_ExternalCatalogIdentifiers_v1
    v1EngineDirectBill:
      type: object
      description: 'Indicates payment via Engine Direct Bill.

        If an Engine Direct Bill account has not been established, an [InvalidPaymentError] error will be returned.'
      title: Common_EngineDirectBill_v1
    v1NetModel:
      type: object
      description: 'Details for a net pricing model.

        Under this model, offers are provided at a net price which the seller is expected to mark up.

        The seller''s earnings consist of the margin between the net price and the final price charged to the customer.

        The markup amount and strategy are determined by the seller within the terms of their agreement.

        Net rates can be sold at any price no lower than [OfferSummary.price.price.total] and no higher than [OfferSummary.price.price.strike].

        This model does not override your agreement with Engine.

        Refer to your agreement or contact your Engine sales support team for questions.'
      title: Common_NetModel_v1
    v1ReservationDetails:
      type: object
      properties:
        confirmationNumbers:
          type: array
          items:
            type: string
          description: 'The confirmation numbers provided by the [Property] after a successful reservation.

            Confirmation numbers may not be available immediately after booking.

            The quantity of confirmation numbers may vary by the [Property] booked.'
        createdAt:
          type: string
          title: 'An ISO-8601-compliant date and time at which the [ReservationDetails] was booked.

            See https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations'
        quote:
          $ref: '#/components/schemas/v1Quote'
          description: The details of the [Quote] that was purchased.
        property:
          $ref: '#/components/schemas/lodgingProperty'
          description: The details of the [Property] at the time of the reservation.
        appliedPaymentInfo:
          $ref: '#/components/schemas/v1AppliedPaymentInfo'
          description: The details of the [AppliedPaymentInfo] for the reservation.
      description: Details of the Reservation made with the [Property].
      title: Book_Lodging_ReservationDetails_v1
    v1Bedding:
      type: object
      properties:
        count:
          type: integer
          format: int32
          description: The number of this bed type in the room.
        description:
          type: string
          description: 'A textual description of the type of this bed in the room.

            For example, "KING", "QUEEN", or "SLEEPER".'
      description: A description of the quantity and type of beds in the room.
      title: Shop_Lodging_Bedding_v1
    lodgingProperty:
      type: object
      properties:
        id:
          type: string
          description: The [Engine] identifier for this [Property].
        name:
          type: string
          description: The full name of this [Property].
        physicalAddress:
          $ref: '#/components/schemas/v1PostalAddress'
          description: 'The physical address of this [Property].

            This may differ from the mailing, billing, or other administrative addresses.'
        coordinates:
          $ref: '#/components/schemas/v1GeoPoint'
          description: The geographic location of this [Property].
        heroImageUri:
          type: string
          description: If available, A URI to the image to use as the primary image to identify this [Property].
        description:
          type: string
          description: If available, a brief textual description of this [Property].
        phoneNumber:
          type: string
          title: 'If available, an E.164-compliant primary phone number for this [Property].

            See https://en.wikipedia.org/wiki/E.164'
        emails:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/v1ContactEmail'
          description: 'Contact email addresses for this property.

            May include general contact, billing, or reservation emails.'
        starRating:
          type: string
          title: 'Star rating for this property.

            Represents the official star rating classification system.

            See https://en.wikipedia.org/wiki/Hotel_rating

            Examples: "4", "5", "3.5"'
        amenities:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/lodgingPropertyAmenity'
          title: 'Property amenities for this [Property].

            List of amenity names describing features and services available to guests.

            Examples: "Free WiFi", "Pool", "Fitness Center", "Free Breakfast"'
        mediaItems:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/v1MediaItem'
          description: 'Media items for property gallery.

            Collection of media URIs for detailed property viewing and marketing.'
        catalog:
          $ref: '#/components/schemas/lodgingExternalCatalogIdentifiers'
          description: 'External catalog identifiers for this property.

            Used for integration with external booking systems.'
        checkInTime:
          type: string
          description: Check-in time in local time HH:MM 24-hour format (e.g., "15:00") for the [Property].
        checkOutTime:
          type: string
          description: Check-out time in local time HH:MM 24-hour format (e.g., "11:00") for the [Property].
        loyaltyRewardsProgram:
          $ref: '#/components/schemas/v1LoyaltyRewardsProgram'
          description: The loyalty rewards program associated with the [Property].
        timeZone:
          type: string
          title: 'The time zone for the [Property] in the IANA format.

            See https://www.iana.org/time-zones

            Examples: "America/Denver", "Atlantic/Madeira"'
      description: An individual Lodging location identified by [Engine].
      title: Content_Property_v1
    v1LodgingLoyaltyProgramIdentifier:
      type: object
      properties:
        memberId:
          type: string
          description: The identifier provided to the travel by the program administrator.
      description: 'An identifier signifying a traveler''s membership in a Loyalty Program.

        Loyalty Program Identifiers are provided by the administrator of that program.

        Not all [OfferSummary] will grant loyalty rewards.'
      title: Common_LodgingLoyaltyProgramIdentifier_v1
    v1LodgingBookingStatusCode:
      type: string
      enum:
      - LODGING_BOOKING_STATUS_UNSPECIFIED
      - LODGING_BOOKING_STATUS_PENDING
      - LODGING_BOOKING_STATUS_CONFIRMED
      - LODGING_BOOKING_STATUS_CANCELED
      default: LODGING_BOOKING_STATUS_UNSPECIFIED
      description: "A value representing the state of a [BookingDetails].\n\n - LODGING_BOOKING_STATUS_PENDING: The Booking has been submitted, but has not yet been confirmed.\n - LODGING_BOOKING_STATUS_CONFIRMED: The Booking has been confirmed.\n - LODGING_BOOKING_STATUS_CANCELED: The Booking has been canceled and is no longer active."
      title: Book_Lodging_LodgingBookingStatusCode_v1
    v1RateData:
      type: object
      properties:
        rateCode:
          type: string
          title: 'The rate code associated with the Offer.

            For example, if a Partner has negotiated a rate code of "123", and an Offer corresponds to that rate code, this field will be "123".

            Contact Engine to load any rates codes for your credential'
      description: RateData contains rate information if and only if an Offer corresponds to a rate negotiated and contracted with the calling credential.
      title: Shop_Lodging_RateData_v1
    v1InvalidStateError:
      type: object
      description: An error indicating that the requested [BookingDetails] is not in a valid state to perform the operation.
      title: Book_Common_Service_InvalidStateError_v1
    v1ConfirmOfferRequest:
      type: object
      properties:
        continuationToken:
          type: string
          description: A `continuation_token` from [LodgingShoppingService.FindBestOffers], [LodgingShoppingService.FindBestOffersStreaming], or [LodgingShoppingService.FindAvailability].
        currencyCode:
          type: string
          title: 'The currency code for this request.

            This field specifies the currency in which the requester expects to see prices.

            It must adhere to the ISO 4217 three-character alphabetic currency code ("USD", "EUR", etc.).

            https://www.iso.org/iso-4217-currency-codes.html'
      description: A request to confirm final pricing an

# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hotel-engine/refs/heads/main/openapi/hotel-engine-lodgingbookingservice-api-openapi.yml