Resources¶
Basic Resource Schema¶
Basic Fields¶
Every resource MUST have the following fields:
-
type
: a string that identifies the resource’s type within an enumeration of possible values. Non-nullable. Enumeration.
Its possible values are"agents"
,"events"
,"eventSeries"
,"lifts"
,"mediaObjects"
,"mountainAreas"
,"snowparks"
,"skiSlopes"
, and"venues"
. -
id
: a string that uniquely and persistently identifies the resource within a SERVER. Non-nullable. Non-empty. Unique. -
attributes
: an object containing the resource’s data that does not refer to other resources (e.g. the name of an event, the length of a slope). -
relationships
: an object containing the resource’s data referring to other resources (e.g. the organizers of an event, the slopes within a mountain area).
In addition, resources MAY have the following fields in certain contexts (see ???):
-
meta
: an object containing metadata of the resource (e.g., the URL representing the resource’s data provider or a ??? string of the instant of the resource’s last update). Non-empty.The
meta
object MAY NOT be present in the resource of creation and update requests when the data provider is not required by the server. -
links
: an object containing the links related to access related resources. Examples include, a link to the agent resources representing organizers and sponsors of an event, a link to the media object resources representing multimedia descriptions of a mountain area resource, or a link to the resource itself, also referred to asself
(see ??? and ???). Non-empty.The
meta
object SHALL NOT be present in the resource of creation and update requests.
In the following example, we present an event resource (i.e. a resource of type events
) might be represented as follows:
{
"type": "events",
"id": "1",
"meta": {
"lastUpdate": "2019-11-05T08:15:30-05:00",
...
},
"attributes": {
"name": {
"eng": "My event",
"ita": "Il mio evento"
},
"startDate": "2020-04-01T09:30:00+00:00",
...
},
"relationships": {
"organizers": {
"data": [
{
"type": "agents",
"id": "1"
}
],
"links": {
"related": "\https://example.com/2022-04/events/1/organizer"
}
},
...
},
"links": {
"self": "\https://example.com/2022-04/events/1"
}
}
Note that each reference to another resource within the data
in the relationships
object consists only of a type
and an id
. The relationships
object SHALL NOT contain the actual data of these resources, but only their references. We refer to the section Relationships Object for the mechanisms on how to access the actual referenced resource.
Each resource type defines a set of fields that must be present in each of these objects. However, a specific SERVER, when implementing the AlpineBits®, MAY include additional fields, but it MUST comply to the link:https://jsonapi.org/format/1.0/JSON:API v1.0 standard (e.g., additional metadata fields within the meta
object, or additional resource’s attributes within the attributes
object). It is also RECOMMENDED that the SERVER follow the style of the AlpineBits® standard when including additional fields.
Meta Object¶
A meta
object MUST contain the following fields:
-
lastUpdate
: a ??? that identifies when a resource was last modified in the SERVER. If no modifications were made after the resource’s creation, the value in this field will be the creation date. Nullable. -
dataProvider
: a ??? that identifies the organization responsible for provide the resource’s data to the SERVER. The data provider field is intended to offer basic data traceability, for example, allowing users to contact providers regarding questions or issues with a resource’s data. The data provider field should not be interpreted as the data author, as these two may differ. The data provider may be the the organization providing the SERVER itself. Non-nullable.For example, the URL
"http://tourism.opendatahub.bz.it/"
would be used to represent that a resource has been modified by the OpenDataHub platform.
An example of meta
object is presented below:
{
"dataProvider": "\http://tourism.opendatahub.bz.it/",
"lastUpdate": "2019-05-01T08:15:30-05:00"
}
Attributes Object¶
The attributes
object of every resource in this specification MUST contain the following fields:
-
abstract
: a ??? object containing a short textual description of the resource. The size of an abstract in any given language SHOULD be at most 200 characters long. This field SHOULD NOT contain the same data as in thedescription
field. Nullable. -
description
: a ??? object containing the complete textual description of the resource. Ifabstract
is not null, this field MUST NOT be null. -
name
: a ??? object containing the complete name of the resource. This field MUST NOT be null ifshortName
is not null or if otherwise specified for by a particular resource type. -
shortName
: a ??? object containing a short name of the resource. The size of a short name in any given language SHOULD be at most 36 characters long. This field SHOULD NOT contain the same data as in thename
field. Nullable. -
url
: a ??? string or a multilingual url object containing language-specific ??? strings. Nullable if not otherwise specified.
An example of a URL string:
"\https://www.alpinebits.org/events/1"
An example of a multilingual URL object:
{
"deu": "\https://www.alpinebits.org/de/events/1",
"eng": "\https://www.alpinebits.org/en/events/1",
"ita": "\https://www.alpinebits.org/it/events/1"
}
The following object exemplifies the use of the basic attributes defined above for an event resource:
{
"type": "events",
"id": "1",
"meta": { ... },
"attributes": {
"abstract": {
"eng": "An event for those who want to implement AlpineBits at their companies.",
"ita": "Un evento per coloro che vogliono implementare AlpineBits nelle loro aziende."
},
"description": {
"eng": "A 1-day workshop in which we present and explain the standard, give implementation suggestions...",
"ita": "Un workshop da 1 giorno in cui presentiamo e spieghiamo lo standard, facciamo suggerimenti di implementazione..."
},
"name": {
"eng": "AlpineBits DestinationData workshop for newcomers",
"ita": "AlpineBits DestinationData workshop per i nuovi membri"
},
"shortName": {
"eng": "DestinationData Workshop",
"ita": "DestinationData Workshop"
},
"url": "\https://www.alpinebits.org/events/1"
...
},
"relationships": { ... },
"links": { ... }
}
The object below exemplifies an event which only has a name in English and no short name:
{
"type": "events",
"id": "1",
"meta": { ... },
"attributes": {
"name": {
"eng": "AlpineBits DestinationData workshop for newcomers."
},
"shortName": null,
...
},
"relationships": { ... },
"links": { ... }
}
Relationships Object¶
The relationships
object contains reference objects to one or many resources in every field allowing for resources to be connected through domain relationship in a modular way (see link:https://jsonapi.org/format/1.0/#document-resource-object-relationshipsRelationship in JSON:API v1.0). Every relationship (i.e., relationship field) within the relationships
object MUST contain either a reference object or null
. Every resource type MUST define the relationships within the relationships
object as either Reference to One objects or Reference to Many objects depending on the semantic of the relationship.
Reference to One¶
A reference object to one resource MUST contain the following fields:
-
data
: an object containing thetype
string and theid
string of the referred resource. -
links
: an object containing therelated
field with a string representing the endpoint on which the referred resource is available.
In case the resource does not support the endpoint of the related resource, the presence of the fieldrelates
is OPTIONAL.
For example, the Media Objects resource type defines a relationship licenseHolder
(see Relationships) to the agent resource representing the media object’s owner:
{
"type": "mediaObjects",
"id": "1",
"meta": { ... },
"attributes": { ... },
"relationships": {
"licenseHolder": {
"data": {
"type": "agents",
"id": "1"
},
"links": {
"related": "\https://example.com/2022-04/mediaObjects/1/licenseHolder"
}
}
},
"links": { ... }
}
In case a resource has no related resource, the reference can be set to null
according to the requirements defined in its resource type. For example, a media object resource that does not refer to an agent resource as its license holder can be presented as follows:
{
"type": "mediaObjects",
"id": "1",
"meta": { ... },
"attributes": { ... },
"relationships": {
"licenseHolder": null
},
"links": { ... }
}
Reference to Many¶
A reference object to many resources MUST contain the following fields:
-
"data"
: an array of objects containing thetype
string and theid
string of each referred resource. -
"links"
: an object containing therelated
field with a string representing the endpoint on which the referred resources are available.
In case the resource does not support the endpoint of the related resource, the presence of the fieldrelates
is OPTIONAL.
For example, the event resource type defines a relationship organizers
(see Relationships) to the agent resources representing the event’s owner:
{
"type": "events",
"id": "1",
"meta": { ... },
"attributes": { ... },
"relationships": {
"organizers": {
"data": [
{
"type": "agents",
"id": "4"
},
{
"type": "agents",
"id": "1"
},
{
"type": "agents",
"id": "9"
}
],
"links": {
"related": "\https://example.com/2022-04/mediaObjects/1/licenseHolder"
}
},
...
},
"links": { ... }
}
In case a resource has no related resource, the reference can be set to null
according to the requirements defined in its resource type. For example, a media object resource that does not refer to an agent resource as its license holder can be presented as follows:
{
"type": "events",
"id": "1",
"meta": { ... },
"attributes": { ... },
"relationships": {
"organizers": null,
...
},
"links": { ... }
}
Every resource, with the exception of instances of categories, features, and media objects, MUST contain the Reference to Many bellow within the relationships
object. Of these, categories and features MUST contain the Reference to Many multimediaDescriptions, and media objects MUST contain the Reference to Many categories
categories
: a Reference to Many category resources identifying the categories instantiated by the resource. The values proposed by the standard for each resource type are listed in each resource section. Non-nullable. Non-empty.
multimediaDescriptions
: a Reference to Many media object resources that illustrates a resource. Media objects be images, videos, audio, data documents (e.g. csv, json), textual documents (e.g. doc, pdf), html documents, and so on.
Here is an example of how to use the multimediaDescriptions
relationship:
{
"type": "events",
"id": "1",
"attributes": { ... },
"relationships": {
"categories": {
"data": [
{
"type": "categories",
"id": "alpinebits:inPersonEvent"
}
],
"links": {
"related": "\https://example.com/2022-04/events/1/categories"
}
},
"multimediaDescriptions": {
"data": [
{
"type": "mediaObjects",
"id": "1"
},
{
"type": "mediaObjects",
"id": "2"
},
{
"type": "mediaObjects",
"id": "3"
},
],
"links": {
"related": "\https://example.com/2022-04/events/1/multimediaDescriptions"
}
}
...
},
"links": { ... }
}
Links Object¶
The links
object of instances of every resource type MUST contain the following fields:
self
: a string representing the endpoint on which the container resource is available.
For example, an event resource may be presented as follows:{ "type": "events", "id": "1", "attributes": { ... }, "relationships": { ... }, "links": { "self": "\https://example.com/2022-04/events/1" } }
Resource Schemas¶
Agents¶
A resource that implements the concept of Agent defined in the AlpineBits® Ontology.
A JSON object representing such a resource MUST contain the following fields:
-
type
: the constant"agents"
that identifies the resource as being of the type agent. -
id
: a string that uniquely and persistently identifies the agent within a SERVER. See the definition in Basic Fields. -
attributes
: an object containing the attributes of the agent. -
relationships
: an object containing the relationships of the agent to other resources. -
links
: an object containing the links related to the agent.
Agent resources are structured in the following way:
{
"type": "agents",
"id": "1",
"meta": { ... },
"attributes": { ... },
"relationships": { ... },
"links": { ... }
}
Meta¶
See the definition of the meta
object in Meta Object.
Attributes¶
The attributes
object of the agent resource MUST contain the following fields:
-
abstract
: a ??? object containing a brief description for the agent. Nullable. See the definition in Attributes Object. -
contactPoints
: an array of ??? objects. Nullable. Non-empty. -
description
: a ??? object containing a description of the agent. Nullable. Conditional Assignment. See the definition in Attributes Object. -
name
: a ??? object containing the complete name of the agent. Non-nullable. Conditional Assignment. See the definition in Attributes Object. -
shortName
: a ??? object containing a short name of the agent. Nullable. See the definition in Attributes Object. -
url
: a ??? object or string describing the agent, such as a website or a Wikipedia page. Nullable. See the definition in Attributes Object.
A summary of the attributes is presented in the table below:
Field | Type | Constraints |
---|---|---|
abstract |
Nullable |
|
contactPoints |
Array of ??? |
Nullable, Non-empty |
description |
Nullable, Conditional Assignment |
|
name |
Non-nullable, Conditional Assignment |
|
shortName |
Nullable |
|
url |
Nullable |
Relationships¶
The relationships
object of the agent resource MUST contain the following fields:
-
categories
: a Reference to Many category resources that are instantiated by the agent. See Section Categories. Nullable. Non-empty.The standard defines the following disjoint categories for agents:
-
"alpinebits:person"
: an agent resource representing a particular person. For instance, an artist who sings at a concert or a photographer who owns the license of a photo. -
"alpinebits:organization"
: an agent resource representing a public or a private organization. For instance, a company organizing an event or the owner of a mountain area.
-
-
multimediaDescriptions
: a Reference to Many media object resources (see Media Objects) that are related to the agent. See Section multimediaDescriptions. Nullable. Non-empty.
A summary of the relationships is presented in the table below:
Field | Type | Constraints |
---|---|---|
categories |
Reference to Many object to Categories |
Nullable, Non-empty |
multimediaDescriptions |
Reference to Many object to Media Objects |
Nullable, Non-empty |
Links¶
See the definition of the links
object in Links Object.
Examples¶
The following example presents an object containing the minimal information required of an agent resource:
{
"type": "agents",
"id": "1",
"meta": {
"dataProvider": null,
"lastUpdate": null
},
"attributes": {
"abstract": null,
"contactPoints": null,
"description": null,
"name": {
"eng": "Free University of Bozen-Bolzano"
},
"shortName": null,
"url": null
},
"relationships": {
"categories": null,
"multimediaDescriptions": null
},
"links": {
"self": "https://example.com/2022-04/agents/1"
}
}
|
The following example presents an object representing an agent resource:
{
"type": "agents",
"id": "1",
"meta": {
"dataProvider": "https://example.com",
"lastUpdate": "2020-04-01T08:00:00+02:00"
},
"attributes": {
"abstract": {
"ita": "La Libera Università di Bolzano sorge in una delle più attraenti regioni europee...",
"deu": "Die Freie Universität Bozen befindet sich in einer der attraktivsten Regionen Europas...",
"eng": "The Free University of Bozen-Bolzano is located in one of the most fascinating European regions..."
},
"contactPoints": [
{
"email": "info@noi.bz.it",
"telephone": "+39 0471 066 600",
"address": {
"street": {
"ita": "Piazza Università 1"
},
"city": {
"ita": "Bolzano"
},
"region": {
"ita": "Trentino-Alto Adige"
},
"country": "IT",
"zipcode": "39100",
"complement": {
"ita": "Ufficio 3.07"
},
"categories": [
"example:main"
]
},
"availableHours": {
"dailySchedules": {
"2020-12-23": [
{
"opens": "08:00:00",
"closes": "12:00:00"
}
],
"2020-12-25": null
},
"weeklySchedules": [
{
"validFrom": "2020-01-01",
"validTo": "2020-12-31",
"monday": [
{
"opens": "08:00:00+01:00",
"closes": "12:00:00+01:00"
},
{
"opens": "14:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"tuesday": [
{
"opens": "08:00:00+01:00",
"closes": "12:00:00+01:00"
},
{
"opens": "14:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"wednesday": [
{
"opens": "08:00:00+01:00",
"closes": "12:00:00+01:00"
},
{
"opens": "14:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"thursday": [
{
"opens": "08:00:00+01:00",
"closes": "12:00:00+01:00"
},
{
"opens": "14:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"friday": [
{
"opens": "08:00:00+01:00",
"closes": "12:00:00+01:00"
},
{
"opens": "14:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"saturday": null,
"sunday": null
}
]
}
}
],
"description": {
"ita": "La Libera Università di Bolzano sorge in una delle più attraenti regioni europee, al crocevia tra il mondo economico e culturale tedesco e italiano.",
"deu": "Die Freie Universität Bozen befindet sich in einer der attraktivsten Regionen Europas an der Schnittstelle zwischen dem deutschsprachigen und italienischen Kultur- und Wirtschaftsraum.",
"eng": "The Free University of Bozen-Bolzano is located in one of the most fascinating European regions, at the crossroads between the German-speaking and Italian economies and cultures."
},
"name": {
"ita": "Libera Univeristà di Bolzano",
"deu": "Freie Universität Bozen",
"eng": "Free University of Bozen-Bolzano"
},
"shortName": {
"eng": "Unibz"
},
"url": "https://www.unibz.it"
},
"relationships": {
"categories": {
"data": [
{
"type": "categories",
"id": "alpinebits:organization"
}
],
"links": {
"related": "https://example.com/2022-04/agents/1/categories"
}
},
"multimediaDescriptions": {
"data": [
{
"type": "mediaObjects",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/agents/1/multimediaDescriptions"
}
}
},
"links": {
"self": "https://example.com/2022-04/agents/1"
}
}
|
Categories¶
A resource that implements the concept of Category defined in the AlpineBits® Ontology.
A JSON object representing such a resource MUST contain the following fields:
-
type
: the constant"categories"
that identifies the resource as being of the type category. -
id
: a string that uniquely and persistently identifies the category within a SERVER. This id MUST be a human-readable string composed of a namespace, identifying the context defining the category (e.g., the data provider or the standard), and the category name, these two separated by a colon (i.e.,"<namespace>:<categoryname>"
).Category id strings MUST be valid against the regular expression below. Examples of categories listed in this standard include
"alpinebits:person"
and"alpinebits:organization"
, as categories of agents, and "schema:BusinessEvent" as a category of events."^([a-z]|[A-Z]|[0-9])+:([a-z]|[A-Z]|[0-9])+$"
-
attributes
: an object containing the attributes of the category. -
relationships
: an object containing the relationships of the category to other resources. -
links
: an object containing the links related to the category.
Category resources are structured in the following way:
{
"type": "categories",
"id": "example:soccerEvent",
"meta": { ... },
"attributes": { ... },
"relationships": { ... },
"links": { ... }
}
Meta¶
See the definition of the meta
object in Meta Object.
Attributes¶
The attributes
object of the agent resource MUST contain the following fields:
-
abstract
: a ??? object containing a brief description for the category. Nullable. See the definition in Attributes Object. -
description
: a ??? object containing a description of the category. Nullable. Conditional Assignment. See the definition in Attributes Object. -
name
: a ??? object containing the complete name of the category. Different to the category’sid
, the category’sname
serves no identification purpose, but only as a description. Therefore, the category’s name SHOULD be a human-readable text friendly to end users. Non-nullable. Conditional Assignment. See the definition in Attributes Object. -
namespace
: a string containing the namespace that prefixes the category’s id. The namespace identifies the context where a category is defined. For instance, thenamespace
for the category"alpinebits:person"
, which is defined in this standard, is"alpinebits"
. Non-nullable. Non-empty.A SERVER SHALL NOT use
alpinebits
as the namespace of a category it defines.A SERVER SHOULD adopt a single namespace for all categories it defines.
An example of a non-standardized category is
"unibz:academic"
, which could represent a category defined by the Free University of Bozen-Bolzano (acting as a SERVER) that classifies events that its students can attend. -
resourceTypes
: an array of strings containing the resource types that the category is applicable to. For example, the value ofresourceTypes
for the category"alpinebits:person"
is[ "agents" ]
, since this category exclusively applies to resources with the type"agents"
. Non-nullable. Non-empty. -
shortName
: a ??? object containing a short name of the category. Nullable. See the definition in Attributes Object. -
url
: a ??? object or string describing the category, such as a website or a Wikipedia page. Nullable. See the definition in Attributes Object.
A summary of the attributes is presented in the table below:
Field | Type | Constraints |
---|---|---|
abstract |
Nullable |
|
description |
Nullable, Conditional Assignment |
|
name |
Non-nullable, Conditional Assignment |
|
namespace |
Non-nullable, Conditional Assignment |
|
resourceTypes |
Array of string |
Non-nullable, Non-empty |
shortName |
Nullable |
|
url |
Nullable |
Relationships¶
The relationships
object of the agent resource MUST contain the following fields:
-
children
: a Reference to Many category resources that specialize the category. Every instance of a child category is also an instance of the referring category. Every category listed as child MUST refer back to the referring category as its parent category (i.e., inverse relations). Conditional assignment. Nullable. Non-empty.For example, if the category
"example:sportsEvent"
refers to the category"example:soccerEvent"
as its child, every resource that instantiates"example:soccerEvent"
also instantiates the category"example:sportsEvent"
. -
multimediaDescriptions
: a Reference to Many media object resources (see Media Objects) that are related to the category. See Section multimediaDescriptions. Nullable. Non-empty. -
parents
: a Reference to Many category resources that are specialized by the category. Every instance of the referring category is also an instance of the parent category. Every category listed as parent MUST refer back to the referring category as its child category (i.e., inverse relations). Conditional assignment. Nullable. Non-empty.For example, if the category
"example:modernArtEvent"
refers to the category"example:artEvent"
as its parent, every resource that instantiates"example:modernArtEvent"
also instantiates the category"example:artEvent"
.
A summary of the relationships is presented in the table below:
Field | Type | Constraints |
---|---|---|
children |
Reference to Many object to Categories |
Nullable, Non-empty |
multimediaDescriptions |
Reference to Many object to Media Objects |
Nullable, Non-empty |
parents |
Reference to Many object to Categories |
Nullable, Non-empty |
Links¶
The links
object of category resources MUST contain the following fields:
-
self
: a string representing the endpoint on which the container resource is available. Non-nullable. -
resources
: a object where the key-value pairs contains URLs for retrieving resources that instantiate the category. The object MUST include key for each string in theresourceTypes
attribute array, and the corresponding value in the pair is the endpoint for that resource type. Whenever supported, a filter for the category MUST be included (see example below). Non-nullable.
For example, the links object of a category resource may be presented as follows:
{
"type": "categories",
"id": "alpinebits:person",
"attributes": {
"resourceTypes": [ "agents" ],
...
},
"relationships": { ... },
"links": {
"self": "\https://example.com/2022-04/categories/alpinebits:person",
"resources": {
"agents": "\https://example.com/2022-04/agents?filter[category][any]=alpinebits:person"
}
}
}
Examples¶
The following example presents an object containing the minimal information required of a category resource:
{
"type": "categories",
"id": "example:temporarilyRestricted",
"meta": {
"dataProvider": null,
"lastUpdate": null
},
"attributes": {
"abstract": null,
"description": null,
"name": {
"eng": "Temporarily Restricted"
},
"namespace": "example",
"resourceTypes": [ "venues" ],
"shortName": null,
"url": null
},
"relationships": {
"children": null,
"multimediaDescriptions": null,
"parents": null
},
"links": {
"self": "https://example.com/2022-04/categories/example:temporarilyRestricted",
"resources": {
"venues": "https://example.com/2022-04/venues?filter[categories][any]=example:temporarilyRestricted"
}
}
}
|
The following example presents an object representing a category resource:
{
"type": "categories",
"id": "example:soccerEvent",
"meta": {
"dataProvider": "https://example.com",
"lastUpdate": "2022-04-01T08:00:00+02:00"
},
"attributes": {
"abstract": {
"ita": "Un evento sportivo legato al calcio.",
"deu": "Ein Sportereignis, das mit Fußball zu tun hat.",
"eng": "A sports event related to soccer."
},
"description": {
"ita": "Un evento sportivo legato al calcio, per esempio una partita di calcio o un incontro con i giocatori.",
"deu": "Ein Sportereignis mit Bezug zum Fußball, z. B. ein Fußballspiel oder ein Meet-and-Greet mit Spielern.",
"eng": "A sports event related to soccer, for example a soccer match or a meet-and-greet with players."
},
"name": {
"ita": "Evento di Calcio",
"deu": "Fußball-Event",
"eng": "Soccer Event"
},
"namespace": "example",
"resourceTypes": [ "events" ],
"shortName": {
"eng": "Soccer Event"
},
"url": "https://en.wikipedia.org/wiki/Association_football"
},
"relationships": {
"children": {
"data": [
{
"type": "categories",
"id": "example:sub19SoccerMatch"
}
],
"links": {
"related": "https://example.com/2022-04/categories/example:soccerEvent/children"
}
},
"multimediaDescriptions": {
"data": [
{
"type": "mediaObjects",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/categories/example:soccerEvent/multimediaDescriptions"
}
},
"parents": {
"data": [
{
"type": "categories",
"id": "schema:SportsEvent"
}
],
"links": {
"related": "https://example.com/2022-04/categories/example:soccerEvent/parents"
}
}
},
"links": {
"self": "https://example.com/2022-04/categories/example:soccerEvent",
"resources": {
"events": "https://example.com/2022-04/events?filter[categories][any]=example:soccerEvent"
}
}
}
|
Events¶
A resource that implements the concept of Event defined in the AlpineBits® Ontology.
A JSON object representing such a resource MUST contain the following fields:
-
type
: the constant"events"
that identifies the resource as being of the type event. -
id
: a string that uniquely and persistently identifies the event within a SERVER. See the definition in Basic Fields. -
attributes
: an object containing the attributes of the event. -
relationships
: an object containing the relationships of the event to other resources. -
links
: an object containing the links related to the event.
An event resource is structured as follows:
{
"type": "events",
"id": "1",
"meta": { ... },
"attributes": { ... },
"relationships": { ... },
"links": { ... }
}
Meta¶
See the definition of the meta
object in Meta Object.
Attributes¶
The attributes
object of an event resource MUST contain the following fields:
-
abstract
: a ??? object containing a brief description of the event. Nullable. See the definition in Attributes Object. -
description
: a ??? object containing a description of the event. Nullable. Conditional Assignment. See the definition in Attributes Object. -
endDate
: a string, formatted as ??? or ???, representing when the event is planned to end. This field can only benull
ifstartDate
is defined. -
inPersonCapacity
: an integer representing the total number of individuals that can attend the event in-person. This field can only be assigned in events having the one of the following categories:"alpinebits:inPersonEvent"
, or"alpinebits:hybridEvent"
. Nullable. Positive integer. Conditional assignment. -
name
: a ??? object containing the complete name of the event. Non-nullable. Conditional Assignment. See the definition in Attributes Object. -
onlineCapacity
: an integer representing the total number of individuals that can attend the event virtually. This field can only be assigned in events having the one of the following categories:"alpinebits:virtualEvent"
, or"alpinebits:hybridEvent"
. Nullable. Positive integer. Conditional assignment. -
participationUrl
: a ??? object or string containing the URL for virtual event attendance. This field can only be assigned in events having the one of the following categories:"alpinebits:virtualEvent"
, or"alpinebits:hybridEvent"
. Nullable. Conditional assignment. -
recorded
: a boolean value indicated whether the event will be recorded. Nullable. -
registrationUrl
: a ??? object or string containing the URL for event registration. Nullable. -
shortName
: a ??? object containing a short name of the event. Nullable. See the definition in Attributes Object. -
startDate
: a string, formatted as ??? or ???, representing when the event is planned to start. This field can only benull
ifendDate
is defined. -
status
: a string representing the current status of the event. Nullable. The possible values for this field are the following enumerated values:-
published
: the event has been published. It may or may not have happened. -
canceled
: the event has been canceled. Events can only be canceled before they have started.
-
-
url
: a ??? object or string describing the event, such as a website or a Wikipedia page. Nullable. See the definition in Attributes Object.
A summary of the attributes is presented in the table below:
Field | Type | Constraints |
---|---|---|
abstract |
Nullable |
|
description |
Nullable |
|
endDate |
Nullable, Conditional Assignment |
|
inPersonCapacity |
integer |
Nullable, Greater than Zero, Conditional Assignment |
name |
Non-Nullable |
|
onlineCapacity |
integer |
Nullable, Greater than Zero, Conditional Assignment |
participationUrl |
Nullable, Conditional Assignment |
|
recorded |
boolean |
Nullable |
registrationUrl |
Nullable |
|
shortName |
Nullable |
|
startDate |
Nullable, Conditional Assignment |
|
status |
string |
Nullable, Enumeration |
url |
Nullable |
Relationships¶
The relationships
object of an event resource MUST contain the following fields:
-
categories
: a Reference to Many category resources that are instantiated by the event. See Section Categories. Non-nullable. Non-empty.The standard recommends the use of event types defined in Schema.org, which are identified by the
schema
namespace:"schema:BusinessEvent"
,"schema:ChildrensEvent"
,"schema:ComedyEvent"
,"schema:CourseInstance"
,"schema:DanceEvent"
,"schema:DeliveryEvent"
,"schema:EducationEvent"
,"schema:EventSeries"
,"schema:ExhibitionEvent"
,"schema:Festival"
,"schema:FoodEvent"
,"schema:Hackathon"
,"schema:LiteraryEvent"
,"schema:MusicEvent"
,"schema:PublicationEvent"
,"schema:SaleEvent"
,"schema:ScreeningEvent"
,"schema:SocialEvent"
,"schema:SportsEvent"
,"schema:TheaterEvent"
,"schema:VisualArtsEvent"
.Additionally, the standard defines the three disjoint categories for events where every event MUST be assigned with exactly one of them:
-
"alpinebits:inPersonEvent"
: an event resource representing a event planned for exclusive in-person attendance. -
"alpinebits:virtualEvent"
: an event resource representing a event planned for exclusive virtual attendance. -
"alpinebits:hybridEvent"
: an event resource representing a event planned for both in-person and virtual attendance.
-
-
contributors
: a Reference to Many agent resources (see Agents), which identifies the agents expected to participate in the event, such as a speaker who will give a talk or a musician who will perform at a concert. Contributors do not include those attending the event. Nullable. Non-empty. -
multimediaDescriptions
: a Reference to Many media object resources (see Media Objects) that are related to the event. See Section multimediaDescriptions. Nullable. Non-empty. -
organizers
: a Reference to Many agent resources (see Agents) identifying the persons or organizations responsible for organizing the event. Non-nullable. Non-empty. -
publisher
: a Reference to One agent resource (see Agents) who originally provided the data about the event. The publisher is not the organization who manages the system where the data was originally inserted, but the organization actually provided the data. Non-nullable. -
series
: a Reference to One event series resource (see Event Series) of which the event is an edition of. For instance, the Südtirol Jazz Festival 2020 is an edition of the Südtirol Jazz Festival. Nullable.Not that sub-events do not share the same series as the whole, but they may be editions of unrelated event series. For example, the "South Tyrol Jazz Festival 2021" may be an edition of the "South Tyrol Jazz Festival" series, while the presentation of "András Dés Rangers on 04/07/2021", its sub-event, may be an edition of the "András Dés Rangers European Tour 2021".
-
sponsors
: a Reference to Many agent resources (see Agents) identifying the persons or organizations who are sponsoring the event. Nullable. Non-empty. -
subEvents
: a Reference to Many event resources (see Events) identifying the parts of the event. For instance, a festival may consist of several concerts and a conference may consist of several presentations and a keynote. Nullable. Non-empty.There SHALL NOT be a circular composition of events. For instance, if X is a sub-event of Y, and Y is a sub-event of Z, Z SHALL NOT be a sub-event of X.
Note that sub-events are not restricted to the temporal boundaries of their parent events. For instance, a conference that starts on 15/03/2020 and ends on 20/03/2020 may have, as a sub-event, a pre-conference meeting that is scheduled for the 14/03/2020.
-
venues
: a Reference to Many venue resources (see Venues) identifying where the event will happen. This field is non-nullable in events having the one of the following categories:"alpinebits:inPersonEvent"
, or"alpinebits:hybridEvent"
. Nullable. Non-empty. Conditional Assignment.
A summary of the relationships is presented in the table below:
Field | Type | Constraints |
---|---|---|
categories |
Reference to Many object to Categories |
Non-Nullable, Non-empty |
contributors |
Reference to Many object to Agents |
Nullable, Non-empty |
multimediaDescriptions |
Reference to Many object to Media Objects |
Nullable, Non-empty |
organizers |
Reference to Many object to Agents |
Non-Nullable, Non-empty |
publisher |
Reference to One object to Agents |
Non-Nullable |
series |
Reference to One object to Event Series |
Nullable |
sponsors |
Reference to Many object to Agents |
Nullable, Non-empty |
subEvents |
Reference to Many object to Events |
Nullable, Non-empty |
venues |
Reference to Many object to Venues |
Nullable, Non-empty, Conditional Assignment |
Links¶
See the definition of the links
object in Links Object.
Examples¶
The following example contains the minimal information required for an event resource:
{
"type": "events",
"id": "1",
"meta": {
"dataProvider": null,
"lastUpdate": null
},
"attributes": {
"name": {
"eng": "Südtirol Jazz Festival 2018"
},
"shortName": null,
"description": null,
"abstract": null,
"startDate": "2018-06-29T00:00:00+00:00",
"endDate": null,
"url": null,
"status": null,
"inPersonCapacity": null,
"onlineCapacity": null,
"participationUrl": null,
"recorded": null,
"registrationUrl": null
},
"relationships": {
"series": null,
"publisher": {
"data": {
"type": "agents",
"id": "1"
},
"links": {
"related": "https://example.com/2022-04/events/1/publisher"
}
},
"organizers": {
"data": [
{
"type": "agents",
"id": "2"
}
],
"links": {
"related": "https://example.com/2022-04/events/1/organizers"
}
},
"sponsors": null,
"contributors": null,
"categories": {
"data": {
"type": "categories",
"id": "alpinebits:inPersonEvent"
},
"links": {
"related": "https://example.com/2022-04/events/1/categories"
}
},
"multimediaDescriptions": null,
"venues": {
"data": [
{
"type": "venues",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/events/1/venues"
}
},
"subEvents": null
},
"links": {
"self": "https://example.com/2022-04/events/1"
}
}
|
The following example illustrates the fields defined for event resources:
{
"type": "events",
"id": "1",
"meta": {
"dataProvider": "https://example.com",
"lastUpdate": "2020-04-01T08:00:00+02:00"
},
"attributes": {
"name": {
"eng": "Südtirol Jazz Festival 2020",
"deu": "Südtirol Jazz Festival 2020",
"ita": "Südtirol Jazz Festival 2020"
},
"shortName": {
"eng": "Südtirol Jazz Festival 2020"
},
"description": {
"deu": "Beim Südtirol Jazzfestival Alto Adige wagen sich Solisten und Ensembles nicht nur in schwindelerregende musikalische „Höhen“ vor, sondern besteigen, mit ihren Instrumenten im Gepäck, sogar „echte“ Berge und bespielen dabei eine atemberaubende alpine Landschaft. Das Festival selbst beschreitet oft ganz neue Wege: selbstbewusst und sich mitunter über zerklüftete Spalten herantastend, versucht es in neue Klanglandschaften vorzudringen. Mainstream und Konzertsäle sind beim Südtirol Jazzfestival Alto Adige vom Aussterben bedroht...."
},
"abstract": {
"deu": "Das Südtirol Jazzfestival Alto Adige ist ein in Südtirol stattfindendes Musikfestival für Jazz und experimentelle Musik."
},
"startDate": "2020-06-26T21:00:00+00:00",
"endDate": "2020-07-07T23:30:00+00:00",
"url": "https://www.suedtiroljazzfestival.com/",
"status": "published",
"inPersonCapacity": 1000,
"onlineCapacity": 10000,
"participationUrl": "https://www.example-streaming-site.com/asdeZCawdeGfdg44fas",
"recorded": true,
"registrationUrl": "https://www.example-tickets-site.com/asdeZCawdeGfdg44fas"
},
"relationships": {
"series": {
"data": {
"type": "eventSeries",
"id": "1"
},
"links": {
"related": "https://example.com/2022-04/events/1/eventSeries"
}
},
"publisher": {
"data": {
"type": "agents",
"id": "1"
},
"links": {
"related": "https://example.com/2022-04/events/1/publisher"
}
},
"organizers": {
"data": [
{
"type": "agents",
"id": "2"
}
],
"links": {
"related": "https://example.com/2022-04/events/1/organizers"
}
},
"sponsors": {
"data": [
{
"type": "agents",
"id": "3"
},
{
"type": "agents",
"id": "4"
}
],
"links": {
"related": "https://example.com/2022-04/events/1/sponsors"
}
},
"contributors": {
"data": [
{
"type": "agents",
"id": "5"
}
],
"links": {
"related": "https://example.com/2022-04/events/1/contributors"
}
},
"categories": {
"data": [
{
"type": "categories",
"id": "alpinebits:hybridEvent"
},
{
"type": "categories",
"id": "schema:MusicEvent"
}
],
"links": {
"related": "https://example.com/2022-04/events/1/categories"
}
},
"multimediaDescriptions": {
"data": [
{
"type": "mediaObjects",
"id": "1"
},
{
"type": "mediaObjects",
"id": "2"
}
],
"links": {
"related": "https://example.com/2022-04/events/1/multimediaDescriptions"
}
},
"venues": {
"data": [
{
"type": "venues",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/events/1/venues"
}
},
"subEvents": {
"data": [
{
"type": "events",
"id": "2"
},
{
"type": "events",
"id": "3"
}
],
"links": {
"related": "https://example.com/2022-04/events/1/subEvents"
}
}
},
"links": {
"self": "https://example.com/2022-04/events/1"
}
}
|
Event Series¶
A resource that implements the concept of Event Series defined in the AlpineBits® Ontology.
A JSON object representing such a resource MUST contain the following fields:
-
type
: the constant"eventSeries"
that identifies the resource as being of the type event series. -
id
: a string that uniquely and persistently identifies the event series within a SERVER. See the definition in Basic Fields. -
attributes
: an object containing the attributes of the event series. -
relationships
: an object containing the relationships of the event series to other resources. -
links
: an object containing the links related to the event series.
Event series resources are structured in the following way:
{
"type": "eventSeries",
"id": "1",
"meta": { ... },
"attributes": { ... },
"relationships": { ... },
"links": { ... }
}
Meta¶
See the definition of the meta
object in Meta Object.
Attributes¶
The attributes
object of the event resource MUST contain the following fields:
-
abstract
: a ??? object containing a brief description for the event series. Nullable. See the definition in Attributes Object. -
description
: a ??? object containing a description of the event series. Nullable. Conditional Assignment. See the definition in Attributes Object. -
frequency
: a string representing how often editions of the event series are organized according to an enumeration of possible values. Nullable. Enumeration.
For example, event series with thefrequency
field set to"weekly"
may include street markets and guided city tours, while event series with thefrequency
field set to"yearly"
may include Südtirol Jazz Festival or Flower Festival.
If set, thefrequency
field MUST be assigned one of the following values:-
daily
: when editions of the event series are organized every day, such as the daily street market of Bolzano. -
weekly
: when editions of the event series are organized every week, such as the weekly farmers' market of Bolzano. -
monthly
: when editions of the event series are organized every month, such as a flea market organized every month. -
bimonthly
: when editions of the event series are organized every two months. -
quarterly
: when editions of the event series are organized every three months. -
annual
: when editions of the event series are organized every year, such as the Südtirol Jazz Festival or Bolzano’s Christmas Market. -
biennial
: when editions of the event series are organized every two years. -
triennial
: when editions of the event series are organized every three years.
-
-
name
: a ??? object containing the complete name of the event series. Non-nullable. Conditional Assignment. See the definition in Attributes Object. -
shortName
: a ??? object containing a short name of the event series. Nullable. See the definition in Attributes Object. -
url
: a ??? object or string describing the event series, such as a website or a Wikipedia page. Nullable. See the definition in Attributes Object.
A summary of the attributes is presented in the table below:
Field | Type | Constraints |
---|---|---|
abstract |
Nullable |
|
description |
Nullable, Conditional Assignment |
|
frequency |
string |
Nullable, Enumeration |
name |
Non-nullable, Conditional Assignment |
|
shortName |
Nullable |
|
url |
Nullable |
Relationships¶
The relationships
object of an event series resource MUST contain the following fields:
-
categories
: a Reference to Many category resources that are instantiated by the event series. See Section Categories. Nullable. Non-empty.No category is pre-defined by the standard.
-
editions
: a Reference to Many event resources (see Events) that are editions of the event series. Nullable. Non-empty.Note that no two editions of an event series can be a sub-event of the other.
-
multimediaDescriptions
: a Reference to Many media object resources (see Media Objects) that are related to the event series. See Section multimediaDescriptions. Nullable. Non-empty.
A summary of the relationships is presented in the table below:
Field | Type | Constraints |
---|---|---|
categories |
Reference to Many object to Categories |
Nullable, Non-empty |
editions |
Reference to Many object to Events |
Nullable, Non-empty |
multimediaDescriptions |
Reference to Many object to Media Objects |
Nullable, Non-empty |
Links¶
See the definition of the links
object in Links Object.
Examples¶
The following example presents an object containing the minimal information required of an event series resource:
{
"type": "eventSeries",
"id": "1",
"meta": {
"dataProvider": null,
"lastUpdate": null
},
"attributes": {
"abstract": null,
"description": null,
"frequency": null,
"name": {
"eng": "Südtirol Jazz Festival"
},
"shortName": null,
"url": null
},
"relationships": {
"categories": null,
"multimediaDescriptions": null,
"editions": null
},
"links": {
"self": "https://example.com/2022-04/eventSeries/1"
}
}
|
The following example presents an object representing an event series resource:
{
"type": "eventSeries",
"id": "1",
"meta": {
"dataProvider": "https://example.com",
"lastUpdate": "2020-04-01T08:00:00+02:00"
},
"attributes": {
"abstract": {
"eng": "The Südtirol Jazzfestival Alto Adige was held for the first time in 1982 under the name of “Jazz Summer”..."
},
"description": {
"eng": "The Südtirol Jazzfestival Alto Adige was held for the first time in 1982 under the name of “Jazz Summer”, which went on to become “Jazz & Other”. While in the early years the concerts were played only in Bolzano itself, today the festival stretches throughout the whole of South Tyrol and beyond."
},
"frequency": "annual",
"name": {
"eng": "Südtirol Jazz Festival",
"ita": "Südtirol Jazz Festival",
"deu": "Südtirol Jazz Festival"
},
"shortName": {
"eng": "Südtirol Jazz Festival"
},
"url": "https://www.suedtiroljazzfestival.com/"
},
"relationships": {
"categories": {
"data": [
{
"type": "categories",
"id": "example:festival"
}
],
"links": {
"related": "https://example.com/2022-04/eventSeries/1/categories"
}
},
"multimediaDescriptions": {
"data": [
{
"type": "mediaObjects",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/eventSeries/1/multimediaDescriptions"
}
},
"editions": {
"data": [
{
"type": "events",
"id": "1"
},
{
"type": "events",
"id": "2"
}
],
"links": {
"related": "https://example.com/2022-04/eventSeries/1/editions"
}
}
},
"links": {
"self": "https://example.com/2022-04/eventSeries/1"
}
}
|
Features¶
A resource that implements the concept of Feature defined in the AlpineBits® Ontology.
A JSON object representing such a resource MUST contain the following fields:
-
type
: the constant"features"
that identifies the resource as being of the type feature. -
id
: a string that uniquely and persistently identifies the feature within a SERVER. This id MUST be a human-readable string composed of a namespace, identifying the context defining the feature (e.g., the SERVER or the standard), and the feature name, these two separated by a colon (i.e.,"<namespace>:<featurename>"
).Feature id strings MUST be valid against the regular expression below.
"^([a-z]|[A-Z]|[0-9])+:([a-z]|[A-Z]|[0-9])+$"
-
attributes
: an object containing the attributes of the feature. -
relationships
: an object containing the relationships of the features to other resources. -
links
: an object containing the links related to the feature.
Feature resources are structured in the following way:
{
"type": "features",
"id": "example:snowparkRamp",
"meta": { ... },
"attributes": { ... },
"relationships": { ... },
"links": { ... }
}
Meta¶
See the definition of the meta
object in Meta Object.
Attributes¶
The attributes
object of the agent resource MUST contain the following fields:
-
abstract
: a ??? object containing a brief description for the feature. Nullable. See the definition in Attributes Object. -
description
: a ??? object containing a description of the feature. Nullable. Conditional Assignment. See the definition in Attributes Object. -
name
: a ??? object containing the complete name of the feature. Differently from the feature’sid
, itsname
serves no identification purpose, but only description. Therefore, thename
SHOULD be a human-readable text friendly to end users. Non-nullable. Conditional Assignment. See the definition in Attributes Object. -
namespace
: a string containing the namespace that prefixes the feature’s id. The namespace identifies the context where a feature is defined. For instance, a SERVER may define the features"example:snowparkRamp"
and"example:snowparkRail"
under thenamespace
"example"
. Non-nullable. Non-empty.A SERVER SHALL NOT use
alpinebits
as the namespace of a feature it defines.A SERVER SHOULD adopt a single namespace for all features it defines.
-
resourceTypes
: an array of strings containing the resource types that can present the feature. For example, the value ofresourceTypes
for the feature"example:snowparkRamp"
is[ "snowpark" ]
. At the moment, the standard only accounts for features of snowparks. Non-nullable. Non-empty. -
shortName
: a ??? object containing a short name of the feature. Nullable. See the definition in Attributes Object. -
url
: a ??? object or string describing the feature, such as a website or a Wikipedia page. Nullable. See the definition in Attributes Object.
A summary of the attributes is presented in the table below:
Field | Type | Constraints |
---|---|---|
abstract |
Nullable |
|
description |
Nullable, Conditional Assignment |
|
name |
Non-nullable, Conditional Assignment |
|
namespace |
Non-nullable, Conditional Assignment |
|
resourceTypes |
Array of string |
Non-nullable, Non-empty |
shortName |
Nullable |
|
url |
Nullable |
Relationships¶
The relationships
object of the agent resource MUST contain the following fields:
-
children
: a Reference to Many feature resources that specialize the feature. Every resource presenting a child feature also must also present the referring feature. Every feature listed as child MUST refer back to the referring feature as its parent feature (i.e., inverse relations). Conditional assignment. Nullable. Non-empty.For example, if the feature
"example:snowparkRamp"
refers to the feature"example:snowboardingRamp"
as its child, every resource that presents"example:snowboardingRamp"
also presents the feature"example:snowparkRamp"
. -
multimediaDescriptions
: a Reference to Many media object resources (see Media Objects) that are related to the feature. See Section multimediaDescriptions. Nullable. Non-empty. -
parents
: a Reference to Many feature resources that are specialized by the feature. Every resource presenting the referring feature must also present the parent feature. Every feature listed as parent MUST refer back to the referring feature as its child feature (i.e., inverse relations). Conditional assignment. Nullable. Non-empty.For example, if the feature
"example:snowboardingJib"
refers to the feature"example:snowparkRail"
as its parent, every resource that presents"example:snowboardingJib"
also presents the feature"example:snowparkRail"
.
A summary of the relationships is presented in the table below:
Field | Type | Constraints |
---|---|---|
children |
Reference to Many object to Features |
Nullable, Non-empty |
multimediaDescriptions |
Reference to Many object to Media Objects |
Nullable, Non-empty |
parents |
Reference to Many object to Features |
Nullable, Non-empty |
Links¶
The links
object of feature resources MUST contain the following fields:
-
self
: a string representing the endpoint on which the container resource is available. Non-nullable. -
resources
: a object where the key-value pairs contains URLs for retrieving resources that present the feature. The object MUST include key for each string in theresourceTypes
attribute array, and the corresponding value in the pair is the endpoint for that resource type. Whenever supported, a filter for the feature MUST be included (see example below). Non-nullable.
For example, the links object of a feature resource may be presented as follows:
{
"type": "features",
"id": "example:snowparkRail",
"attributes": {
"resourceTypes": [ "snowparks" ],
...
},
"relationships": { ... },
"links": {
"self": "\https://example.com/2022-04/features/example:snowparkRail",
"resources": {
"snowparks": "\https://example.com/2022-04/snowparks?filter[features][any]=example:snowparkRail"
}
}
}
Examples¶
The following example presents an object containing the minimal information required of a feature resource:
{
"type": "features",
"id": "example:snowparkRamp",
"meta": {
"dataProvider": null,
"lastUpdate": null
},
"attributes": {
"abstract": null,
"description": null,
"name": {
"eng": "Snowpark Ramp"
},
"namespace": "example",
"resourceTypes": [ "snowparks" ],
"shortName": null,
"url": null
},
"relationships": {
"children": null,
"multimediaDescriptions": null,
"parents": null
},
"links": {
"self": "https://example.com/2022-04/features/example:snowparkRamp",
"resources": {
"snowparks": "https://example.com/2022-04/snowparks?filter[features][any]=example:snowparkRamp"
}
}
}
|
The following example presents an object representing a feature resource:
{
"type": "features",
"id": "example:snowparkRamp",
"meta": {
"dataProvider": "https://example.com",
"lastUpdate": "2022-04-01T08:00:00+02:00"
},
"attributes": {
"abstract": {
"ita": "Una rampa di snowpark è una struttura per la pratica di manovre aeree negli sport invernali radicali.",
"deu": "Eine Snowpark-Rampe ist eine Struktur zum Üben von Flugmanövern im radikalen Wintersport.",
"eng": "A snowpark ramp is a structure for the practice of aerial maneuvers in radical winter sports."
},
"description": {
"ita": "Una rampa da snowpark è una struttura presente negli snowpark progettata per supportare l'esecuzione di manovre aeree negli sport invernali radicali.",
"deu": "Eine Snowpark-Rampe ist eine Einrichtung in Snowparks, die dazu dient, die Ausführung von Flugmanövern bei radikalen Wintersportarten zu unterstützen.",
"eng": "A snowpark ramp is a feature present in snowparks designed to support the execution of aerial maneuvers in radical winter sports."
},
"name": {
"ita": "Snowpark Ramp",
"deu": "Snowpark Rampe",
"eng": "Snowpark Ramp"
},
"namespace": "example",
"resourceTypes": [ "snowparks" ],
"shortName": {
"eng": "Snowpark Ramp"
},
"url": "https://en.wikipedia.org/wiki/Terrain_park"
},
"relationships": {
"children": {
"data": [
{
"type": "features",
"id": "example:snowboardRamp"
}
],
"links": {
"related": "https://example.com/2022-04/features/example:snowparkRamp/children"
}
},
"multimediaDescriptions": {
"data": [
{
"type": "mediaObjects",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/features/example:snowparkRamp/multimediaDescriptions"
}
},
"parents": {
"data": [
{
"type": "features",
"id": "example:radicalSportsRamp"
}
],
"links": {
"related": "https://example.com/2022-04/features/example:snowparkRamp/parents"
}
}
},
"links": {
"self": "https://example.com/2022-04/features/example:snowparkRamp",
"resources": {
"snowparks": "https://example.com/2022-04/snowparks?filter[features][any]=example:snowparkRamp"
}
}
}
|
Lifts¶
A resource that implements the concept of Lift defined in the AlpineBits® Ontology.
A JSON object representing such a resource MUST contain the following fields:
-
type
: the constant"lifts"
that identifies the resource as being a lift. -
id
: a string that uniquely and persistently identifies the lift within a SERVER. See the definition in Basic Fields. -
attributes
: an object containing the attributes of the lift. -
relationships
: an object containing the relationships of the lift to other resources. -
links
: an object containing the links related to the lift.
A lift resource is structured as follows:
{
"type": "lifts",
"id": "1",
"meta": { ... },
"attributes": { ... },
"relationships": { ... },
"links": { ... }
}
Meta¶
See the definition of the meta
object in Meta Object.
Attributes¶
The attributes
object of a lift resource MUST contain the following fields:
-
abstract
: a ??? object containing a brief description for the lift. Nullable. See the definition in Attributes Object. -
address
: an ??? object representing the address of the lift. The address should only be set if the lift is directly accessible from a public road. In such cases, the address should be that of the base station. Nullable. -
capacity
: a number representing how many persons the lift can transport hourly on average. Nullable. Positive value. -
description
: a ??? object containing a description of the lift. Nullable. Conditional Assignment. See the definition in Attributes Object. -
geometries
: an array of ??? objects each of which represents the location of the lift in terms of GPS coordinates. There should be at most one geometry object of each type (e.g. Point, LineString). Nullable. Non-empty. -
howToArrive
: a ??? object containing instructions on how to arrive at the lift. Nullable. -
length
: a number representing the length of the lift in meters. Nullable. -
maxAltitude
: a number representing the highest elevation point of the lift in meters above sea level. Nullable. -
minAltitude
: a number representing the lowest elevation point of the lift in meters above sea level. Nullable. -
name
: a ??? object containing the complete name of the lift. Non-nullable. Conditional Assignment. See the definition in Attributes Object. -
openingHours
: an ??? object representing the hours in which the lift is open to the public. Nullable. -
personsPerChair
: an integer representing the number of persons that fit in a single chair/cabin of a lift. Nullable. Positive value. -
shortName
: a ??? object containing a short name of the lift. Nullable. See the definition in Attributes Object. -
url
: a ??? object or string describing the lift, such as a website or a Wikipedia page. Nullable. See the definition in Attributes Object.
A summary of the attributes is presented in the table below:
Field | Type | Constraints |
---|---|---|
abstract |
Nullable |
|
address |
Nullable |
|
capacity |
number |
Nullable, Greater than Zero |
description |
Nullable, Conditional Assignment |
|
geometries |
Array of ??? |
Nullable, Non-empty |
howToArrive |
Nullable |
|
length |
number |
Nullable, Unit of Measure, Greater than Zero |
maxAltitude |
number |
Nullable, Unit of Measure |
minAltitude |
number |
Nullable, Unit of Measure |
name |
Non-nullable, Conditional Assignment |
|
openingHours |
Nullable |
|
personsPerChair |
integer |
Nullable, Greater than Zero |
shortName |
Nullable |
|
url |
Nullable |
Relationships¶
The relationships
object of a lift resource MUST contain the following fields:
-
categories
: a Reference to Many category resources that are instantiated by the lift. See Section Categories. Nullable. Non-empty.The standard recommends the following categories for lifts:,
"alpinebits:chairlift"
,"alpinebits:gondola"
,"alpinebits:skilift"
,"alpinebits:cablecar
,"alpinebits:funicular"
,"alpinebits:magic-carpet"
,"alpinebits:skibus"
,"alpinebits:train"
. -
connections
: a Reference to Many place resources that identify the places that are physically accessible from the lift, which may include Mountain Areas, other Lifts, Snowparks, and Ski Slopes. Nullable. Non-empty.Notice that connections between place resources may not be symmetrical (i.e., bidirectional). For example, a place like a lift may give access to a snowpark, but the snowpark may not give access back to it.
-
multimediaDescriptions
: a Reference to Many media object resources (see Media Objects) that are related to the lift. See Section multimediaDescriptions. Nullable. Non-empty.
A summary of the relationships is presented in the table below:
Field | Type | Constraints |
---|---|---|
categories |
Reference to Many object to Categories |
Nullable, Non-empty |
connections |
Reference to Many object to Mountain Areas, Ski Slopes, Lifts, and Snowparks |
Nullable, Non-empty |
multimediaDescriptions |
Reference to Many object to Media Objects |
Nullable, Non-empty |
Links¶
See the definition of the links
object in Links Object.
Examples¶
The following example contains the minimal information required for a lift resource:
{
"type": "lifts",
"id": "merano2000-l1",
"meta": {
"dataProvider": null,
"lastUpdate": null
},
"attributes": {
"name": {
"eng": "Ropeway Merano 2000"
},
"shortName": null,
"description": null,
"abstract": null,
"url": null,
"length": null,
"minAltitude": null,
"maxAltitude": null,
"capacity": null,
"personsPerChair": null,
"openingHours": null,
"address": {
"street": null,
"city": {
"eng": "Merano"
},
"region": null,
"country": "IT",
"zipcode": null,
"categories": null,
"complement": null
},
"geometries": null,
"howToArrive": null
},
"relationships": {
"connections": null,
"categories": null,
"multimediaDescriptions": null
},
"links": {
"self": "https://example.com/2022-04/lifts/1"
}
}
|
The following example illustrates the fields defined for lift resources:
{
"type": "lifts",
"id": "1",
"meta": {
"dataProvider": "https://example.com",
"lastUpdate": "2020-04-01T08:00:00+02:00"
},
"attributes": {
"name": {
"deu": "Bergbahn Meran 2000",
"eng": "Ropeway Merano 2000",
"ita": "Funivia Merano 2000"
},
"shortName": {
"deu": "Meran 2000",
"eng": "Merano 2000",
"ita": "Merano 2000"
},
"description": {
"ita": "Situata a pochi minuti dalla città di Merano, la Funivia conduce all’area sciistica ed escursionistica Merano 2000, un luogo ideale in cui passare una vacanza all’insegna del movimento e della buona cucina con tutta la famiglia. Grazie al suo clima mite, l’area offre infinite possibilità per il tempo libero in ogni stagione: impianti di risalita, sentieri escursionistici facili e numerosi rifugi in cui sostare per assaporare l’ottima cucina locale in un paesaggio ricco e dominato dalla tranquillità."
},
"abstract": {
"ita": "Situata a pochi minuti dalla città di Merano, la Funivia conduce all’area sciistica ed escursionistica Merano 2000, un luogo ideale in cui passare una vacanza all’insegna del movimento e della buona cucina con tutta la famiglia..."
},
"url": "https://example.com",
"length": 3650,
"minAltitude": 1000,
"maxAltitude": 2350,
"capacity": 200,
"personsPerChair": 10,
"openingHours": {
"dailySchedules": {
"2020-12-25": null
},
"weeklySchedules": [
{
"validFrom": "2020-01-01",
"validTo": "2020-12-31",
"monday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"tuesday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"wednesday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"thursday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"friday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"saturday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"sunday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
]
}
]
},
"address": {
"street": {
"deu": "Naifweg 37",
"eng": "37 Val di Nova Street",
"ita": "Via Val di Nova, 37"
},
"city": {
"deu": "Meran",
"eng": "Merano",
"ita": "Merano"
},
"region": {
"deu": "Trentino-Südtirol",
"eng": "Trentino-Alto Adige",
"ita": "Trentino-Alto Adige"
},
"country": "IT",
"zipcode": "39012",
"categories": null,
"complement": null
},
"geometries": [
{
"type": "LineString",
"coordinates": [
[
11.305682659149168,
46.66705018437341
],
[
11.30692720413208,
46.667182709603225
],
[
11.308064460754393,
46.667491933875965
]
]
}
],
"howToArrive": {
"ita": "Fino alla stazione a valle della Funivia Merano 2000: dalla stazione ferroviaria di Merano si raggiunge in pochi minuti la stazione a valle Val di Nova con la linea urbana 1A. Da Scena c'è il bus vacanze che porta fino alla Val di Nova.",
"deu": "Zur Talstation der Bergbahn Meran 2000: vom Zugbahnhof Meran erreicht man in wenigen Minuten die Talstation Naif mit der Buslinie 1A. Von Schenna aus fährt der Gästebus bis zur Talstation Naif."
}
},
"relationships": {
"connections": {
"data": [
{
"type": "skiSlopes",
"id": "1"
},
{
"type": "skiSlopes",
"id": "2"
}
],
"links": {
"related": "https://example.com/2022-04/lifts/1/connections/"
}
},
"categories": {
"data": [
{
"type": "categories",
"id": "alpinebits:cablecar"
}
],
"links": {
"related": "https://example.com/2022-04/lifts/1/categories"
}
},
"multimediaDescriptions": {
"data": [
{
"type": "mediaObjects",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/lifts/1/multimediaDescriptions/"
}
}
},
"links": {
"self": "https://example.com/2022-04/lifts/1"
}
}
|
Media Objects¶
A resource that implements the concept of Media Object defined in the AlpineBits® Ontology.
A JSON object representing such a resource MUST contain the following fields: * type
: the constant "mediaObjects"
that identifies the resource as being of the type media object.
-
id
: a string that uniquely and persistently identifies the media object within a SERVER. See the definition in Basic Fields. -
attributes
: an object containing the attributes of the media object. -
relationships
: an object containing the relationships of the media object to other resources. -
links
: an object containing the links related to the media object.
A media object resource is structured as follows:
{
"type": "mediaObjects",
"id": "1",
"meta": { ... },
"attributes": { ... },
"relationships": { ... },
"links": { ... }
}
Meta¶
See the definition of the meta
object in Meta Object.
Attributes¶
The attributes
object of the media object resource MUST contain the following fields:
-
abstract
: a ??? object containing a brief description of the media object. Nullable. See the definition in Attributes Object. -
author
: a string that identifies the author of a media object, like an image, a video, or a song. Nullable.When assigned a value, the
author
SHOULD follow the example below representing the author’s name and e-mail contact:"author": "\"Mary Jane\" <mary.jane@example.com>"
-
contentType
: a string that represents the media type (formerly known as MIME type) of the media object. Non-nullable. Regular Expression.
For example, possible values ofcontentType
include yet are not limited to:"video/mp4"
, for videos,"image/png"
, for images, and "audio/mpeg3", for audio.
The allowed media types are defined by link:https://www.iana.org/assignments/media-types/media-types.xhtmlIANA. The following regular expression constraints the valid pattern for thecontentType
string."^(application|audio|font|example|image|message|model|multipart|text|video)/[a-zA-Z0-9-.+]+$"
-
description
: a ??? object containing a description of the media object. Nullable. Conditional Assignment. See the definition in Attributes Object. -
duration
: a number representing the duration of an audio or a video in seconds. Nullable. Positive value.
If the media object is neither an audio or a video object, i.e.,contentType
contains a substring following the pattern"^(application|font|example|image|message|model|multipart|text)"
,duration
MUST be set to null.
For example, a short video shared in social platforms may have itsduration
set to45
seconds, while a documentary of an event may have itsduration
set to5774
seconds (i.e., 1 hour, 36 minutes and 14 seconds). -
height
: a number representing the height of an image or a video in pixels. Nullable. Positive value.
If the media object is neither an image or a video, i.e.contentType
contains a substring following the pattern"^(application|audio|font|example|message|model|multipart|text)"
,height
MUST be set to null.
For example, theheight
of a Full-HD video is expected to be1080
pixels, while theheight
of a 4K video is expected to be2160
pixels. -
license
: a string that represents the license applied to the media object. The value of this field SHOULD be a valid license identifier as defined in link:https://spdx.org/licenses/SPDX License List (e.g. CC-BY-4.0, FreeImage). Nullable. -
name
: a ??? object containing the complete name of the media object. Non-nullable. Conditional Assignment. See the definition in Attributes Object. -
shortName
: a ??? object containing a short name of the media object. Nullable. See the definition in Attributes Object. -
url
: a ??? string representing the media object’s source. Non-nullable. See the definition in Attributes Object.
Theurl
string may be used for the exchange of HTML data with the condition that whenever this HTML data contains some textual description of another resource (i.e.,abstract
,description
,name
, orshortName
), the resource MUST have the equivalent text field assigned with non-HTML (sanitized) data.
In case theurl
field is used with this purpose,contentType
MUST be set to"text/html"
and the URI must be properly encoded. For example:-
HTML data:
<div>This is the solution for sending HTML we were looking for!<div/>
-
Encoded string:
"url": "data:text/html;charset:utf8,%3Cdiv%3EThis%20is%20the%20solution%20for%20sending%20HTML%20we%20were%20looking%20for%21%3Cdiv%2F%3E"
-
-
width
: a number representing the width of an image or a video in pixels. Nullable. Positive value.
If the media object is neither an image or a video, i.e., ifcontentType
contains a substring following the pattern"^(application|audio|font|example|message|model|multipart|text)"
,width
MUST be set to null.
For example, thewidth
of a Full-HD video is expected to be1920
pixels, while thewidth
of a 4K video is expected to be3840
pixels.
A summary of the attributes
object is presented in the table below:
Field | Type | Constraints |
---|---|---|
abstract |
Nullable |
|
author |
string |
Nullable |
contentType |
string |
Non-nullable, Regular Expression |
description |
Nullable, Conditional Assignment |
|
duration |
number |
Nullable, Conditional Assignment, Unit of Measure, Greater than Zero |
height |
number |
Nullable, Conditional Assignment, Unit of Measure, Greater than Zero |
license |
string |
Nullable |
name |
Nullable, Conditional Assignment |
|
shortName |
Nullable |
|
url |
Non-nullable |
|
width |
number |
Nullable, Conditional Assignment, Unit of Measure, Greater than Zero |
Relationships¶
The relationships
object of a media object resource MUST contain the following fields:
-
categories
: a Reference to Many category resources that are instantiated by the media object. See Section Categories. Nullable. Non-empty.No category is pre-defined by the standard.
-
licenseHolder
: a Reference to One agent resource (see agent) who holds the rights over the media object. Nullable.
A summary of the relationships
object is presented in the table below:
Field | Type | Constraints |
---|---|---|
categories |
Reference to Many object to Categories |
Nullable, Non-empty |
licenseHolder |
Reference to One object to Agents |
Nullable |
Links¶
See the definition of the links
object in Links Object.
Examples¶
The following example presents an object containing the minimal information required of a media object resource:
{
"type": "mediaObjects",
"id": "1",
"meta": {
"dataProvider": null,
"lastUpdate": null
},
"attributes": {
"abstract": null,
"author": null,
"contentType": "audio/mpeg3",
"description": null,
"duration": null,
"height": null,
"license": null,
"name": null,
"shortName": null,
"url": "https://example.com/audio.mp3",
"width": null
},
"relationships": {
"categories": null,
"licenseHolder": null
},
"links": {
"self": "https://example.com/2022-04/mediaObjects/1"
}
}
|
The following example presents an object representing a media object resource:
{
"type": "mediaObjects",
"id": "1",
"meta": {
"dataProvider": "https://example.com",
"lastUpdate": "2020-04-01T08:00:00+02:00"
},
"attributes": {
"abstract": {
"eng": "My first image sent as an example for the API."
},
"author": "Leonardo da Vinci",
"contentType": "image/png",
"description": {
"eng": "My first image sent as an example for the API."
},
"duration": null,
"height": 300,
"license": "FreeImage",
"name": {
"ita": "La mia immagine",
"deu": "Mein bild",
"eng": "My image"
},
"shortName": {
"eng": "My image"
},
"url": "https://example.com/image.png",
"width": 400
},
"relationships": {
"categories": {
"data": [
{
"type": "categories",
"id": "example:panoramic-photo"
}
],
"links": {
"related": "https://example.com/2022-04/mediaObjects/1/categories"
}
},
"licenseHolder": {
"data": {
"type": "agents",
"id": "0"
},
"links": {
"related": "https://example.com/2022-04/mediaObjects/1/copyrgihtOwner/"
}
}
},
"links": {
"self": "https://example.com/2022-04/mediaObjects/1"
}
}
|
Mountain Areas¶
A resource that implements the concept of Mountain Area defined in the AlpineBits® Ontology.
A JSON object representing such a resource MUST contain the following fields:
-
type
: the constant"mountainAreas"
that identifies the resource as being a mountain area. -
id
: a string that uniquely and persistently identifies the mountain area within a SERVER. See the definition in Basic Fields. -
attributes
: an object containing the attributes of the mountain area. -
relationships
: an object containing the relationships of the mountain area to other resources. -
links
: an object containing the links related to the mountain area.
A mountain area resource is structured as follows:
{
"type": "mountainAreas",
"id": "1",
"meta": { ... },
"attributes": { ... },
"relationships": { ... },
"links": { ... }
}
Meta¶
See the definition of the meta
object in Meta Object.
Attributes¶
The attributes
object of a mountain area resource MUST contain the following fields:
-
abstract
: a ??? object containing a brief description of the mountain area. Nullable. See the definition in Attributes Object. -
area
: a number representing the total area, in square meters, of the mountain area. Nullable. -
description
: *description
: a ??? object containing a description of the mountain area. Nullable. Conditional Assignment. See the definition in Attributes Object. -
geometries
: an array of ??? objects each of which represents the location of the mountain area in terms of GPS coordinates. There should be at most one geometry object of each type (e.g. Point, LineString). Nullable. Non-empty. -
howToArrive
: a ??? object containing instructions on how to arrive at the mountain area. Nullable. -
maxAltitude
: a number representing the highest elevation point of the mountain area in meters above sea level. Nullable. -
minAltitude
: a number representing the lowest elevation point of the mountain area in meters above sea level. Nullable. -
name
: a ??? object containing the complete name of the mountain area. Non-nullable. Conditional Assignment. See the definition in Attributes Object. -
openingHours
: an ??? object representing the hours in which the mountain area is open to the public. Nullable. -
shortName
: a ??? object containing a short name of the mountain area. Nullable. See the definition in Attributes Object. -
snowCondition
: a ??? object containing the latest reported condition of the snow in the mountain area. Nullable. -
totalParkLength
: an integer representing the total length, in meters, of all snowparks located within the mountain area. Nullable. -
totalSlopeLength
: an integer representing the total length, in meters, of all ski slopes located within the mountain area. Nullable. -
url
: a ??? object or string describing the mountain area, such as a website or a Wikipedia page. Nullable. See the definition in Attributes Object.
A summary of the attributes
object is presented in the table below:
Field | Type | Constraints |
---|---|---|
abstract |
Nullable |
|
area |
number |
Nullable, Unit of Measure, Greater than Zero |
description |
Nullable |
|
geometries |
Array of ??? |
Nullable, Non-empty |
howToArrive |
Nullable |
|
maxAltitude |
number |
Nullable, Unit of Measure |
minAltitude |
number |
Nullable, Unit of Measure |
name |
Non-nullable |
|
openingHours |
Nullable |
|
shortName |
Nullable |
|
snowCondition |
Nullable |
|
totalParkArea |
number |
Nullable, Unit of Measure, Greater than Zero |
totalTrailLength |
number |
Nullable, Unit of Measure, Greater than Zero |
url |
Nullable |
Relationships¶
The relationships
object of a mountain area resource MUST contain the following fields:
-
areaOwner
: a Reference to One agent resource (see Agents) who owns the mountain area. Nullable. -
categories
: a Reference to Many category resources that are instantiated by the mountain area. See Section Categories. Nullable. Non-empty.No category is pre-defined by the standard.
-
connections
: a Reference to Many place resources that identify the places that are physically accessible from the mountain area, which may include other Mountain Areas, Lifts, Snowparks, and Ski Slopes. Nullable. Non-empty.Notice that connections between place resources may not be symmetrical (i.e., bidirectional). For example, a place like a lift may give access to a snowpark, but the snowpark may not give access back to it.
-
lifts
: a Reference to Many lift resources (see Lifts) that identify the lifts located within the mountain area. Nullable. Non-empty. -
multimediaDescriptions
: a Reference to Many media object resources (see Media Objects) that are related to the mountain area. See Section multimediaDescriptions. Nullable. Non-empty. -
skiSlopes
: a Reference to Many ski slope resources (see Ski Slopes) that identify the slopes located within the mountain area. Nullable. Non-empty. -
snowparks
: a Reference to Many snowpark resources (see Snowparks) that identify the snowparks located within the mountain area. Nullable. Non-empty. -
subAreas
: a Reference to Many mountain area resources (see Mountain Areas) that identify the mountain areas located within the mountain area. Nullable. Non-empty.
A summary of the relationships is presented in the table below:
Field | Type | Constraints |
---|---|---|
areaOwner |
Reference to One object to Agents |
Nullable, Non-empty |
categories |
Reference to Many object to Categories |
Nullable, Non-empty |
connections |
Reference to Many object to Mountain Areas, Ski Slopes, Lifts, and Snowparks |
Nullable, Non-empty |
lifts |
Reference to Many object to Lifts |
Nullable, Non-empty |
multimediaDescriptions |
Reference to Many object to Media Objects |
Nullable, Non-empty |
snowparks |
Reference to Many object to Snowparks |
Nullable, Non-empty |
subAreas |
Reference to Many object to Mountain Areas |
Nullable, Non-empty |
skiSlopes |
Reference to Many object to Ski Slopes |
Nullable, Non-empty |
Links¶
See the definition of the links
object in Links Object.
Examples¶
The following example contains the minimal information required for a mountain area resource:
{
"id": "1",
"type": "mountainAreas",
"meta": {
"dataProvider": null,
"lastUpdate": null
},
"attributes": {
"name": {
"eng": "Meran 2000"
},
"shortName": null,
"description": null,
"abstract": null,
"url": null,
"geometries": null,
"howToArrive": null,
"openingHours": null,
"area": null,
"minAltitude": null,
"maxAltitude": null,
"totalTrailLength": null,
"totalParkArea": null,
"totalParkLength": null,
"snowCondition": null
},
"relationships": {
"areaOwner": null,
"connections": null,
"categories": null,
"multimediaDescriptions": null,
"lifts": null,
"skiSlopes": null,
"snowparks": null,
"subAreas": null
},
"links": {
"self": "https://example.com/2022-04/mountainAreas/1"
}
}
|
The following example illustrates the fields defined for mountain area resources:
{
"id": "1",
"type": "mountainAreas",
"meta": {
"dataProvider": "https://example.com",
"lastUpdate": "2020-04-01T08:00:00+02:00"
},
"attributes": {
"name": {
"ita": "Merano 2000",
"deu": "Meran 2000",
"eng": "Meran 2000"
},
"shortName": {
"eng": "Meran 2000"
},
"description": {
"deu": "Das Skigebiet Meran 2000 liegt unter dem Berg Ifinger im Burggrafenamt auf einem Hochplateau oberhalb Meran am Tschögglberg in Südtirol. Es hat 45 km Alpin-Pisten und reicht von 1670 bis 2300 m Höhe. Von Meran aus ist das Gebiet direkt über die Ifinger-Seilbahn ab Naif oder durch eine Umlaufseilbahn ab Falzeben erreichbar. Das Skigebiet erstreckt sich hauptsächlich auf dem Gemeindegebiet von Hafling, berührt aber auch zu den Gemeinden Schenna und Sarntal gehörende Flächen."
},
"abstract": {
"deu": "Das Skigebiet Meran 2000 liegt unter dem Berg Ifinger im Burggrafenamt auf einem Hochplateau oberhalb Meran am Tschögglberg in Südtirol. Es hat 45 km Alpin-Pisten und reicht von 1670 bis 2300 m Höhe."
},
"url": "https://www.meran2000.com",
"geometries": [
{
"type": "Polygon",
"coordinates": [
[
[
11.310853958129883,
46.66958283253642
],
[
11.304588317871094,
46.668817160723044
],
[
11.301412582397461,
46.666696782172096
],
[
11.305532455444336,
46.66457632044435
],
[
11.31265640258789,
46.66646117942096
],
[
11.314373016357422,
46.66869936409677
],
[
11.310853958129883,
46.66958283253642
]
]
]
}
],
"howToArrive": {
"ita": "L'area sciistica ed escursionistica di Merano è situata ai piedi della montagna Picco Ivigna ed è raggiungibile in pochi minuti dalle destinazioni di Merano, Avelengo, Scena e Tirolo. La cima di Merano 2000 è raggiungibile con due impianti di risalita diversi e ha dunque due stazioni a valle, una presso Merano con la Funivia e una ad Avelengo con la Cabinovia Falzeben.",
"deu": "Die Sonnenterrasse Merans liegt am Fuße des Ifingers und ist von den Ferienorten Meran, Hafling, Schenna und Dorf Tirol in wenigen Minuten leicht erreichbar. Die Bergstation von Meran 2000 kann man mit zwei verschiedenen Aufstiegsanlagen erreichen: von Meran aus mit der Bergbahn und von Hafling aus mit der Umlaufbahn Falzeben.",
"eng": "The skiing and hiking area of Merano 2000 is best located next to the biggest vacation hotspots of South Tyrol and so reachable within few minutes from Merano, Avelengo, Scena and Tirolo. Two lifts can bring you to the mountain station of Merano 2000: the Ropeway in Merano or the Gondola Falzeben in Avelengo."
},
"openingHours": {
"dailySchedules": {
"2020-12-25": null
},
"weeklySchedules": [
{
"validFrom": "2020-01-01",
"validTo": "2020-12-31",
"monday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"tuesday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"wednesday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"thursday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"friday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"saturday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"sunday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
]
}
]
},
"area": 36000,
"minAltitude": 1200,
"maxAltitude": 2000,
"totalTrailLength": 4000,
"totalParkArea": 20000,
"totalParkLength": 1000,
"snowCondition": {
"primarySurface": "powder",
"secondarySurface": "packed-powder",
"baseSnow": 50,
"baseSnowRange": {
"lower": 40,
"upper": 60
},
"latestStorm": 40,
"obtainedIn": "2019-12-20",
"snowOverNight": 5,
"groomed": true,
"snowMaking": false
}
},
"relationships": {
"areaOwner": {
"data": {
"type": "agents",
"id": "1"
},
"links": {
"related": "https://example.com/2022-04/mountainAreas/1/areaOwner/"
}
},
"connections": {
"data": [
{
"type": "lifts",
"id": "1"
},
{
"type": "skiSlopes",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/mountainAreas/1/connections/"
}
},
"categories": {
"data": [
{
"type": "categories",
"id": "example:skiarea"
}
],
"links": {
"related": "https://example.com/2022-04/mountainAreas/1/categories"
}
},
"multimediaDescriptions": {
"data": [
{
"type": "mediaObjects",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/mountainAreas/1/multimediaDescriptions/"
}
},
"lifts": {
"data": [
{
"type": "lifts",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/mountainAreas/1/lifts/"
}
},
"skiSlopes": {
"data": [
{
"type": "skiSlopes",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/mountainAreas/1/skiSlopes/"
}
},
"snowparks": {
"data": [
{
"type": "snowparks",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/mountainAreas/1/snowparks/"
}
},
"subAreas": {
"data": [
{
"type": "mountainAreas",
"id": "2"
},
{
"type": "mountainAreas",
"id": "3"
}
],
"links": {
"related": "https://example.com/2022-04/mountainAreas/1/subAreas/"
}
}
},
"links": {
"self": "https://example.com/2022-04/mountainAreas/1"
}
}
|
Ski Slopes¶
A resource that implements the concept of Ski Slope defined in the AlpineBits® Ontology.
A JSON object representing such a resource MUST contain the following fields:
-
type
: the constant"skiSlopes"
that identifies the resource as being of the type ski slope. -
id
: a string that uniquely and persistently identifies the ski slope within a SERVER. See the definition in Basic Fields. -
attributes
: an object containing the attributes of the ski slope. -
relationships
: an object containing the relationships of the ski slope to other resources. -
links
: an object containing the links related to the ski slope.
A ski slope resource is structured as follows:
{
"type": "skiSlopes",
"id": "1",
"meta": { ... },
"attributes": { ... },
"relationships": { ... },
"links": { ... }
}
Meta¶
See the definition of the meta
object in Meta Object.
Attributes¶
The attributes
object of a ski slope resource MUST contain the following fields:
-
abstract
: a ??? object containing a brief description for the ski slope. Nullable. See the definition in Attributes Object. -
address
: an ??? object representing the main address of the ski slope. The address should only be set if the ski slope is directly accessible from a public road. Nullable. -
description
: a ??? object containing a description of the ski slope. Nullable. Conditional Assignment. See the definition in Attributes Object. -
difficulty
: an object containing the difficulty level of a ski slope, as in{ "eu": "novice", "us": "beginner" }
. Nullable.The
"eu"
field refers to the European classification of ski slopes. Its possible values are"novice"
,"beginner"
,"intermediate"
, and"expert"
. The"us"
field refers to the North American classification of ski slopes. Its possible values are"beginner"
,"beginner-intermediate"
,"intermediate"
,"intermediate-advanced"
, and"expert"
.Every such object MUST contain both fields and at least one of them MUST NOT be null. The field itself, however, is nullable.
-
geometries
: an array of ??? objects each of which represents the location of the ski slope in terms of GPS coordinates. There should be at most one geometry object of each type (e.g. Point, LineString). Nullable. Non-empty. -
howToArrive
: a ??? object containing instructions on how to arrive at the ski slope. Nullable. -
length
: a number representing the total length of the ski slope in meters. The computation of the length (in the case of branching paths, for instance) is determined by the data provider. Nullable. -
maxAltitude
: a number representing the highest elevation point of the ski slope in meters above sea level. Nullable. -
minAltitude
: a number representing the lowest elevation point of the ski slope in meters above sea level. Nullable. -
name
: a ??? object containing the complete name of the ski slope. Non-nullable. See the definition in Attributes Object. -
openingHours
: an ??? object representing the hours in which the ski slope is open to the public. Nullable. -
shortName
: a ??? object containing a short name of the ski slope. Nullable. See the definition in Attributes Object. -
snowCondition
: a ??? object containing the latest reported condition of the snow in the ski slope. -
url
: a ??? object or string describing the ski slope, such as a website or a Wikipedia page. Nullable. See the definition in Attributes Object.
A summary of the attributes is presented in the table below:
Field | Type | Constraints |
---|---|---|
abstract |
Nullable |
|
address |
Nullable |
|
description |
Nullable, Conditional Assignment |
|
difficulty |
object |
Nullable |
geometries |
Array of ??? |
Nullable, Non-empty |
howToArrive |
Nullable |
|
length |
number |
Nullable, Unit of Measure, Greater than Zero |
maxAltitude |
number |
Nullable, Unit of Measure |
minAltitude |
number |
Nullable, Unit of Measure |
name |
Non-nullable, Conditional Assignment |
|
openingHours |
Nullable |
|
shortName |
Nullable |
|
snowCondition |
Nullable |
|
url |
Nullable |
Relationships¶
The relationships
object of a ski slope resource MUST contain the following fields:
-
categories
: a Reference to Many category resources that are instantiated by the ski slope. See Section Categories. Nullable. Non-empty.The standard recommends the following categories for ski slopes:,
"alpinebits:standard-ski-slope"
,"alpinebits:sledge-slope"
, and"alpinebits:cross-country"
-
connections
: a Reference to Many place resources that identify the places that are physically accessible from the mountain area, which may include other Ski Slopes, Lifts, Snowparks, and Mountain Areas. Nullable. Non-empty.Notice that connections between place resources may not be symmetrical (i.e., bidirectional). For example, a place like a lift may give access to a snowpark, but the snowpark may not give access back to it.
-
multimediaDescriptions
: a Reference to Many media object resources (see Media Objects) that are related to the ski slope. See Section multimediaDescriptions. Nullable. Non-empty.
A summary of the relationships is presented in the table below:
Field | Type | Constraints |
---|---|---|
categories |
Reference to Many object to Categories |
Nullable, Non-empty |
connections |
Reference to Many object to Mountain Areas, Ski Slopes, Lifts, and Snowparks |
Nullable, Non-empty |
multimediaDescriptions |
Reference to Many object to Media Objects |
Nullable, Non-empty |
Links¶
See the definition of the links
object in Links Object.
Examples¶
The following example contains the minimal information required for a ski slope resource:
{
"type": "skiSlopes",
"id": "1",
"meta": {
"dataProvider": null,
"lastUpdate": null
},
"attributes": {
"name": {
"eng": "Falzeben I"
},
"shortName": null,
"description": null,
"abstract": null,
"url": null,
"length": null,
"minAltitude": null,
"maxAltitude": null,
"difficulty": null,
"address": {
"street": null,
"city": {
"eng": "Merano"
},
"region": null,
"country": "IT",
"zipcode": null,
"categories": null,
"complement": null
},
"geometries": null,
"howToArrive": null,
"openingHours": null,
"snowCondition": null
},
"relationships": {
"connections": null,
"categories": null,
"multimediaDescriptions": null
},
"links": {
"self": "https://example.com/2022-04/skiSlopes/1"
}
}
|
The following example illustrates the fields defined for ski slope resources:
{
"type": "skiSlopes",
"id": "1",
"meta": {
"dataProvider": "https://example.com",
"lastUpdate": "2020-04-01T08:00:00+02:00"
},
"attributes": {
"name": {
"ita": "Falzeben I",
"deu": "Falzeben I",
"eng": "Falzeben I"
},
"shortName": {
"ita": "Falzeben I"
},
"description": {
"ita": "Falzeben I - Discesa tra i boschi facile, immersa in un panorama da sogno ed ideale per bambini e principianti. Altezza/Lunghezza: 1900 altezza, 3500 m."
},
"abstract": {
"ita": "Falzeben I - Discesa tra i boschi facile, immersa in un panorama da sogno ed ideale per bambini e principianti."
},
"url": "https://example.com",
"length": 2000,
"minAltitude": 1500,
"maxAltitude": 2500,
"difficulty": {
"eu": "novice",
"us": "beginner"
},
"address": {
"street": null,
"city": {
"eng": "Merano"
},
"region": null,
"country": "IT",
"zipcode": null,
"categories": null,
"complement": null
},
"howToArrive": {
"ita": " Le fermate più vicine a Falzeben sono: Falzeben è a 41 metri di distanza a piedi e ci si arriva in 1 minuti di cammino; Villa Schäfer è a 808 metri di distanza a piedi e ci si arriva in 11 minuti di cammino."
},
"geometries": [
{
"type": "LineString",
"coordinates": [
[
11.305682659149168,
46.66705018437341
],
[
11.30692720413208,
46.667182709603225
],
[
11.308064460754393,
46.667491933875965
]
]
}
],
"openingHours": {
"dailySchedules": {
"2020-12-25": null
},
"weeklySchedules": [
{
"validFrom": "2020-01-01",
"validTo": "2020-12-31",
"monday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"tuesday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"wednesday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"thursday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"friday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"saturday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"sunday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
]
}
]
},
"snowCondition": {
"primarySurface": "powder",
"secondarySurface": "packed-powder",
"baseSnow": 50,
"baseSnowRange": {
"lower": 40,
"upper": 60
},
"latestStorm": 40,
"obtainedIn": "2020-02-01",
"snowOverNight": 5,
"groomed": true,
"snowMaking": false
}
},
"relationships": {
"connections": {
"data": [
{
"type": "skiSlopes",
"id": "2"
},
{
"type": "skiSlopes",
"id": "3"
},
{
"type": "skiSlopes",
"id": "4"
},
{
"type": "lifts",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/skiSlopes/1/connections/"
}
},
"categories": {
"data": [
{
"type": "categories",
"id": "alpinebits:standard-ski-slope"
}
],
"links": {
"related": "https://example.com/2022-04/skiSlopes/1/categories"
}
},
"multimediaDescriptions": {
"data": [
{
"type": "mediaObjects",
"id": "2"
}
],
"links": {
"related": "https://example.com/2022-04/skiSlopes/1/multimediaDescriptions/"
}
}
},
"links": {
"self": "https://example.com/2022-04/skiSlopes/1"
}
}
|
Snowparks¶
A resource that implements the concept of Snowpark defined in the AlpineBits® Ontology.
A JSON object representing such a resource MUST contain the following fields:
-
type
: the constant"snowparks"
that identifies the resource as being of the type snowpark. -
id
: a string that uniquely and persistently identifies the snowpark within a SERVER. See the definition in Basic Fields. -
attributes
: an object containing the attributes of the snowpark. -
relationships
: an object containing the relationships of the snowpark to other resources. -
links
: an object containing the links related to the snowpark.
A snowpark resource is structured as follows:
{
"type": "snowparks",
"id": "1",
"meta": { ... },
"attributes": { ... },
"relationships": { ... },
"links": { ... }
}
Meta¶
See the definition of the meta
object in Meta Object.
Attributes¶
The attributes
object of a snowpark resource MUST contain the following fields:
-
abstract
: a ??? object containing a brief description for the snowpark. Nullable. See the definition in Attributes Object. -
address
: an ??? object representing the address of the snowpark. The address should only be set if the snowpark is directly accessible from a public road. Nullable. -
description
: a ??? object containing a description of the snowpark. Nullable. Conditional Assignment. See the definition in Attributes Object. -
difficulty
: a string describing the difficulty level of a snowpark according to the following enumerated values:-
"beginner"
-
"intermediate"
-
"advanced"
-
"expert"
-
-
geometries
: an array of ??? objects each of which represents the location of the snowpark in terms of GPS coordinates. There should be at most one geometry object of each type (e.g. Point, LineString). Nullable. Non-empty. -
howToArrive
: a ??? object containing instructions on how to arrive at the snowpark. Nullable. -
length
: a number representing the total length of the snowpark in meters. The computation of the length (in the case of branching paths, for instance) is determined by the data provider. Nullable. -
maxAltitude
: a number representing the highest elevation point of the snowpark in meters above sea level. Nullable. -
minAltitude
: a number representing the lowest elevation point of the snowpark in meters above sea level. Nullable. -
name
: a ??? object containing the complete name of the snowpark. Non-nullable. Conditional Assignment. See the definition in Attributes Object. -
openingHours
: an ??? object representing the hours in which the snowpark is open to the public. Nullable. -
shortName
: a ??? object containing a short name of the snowpark. Nullable. See the definition in Attributes Object. -
snowCondition
: a ??? object containing the latest reported condition of the snow in the snowpark. -
url
: a ??? object or string describing the snowpark, such as a website or a Wikipedia page. Nullable. See the definition in Attributes Object.
A summary of the attributes is presented in the table below:
Field | Type | Constraints |
---|---|---|
abstract |
Nullable |
|
address |
Nullable |
|
description |
Nullable, Conditional Assignment |
|
difficulty |
string |
Enumeration, Nullable |
geometries |
Array of ??? |
Nullable, Non-empty |
howToArrive |
string |
Nullable |
length |
number |
Nullable, Unit of Measure, Greater than Zero |
maxAltitude |
number |
Nullable, Unit of Measure |
minAltitude |
number |
Nullable, Unit of Measure |
name |
Non-nullable, Conditional Assignment |
|
openingHours |
Nullable |
|
shortName |
Nullable |
|
snowCondition |
Nullable |
|
url |
Nullable |
Relationships¶
The relationships
object of a snowpark resource MUST contain the following fields:
-
categories
: a Reference to Many category resources that are instantiated by the snowpark. See Section Categories. Nullable. Non-empty.No category is pre-defined by the standard.
-
connections
: a Reference to Many place resources that identify the places that are physically accessible from the mountain area, which may include other Snowparks, Lifts, Mountain Areas, and Ski Slopes. Nullable. Non-empty.Notice that connections between place resources may not be symmetrical (i.e., bidirectional). For example, a place like a lift may give access to a snowpark, but the snowpark may not give access back to it.
-
features
: a Reference to Many feature resources present in a snowpark, such as a ramp or a rail. See Section Features. Nullable. Non-empty.No feature is pre-defined by the standard.
-
multimediaDescriptions
: a Reference to Many media object resources (see Media Objects) that are related to the snowpark. See Section multimediaDescriptions. Nullable. Non-empty.
A summary of the relationships is presented in the table below:
Field | Type | Constraints |
---|---|---|
categories |
Reference to Many object to Categories |
Nullable, Non-empty |
connections |
Reference to Many object to Mountain Areas, Ski Slopes, Lifts, and Snowparks |
Nullable, Non-empty |
features |
Reference to Many object to Features |
Nullable, Non-empty |
multimediaDescriptions |
Reference to Many object to Media Objects |
Nullable, Non-empty |
Links¶
See the definition of the links
object in Links Object.
Examples¶
The following example contains the minimal information required for a snowpark resource:
{
"type": "snowparks",
"id": "1",
"meta": {
"dataProvider": null,
"lastUpdate": null
},
"attributes": {
"name": {
"eng": "Snowpark Merano 2000"
},
"shortName": null,
"description": null,
"abstract": null,
"url": null,
"length": null,
"minAltitude": null,
"maxAltitude": null,
"address": {
"street": null,
"city": {
"eng": "Merano"
},
"region": null,
"country": "IT",
"zipcode": null,
"categories": null,
"complement": null
},
"howToArrive": null,
"difficulty": null,
"geometries": null,
"openingHours": null,
"snowCondition": null
},
"relationships": {
"connections": null,
"features": null,
"categories": null,
"multimediaDescriptions": null
},
"links": {
"self": "https://example.com/2022-04/snowparks/1"
}
}
|
The following example illustrates the fields defined for snowpark resources:
{
"type": "snowparks",
"id": "1",
"meta": {
"dataProvider": "https://example.com",
"lastUpdate": "2020-04-01T08:00:00+02:00"
},
"attributes": {
"name": {
"ita": "Snowpark Merano 2000",
"deu": "Snowpark Merano 2000",
"eng": "Snowpark Merano 2000"
},
"shortName": {
"eng": "Snowpark Merano 2000"
},
"description": {
"eng": "Located in the rear part of the skiing area on the Oswald-Slope, close to the Waidmann Alpine Cottage, the SNOWPARK MERANO 2000 awaits brave Snowboarders and Freestylers. An ambitious project with many kicks, rails, tubes and boxes for newcomers and pros alike. You can reach the Jump Zone from the mountain station of the Ropeway by using the chairlift Piffing."
},
"abstract": {
"eng": "Located in the rear part of the skiing area on the Oswald-Slope, close to the Waidmann Alpine Cottage, the SNOWPARK MERANO 2000 awaits brave Snowboarders and Freestylers..."
},
"url": "https://example.com",
"length": 1300,
"minAltitude": 1500,
"maxAltitude": 2500,
"address": {
"street": null,
"city": {
"eng": "Merano"
},
"region": null,
"country": "IT",
"zipcode": null,
"categories": null,
"complement": null
},
"howToArrive": null,
"difficulty": "intermediate",
"geometries": [
{
"type": "LineString",
"coordinates": [
[
11.305682659149168,
46.66705018437341
],
[
11.30692720413208,
46.667182709603225
],
[
11.308064460754393,
46.667491933875965
]
]
}
],
"openingHours": {
"dailySchedules": {
"2020-12-25": null
},
"weeklySchedules": [
{
"validFrom": "2020-01-01",
"validTo": "2020-12-31",
"monday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"tuesday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"wednesday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"thursday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"friday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"saturday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
],
"sunday": [
{
"opens": "08:00:00+01:00",
"closes": "18:00:00+01:00"
}
]
}
]
},
"snowCondition": {
"primarySurface": "frozen-granular",
"secondarySurface": "packed-powder",
"baseSnow": 30,
"baseSnowRange": {
"lower": 25,
"upper": 40
},
"latestStorm": 5,
"obtainedIn": "2020-01-14",
"snowOverNight": 0,
"groomed": true,
"snowMaking": false
}
},
"relationships": {
"connections": {
"data": [
{
"type": "skiSlopes",
"id": "2"
},
{
"type": "skiSlopes",
"id": "3"
}
],
"links": {
"related": "https://example.com/2022-04/snowparks/1/connections/"
}
},
"features": {
"data": [
{
"type": "features",
"id": "example:jib"
},
{
"type": "features",
"id": "example:pipe"
}
],
"links": {
"related": "https://example.com/2022-04/snowparks/1/features"
}
},
"categories": {
"data": [
{
"type": "categories",
"id": "example:free-style"
}
],
"links": {
"related": "https://example.com/2022-04/snowparks/1/categories"
}
},
"multimediaDescriptions": {
"data": [
{
"type": "mediaObjects",
"id": "2"
}
],
"links": {
"related": "https://example.com/2022-04/snowparks/1/multimediaDescriptions/"
}
}
},
"links": {
"self": "https://example.com/2022-04/snowparks/1"
}
}
|
Venues¶
A resource that implements the concept of Venue defined in the AlpineBits® Ontology.
A JSON object representing such a resource MUST contain the following fields:
-
type
: the constant"venues"
that identifies the resource as being of the type venue. -
id
: a string that uniquely and persistently identifies the venue within a SERVER. See the definition in Basic Fields. -
attributes
: an object containing the attributes of the venue. -
relationships
: an object containing the relationships of the venue to other resources. -
links
: an object containing the links related to the venue.
Venue resources are structured in the following way:
{
"type": "venues",
"id": "1",
"meta": { ... },
"attributes": { ... },
"relationships": { ... },
"links": { ... }
}
Meta¶
See the definition of the meta
object in Meta Object.
Attributes¶
The attributes
object of the venue resource MUST contain the following fields:
-
abstract
: a ??? object containing a brief description of the venue. Nullable. See the definition in Attributes Object. -
address
: an ??? object containing the address of the venue. Nullable. -
description
: a ??? object containing a description of the venue. Nullable. Conditional Assignment. See the definition in Attributes Object. -
geometries
: an array of ??? objects each of which represents the location of the venue in terms of GPS coordinates. There should be at most one geometry object of each type (e.g. Point, LineString). Nullable. Non-empty. -
howToArrive
: a ??? object containing instructions on how to arrive at the venue. Nullable. -
name
: a ??? object containing the complete name of the venue. Non-nullable. Conditional Assignment. See the definition in Attributes Object. -
shortName
: a ??? object containing a short name of the venue. Nullable. See the definition in Attributes Object. -
url
: a ??? object or string describing the venue, such as a website or a Wikipedia page. Nullable. See the definition in Attributes Object.
A summary of the attributes
object is presented in the table below:
Field | Type | Constraints |
---|---|---|
abstract |
Nullable |
|
address |
Nullable |
|
description |
Nullable, Conditional Assignment |
|
geometries |
Array of ??? |
Nullable, Non-empty |
howToArrive |
string |
Nullable |
name |
Non-nullable, Conditional Assignment |
|
shortName |
Nullable |
|
url |
Nullable |
Relationships¶
The relationships
object of a mountain area resource MUST contain the following fields:
-
categories
: a Reference to Many category resources that are instantiated by the venue. See Section Categories. Nullable. Non-empty.No category is pre-defined by the standard.
-
multimediaDescriptions
: a Reference to Many media object resources (see Media Objects) that are related to the venue. See Section multimediaDescriptions. Nullable. Non-empty.
A summary of the relationships is presented in the table below:
Field | Type | Constraints |
---|---|---|
categories |
Reference to Many object to Categories |
Nullable, Non-empty |
multimediaDescriptions |
Reference to Many object to Media Objects |
Nullable, Non-empty |
Links¶
See the definition of the links
object in Links Object.
Examples¶
The following example presents an object containing the minimal information required of a venue resource:
{
"type": "venues",
"id": "1",
"meta": {
"dataProvider": null,
"lastUpdate": null
},
"attributes": {
"abstract": null,
"address": null,
"description": null,
"geometries": null,
"howToArrive": null,
"name": {
"eng": "Auditorium 1"
},
"shortName": null,
"url": null
},
"relationships": {
"categories": null,
"multimediaDescriptions": null
},
"links": {
"self": "https://example.com/2022-04/venues/1"
}
}
|
The following example presents an object representing a venue resource:
{
"type": "venues",
"id": "1",
"meta": {
"dataProvider": "https://example.com",
"lastUpdate": "2020-04-01T08:00:00+02:00"
},
"attributes": {
"abstract": {
"eng": "The Auditorium 1 of the Free University of Bozen-Bolzano provides a great space for keynotes, lectures and presentations."
},
"address": {
"street": {
"ita": "Piazza Università, 1",
"deu": "Universitätsplatz 1"
},
"city": {
"deu": "Bozen"
},
"region": {
"deu": "Trentino-Südtirol"
},
"country": "IT",
"zipcode": "39100",
"complement": {
"deu": "Hauptgebäude"
},
"categories": [
"example:building"
]
},
"description": {
"eng": "The Auditorium 1 of the Free University of Bozen-Bolzano provides a great space for keynotes, lectures and presentations, being available to host events related academic, provincial and cultural topics."
},
"geometries": [
{
"type": "Point",
"coordinates": [
11.35087251663208,
46.49873937419277
]
}
],
"howToArrive": {
"eng": "From the train station, the Free University of Bozen-Bolzano is accessible in a 5 minutes walk into the historical city center."
},
"name": {
"eng": "Auditorium 1 - Free University of Bozen-Bolzano"
},
"shortName": {
"eng": "Auditorium 1"
},
"url": "https://example.com/auditorium-1"
},
"relationships": {
"categories": {
"data": [
{
"type": "categories",
"id": "example:auditorium"
}
],
"links": {
"related": "https://example.com/2022-04/venues/1/categories"
}
},
"multimediaDescriptions": {
"data": [
{
"type": "mediaObjects",
"id": "1"
}
],
"links": {
"related": "https://example.com/2022-04/venues/1/multimediaDescriptions"
}
}
},
"links": {
"self": "https://example.com/2022-04/venues/1"
}
}
|