Skip to main content

Listing Detail

Listing and its properties (room types / units).

📄️ Get listing content by type

Returns listing-level content for one or more requested types. type=amenities, type=spaces and type=images return the de-duplicated union across all properties of the listing. type=reviews returns the listing's reviews with a combined rating summary. type=meals and type=vas return the meal plans / value-added services configured for the listing on the given channel and require the channelId parameter; each vas entry carries the catalog's free-form meta bag, which is where its image/icon lives. type=vicinities returns the nearest points of interest (the union of the listing's properties' vicinities, nearest first). type=usps returns the listing's unique selling points, best-ranked first, unioned across its properties; type=usp is accepted as an alias. type=location returns the listing's address — address line, locality, city, state, country — with its latitude and longitude for the map pin. Multiple types may be requested at once, either repeated (type=amenities&type=spaces) or comma-separated (type=amenities,spaces); only the requested collections are populated.

📄️ Get listing media grouped by tab

Returns all media for a listing, nested per property and grouped by media tab. Each property contributes its own tabs (read from the property content's mediaTabs), and each tab carries its key, display name, order and media items (images and videos). Within each tab the media is additionally grouped by highlightCategory (highlightCategories[]), in the order each category first appears; uncategorized items fall into a trailing group with a null highlightCategory. Tabs are sorted by their order (nulls last). Optionally filter by mediaType (IMAGE/VIDEO), tab key, and propertyId; each filter is repeatable (mediaType=IMAGE&mediaType=VIDEO) or comma-separated (mediaType=IMAGE,VIDEO). Omitting a filter returns everything for that dimension.

📄️ Listing detail (legacy)

Content and a self-computed invoice for a listing over a stay. **The `invoice` and `availableOptions` fields are deprecated.** They are computed by a second pricing implementation that knows nothing about coupons or bank offers, so they can disagree with the price the cart will charge. Use `GET /api/v1/search/listings/pdp` for the agent detail page and `POST /api/v1/search/pricing` for any price. This endpoint remains for clients that have not migrated and will be removed once they have.