Introduction
This document describes a standard for exchanging data in the tourism domain, called AlpineBits® DestinationData, which is built upon:
-
an OntoUML ontology that describes the conceptualization and scope of the standard;
-
the JSON:API v1.0 specification for REST APIs that exchange JSON data through HTTP messages;
-
HTTPS and basic authentication protocols for secure communication;
-
the JSON Schema standard, draft 7 for message validation;
-
the GeoJSON standard for JSON geospatial modelling; and
-
Schema.org, used as an inspiration for designing resource types.
-
the OpenAPI specification, recommended as an additional standard for documentation of server implementations.
The AlpineBits® DestinationData standard was designed to support data exchange between systems acting as CLIENTS and SERVER, where CLIENTS consume the data provided by SERVERS.
The AlpineBits® DestinationData standard defines:
-
resource types
-
server endpoints
-
support to GET requests
-
request and response headers and parameters
-
additional request features (e.g., pagination and hypermedia controls)
The current version of the standard supports exchanging data about events, event series, event venues, mountain areas, lifts, ski slopes, snowparks, agents, and media objects.
1. Conventions and Definitions
The keywords “MUST”, “MUST NOT”, “REQUIRED”, “SHALL", “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.
Additionally, the following terminology is consistently used throughout this document:
-
CLIENT: a system that consumes data provided by a SERVER via HTTP requests -
SERVER: a system that stores and exposes data to CLIENTS in conformance with the AlpineBits® DestinationData API. -
Resource Type: a set of attributes and relationships used to characterize resources -
Resource: an object with a persistent identifier that conforms to a resource type -
Endpoint: the trailing part of a URL that provides access to HTTP requests on an API