- The amenity dictionary — the list of every possible amenity, each with a
stable
code, acategory, a value type, and localized labels. Fetch it once fromGET /api/v2/amenities. - Amenity values — what a given hotel or room type actually offers, as a list
of
code+ state objects on itsamenitiesfield.
code (plus any quantity or condition);
labels and categories live in the dictionary. So fetch the dictionary once, cache
it, and look up codes locally.
The amenity dictionary
GET /api/v2/amenities
The full endpoint spec — query parameters, response schema, and a request playground.
GET /api/v2/amenities returns the full list of possible amenities — a small
reference list, not paginated. Each entry has a code, a category, a scope, a
valueType, and a localized label — see the Amenity object
for the full field reference.
Optionally narrow it by scope or category:
Response
Example categories and codes
Codes follow acategory.slug convention and are spa/wellness-oriented. The list
below is a sample — the full set (from GET /api/v2/amenities) has more categories
and codes, and grows over time.
| Category | Example codes |
|---|---|
wellness | wellness.sauna, wellness.massage, wellness.spa, … |
pools | pools.indoor_pool, pools.outdoor_pool, pools.hot_tub, … |
connectivity | connectivity.wifi, connectivity.public_terminal, … |
parking | parking.parking, parking.ev_charging, parking.garage, … |
foodAndDrink | foodAndDrink.restaurant, foodAndDrink.bar, foodAndDrink.breakfast, … |
services | services.reception_24h, services.concierge, services.laundry, … |
accessibility | accessibility.step_free_access, accessibility.accessible_bathroom, … |
comfort | comfort.air_conditioning, comfort.minibar, comfort.balcony, … |
bathroom | bathroom.shower, bathroom.bathtub, bathroom.hairdryer, … |
pets, families, sustainability) and codes
are added as the catalog evolves. Resolve a code against GET /api/v2/amenities
rather than hard-coding this list.
Amenity values on hotels and room types
Hotels and room types carry anamenities array — the amenities that hotel or room
has. Each item references a dictionary code, optionally with a quantity or a
condition — see the Amenity value object for the full
field reference.
The array lists the amenities a hotel or room offers — a code’s presence means
it has that amenity. A code that is absent means it is not offered (or not yet
advertised).
Hotel with amenities
code against the dictionary you fetched from
GET /api/v2/amenities — that is where the localized label and category live.
Scope: hotel vs. room type
Each dictionary entry has ascope — an array of the levels where the amenity
applies:
hotel— property-level facilities (parking, an outdoor pool, 24h reception).roomType— in-room features (air conditioning, balcony, minibar).
["hotel", "roomType"]. An
amenity whose scope contains hotel can appear in a hotel’s amenities; one whose
scope contains roomType can appear in a room type’s.
Room type with amenities
Filtering by amenity
BothGET /api/v2/hotels and
GET /api/v2/room-types accept two amenity filters:
amenities— comma-separatedcodes; returns only results that have all of them (AND semantics).amenityCategory— returns results that have any amenity in that category.
stars and beds have their own query parameters — don’t pass them as amenity
codes.Putting it together
- Fetch the dictionary once:
GET /api/v2/amenities. Cache it — it changes rarely. - Filter the catalog:
GET /api/v2/hotels?amenities=wellness.sauna&amenityCategory=wellness. - Render each result: for every
amenities[].code, look up the localizedlabelandcategoryin the cached dictionary, and show anyquantityorcondition.
code + state.