Ski Slopes

A resource that implements the concept of Ski Slope defined in the AlpineBits® DestinationData 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": { ... }
}

1. Meta

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

2. Attributes

The attributes object of a ski slope resource MUST contain the following fields:

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

  • address: an datatypes.adoc#anchor-address 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 datatypes.adoc#anchor-text object containing a description of the ski slope. Nullable. Conditional Assignment. See the definition in basic-resource-schema.adoc#anchor-attributes.

  • 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 datatypes.adoc#anchor-geometry 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 datatypes.adoc#anchor-text 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 datatypes.adoc#anchor-text object containing the complete name of the ski slope. Non-nullable. See the definition in basic-resource-schema.adoc#anchor-attributes.

  • openingHours: an datatypes.adoc#anchor-hoursspecification object representing the hours in which the ski slope is open to the public. Nullable.

  • shortName: a datatypes.adoc#anchor-text object containing a short name of the ski slope. Nullable. See the 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 ski slope.

  • url: a datatypes.adoc#anchor-url object or string describing the ski slope, such as a website or a Wikipedia page. Nullable. See the definition in basic-resource-schema.adoc#anchor-attributes.

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

Field Type Constraints

abstract

datatypes.adoc#anchor-text

Nullable

address

datatypes.adoc#anchor-address

Nullable

description

datatypes.adoc#anchor-text

Nullable, Conditional Assignment

difficulty

object

Nullable

geometries

Array of datatypes.adoc#anchor-geometry

Nullable, Non-empty

howToArrive

datatypes.adoc#anchor-text

Nullable

length

number

Nullable, Unit of Measure, Greater than Zero

maxAltitude

number

Nullable, Unit of Measure

minAltitude

number

Nullable, Unit of Measure

name

datatypes.adoc#anchor-text

Non-nullable, Conditional Assignment

openingHours

datatypes.adoc#anchor-hoursspecification

Nullable

shortName

datatypes.adoc#anchor-text

Nullable

snowCondition

datatypes.adoc#anchor-snow

Nullable

url

datatypes.adoc#anchor-url

Nullable

3. Relationships

The relationships object of a ski slope resource MUST contain the following fields:

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

Field Type Constraints

categories

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

Nullable, Non-empty

connections

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

Nullable, Non-empty

multimediaDescriptions

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

Nullable, Non-empty

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

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