Engine · Schema

Book_Lodging_Service_ConfirmOfferRequest_v1

The result of a price and availability check.

CompanyTravelBusiness TravelLodgingHotelsBookingTravel ManagementExpense ManagementPaymentsgRPCProtobufPartner API

Properties

Name Type Description
continuationToken string
quote object The full details of the [OfferSummary], [RoomDescription], Dates of Travel, and any notices required for display during the confirmation process.
View JSON Schema on GitHub

JSON Schema

hotel-engine-v1-confirm-offer-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/hotel-engine/json-schema/hotel-engine-v1-confirm-offer-response-schema.json",
  "title": "Book_Lodging_Service_ConfirmOfferRequest_v1",
  "description": "The result of a price and availability check.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hotel-engine-lodgingbookingservice-api-openapi.yml#/components/schemas/v1ConfirmOfferResponse",
  "type": "object",
  "properties": {
    "continuationToken": {
      "type": "string",
      "title": "An opaque token that may be used to book the stay via [LodgingBookingService.Book].\nSee [LodgingBookingService.ConfirmOffer]"
    },
    "quote": {
      "$ref": "#/$defs/v1Quote",
      "description": "The full details of the [OfferSummary], [RoomDescription], Dates of Travel, and any notices required for display during the confirmation process."
    }
  },
  "$defs": {
    "lodgingRoomAmenity": {
      "type": "object",
      "properties": {
        "amenityName": {
          "type": "string",
          "title": "Amenity name describing room features and services.\nExamples: \"Housekeeping on request\", \"Free WiFi\""
        }
      },
      "description": "Room amenity containing name for room features and services.",
      "title": "Content_RoomAmenity_v1"
    },
    "v1ActionAvailability": {
      "type": "string",
      "enum": [
        "ACTION_AVAILABILITY_UNKNOWN",
        "ACTION_AVAILABILITY_UNAVAILABLE",
        "ACTION_AVAILABILITY_AVAILABLE",
        "ACTION_AVAILABILITY_AVAILABLE_VIA_VENDOR",
        "ACTION_AVAILABILITY_AVAILABLE_VIA_SUPPORT"
      ],
      "default": "ACTION_AVAILABILITY_UNKNOWN",
      "description": "Describes the means by which an action may be taken on a [BookingDetails].\n\n - ACTION_AVAILABILITY_UNKNOWN: It is unknown if the action is available. It might be available directly through the vendor.\n - ACTION_AVAILABILITY_UNAVAILABLE: The action is not available through the API. It is unknown whether it can be performed in another context, such as through the vendor or support.\n - ACTION_AVAILABILITY_AVAILABLE: The action is available through the API.\n - ACTION_AVAILABILITY_AVAILABLE_VIA_VENDOR: The action is available, but only through the service provider.\n - ACTION_AVAILABILITY_AVAILABLE_VIA_SUPPORT: The action is available, but only through customer support.",
      "title": "Common_ActionAvailability_v1"
    },
    "v1AmenityAvailability": {
      "type": "string",
      "enum": [
        "AMENITY_AVAILABILITY_UNKNOWN",
        "AMENITY_AVAILABILITY_UNAVAILABLE",
        "AMENITY_AVAILABILITY_INCLUDED",
        "AMENITY_AVAILABILITY_VIA_VENDOR"
      ],
      "default": "AMENITY_AVAILABILITY_UNKNOWN",
      "description": "Describes the condition of an amenity's inclusion on a [Property], [RoomDescription], [OfferSummary], or [BookingDetails].\n\n - AMENITY_AVAILABILITY_UNKNOWN: The availability of an amenity cannot be confirmed.\n - AMENITY_AVAILABILITY_UNAVAILABLE: The amenity is confirmed to not be available.\n - AMENITY_AVAILABILITY_INCLUDED: The amenity is confirmed to be included.\n - AMENITY_AVAILABILITY_VIA_VENDOR: The amenity is not included, but may be purchased directly from the hotel, airline, car rental vendor, etc.\nFor example, a seat upgrade or breakfast vouchers.",
      "title": "Common_AmenityAvailability_v1"
    },
    "v1AvailableActions": {
      "type": "object",
      "properties": {
        "cancel": {
          "$ref": "#/$defs/v1ActionAvailability",
          "description": "Describes the availability of the cancel action."
        },
        "modify": {
          "$ref": "#/$defs/v1ActionAvailability",
          "description": "Describes the availability of the modify action."
        }
      },
      "description": "Describes the availability of actions on a [BookingDetails].",
      "title": "Common_AvailableActions_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.\nFor example, \"KING\", \"QUEEN\", or \"SLEEPER\"."
        }
      },
      "description": "A description of the quantity and type of beds in the room.",
      "title": "Shop_Lodging_Bedding_v1"
    },
    "v1CommissionableModel": {
      "type": "object",
      "properties": {
        "commissionValue": {
          "$ref": "#/$defs/v1CurrencyValue",
          "description": "The commission amount the seller will receive for selling this offer."
        }
      },
      "description": "Details for a commissionable pricing model.\nUnder this model, offers must be sold at the exact price quoted by Engine without markup.\nThe seller receives a fixed commission amount for each sale.\nThis model does not override your agreement with Engine.\nRefer to your agreement or contact your Engine sales support team for questions.",
      "title": "Common_CommissionableModel_v1"
    },
    "v1Condition": {
      "type": "object",
      "properties": {
        "beforeTimestamp": {
          "type": "string",
          "title": "If present, this condition applies before and up to this ISO-8601-compliant timestamp.\nFor example, Changing this flight is free before May 30th.\nThis field may interact with [Condition.after_timestamp].\nSee https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations"
        },
        "afterTimestamp": {
          "type": "string",
          "title": "If present, this condition applies on or after this ISO-8601-compliant timestamp.\nFor example, Canceling this flight incurs a $75 fee after June 1st.\nThis field may interact with [Condition.before_timestamp] and [Condition.before_event].\nSee https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations"
        },
        "beforeEvent": {
          "$ref": "#/$defs/v1ConditionEventType",
          "description": "If present, this condition applies up until the described event occurs.\nFor example, Cancelling this flight is free until departure."
        },
        "penalty": {
          "$ref": "#/$defs/v1CurrencyValue",
          "description": "Optionally, any charge incurred as a result of the intended action within the constraints of\n[Condition.before_timestamp], [Condition.after_timestamp], and [Condition.before_event].\npenalty may be absent if the penalty is unknown. A missing penalty does not imply that there is no penalty.\nIf the penalty is known to be zero, penalty will be present with a value of 0."
        },
        "isAllowed": {
          "type": "boolean",
          "description": "If false, the intended operation is not allowed."
        }
      },
      "description": "An individual condition to be applied to an interaction with a booked item.\nFor example, to cancel, or extend a Lodging [BookingDetails].",
      "title": "Common_Condition_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"
    },
    "v1Conditions": {
      "type": "object",
      "properties": {
        "modifyConditions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/$defs/v1Condition"
          },
          "description": "Conditions that apply to modification of a [BookingDetails].\nIf no modify_conditions exist, the [BookingDetails] may not be modified."
        },
        "cancelConditions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/$defs/v1Condition"
          },
          "description": "Conditions that apply to cancellation of a [BookingDetails].\nIf 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"
    },
    "v1CurrencyValue": {
      "type": "object",
      "properties": {
        "currencyCode": {
          "type": "string",
          "title": "The 3-character ISO-4217 alphabetic currency code.\nFor example: USD\nSee https://www.iso.org/iso-4217-currency-codes.html"
        },
        "value": {
          "type": "string",
          "description": "The non-localized decimal representation of the amount of currency represented by this object.\nFor example, \"123456.789\"."
        }
      },
      "description": "A safe encoding of a monetary value and its paired currency code.",
      "title": "Common_CurrencyValue_v1"
    },
    "v1FixedModel": {
      "type": "object",
      "description": "Details for a fixed pricing model.\nUnder this model, offers must be sold at the exact price quoted by Engine without markup.\nThe seller does not receive commission for offers indicated with this pricing model.\nCompensation terms are defined exclusively by the seller's agreement with Engine.\nRefer to your agreement or contact your Engine sales support team for questions.",
      "title": "Common_FixedModel_v1"
    },
    "v1NetModel": {
      "type": "object",
      "description": "Details for a net pricing model.\nUnder this model, offers are provided at a net price which the seller is expected to mark up.\nThe seller's earnings consist of the margin between the net price and the final price charged to the customer.\nThe markup amount and strategy are determined by the seller within the terms of their agreement.\nNet rates can be sold at any price no lower than [OfferSummary.price.price.total] and no higher than [OfferSummary.price.price.strike].\nThis model does not override your agreement with Engine.\nRefer to your agreement or contact your Engine sales support team for questions.",
      "title": "Common_NetModel_v1"
    },
    "v1OfferAmenities": {
      "type": "object",
      "properties": {
        "freeBreakfast": {
          "$ref": "#/$defs/v1AmenityAvailability",
          "description": "Describes the availability of free breakfast for the offer or booking."
        },
        "freeParking": {
          "$ref": "#/$defs/v1AmenityAvailability",
          "description": "Describes the availability of free parking for the offer or booking."
        },
        "otherAmenities": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Textual descriptions for display purposes of assorted amenities of the offer or booking that have not been explicitly hoisted to their own attribute."
        }
      },
      "description": "OfferAmenities represent the value added by the individual offer to be evaluated against other offers.\nOfferAmenities do not include amenities conferred by the Property.\nFor example, if a given Property provides free breakfast to all guests, none of the Offers for that property will have Free Breakfast as an amenity.",
      "title": "Shop_Lodging_OfferAmenities_v1"
    },
    "v1OfferSummary": {
      "type": "object",
      "properties": {
        "propertyId": {
          "type": "string",
          "description": "The Engine identifier for the Property to which this Offer belongs."
        },
        "description": {
          "type": "string",
          "description": "A textual description of the Offer."
        },
        "price": {
          "$ref": "#/$defs/v1PriceWithPerUnit",
          "description": "The pricing details for the Offer.\nThis price indicates the amount owed to Engine at the time of booking.\nRefer to [OfferSummary.sell_type] for details on how the offer may be priced to the customer."
        },
        "offerAmenities": {
          "$ref": "#/$defs/v1OfferAmenities",
          "description": "Amenities that may only apply to this Offer.\nFor example, some Offers may include parking."
        },
        "conditions": {
          "$ref": "#/$defs/v1Conditions",
          "description": "The conditions covering refundability and cancellation."
        },
        "isLoyaltyEligible": {
          "type": "boolean",
          "description": "If true, this Offer may earn loyalty points."
        },
        "isLoyaltyMembershipIdRequired": {
          "type": "boolean",
          "description": "If true, this offer requires a loyalty membership id to book."
        },
        "rateData": {
          "$ref": "#/$defs/v1RateData",
          "description": "Optionally, if this offer represents a negotiated rate specifically configured for your credential, the details of that rate will be included here."
        },
        "sellType": {
          "$ref": "#/$defs/v1SellType",
          "description": "The sell type for this offer.\nDefines how the seller is compensated and the pricing guidelines for this offer.\nSee [SellType] for details on available model types and their pricing rules."
        }
      },
      "description": "A summary of the attributes available to a specific Offer.",
      "title": "Shop_Lodging_OfferSummary_v1"
    },
    "v1PerUnitPrice": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "description": "A key to distinguish which unit is represented by this price.\nFor example, which date, or which passenger."
        },
        "unit": {
          "type": "string",
          "description": "The type of unit.\nFor example, \"night\" or \"person\"."
        },
        "price": {
          "$ref": "#/$defs/v1Price",
          "description": "The cost for this unit."
        }
      },
      "description": "A price representing the cost of a single unit in a multi-unit breakdown.\nFor example, price per night.",
      "title": "Common_PerUnitPrice_v1"
    },
    "v1Price": {
      "type": "object",
      "properties": {
        "subTotal": {
          "$ref": "#/$defs/v1CurrencyValue",
          "description": "The sum total for the booking excluding taxes and fees.\nThe subtotal includes all [Price.line_items]."
        },
        "total": {
          "$ref": "#/$defs/v1CurrencyValue",
          "description": "The full liability to purchase the item.\nThis is not necessarily the amount due at time of booking due to discounts, incentives, or postpaid items."
        },
        "taxes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/$defs/v1Surcharge"
          },
          "description": "Any taxes to be collected at time of payment.\nThis field is deprecated. Use [Price.taxes_and_fees] instead."
        },
        "fees": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/$defs/v1Surcharge"
          },
          "description": "Any fees applied to the item or service.\nThis field is deprecated. Use [Price.taxes_and_fees] instead."
        },
        "base": {
          "$ref": "#/$defs/v1CurrencyValue",
          "title": "The cost of the main item or service in the booking, less upgrades or additional services, fees, and taxes.\nThe base is equivalent to:  [Price.sub_total] - sum([Price.line_items])"
        },
        "lineItems": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/$defs/v1PriceLineItem"
          },
          "description": "Additional upgrades to an item or service added during the shopping experience.\nLine items are represented in the [Price.sub_total]."
        },
        "taxesAndFeesTotal": {
          "$ref": "#/$defs/v1CurrencyValue",
          "description": "The sum of all individual [Price.taxes] and [Price.fees]."
        },
        "strike": {
          "$ref": "#/$defs/v1CurrencyValue",
          "description": "A representative market price for the item or service without any discounts applied."
        },
        "totalDueNow": {
          "$ref": "#/$defs/v1CurrencyValue",
          "description": "The total amount due at time of booking."
        },
        "totalDueLater": {
          "$ref": "#/$defs/v1CurrencyValue",
          "description": "The total amount due at the time of the travel event."
        },
        "taxesAndFees": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/$defs/v1Surcharge"
          },
          "description": "Any taxes and fees to be collected at time of payment. This includes all taxes and fees due at time of booking."
        }
      },
      "description": "The details of the cost of an item or service.",
      "title": "Common_Price_v1"
    },
    "v1PriceLineItem": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "A textual description of the individual charge."
        },
        "price": {
          "$ref": "#/$defs/v1CurrencyValue",
          "description": "The price of this line item."
        },
        "group": {
          "type": "string",
          "description": "Optionally, an identifier to group line items for visual display.\nFor example, \"Extras\" or \"Loyalty Benefits\"."
        }
      },
      "description": "A individual service or upgrade added to an item during the shopping experience.",
      "title": "Common_PriceLineItem_v1"
    },
    "v1PriceWithPerUnit": {
      "type": "object",
      "properties": {
        "price": {
          "$ref": "#/$defs/v1Price",
          "description": "The total price for the item."
        },
        "perUnitPrice": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/$defs/v1PerUnitPrice"
          },
          "title": "The total price broken into per-unit costs"
        }
      },
      "description": "The total price, along with a breakdown by a given unit.\nFor example, the total stay cost and the per-night cost.",
      "title": "Common_PriceWithPerUnit_v1"
    },
    "v1Quote": {
      "type": "object",
      "properties": {
        "checkInDate": {
          "type": "string",
          "title": "An ISO-8601-compliant date on which the stay begins.\nSee https://en.wikipedia.org/wiki/ISO_8601#Calendar_dates"
        },
        "checkOutDate": {
          "type": "string",
          "title": "An ISO-8601-compliant date on which the stay ends.\nSee https://en.wikipedia.org/wiki/ISO_8601#Calendar_dates"
        },
        "offerSummary": {
          "$ref": "#/$defs/v1OfferSummary",
          "description": "The details of the [OfferSummary] to be Booked."
        },
        "roomCount": {
          "type": "integer",
          "format": "int32",
          "description": "The number of rooms to be Booked."
        },
        "roomDescription": {
          "$ref": "#/$defs/v1RoomDescription",
          "description": "The details of the [RoomDescription] to be booked."
        },
        "availableActions": {
          "$ref": "#/$defs/v1AvailableActions",
          "description": "Optionally, the actions (such as cancellation) that are available for the [BookingDetails] if they are known.\nNot every action will be available through the API for every reservation.\nSome may be available but the availability is not known at the point of the [LodgingBookingService.ConfirmOffer] or the [LodgingBookingService.Book] request."
        }
      },
      "description": "The full details of the item to be Booked.",
      "title": "Book_Lodging_Quote_v1"
    },
    "v1RateData": {
      "type": "object",
      "properties": {
        "rateCode": {
          "type": "string",
          "title": "The rate code associated with the Offer.\nFor example, if a Partner has negotiated a rate code of \"123\", and an Offer corresponds to that rate code, this field will be \"123\".\nContact 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"
    },
    "v1RoomDescription": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "description": "The title of a room.\nFor example, \"Standard 1 King Bed\", or \"Suite 1 King Bed\", \"The Canary Suite\"."
        },
        "description": {
          "type": "string",
          "title": "A textual marketing description of the room.\nFor example, \"SKYLINE VIEW KING ROOM -CITY OR RIVER VIEW 1 KING -430 SQF\""
        },
        "beds": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/$defs/v1Bedding"
          },
          "description": "The available bedding for the room."
        },
        "photos": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "URIs to photos of this room."
        },
        "amenities": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/$defs/lodgingRoomAmenity"
          },
          "description": "A list of amenities that are available in the room."
        }
      },
      "description": "Generalized details of the room to which an Offer applies.",
      "title": "Shop_Lodging_RoomDescription_v1"
    },
    "v1SellType": {
      "type": "object",
      "properties": {
        "commissionable": {
          "$ref": "#/$defs/v1CommissionableModel",
          "description": "Indicates this offer uses a commissionable sell type.\nOffers with this type must be sold at the exact price quoted by Engine.\nThe seller earns a commission specified in [CommissionableModel].\nSee [CommissionableModel] for details."
        },
        "net": {
          "$ref": "#/$defs/v1NetModel",
          "description": "Indicates this offer uses a net sell type.\nOffers with this type are expected to be marked up by the seller.\nThe seller earns the margin between the net price and the marked-up price.\nSee [NetModel] for details."
        },
        "fixed": {
          "$ref": "#/$defs/v1FixedModel",
          "description": "Indicates this offer uses a fixed sell type.\nOffers with this type must be sold at the exact price quoted by Engine.\nCompensation terms are defined exclusively by the seller's agreement with Engine.\nSee [FixedModel] for details."
        }
      },
      "description": "The sell type of an offer.\nDefines seller compensation and pricing guidelines for this offer.\nThe type determines whether the seller earns through commission, markup margin, or other contractual arrangements.",
      "title": "Common_SellType_v1"
    },
    "v1Surcharge": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "A textual description of the purpose of the Surcharge."
        },
        "amount": {
          "$ref": "#/$defs/v1CurrencyValue",
          "description": "The amount levied."
        },
        "type": {
          "$ref": "#/$defs/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"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/hotel-engine-v1-confirm-offer-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.