Properties
| Name | Type | Description |
|---|---|---|
| search_results | object | |
| hotel_date_statuses | array | |
| result_status | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/gondola-ai/json-schema/gondola-ai-partner-search-response-schema.json",
"title": "PartnerSearchResponse",
"x-generated": "2026-11-10",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/gondola-ai-openapi.json#/components/schemas/PartnerSearchResponse",
"type": "object",
"properties": {
"search_results": {
"$ref": "#/$defs/PartnerHotelSearchResults"
},
"hotel_date_statuses": {
"type": "array",
"items": {
"$ref": "#/$defs/HotelDateStatus"
}
},
"result_status": {
"type": "string",
"enum": [
"complete",
"partial",
"unavailable"
]
}
},
"required": [
"search_results",
"hotel_date_statuses",
"result_status"
],
"$defs": {
"Coordinates": {
"title": "Coordinates",
"description": "Latitude and longitude",
"type": "object",
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"additionalProperties": false
},
"CurrencyAmount": {
"type": "object",
"description": "An amount of money",
"properties": {
"value": {
"type": "number"
},
"currency": {
"type": "string"
},
"localized_amount": {
"$ref": "#/$defs/LocalizedCurrencyAmount"
}
},
"required": [
"value",
"currency"
]
},
"ExternalReview": {
"type": "object",
"description": "Curated content for a hotel",
"properties": {
"id": {
"type": "integer"
},
"vervotech_property_id": {
"type": "integer"
},
"mapped_property_name": {
"type": "string"
},
"source_name": {
"type": "string",
"description": "The source of the curated content, e.g. Conde Nast"
},
"article_name": {
"type": "string",
"description": "The name of the article"
},
"source_link": {
"type": "string",
"description": "The link to the source of the curated content"
},
"content": {
"type": "string",
"description": "The content of the curated article"
},
"excerpt": {
"type": "string",
"description": "An excerpt of the content"
},
"date_reviewed": {
"type": "string",
"format": "date",
"description": "The date the article was reviewed"
}
},
"required": [
"id",
"vervotech_property_id",
"mapped_property_name",
"source_name",
"article_name",
"source_link",
"content"
]
},
"FilterRate": {
"type": "object",
"description": "Lowest rate for a room/bed type filter, with optional room metadata",
"properties": {
"total": {
"$ref": "#/$defs/CurrencyAmount"
},
"nightly": {
"description": "Average nightly rate for this filter, when displayable",
"$ref": "#/$defs/CurrencyAmount",
"nullable": true
},
"room_name": {
"type": "string",
"description": "Name/description of the room with the lowest rate for this filter"
},
"image_url": {
"type": "string",
"description": "URL of an image of the room with the lowest rate for this filter"
},
"area_sq_ft": {
"type": "integer",
"description": "Room area in square feet, if available"
}
},
"required": [
"total",
"nightly"
]
},
"HotelAmenity": {
"title": "Hotel Amenity",
"description": "An amenity specific to a hotel, in contrast to room amenities or rate amenities.",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the amenity"
}
},
"required": [
"name"
]
},
"HotelDateStatus": {
"type": "object",
"properties": {
"hotel_id": {
"type": "integer"
},
"checkin": {
"type": "string",
"format": "date"
},
"checkout": {
"type": "string",
"format": "date"
},
"status": {
"type": "string",
"enum": [
"available",
"missing_content",
"missing_rate",
"unavailable"
]
},
"stay_summary": {
"type": [
"object",
"null"
],
"allOf": [
{
"$ref": "#/$defs/StaySummary"
}
]
}
},
"required": [
"hotel_id",
"checkin",
"checkout",
"status"
]
},
"HotelImage": {
"title": "Hotel Image",
"description": "An image of a hotel and its rooms",
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Category of the image"
},
"url": {
"type": "string",
"description": "URL of the image"
}
},
"required": [
"category",
"url"
]
},
"HotelTheme": {
"title": "Hotel Theme",
"description": "A theme for a hotel",
"type": "string",
"enum": [
"all",
"adventure sport",
"beach",
"boutique",
"business",
"casino",
"city",
"eco-certified",
"family",
"golf",
"gondola recommended",
"historic",
"hot springs",
"luxury",
"natural",
"pet-friendly",
"romantic",
"shopping",
"ski",
"spa",
"winery"
]
},
"LocalizedCurrencyAmount": {
"type": "object",
"description": "A localized amount of money (no recursive localization)",
"properties": {
"value": {
"type": "number"
},
"currency": {
"type": "string"
}
},
"required": [
"value",
"currency"
]
},
"PartnerHotelSearchResults": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/$defs/PartnerHotelSummary"
}
},
"total_result_count": {
"type": "integer"
},
"available_amenities": {
"type": "array",
"items": {
"type": "string"
}
},
"available_image_categories": {
"type": "array",
"items": {
"type": "string"
}
},
"available_hotel_themes": {
"type": "array",
"items": {
"$ref": "#/$defs/HotelTheme"
}
},
"available_transfer_partners": {
"type": "array",
"items": {
"$ref": "#/$defs/TransferPartner"
}
},
"recommended_viewport": {
"$ref": "#/$defs/Viewport"
},
"search_region": {
"$ref": "#/$defs/Viewport"
}
},
"required": [
"results",
"total_result_count",
"available_amenities",
"available_image_categories",
"available_hotel_themes"
]
},
"PartnerHotelSummary": {
"type": "object",
"description": "The non-personalized fields of search v3 HotelSummary in the same flat shape as deals results.",
"properties": {
"vervotech_property_id": {
"type": "integer"
},
"provider_property_id": {
"type": "integer"
},
"property_name": {
"type": "string"
},
"property_address": {
"type": "string"
},
"city_name": {
"type": "string"
},
"country_code": {
"type": "string"
},
"chain_name": {
"type": "string"
},
"brand_name": {
"type": "string"
},
"supplier_id": {
"type": "string"
},
"coordinates": {
"$ref": "#/$defs/Coordinates"
},
"description": {
"type": "string"
},
"year_built": {
"type": "integer"
},
"year_last_renovated": {
"type": "integer"
},
"stars": {
"description": "Number of stars",
"type": "number",
"format": "float"
},
"average_guest_rating": {
"description": "Average guest rating",
"type": "number",
"format": "float"
},
"review_count": {
"description": "The number of reviews for the property",
"type": "number",
"format": "integer"
},
"category_ratings": {
"description": "Average ratings across various review categories, e.g. cleanliness, service, etc",
"type": "array",
"items": {
"$ref": "#/$defs/RatingForCategory"
}
},
"hero_image": {
"description": "URL of hero image",
"type": "string"
},
"loyalty_program": {
"description": "Name of loyalty program",
"type": "string"
},
"checkin_time": {
"type": "string"
},
"checkout_time": {
"type": "string"
},
"amenities": {
"type": "array",
"items": {
"$ref": "#/$defs/HotelAmenity"
}
},
"full_amenities": {
"type": "array",
"items": {
"$ref": "#/$defs/HotelAmenity"
}
},
"notable_amenities": {
"description": "Small, ordered set of decision-useful amenities for hotel detail pages.",
"type": "array",
"items": {
"type": "string"
}
},
"images": {
"type": "array",
"items": {
"$ref": "#/$defs/HotelImage"
}
},
"external_reviews": {
"type": "array",
"items": {
"$ref": "#/$defs/ExternalReview"
}
},
"hotel_themes": {
"type": "array",
"items": {
"$ref": "#/$defs/HotelTheme"
}
},
"rooms": {
"type": "array",
"items": {
"$ref": "#/$defs/RoomInfo"
}
},
"desirability_index": {
"type": "number",
"description": "A score representing the desirability of the hotel, based on various factors."
},
"is_all_inclusive": {
"type": "boolean",
"description": "Whether a stay here includes meals, drinks, and activities."
},
"is_adults_only": {
"type": "boolean",
"description": "Whether the property is adults-only."
},
"checkin": {
"type": "string",
"format": "date"
},
"checkout": {
"type": "string",
"format": "date"
},
"checkin_str": {
"type": "string"
},
"checkout_str": {
"type": "string"
},
"nights": {
"type": "integer"
},
"lowest_rate": {
"description": "Lowest total room rate",
"type": "number",
"format": "float"
},
"lowest_rate_currency": {
"description": "Currency of lowest rate and nightly rate",
"type": "string"
},
"nightly_rate": {
"description": "Average nightly rate for the lowest rate",
"type": "number",
"format": "float"
},
"best_rate": {
"description": "Lowest total room rate - whether refundable or non-refundable",
"$ref": "#/$defs/CurrencyAmount"
},
"best_nightly_rate": {
"description": "Average nightly rate for the lowest rate",
"$ref": "#/$defs/CurrencyAmount"
},
"lowest_refundable_rate": {
"description": "Lowest total room rate - the best of refundable rates",
"$ref": "#/$defs/CurrencyAmount"
},
"refundable_nightly_rate": {
"description": "Average nightly rate for the lowest refundable rate",
"$ref": "#/$defs/CurrencyAmount"
},
"lowest_non_refundable_rate": {
"description": "Lowest total room rate - the best of non-refundable rates",
"$ref": "#/$defs/CurrencyAmount"
},
"non_refundable_nightly_rate": {
"description": "Average nightly rate for the lowest non-refundable rate",
"$ref": "#/$defs/CurrencyAmount"
},
"lowest_suite_rate": {
"description": "Lowest total suite room rate",
"$ref": "#/$defs/CurrencyAmount"
},
"suite_nightly_rate": {
"description": "Average nightly rate for the lowest suite rate",
"$ref": "#/$defs/CurrencyAmount"
},
"better_rooms_available": {
"description": "True when the search check-in is within 14 days and Travelport inventory shows rooms at higher tiers than the base room category. Factual signal based on current availability, not a prediction.\n",
"type": [
"boolean",
"null"
]
},
"lowest_rates_by_filter": {
"description": "Lowest rates keyed by filter type. Only populated for filters with matching rooms. Room type keys: suite, studio, standard. Bed type keys: 1_king, 1_queen, 2_queens, 2_double_beds.\n",
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/FilterRate"
}
},
"lowest_points": {
"description": "Lowest points for any room at hotel for the search range",
"type": "integer"
},
"lowest_nightly_points": {
"description": "Average nightly points for the lowest points rate",
"type": "integer"
},
"lowest_points_amount": {
"$ref": "#/$defs/PointsAmount"
},
"proximity": {
"description": "Distance from search location in m",
"type": "number",
"format": "float"
},
"points_percentile": {
"description": "The percentile of the points deal",
"type": "number"
},
"point_redemption_value": {
"description": "The number of cents per pt",
"type": "number"
},
"cash_percentile": {
"description": "The percentile of the cash deal",
"type": "number"
},
"cash_deal_score": {
"description": "The score of the deal. A value between 0 and 10, where 10 is a great deal.",
"type": "number"
},
"points_deal_score": {
"description": "The score of the deal. A value between 0 and 10, where 10 is a great deal.",
"type": "number"
},
"nights_free": {
"description": "The number of free nights for the points deal",
"type": "integer"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/$defs/Tag"
}
}
}
},
"PointsAmount": {
"type": "object",
"description": "An amount of points",
"properties": {
"value": {
"type": "number"
},
"cash_equivalent": {
"$ref": "#/$defs/CurrencyAmount"
},
"conversion_rate": {
"description": "The conversion rate from points to cash, expressed as cents/pt",
"type": "number"
}
}
},
"RatingForCategory": {
"title": "Rating for Category",
"description": "A category rating",
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Name of the category"
},
"rating": {
"type": "number",
"format": "float"
}
}
},
"RoomInfo": {
"type": "object",
"description": "Room information",
"properties": {
"room_name": {
"type": "string"
},
"room_layout_type": {
"$ref": "#/$defs/RoomLayoutType"
},
"room_qualifiers": {
"type": "array",
"items": {
"$ref": "#/$defs/RoomQualifier"
}
},
"bedroom_count": {
"type": "integer"
},
"views": {
"type": "array",
"items": {
"$ref": "#/$defs/RoomView"
}
},
"service_tier": {
"$ref": "#/$defs/RoomServiceTier"
},
"number_of_single_beds": {
"type": "integer"
},
"number_of_twin_beds": {
"type": "integer"
},
"number_of_full_beds": {
"type": "integer"
},
"number_of_queen_beds": {
"type": "integer"
},
"number_of_king_beds": {
"type": "integer"
},
"area_sq_meter": {
"type": "number"
},
"area_sq_ft": {
"type": "number"
},
"accessible": {
"type": "boolean"
},
"smoking": {
"type": "boolean"
},
"number_of_sofa_beds": {
"type": "integer"
},
"corner": {
"type": "boolean"
},
"floor": {
"type": "string"
}
}
},
"RoomLayoutType": {
"type": "string",
"enum": [
"Standard",
"Suite",
"Studio"
]
},
"RoomQualifier": {
"type": "string",
"enum": [
"Standard",
"Deluxe",
"Presidential",
"Executive",
"Penthouse",
"Bridal",
"Honeymoon",
"Junior",
"Mini",
"Premium",
"Premier",
"Superior",
"Terrace",
"Sky Terrace",
"Residential",
"Carnegie",
"Edwardian"
]
},
"RoomServiceTier": {
"type": "string",
"enum": [
"Club",
"Concierge",
"Exec",
"Executive",
"Gold",
"Luxe",
"ME",
"Penthouse",
"Platinum",
"Premier",
"Premium",
"Red",
"Royal",
"Royalty",
"Signature",
"Standard",
"Superior",
"VIP"
]
},
"RoomView": {
"type": "string",
"enum": [
"Bay",
"Beach",
"Canal",
"City",
"Courtyard",
"Desert",
"Garden",
"Golf",
"Harbor",
"Hill",
"Lagoon",
"Lake",
"Park",
"Partial lake",
"Marina",
"Mountain",
"Ocean",
"Partial ocean",
"Pool",
"Resort",
"River",
"Sea",
"Partial sea",
"Water",
"Valley",
"Vineyard"
]
},
"StaySummary": {
"title": "Stay Summary",
"description": "A stay summary - used in conjunction with a hotel summary",
"type": "object",
"properties": {
"checkin": {
"type": "string",
"format": "date"
},
"checkout": {
"type": "string",
"format": "date"
},
"checkin_str": {
"type": "string"
},
"checkout_str": {
"type": "string"
},
"nights": {
"type": "integer"
},
"lowest_rate": {
"description": "Lowest total room rate",
"type": "number",
"format": "float"
},
"lowest_rate_currency": {
"description": "Currency of lowest rate and nightly rate",
"type": "string"
},
"nightly_rate": {
"description": "Average nightly rate for the lowest rate",
"type": "number",
"format": "float"
},
"best_rate": {
"description": "Lowest total room rate - whether refundable or non-refundable",
"$ref": "#/$defs/CurrencyAmount"
},
"best_nightly_rate": {
"description": "Average nightly rate for the lowest rate",
"$ref": "#/$defs/CurrencyAmount"
},
"lowest_refundable_rate": {
"description": "Lowest total room rate - the best of refundable rates",
"$ref": "#/$defs/CurrencyAmount"
},
"refundable_nightly_rate": {
"description": "Average nightly rate for the lowest refundable rate",
"$ref": "#/$defs/CurrencyAmount"
},
"lowest_non_refundable_rate": {
"description": "Lowest total room rate - the best of non-refundable rates",
"$ref": "#/$defs/CurrencyAmount"
},
"non_refundable_nightly_rate": {
"description": "Average nightly rate for the lowest non-refundable rate",
"$ref": "#/$defs/CurrencyAmount"
},
"lowest_suite_rate": {
"description": "Lowest total suite room rate",
"$ref": "#/$defs/CurrencyAmount"
},
"suite_nightly_rate": {
"description": "Average nightly rate for the lowest suite rate",
"$ref": "#/$defs/CurrencyAmount"
},
"better_rooms_available": {
"description": "True when the search check-in is within 14 days and Travelport inventory shows rooms at higher tiers than the base room category. Factual signal based on current availability, not a prediction.\n",
"type": [
"boolean",
"null"
]
},
"lowest_rates_by_filter": {
"description": "Lowest rates keyed by filter type. Only populated for filters with matching rooms. Room type keys: suite, studio, standard. Bed type keys: 1_king, 1_queen, 2_queens, 2_double_beds.\n",
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/FilterRate"
}
},
"lowest_points": {
"description": "Lowest points for any room at hotel for the search range",
"type": "integer"
},
"lowest_nightly_points": {
"description": "Average nightly points for the lowest points rate",
"type": "integer"
},
"lowest_points_amount": {
"$ref": "#/$defs/PointsAmount"
},
"proximity": {
"description": "Distance from search location in m",
"type": "number",
"format": "float"
},
"points_percentile": {
"description": "The percentile of the points deal",
"type": "number"
},
"point_redemption_value": {
"description": "The number of cents per pt",
"type": "number"
},
"cash_percentile": {
"description": "The percentile of the cash deal",
"type": "number"
},
"cash_deal_score": {
"description": "The score of the deal. A value between 0 and 10, where 10 is a great deal.",
"type": "number"
},
"points_deal_score": {
"description": "The score of the deal. A value between 0 and 10, where 10 is a great deal.",
"type": "number"
},
"nights_free": {
"description": "The number of free nights for the points deal",
"type": "integer"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/$defs/Tag"
}
}
}
},
"StayTag": {
"type": "string",
"enum": [
"Great Points Deal",
"Great Cash Deal",
"Recommended for You",
"Highly Rated",
"Maximum Earnings",
"Frequent Stays",
"Closest to Location",
"Recently Renovated"
]
},
"Tag": {
"type": "object",
"description": "Tag information",
"properties": {
"stay_tag": {
"$ref": "#/$defs/StayTag"
},
"tag_reason": {
"type": "string"
}
},
"required": [
"stay_tag",
"tag_reason"
]
},
"TransferDuration": {
"title": "Transfer Duration",
"description": "The duration of a transfer",
"type": "string",
"enum": [
"instant",
"one_day",
"two_days",
"three_days"
]
},
"TransferPartner": {
"type": "object",
"properties": {
"from_loyalty_program": {
"type": "string"
},
"to_loyalty_program": {
"type": "string"
},
"transfer_ratio": {
"type": "number",
"format": "float"
},
"transfer_time": {
"$ref": "#/$defs/TransferDuration"
}
},
"required": [
"from_loyalty_program",
"to_loyalty_program",
"transfer_ratio"
]
},
"Viewport": {
"type": "object",
"properties": {
"north": {
"type": "number",
"format": "float",
"description": "The north latitude (max)"
},
"east": {
"type": "number",
"format": "float",
"description": "The east longitude (max)"
},
"south": {
"type": "number",
"format": "float",
"description": "The south latitude (min)"
},
"west": {
"type": "number",
"format": "float",
"description": "The west longitude (min)"
}
},
"required": [
"north",
"east",
"south",
"west"
],
"additionalProperties": false
}
}
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/gondola-ai-partner-search-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.