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