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:
- Lodging business feature
- 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"
}