{ "$schema": "http://json-schema.org/schema#", "$id": "https://smart-data-models.github.io/data-models/Transportation/TransportStation/schema.json", "$schemaVersion": "0.1.0", "title": "Station schema", "description": "The data model is a general description of urban stations (Metro, Bus, Tram, Heliport, ...) according to the GFTS standard https://developers.google.com/transit/gtfs/reference/#stopstxt, as well the detailed description of these (means of access, platform, assistance, ...).", "type": "object", "allOf": [ { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/GSMA-Commons" }, { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/Location-Commons" }, { "properties": { "type": { "type": "string", "enum": [ "TransportStation" ], "description": "Property. NGSI Entity type. It has to be TransportStation" }, "dateLastReported": { "type": "string", "format": "date-time", "description": "Property. A timestamp which denotes the last time when the device successfully reported data. Date and time in an ISO8601 UTCformat." }, "refPointOfInterest": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$", "description": "Property. Identifier format of any NGSI entity" }, { "type": "string", "format": "uri", "description": "Property. Identifier format of any NGSI entity" } ], "description": "Relationship. A reference to a point of interest associated to this observation." }, "stationType": { "type": "array", "description": "Property. type of transpot station. Enum:'aerialLift, bus, cableTram, ferry, funicular, monorail, rail, subway, trolleybus, tram'", "items": { "type": "string", "enum": [ "aerialLift", "bus", "cableTram", "ferry", "funicular", "monorail", "rail", "subway", "trolleybus", "tram" ] } }, "locationType ": { "type": "string", "enum": [ 0, 1, 2, 3, 4 ] }, "parentStation": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$", "description": "Property. Identifier format of any NGSI entity" }, { "type": "string", "format": "uri", "description": "Property. Identifier format of any NGSI entity" } ], "description": "Property. Link to the GTFS standard repository describing the different link between Station and Platform [Parent STATION]. Case '1' location_type = 0 (Stop / platform ), the parent_station field contains the ID of a station. Case '2' location_type = 1 (Station), this field must be empty. Case '3' location_type = 2 (Input / output) or location_type = 3 (generic intersection), the parent_station field contains the ID of a station location_type = 1. Case '4' location_type = 4 (boarding area), the parent_station field contains the ID of a platform." }, "levelId": { "type": "number", "description": "Property. Floor on which the location is located. Numerical index associated with the floor. Indicates the relative position of this stage in relation to the others. The index 0 indicates the ground floor. The floors above ground level are indicated by positive indices, and the underground stages by negative indices." }, "platformCode": { "type": "number", "description": "Property. Platform identifier for a platform type stop `location_type` = 0 when the stop is in a station." }, "zoneId": { "type": "string", "description": "Property. Pricing zone of the station." }, "wheelChairAccessible ": { "type": "string", "description": "Property. Access possible for Person with Reduced Mobility. For stops without parents 0 no information is available regarding the accessibility of the stop. 1 some vehicles at this stop can board a PMR user. 2 PRM user cannot board at this stop. For a stop that is part of a station 0 the stop inherits the wheelchair_boarding behavior of the parent station, if it is filled in. 1 lanes provide wheelchair access to the stop / platform from outside the station. 2 no lane provides wheelchair access to the stop / platform from outside the station. For station inputs / outputs 0 the station entry inherits the wheelchair_boarding behavior of the main station, if specified. 1 the station entrance is wheelchair accessible. 2 no wheelchair accessible route connects the station entrance to the stops / platforms.", "enum": [ 0, 1, 2 ] }, "openingHoursSpecification": { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/DateTime-Commons/properties/openingHoursSpecification" }, "contractingAuthority": { "type": "string", "description": "Property. Name of the contracting authority." }, "contractingCompany": { "type": "string", "description": "Property. Name of the contracting company responsible for the exploitation of the station." }, "contactPoint": { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/Contact-Commons/properties/contactPoint" }, "webSite": { "type": "string", "description": "Property. Link to the official website for more information.." }, "installationMode": { "type": "string", "description": "Property. Location relative to the ground reference. Enum:'aerial, ground, underGround, underSea'", "enum": [ "aerial", "ground", "underGround", "underSea" ] }, "dimension": { "type": "object", "description": "Property. Global dimension. The format is structured by a sub-property of 3 items. The unit code (text) is given using the [UN/CEFACT Common Codes](http://wiki.goodrelations-vocabulary.org/Documentation/UN/CEFACT_Common_Codes). For instance, **MTR** represents Meters. Units:'meters'", "properties": { "height": { "type": "number", "minimum": 0 }, "width": { "type": "number", "minimum": 0 }, "depth": { "type": "number", "minimum": 0 } } }, "inventory": { "type": "object", "description": "Property. General data mapping only for `locationType` = 0, 1, 3, 4. The format is structured by a sub-property of 4 items.", "properties": { "nbOfIOPoint": { "type": "number", "minimum": 0 }, "nbOfLane": { "type": "number", "minimum": 0 }, "nbOfPlatform": { "type": "number", "minimum": 0 }, "PlatformType": { "type": "array", "items": { "type": "string", "enum": [ "lateral", "central" ] } } } }, "stationConnected": { "type": "array", "description": "Property. Connections possible from this station. A structured value from 0 to N occurrences where each items is a string in the format `stationType` : [List of Lines connected, separated by a comma]. Enum:'aerialLift, bus, cableTram, ferry, funicular, monorail, rail, subway, train, tram, trolleybus'", "items": { "type": "object", "properties": { "stationType": { "type": "string", "enum": [ "aerialLift", "bus", "cableTram", "ferry", "funicular", "monorail", "rail", "subway", "train", "tram", "trolleybus" ] }, "linesConnected ": { "type": "array", "items": { "type": "string" } } } }, "services": { "type": "object", "properties": { "purchaseDevice": { "type": "Boolean" }, "interactiveDevice": { "type": "Boolean" }, "timetableDevice": { "type": "Boolean" }, "voiceDevice": { "type": "Boolean" }, "informationBoardDevice": { "type": "Boolean" }, "messageDevice": { "type": "Boolean" }, "shelters": { "type": "Boolean" }, "restBench": { "type": "Boolean" }, "emergencyPhone": { "type": "Boolean" }, "defibrillator": { "type": "Boolean" }, "wheelChairAccessible": { "type": "Boolean" } } }, "paymentAccepted": { "type": "array", "items": { "type": "string", "enum": [ "Cash", "CreditCard", "CryptoCurrency", "other" ] } }, "currencyAccepted": { "type": "array", "items": { "type": "string", "enum": [ "EUR", "USD" ] } }, "constructionDate": { "type": "string", "format": "date-time" }, "commissioningDate": { "type": "string", "format": "date-time" }, "architect": { "type": "string" }, "featuredArtist": { "type": "array", "items": { "anyOf": [ { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/EntityIdentifierType" }, { "type": "string" } ] } } } } } ], "required": [ "id", "type", "location", "dateObserved", "dateLastReported", "stationType", "locationType" ] }