Add 'darwin-schedule' schema
All checks were successful
Generate and Release Protos / release (push) Successful in 42s
All checks were successful
Generate and Release Protos / release (push) Successful in 42s
This commit is contained in:
191
schemas/data-ingress/darwin-data/darwin-schedule.json
Normal file
191
schemas/data-ingress/darwin-data/darwin-schedule.json
Normal file
@@ -0,0 +1,191 @@
|
|||||||
|
{
|
||||||
|
"$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"
|
||||||
|
},
|
||||||
|
"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
|
||||||
|
},
|
||||||
|
"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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user