Skip to content

Amenity features

Amenity features refer to the various characteristics and services offered by the LodgingBusiness or the Accommodation.

See as well the concepts of schema.org/amenityFeature and Markup for Hotels

Groups

All features are grouped into groups (categories) for better navigation.

We have our own feature tree which has 2 branches:

  1. Lodging business feature
  2. Accommodation feature

where each branch contains groups and subgroups for its type, respectively.

The complete feature tree can be retrieved by /types/tree Infocenter endpoint.

Features

We try to harmonize all the features that we get from various sources and map them into our tree. But amenity features vary a lot and some are may not known in our definition. We still import them and create groups for themselves. This way, all features from the source will be presented in the vertex.

All features from our tree can be retrieved by /amenities Infocenter endpoint.

Feature structure

Property Description
additionalType Group Id
typeName Group name
propertyId Full Id (<groupId>-<featureId>)
name Name
value Value, if any
valueType 'boolean', 'number', 'numberrange', 'time', 'timerange', 'list'
minValue set for 'numberrange' and 'timerange'
maxValue set for 'numberrange' and 'timerange'
unitText 'm', 'km', 'm²'
unitCode 'MTR', 'KMT', 'MTK'

Example:

[
  {
    "additionalType": "general",
    "propertyId": "general-carpark",
    "typeName": "Allgemein",
    "name": "Parkplatz",
    "value": "true",
    "valueType": "boolean"
  },
  {
    "additionalType": "general",
    "propertyId": "general-receptionfromuntil",
    "typeName": "Allgemein",
    "name": "Öffnungszeiten der Rezeption",
    "valueType": "timerange",
    "maxValue": "18:00",
    "minValue": "07:00"
  },
  {
    "additionalType": "events",
    "propertyId": "events-banquetparticipantsMinMax",
    "typeName": "Konferenzen und Veranstaltungen",
    "name": "Bankettteilnehmer",
    "valueType": "numberrange",
    "maxValue": "100"
  },
  {
    "additionalType": "location",
    "propertyId": "location-distancecitycentre",
    "typeName": "Ort",
    "name": "Entfernung Stadtzentrum",
    "value": "1300",
    "valueType": "number",
    "unitText": "m",
    "unitCode": "MTR"
  }
]

In cases where the feature could not be matched into our tree, the properties additionalType and propertyId will be prefixed with the data source acronym. And it has its own group and feature names (not corresponding to our tree).

For example

{
  "additionalType": "tom-services",
  "propertyId": "tom-services-tds00020010497940052",
  "typeName": "Dienstleistungen",
  "name": "Zollfrei einkaufen",
  "value": "true",
  "valueType": "boolean"
}