Skip to main content
An entry nested in a category returned by GET /api/v2/amenity-categories. Its stable code identifies the amenity in hotel responses. The parent category object contains the stable category code and localized category label. detailKinds declares which structured fields can be populated on the corresponding Amenity value. notePlaceholder is optional localized helper text for the amenity note. Most amenities omit it.

Detail kinds

detailKinds is metadata from the dictionary. Use it to decide which controls to display and which fields on the corresponding hotel amenity value carry meaningful data. The values use snake case because they identify field groups, not response property names. An empty detailKinds array means that selecting the amenity is the complete value. The corresponding hotel amenity contains only its code. For example:
This sauna can populate proximity (and conditionally proximityMeters), access, options, and openingHours. Because detailKinds includes options, the entry carries an options array with every valid sauna choice. The sauna does not support note, so the note property is omitted from its Amenity value.

One amenity dictionary entry nested under its category in the response from GET /amenity-categories.

code
string
required

Stable code stored on hotels and used for filtering.

Example:

"sauna"

label
object
required

Localized display name.

Example:
detailKinds
enum<string>[]
required

Structured detail field groups supported by this amenity. Resolve these snake-case values to AmenityValue properties as documented in the Amenity value object reference. An empty array means the amenity is presence-only.

Available options:
proximity,
access,
options,
opening_hours,
note
options
object[]

All choices supported by this amenity. Present when detailKinds includes options.

notePlaceholder
object

Optional localized helper text for the amenity note. Omitted when the amenity does not define one.

Example: