Engine · Schema

Shop_Lodging_Service_FindBestOffersResponse_v1

The results of a [LodgingShoppingService.FindBestOffers] search.

CompanyTravelBusiness TravelLodgingHotelsBookingTravel ManagementExpense ManagementPaymentsgRPCProtobufPartner API

Properties

Name Type Description
offers array The full list of offers responsive your search.
View JSON Schema on GitHub

JSON Schema

hotel-engine-v1-find-best-offers-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-find-best-offers-response-schema.json",
  "title": "Shop_Lodging_Service_FindBestOffersResponse_v1",
  "description": "The results of a [LodgingShoppingService.FindBestOffers] search.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hotel-engine-lodgingshoppingservice-api-openapi.yml#/components/schemas/v1FindBestOffersResponse",
  "type": "object",
  "properties": {
    "offers": {
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "#/$defs/v1PropertyBestOffer"
      },
      "description": "The full list of offers responsive your search."
    }
  },
  "$defs": {
    "lodgingExternalCatalogIdentifierList": {
      "type": "object",
      "properties": {
        "identifiers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Supplier property identifiers for the associated catalog key.\nMay 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"
    },
    "lodgingExternalCatalogIdentifiers": {
      "type": "object",
      "properties": {
        "giataIdentifier": {
          "type": "string",
          "description": "GIATA identifier for this property."
        },
        "catalogIdentifiers": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/lodgingExternalCatalogIdentifierList"
          },
          "description": "Catalog identifiers keyed by source keys."
        }
      },
      "description": "External catalog identifiers for property mapping.",
      "title": "Content_ExternalCatalogIdentifiers_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"
    },
    "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": "#/$defs/v1PostalAddress",
          "description": "The physical address of this [Property].\nThis may differ from the mailing, billing, or other administrative addresses."
        },
        "coordinates": {
          "$ref": "#/$defs/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].\nSee https://en.wikipedia.org/wiki/E.164"
        },
        "emails": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/$defs/v1ContactEmail"
          },
          "description": "Contact email addresses for this property.\nMay include general contact, billing, or reservation emails."
        },
        "starRating": {
          "type": "string",
          "title": "Star rating for this property.\nRepresents the official star rating classification system.\nSee https://en.wikipedia.org/wiki/Hotel_rating\nExamples: \"4\", \"5\", \"3.5\""
        },
        "amenities": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/$defs/lodgingPropertyAmenity"
          },
          "title": "Property amenities for this [Property].\nList of amenity names describing features and services available to guests.\nExamples: \"Free WiFi\", \"Pool\", \"Fitness Center\", \"Free Breakfast\""
        },
        "mediaItems": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/$defs/v1MediaItem"
          },
          "description": "Media items for property gallery.\nCollection of media URIs for detailed property viewing and marketing."
        },
        "catalog": {
          "$ref": "#/$defs/lodgingExternalCatalogIdentifiers",
          "description": "External catalog identifiers for this property.\nUsed 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": "#/$defs/v1LoyaltyRewardsProgram",
          "description": "The loyalty rewards program associated with the [Property]."
        },
        "timeZone": {
          "type": "string",
          "title": "The time zone for the [Property] in the IANA format.\nSee https://www.iana.org/time-zones\nExamples: \"America/Denver\", \"Atlantic/Madeira\""
        }
      },
      "description": "An individual Lodging location identified by [Engine].",
      "title": "Content_Property_v1"
    },
    "lodgingPropertyAmenity": {
      "type": "object",
      "properties": {
        "amenityName": {
          "type": "string",
          "title": "Amenity name describing a [Property] feature or service.\nExamples: \"Free WiFi\", \"Free Breakfast\""
        },
        "amenityCode": {
          "$ref": "#/$defs/lodgingLodgingAmenityCode",
          "description": "Amenity code, providing an easily machine readable representation of a [Property] feature or\nservice, if mapped."
        }
      },
      "description": "[Property] amenity containing name for property features and services.",
      "title": "Content_PropertyAmenity_v1"
    },
    "shoplodgingservicev1ResponsiveProperty": {
      "type": "object",
      "properties": {
        "property": {
          "$ref": "#/$defs/lodgingProperty",
          "description": "The details of the returned property."
        },
        "distance": {
          "$ref": "#/$defs/v1Distance",
          "description": "The distance from the center point of the search area, if appropriate."
        }
      },
      "description": "A Property that is responsive to the current shopping search.",
      "title": "Shop_Lodging_Service_ResponsiveProperty_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"
    },
    "v1BestOffer": {
      "type": "object",
      "properties": {
        "continuationToken": {
          "type": "string",
          "title": "An opaque token that may be used to see all available Offers for the property, or to book the offer directly.\nSee [LodgingShoppingService.FindAvailability]\nSee [LodgingBookingService.ConfirmOffer]"
        },
        "bestOffer": {
          "$ref": "#/$defs/v1OfferSummary",
          "description": "The specific details of the Best Offer available for a Property."
        },
        "isRefundableAvailable": {
          "type": "boolean",
          "description": "True if it is known that at least one refundable Offer is available for the property."
        },
        "isLoyaltyAvailable": {
          "type": "boolean",
          "description": "True if it is known that at least one Offer is available that earns loyalty points."
        },
        "isFreeParkingAvailable": {
          "type": "boolean",
          "description": "True if it is known that at least one Offer is available that has free parking included.\nPlease note: this value will be false if it is known that the Property offers free parking to all guests."
        },
        "isFreeBreakfastAvailable": {
          "type": "boolean",
          "description": "True if it is known that at least one Offer is available that has free breakfast included.\nPlease note: this value will be false if it is known that the Property offers free breakfast to all guests."
        },
        "isLoyaltyMembershipRateAvailable": {
          "type": "boolean",
          "description": "True if it is known that at least one Offer is available that requires a loyalty membership id to book."
        }
      },
      "description": "The details of the Best Offer available for a property given the search criteria and aggregated data about other Offers that are available at the same property.\nA [BestOffer] is not an exhaustive representation of all amenities and options available at a [Property].\nFor example, it is possible that a [BestOffer] might indicate no loyalty is available because it cannot be known until full availability has been pulled.\nTo retrieve the full availability for a Property, see [LodgingShoppingService.FindAvailability].",
      "title": "Shop_Lodging_Service_BestOffer_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"
    },
    "v1ContactEmail": {
      "type": "object",
      "properties": {
        "emailAddress": {
          "type": "string",
          "description": "The email address."
        },
        "emailType": {
          "$ref": "#/$defs/v1EmailType",
          "description": "Optional type of email contact."
        }
      },
      "description": "Contact email information.",
      "title": "Common_ContactEmail_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"
    },
    "v1Distance": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number",
          "format": "double",
          "description": "The distance quantity."
        },
        "unit": {
          "$ref": "#/$defs/v1DistanceUnit",
          "description": "The unit of distance measurement."
        }
      },
      "description": "The distance between two geographic points.",
      "title": "Common_Distance_v1"
    },
    "v1DistanceUnit": {
      "type": "string",
      "enum": [
        "DISTANCE_UNIT_MILE",
        "DISTANCE_UNIT_KILOMETER"
      ],
      "default": "DISTANCE_UNIT_MILE",
      "description": "The unit type for a distance measurement.\n\n - DISTANCE_UNIT_MILE: A mile in the imperial system of units.\n - DISTANCE_UNIT_KILOMETER: A kilometer in the international system of units (metric).",
      "title": "Common_DistanceUnit_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"
    },
    "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"
    },
    "v1GeoPoint": {
      "type": "object",
      "properties": {
        "latitude": {
          "type": "number",
          "format": "double",
          "description": "The center-point latitude."
        },
        "longitude": {
          "type": "number",
          "format": "double",
          "description": "The center-point longitude."
        }
      },
      "description": "A single geographic point, defined by latitude and longitude.",
      "title": "Common_GeoPoint_v1"
    },
    "v1Image": {
      "type": "object",
      "properties": {
        "uri": {
          "type": "string",
          "title": "The URI of the [Image].\nFor example, \"https://example.com/image.jpg\""
        }
      },
      "description": "Represents an [Image] with optional metadata.",
      "title": "Common_Image_v1"
    },
    "v1LoyaltyRewardsProgram": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the loyalty reward program."
        }
      },
      "description": "Represents a single loyalty rewards program.",
      "title": "Common_LoyaltyRewardsProgram_v1"
    },
    "v1MediaItem": {
      "type": "object",
      "properties": {
        "image": {
          "$ref": "#/$defs/v1Image",
          "title": "An [Image] this media item represents"
        },
        "description": {
          "type": "string",
          "title": "A description of this media item\nExample: \"A large restaurant\""
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "Tags categorizing the content of this media item\nExample: [\"outdoor\", \"pool\"]"
        }
      },
      "description": "A media item for visual or marketing context.",
      "title": "Common_MediaItem_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"
    },
    "v1PostalAddress": {
      "type": "object",
      "properties": {
        "recipients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optionally, any individual recipients.\nFor example, \"Alexander Hamilton\", \"Aaron Burr\"\nMay be empty."
        },
        "organization": {
          "type": "string",
          "description": "Optionally, any organization or company as a recipient.\nFor example, \"Engine\"."
        },
        "addressLine": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optionally, any address lines, in order as they'd appear on an envelope.\nFor example, \"233 S Wacker Dr\", \"108th Floor\".\nMay be empty."
        },
        "administrativeArea": {
          "type": "string",
          "title": "Optionally, the State, province, prefecture, oblast, or area.\nFor example, \"Texas\""
        },
        "locality": {
          "type": "string",
          "title": "Optionally, the City, or Post Town\nFor example, \"Austin\""
        },
        "postalCode": {
          "type": "string",
          "description": "Optionally, the postal code, if one exists, for the address.\nFor example, \"78757\"."
        },
        "countryCode": {
          "type": "string",
          "title": "Optionally, the ISO 3166-1 alpha-2 country code.\nFor example, \"US\".\nSee https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\nSee https://www.iso.org/iso-3166-country-codes.html"
        }
      },
      "description": "Represents a Postal Address.",
      "title": "Common_PostalAddress_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"
    },
    "v1PropertyBestOffer": {
      "type": "object",
      "properties": {
        "property": {
          "$ref": "#/$defs/shoplodgingservicev1ResponsiveProperty",
          "description": "Details of the Property for which this [BestOffer] applies."
        },
        "bestOffer": {
          "$ref": "#/$defs/v1BestOffer",
          "description": "The details of the available [BestOffer]."
        }
      },
      "description": "A Property and the BestOffer available for that Property given the provided search criteria.",
      "title": "Shop_Lodging_Service_PropertyBestOffer_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"
    },
    "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

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://artifacts.apis.io/hotel-engine/json-schema/hotel-engine-v1-find-best-offers-response-schema.json

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-find-best-offers-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.