Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a734dea17a | |||
| e7f307f243 | |||
| 727641f49f | |||
| b17efa3e5d | |||
| 56aae55f16 | |||
| 91abe29b62 | |||
| c22f3c7230 | |||
| 311ff3798f |
118
schemas/data-ingress/darwin-data/darwin-association.json
Normal file
118
schemas/data-ingress/darwin-data/darwin-association.json
Normal file
@@ -0,0 +1,118 @@
|
||||
{
|
||||
"$id": "https://schema.owlboard.info/data-ingress/darwin/association.schema.json",
|
||||
"$schema": "https://json-schema.org/draft-07/schema#",
|
||||
"title": "DarwinAssocData",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"service_name": {
|
||||
"type": "string",
|
||||
"description": "Name of the service submitting the update"
|
||||
},
|
||||
"service_id": {
|
||||
"type": "string",
|
||||
"description": "ID of the service sending the message - usually a hostname"
|
||||
},
|
||||
"data_type": {
|
||||
"type": "string",
|
||||
"const": "raw",
|
||||
"description": "The type of data contained in this message object"
|
||||
},
|
||||
"sent_timestamp": {
|
||||
"type": "integer",
|
||||
"description": "Unix timestamp representing the time the message was sent"
|
||||
},
|
||||
"data_kind": {
|
||||
"type": "string",
|
||||
"const": "darwin-association",
|
||||
"description": "The data type contained in the message. Currently supported PIS: PIS Data, Timetable: CIF or VSTP Data, Knowledgebase: Station Data"
|
||||
},
|
||||
"payload": {
|
||||
"type": "array",
|
||||
"additionalItems": false,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"mr",
|
||||
"ar",
|
||||
"t",
|
||||
"c",
|
||||
"s",
|
||||
"mt",
|
||||
"at"
|
||||
],
|
||||
"properties": {
|
||||
"mr": {
|
||||
"type": "string",
|
||||
"name": "Main RID",
|
||||
"description": "The main RID of this association object"
|
||||
},
|
||||
"ar": {
|
||||
"type": "string",
|
||||
"name": "Associated RID",
|
||||
"description": "The associated RID of this association object"
|
||||
},
|
||||
"t": {
|
||||
"type": "string",
|
||||
"name": "TIPLOC",
|
||||
"description": "The location at which this association applies"
|
||||
},
|
||||
"c": {
|
||||
"enum": ["JJ", "VV", "LK", "NP"],
|
||||
"name": "Category",
|
||||
"description": "The type of association"
|
||||
},
|
||||
"s": {
|
||||
"type": "string",
|
||||
"format": "date",
|
||||
"name": "SSD",
|
||||
"description": "SSD Generated from the Main RID"
|
||||
},
|
||||
"mt": {
|
||||
"name": "Main Times",
|
||||
"description": "Timings that apply to the main RID",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"wta": { "type": "string", "format": "date-time" },
|
||||
"wtd": { "type": "string", "format": "date-time" },
|
||||
"wtp": { "type": "string", "format": "date-time" },
|
||||
"pta": { "type": "string", "format": "date-time" },
|
||||
"ptd": { "type": "string", "format": "date-time" }
|
||||
}
|
||||
},
|
||||
"at": {
|
||||
"name": "Associated Times",
|
||||
"description": "Timings that apply to the associated RID",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"wta": { "type": "string", "format": "date-time" },
|
||||
"wtd": { "type": "string", "format": "date-time" },
|
||||
"wtp": { "type": "string", "format": "date-time" },
|
||||
"pta": { "type": "string", "format": "date-time" },
|
||||
"ptd": { "type": "string", "format": "date-time" }
|
||||
}
|
||||
},
|
||||
"can": {
|
||||
"name": "Cancelled",
|
||||
"type": "boolean",
|
||||
"description": "Whether this association is cancelled"
|
||||
},
|
||||
"del": {
|
||||
"name": "Deleted",
|
||||
"type": "boolean",
|
||||
"description": "Whether this association is deleted"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"service_name",
|
||||
"service_id",
|
||||
"data_type",
|
||||
"data_kind",
|
||||
"sent_timestamp",
|
||||
"payload"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
209
schemas/data-ingress/darwin-data/darwin-schedule.json
Normal file
209
schemas/data-ingress/darwin-data/darwin-schedule.json
Normal file
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"$id": "https://schema.owlboard.info/data-ingress/darwin/schedule.schema.json",
|
||||
"$schema": "https://json-schema.org/draft-07/schema#",
|
||||
"title": "DarwinScheduleData",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"service_name": {
|
||||
"type": "string",
|
||||
"description": "Name of the service submitting the update"
|
||||
},
|
||||
"service_id": {
|
||||
"type": "string",
|
||||
"description": "ID of the service sending the message - usually a hostname"
|
||||
},
|
||||
"data_type": {
|
||||
"type": "string",
|
||||
"const": "raw",
|
||||
"description": "The type of data contained in this message object"
|
||||
},
|
||||
"sent_timestamp": {
|
||||
"type": "integer",
|
||||
"description": "Unix timestamp representing the time the message was sent"
|
||||
},
|
||||
"data_kind": {
|
||||
"type": "string",
|
||||
"const": "darwin-schedule",
|
||||
"description": "The data type contained in the message. Currently supported PIS: PIS Data, Timetable: CIF or VSTP Data, Knowledgebase: Station Data"
|
||||
},
|
||||
"payload": {
|
||||
"type": "array",
|
||||
"additionalItems": false,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"rid",
|
||||
"uid",
|
||||
"ssd",
|
||||
"tid",
|
||||
"toc",
|
||||
"isp",
|
||||
"isc",
|
||||
"l"
|
||||
],
|
||||
"properties": {
|
||||
"rid": {
|
||||
"type": "string",
|
||||
"description": "Service RID",
|
||||
"maxLength": 16
|
||||
},
|
||||
"uid": {
|
||||
"type": "string",
|
||||
"description": "Service UID",
|
||||
"maxLength": 10
|
||||
},
|
||||
"ssd": {
|
||||
"type": "string",
|
||||
"format": "date",
|
||||
"description": "Date on which the service commences"
|
||||
},
|
||||
"tid": {
|
||||
"name": "train_id",
|
||||
"type": "string",
|
||||
"minLength": 4,
|
||||
"maxLength": 4,
|
||||
"description": "The signalling headcode of the service"
|
||||
},
|
||||
"toc": {
|
||||
"type": "string",
|
||||
"minLength": 2,
|
||||
"maxLength": 2,
|
||||
"description": "The two character code for the operating TOC"
|
||||
},
|
||||
"sts": {
|
||||
"type": "string",
|
||||
"maxLength": 1,
|
||||
"name": "status",
|
||||
"description": "The 'status' of the service"
|
||||
},
|
||||
"qt": {
|
||||
"name": "qtrain",
|
||||
"description": "qtrain?",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"d": {
|
||||
"name": "deleted",
|
||||
"description": "Whether the schedule is deleted",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"isp": {
|
||||
"name": "is_passenger",
|
||||
"type": "boolean",
|
||||
"description": "Whether the service is a passenger service"
|
||||
},
|
||||
"isc": {
|
||||
"name": "is_charter",
|
||||
"type": "boolean",
|
||||
"description": "Whether the service is a charter service"
|
||||
},
|
||||
"sid": {
|
||||
"name": "rsid",
|
||||
"type": ["string", "null"],
|
||||
"maxLength": 10
|
||||
},
|
||||
"q": {
|
||||
"name": "qtrain",
|
||||
"description": "True if the service is scheduled but not activated (if not activated, presumed not running)",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"cr": {
|
||||
"name": "cancel_reason",
|
||||
"type": ["integer", "null"],
|
||||
"description": "The reason code for the services cancellation"
|
||||
},
|
||||
"cl": {
|
||||
"name": "cancel_location",
|
||||
"type": "string",
|
||||
"description": "The location at which the service was cancelled"
|
||||
},
|
||||
"l": {
|
||||
"type": "array",
|
||||
"minItems": 2,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["tpl", "lr", "s"],
|
||||
"properties": {
|
||||
"tpl": {
|
||||
"type": "string",
|
||||
"description": "The locations TIPLOC",
|
||||
"maxLength": 7,
|
||||
"minLength": 4
|
||||
},
|
||||
"lr": {
|
||||
"name": "loc_role",
|
||||
"description": "The role of the location (Orig, Call, Pass, Dest)",
|
||||
"enum": ["ORIG", "CALL", "PASS", "DEST"]
|
||||
},
|
||||
"s": {
|
||||
"name": "seq",
|
||||
"description": "The sequence in the service at which this location occours",
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 32767
|
||||
},
|
||||
"pta": {
|
||||
"description": "Public timetable arrival",
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"ptd": {
|
||||
"description": "Public timetable departure",
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"wta": {
|
||||
"description": "Working timetable arrival",
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"wtd": {
|
||||
"description": "Working timetable arrival",
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"wtp": {
|
||||
"description": "Working timetable pass",
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"c": {
|
||||
"name": "can",
|
||||
"description": "Whether the service is cancelled at this location",
|
||||
"default": false,
|
||||
"type": "boolean"
|
||||
},
|
||||
"a": {
|
||||
"name": "activities",
|
||||
"type": "string",
|
||||
"maxLength": 12
|
||||
},
|
||||
"fid": {
|
||||
"description": "Unique formation indentifier (Maps to formation feed)",
|
||||
"type": "string"
|
||||
},
|
||||
"al": {
|
||||
"name": "avg_loading",
|
||||
"description": "Average loading at this location",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"service_name",
|
||||
"service_id",
|
||||
"data_type",
|
||||
"data_kind",
|
||||
"sent_timestamp",
|
||||
"payload"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
@@ -29,97 +29,91 @@
|
||||
"type": "array",
|
||||
"additionalItems": false,
|
||||
"items": {
|
||||
"station": {
|
||||
"type": "object",
|
||||
"required": ["c", "l", "o"],
|
||||
"properties": {
|
||||
"c": {
|
||||
"type": "string",
|
||||
"name": "CRS Code",
|
||||
"description": "Station CRS (Primary Key)"
|
||||
},
|
||||
"n": {
|
||||
"type": "string",
|
||||
"name": "NLC Code",
|
||||
"description": "Station NLC Code"
|
||||
},
|
||||
"mc": {
|
||||
"type": "number",
|
||||
"name": "Minimum Connection Time",
|
||||
"description": "The minimum connection time at this station"
|
||||
},
|
||||
"a": {
|
||||
"type": "object",
|
||||
"name": "Address",
|
||||
"description": "The address of the station",
|
||||
"properties": {
|
||||
"l1": {
|
||||
"type": "string",
|
||||
"name": "Line 1"
|
||||
},
|
||||
"l2": {
|
||||
"type": "string",
|
||||
"name": "Line 2"
|
||||
},
|
||||
"l3": {
|
||||
"type": "string",
|
||||
"name": "Line 3"
|
||||
},
|
||||
"l4": {
|
||||
"type": "string",
|
||||
"name": "Line 4"
|
||||
},
|
||||
"l5": {
|
||||
"type": "string",
|
||||
"name": "Line 5"
|
||||
},
|
||||
"pc": {
|
||||
"type": "string",
|
||||
"name": "Postcode"
|
||||
}
|
||||
"type": "object",
|
||||
"required": [
|
||||
"c",
|
||||
"mc",
|
||||
"l",
|
||||
"o",
|
||||
"p",
|
||||
"a",
|
||||
"r",
|
||||
"d"
|
||||
],
|
||||
"properties": {
|
||||
"c": {
|
||||
"type": "string",
|
||||
"name": "CRS Code",
|
||||
"description": "Station CRS (Primary Key)"
|
||||
},
|
||||
"n": {
|
||||
"type": "string",
|
||||
"name": "NLC Code",
|
||||
"description": "Station NLC Code"
|
||||
},
|
||||
"mc": {
|
||||
"type": "number",
|
||||
"name": "Minimum Connection Time",
|
||||
"description": "The minimum connection time at this station"
|
||||
},
|
||||
"a": {
|
||||
"type": "string",
|
||||
"name": "Address",
|
||||
"description": "The address of the station"
|
||||
},
|
||||
"p": {
|
||||
"type": "string",
|
||||
"name": "Postcode",
|
||||
"description": "The public postcode of the station"
|
||||
},
|
||||
"l": {
|
||||
"type": "object",
|
||||
"name": "Location",
|
||||
"description": "LatLon of the station",
|
||||
"required": ["lt", "ln"],
|
||||
"properties": {
|
||||
"lt": {
|
||||
"type": "number",
|
||||
"name": "Latitude",
|
||||
"description": "Stations Latitude"
|
||||
},
|
||||
"ln": {
|
||||
"type": "number",
|
||||
"name": "Longitude",
|
||||
"description": "Stations Longitude"
|
||||
}
|
||||
},
|
||||
"l": {
|
||||
"type": "object",
|
||||
"name": "Location",
|
||||
"description": "LatLon of the station",
|
||||
"properties": {
|
||||
"lt": {
|
||||
"type": "number",
|
||||
"name": "Latitude",
|
||||
"description": "Stations Latitude"
|
||||
},
|
||||
"ln": {
|
||||
"type": "number",
|
||||
"name": "Longitude",
|
||||
"description": "Stations Longitude"
|
||||
}
|
||||
}
|
||||
},
|
||||
"o": {
|
||||
"type": "string",
|
||||
"name": "Operator",
|
||||
"description": "The two character code denoting the stations operator"
|
||||
},
|
||||
"m": {
|
||||
"type": "string",
|
||||
"name": "Map URL"
|
||||
},
|
||||
"r": {
|
||||
"name": "Request",
|
||||
"type": "boolean",
|
||||
"description": "Denotes whether station is Request Stop"
|
||||
},
|
||||
"d": {
|
||||
"name": "Defibrillator",
|
||||
"type": "boolean",
|
||||
"description": "Denotes whether defibrillator is available"
|
||||
}
|
||||
},
|
||||
"o": {
|
||||
"type": "string",
|
||||
"name": "Operator",
|
||||
"description": "The two character code denoting the stations operator"
|
||||
},
|
||||
"m": {
|
||||
"type": "string",
|
||||
"name": "Map URL"
|
||||
},
|
||||
"r": {
|
||||
"name": "Request",
|
||||
"type": "boolean",
|
||||
"description": "Denotes whether station is Request Stop"
|
||||
},
|
||||
"d": {
|
||||
"name": "Defibrillator",
|
||||
"type": "boolean",
|
||||
"description": "Denotes whether defibrillator is available"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": ["service_name", "service_id", "data_type", "data_kind", "sent_timestamp"],
|
||||
"required": [
|
||||
"service_name",
|
||||
"service_id",
|
||||
"data_type",
|
||||
"data_kind",
|
||||
"sent_timestamp",
|
||||
"payload"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
@@ -23,7 +23,7 @@
|
||||
},
|
||||
"data_kind": {
|
||||
"type": "string",
|
||||
"enum": ["pis", "timetable", "knowledgebase", "PushPort16Schedule", "darwin_ts", "darwin_ref"],
|
||||
"enum": ["pis", "timetable", "kb-stations", "PushPort16Schedule", "darwin_ts", "darwin_ref"],
|
||||
"description": "The data type contained in the message. Currently supported PIS: PIS Data, Timetable: CIF or VSTP Data, Knowledgebase: Station Data"
|
||||
},
|
||||
"payload": {}
|
||||
|
||||
Reference in New Issue
Block a user