Mountain Areas

A resource that implements the concept of Mountain Area defined in the AlpineBits® DestinationData 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-resource-schema.adoc#anchor-attributes.

  • 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": { ... }
}

1. Meta

See definition of the meta object in basic-resource-schema.adoc#anchor-metadata.

2. Attributes

The attributes object of a mountain area resource MUST contain the following fields:

  • abstract: a datatypes.adoc#anchor-text object containing a brief description for the mountain area. Nullable. See definition in basic-resource-schema.adoc#anchor-attributes.

  • area: a number representing the total area, in square meters, of the mountain area. Nullable.

  • categories: an array of datatypes.adoc#anchor-type strings identifying the types instantiated by the mountain area. Nullable. No type is pre-defined by the standard.

  • description: * description: a datatypes.adoc#anchor-text object containing a description of the mountain area. Nullable. Conditional Assignment. See definition in basic-resource-schema.adoc#anchor-attributes.

  • geometries: an array of datatypes.adoc#anchor-geometry 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.

  • howToArrive: a datatypes.adoc#anchor-text 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 datatypes.adoc#anchor-text object containing the complete name of the mountain area. Non-nullable. Conditional Assignment. See definition in basic-resource-schema.adoc#anchor-attributes.

  • openingHours: an array of datatypes.adoc#anchor-hoursspecification representing the hours in which the mountain area is open to the public. Nullable.

  • shortName: a datatypes.adoc#anchor-text object containing a short name of the mountain area. Nullable. See definition in basic-resource-schema.adoc#anchor-attributes.

  • snowCondition: a datatypes.adoc#anchor-snow 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.

  • totalTrailLength: an integer representing the total length, in meters, of all trails located within the mountain area. Nullable.

  • url: a datatypes.adoc#anchor-url describing the mountain area, such as a website or a Wikipedia page. Nullable.

A summary of the attributes object is presented in the table below:

Field Type Constraints

abstract

datatypes.adoc#anchor-text

Nullable

area

number

Nullable, Unit of Measure, Greater than Zero

categories

Array of datatypes.adoc#anchor-type

Nullable, Non-empty

description

datatypes.adoc#anchor-text

Nullable

geometries

Array of datatypes.adoc#anchor-geometry

Nullable, Non-empty

howToArrive

datatypes.adoc#anchor-text

Nullable

maxAltitude

number

Nullable, Unit of Measure

minAltitude

number

Nullable, Unit of Measure

name

datatypes.adoc#anchor-url

Non-nullable

openingHours

Array of datatypes.adoc#anchor-hoursspecification

Nullable, Non-empty

shortName

datatypes.adoc#anchor-text

Nullable

snowCondition

datatypes.adoc#anchor-snow

Nullable

totalParkArea

number

Nullable, Unit of Measure, Greater than Zero

totalTrailLength

number

Nullable, Unit of Measure, Greater than Zero

url

datatypes.adoc#anchor-url

Nullable

3. Relationships

The relationships object of a mountain area resource MUST contain the following fields:

A summary of the relationships is presented in the table below:

Field Type Constraints

areaOwner

basic-resource-schema.adoc#anchor-referencetoone object to an Agents

Nullable, Non-empty

connections

basic-resource-schema.adoc#anchor-referencetomany object to Mountain Areas, Trails, Lifts and Snowparks

Nullable, Non-empty

lifts

basic-resource-schema.adoc#anchor-referencetomany object to Lifts

Nullable, Non-empty

multimediaDescriptions

basic-resource-schema.adoc#anchor-referencetomany object to Media Objects

Nullable, Non-empty

snowparks

basic-resource-schema.adoc#anchor-referencetomany object to Snowparks

Nullable, Non-empty

subAreas

basic-resource-schema.adoc#anchor-referencetomany object to Mountain Areas

Nullable, Non-empty

trails

basic-resource-schema.adoc#anchor-referencetomany object to Trails

Nullable, Non-empty

See definition of the links object in basic-resource-schema.adoc#anchor-links.

5. Endpoints

The following endpoints in this API specification return mountain area resources:

  • https://example.com /1.0/mountainAreas: returns a collection of mountain areas.

  • https://example.com /1.0/mountainAreas/:id: returns the mountain area identified by the :id parameter.

  • https://example.com /1.0/mountainAreas/:id/subAreas: returns a collection of mountain areas.

  • https://example.com /1.0/mountainAreas/:id/connections: returns a collection of resources which may include mountain areas.

  • https://example.com /1.0/lifts/:id/connections:returns a collection of resources which may include mountain areas.

  • https://example.com /1.0/snowparks/:id/connections: returns a collection of resources which may include mountain areas.

  • https://example.com /1.0/trails/:id/connections: returns a collection of resources which may include mountain areas.

6. 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"
    },
    "categories": null,
    "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,
    "multimediaDescriptions": null,
    "lifts": null,
    "trails": null,
    "snowparks": null,
    "subAreas": null
  },
  "links": {
    "self": "http://example.com/1.0/mountainAreas/1"
  }
}

asciidoc/examples/mountain.min.json

The following example illustrates the fields defined for mountain area resources:

{
  "id": "1",
  "type": "mountainAreas",
  "meta": {
    "dataProvider": "http://example.com",
    "lastUpdate": "2020-04-01T08:00:00+02:00"
  },
  "attributes": {
    "name": {
      "ita": "Merano 2000",
      "deu": "Meran 2000",
      "eng": "Meran 2000"
    },
    "categories": [
      "example/skiarea"
    ],
    "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": "mtnxml/powder",
      "secondarySurface": "mtnxml/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": "http://example.com/1.0/mountainAreas/1/areaOwner/"
      }
    },
    "connections": {
      "data": [
        {
          "type": "lifts",
          "id": "1"
        },
        {
          "type": "trails",
          "id": "1"
        }
      ],
      "links": {
        "related": "http://example.com/1.0/mountainAreas/1/connections/"
      }
    },
    "multimediaDescriptions": {
      "data": [
        {
          "type": "mediaObjects",
          "id": "1"
        }
      ],
      "links": {
        "related": "http://example.com/1.0/mountainAreas/1/multimediaDescriptions/"
      }
    },
    "lifts": {
      "data": [
        {
          "type": "lifts",
          "id": "1"
        }
      ],
      "links": {
        "related": "http://example.com/1.0/mountainAreas/1/lifts/"
      }
    },
    "trails": {
      "data": [
        {
          "type": "trails",
          "id": "1"
        }
      ],
      "links": {
        "related": "http://example.com/1.0/mountainAreas/1/trails/"
      }
    },
    "snowparks": {
      "data": [
        {
          "type": "snowparks",
          "id": "1"
        }
      ],
      "links": {
        "related": "http://example.com/1.0/mountainAreas/1/snowparks/"
      }
    },
    "subAreas": {
      "data": [
        {
          "type": "mountainAreas",
          "id": "2"
        },
        {
          "type": "mountainAreas",
          "id": "3"
        }
      ],
      "links": {
        "related": "http://example.com/1.0/mountainAreas/1/subAreas/"
      }
    }
  },
  "links": {
    "self": "http://example.com/1.0/mountainAreas/1"
  }
}

asciidoc/examples/mountain.full.json