Skip to content

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 ???.

  • 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 ???.

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 ???.

  • 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 ???.

  • 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 ???.

  • 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 ???.

  • 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 ???.

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 ??? category resources that are instantiated by the ski slope. See Section ???. 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 ??? place resources that identify the places that are physically accessible from the mountain area, which may include other Ski Slopes, ???, ???, and ???. 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 ??? media object resources (see ???) that are related to the ski slope. See Section ???. Nullable. Non-empty.

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

Field Type Constraints

categories

??? object to ???

Nullable, Non-empty

connections

??? object to ???, Ski Slopes, ???, and ???

Nullable, Non-empty

multimediaDescriptions

??? object to ???

Nullable, Non-empty

See the definition of the links object in ???.

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"
  }
}

asciidoc/examples/skislope.min.json

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"
  }
}

asciidoc/examples/skislope.full.json