Engine · Schema
ListPropertyCatalogResponse_v1
A response to a [CatalogService.ListPropertyCatalog] request.
CompanyTravelBusiness TravelLodgingHotelsBookingTravel ManagementExpense ManagementPaymentsgRPCProtobufPartner API
Properties
| Name | Type | Description |
|---|---|---|
| entries | array | The catalog entries returned by the request. It will contain up to [ListPropertyCatalogRequestDetails].page_size records. |
| nextPageToken | string | Optionally, an opaque token to be passed into the next [ListPropertyCatalogRequest] to retrieve the next page. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/hotel-engine/json-schema/hotel-engine-v1-list-property-catalog-response-schema.json",
"title": "ListPropertyCatalogResponse_v1",
"description": "A response to a [CatalogService.ListPropertyCatalog] request.",
"x-generated": "2026-11-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/hotel-engine-catalogservice-api-openapi.yml#/components/schemas/v1ListPropertyCatalogResponse",
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/$defs/v1PropertyCatalogEntry"
},
"description": "The catalog entries returned by the request.\nIt will contain up to [ListPropertyCatalogRequestDetails].page_size records."
},
"nextPageToken": {
"type": "string",
"description": "Optionally, an opaque token to be passed into the next [ListPropertyCatalogRequest] to retrieve the next page."
}
},
"$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"
},
"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"
},
"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"
},
"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"
},
"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"
},
"v1PropertyCatalogEntry": {
"type": "object",
"properties": {
"state": {
"$ref": "#/$defs/v1PropertyCatalogState",
"description": "The [PropertyCatalogState] of this entry within the catalog."
},
"property": {
"$ref": "#/$defs/lodgingProperty",
"description": "The [Property] content for this entry."
}
},
"description": "A single entry in the property catalog, wrapping a [Property] together with its state.",
"title": "PropertyCatalogEntry_v1"
},
"v1PropertyCatalogState": {
"type": "string",
"enum": [
"PROPERTY_CATALOG_STATE_UNSPECIFIED",
"PROPERTY_CATALOG_STATE_ACTIVE",
"PROPERTY_CATALOG_STATE_INACTIVE"
],
"default": "PROPERTY_CATALOG_STATE_UNSPECIFIED",
"description": "The state of a property within the catalog.\n\n - PROPERTY_CATALOG_STATE_UNSPECIFIED: The state is unknown or unspecified.\n - PROPERTY_CATALOG_STATE_ACTIVE: The property is active within the catalog\n - PROPERTY_CATALOG_STATE_INACTIVE: The property is inactive within the catalog.",
"title": "PropertyCatalogState_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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/hotel-engine-v1-list-property-catalog-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.