diff --git a/schemas/data-ingress/darwin-reference-data/reason-code.json b/schemas/data-ingress/darwin-reference-data/reason-code.json index 242b308..452c339 100644 --- a/schemas/data-ingress/darwin-reference-data/reason-code.json +++ b/schemas/data-ingress/darwin-reference-data/reason-code.json @@ -31,18 +31,21 @@ "additionalItems": false, "items": { "type": "object", - "required": ["c", "lR", "cR"], + "required": ["c"], "properties": { "c": { "type": "integer", + "name": "code", "description": "The 'code' that the late/cancel reason maps to" }, - "lR": { + "lr": { "type": "string", + "name": "Late Reason", "description": "The lateReason string for the item" }, - "cR": { + "cr": { "type": "string", + "name": "Cancellation Reason", "description": "The cancelReason string for the item" } } diff --git a/schemas/data-ingress/pushport/16schedule.json b/schemas/data-ingress/pushport/16schedule.json deleted file mode 100644 index c1c1287..0000000 --- a/schemas/data-ingress/pushport/16schedule.json +++ /dev/null @@ -1,365 +0,0 @@ -{ - "$id": "https://schema.owlboard.info/data-ingress/pushport16-schedule.schema.json", - "$schema": "https://json-schema.org/draft-07/schema#", - "title": "PushPortSchedule", - "description": "Consolidated object definition for Darwin Schedule messages", - "definitions": { - "originPoint": { - "description": "Merged Origin (OR / OPOR). The starting point of the journey.", - "required": [ - "wtd", - "tpl" - ], - "type": "object", - "properties": { - "tpl": { - "type": "string", - "description": "TIPLOC" - }, - "act": { - "type": "string", - "default": " ", - "description": "Current Activity Codes" - }, - "planAct": { - "type": "string", - "description": "Planned Activity Codes" - }, - "can": { - "type": "boolean", - "default": false, - "description": "Cancelled flag" - }, - "fid": { - "type": "string", - "description": "Unique identifier of the formation data (v3) " - }, - "pta": { - "type": "string", - "description": "Public Scheduled Time of Arrival" - }, - "ptd": { - "type": "string", - "description": "Public Scheduled Time of Departure" - }, - "avgLoading": { - "type": "string", - "description": "Average Loading value based on long-term averages (v3) " - }, - "wta": { - "type": "string", - "description": "Working Scheduled Time of Arrival (Optional)" - }, - "wtd": { - "type": "string", - "description": "Working Scheduled Time of Departure (Required)" - }, - "fd": { - "type": "string", - "description": "False Destination TIPLOC (Passenger only)" - } - } - }, - "callingPoint": { - "description": "Merged Intermediate Point (IP / OPIP). An intermediate stop requiring dwell time.", - "required": [ - "wta", - "wtd", - "tpl" - ], - "type": "object", - "properties": { - "tpl": { - "type": "string", - "description": "TIPLOC" - }, - "act": { - "type": "string", - "default": " ", - "description": "Current Activity Codes" - }, - "planAct": { - "type": "string", - "description": "Planned Activity Codes" - }, - "can": { - "type": "boolean", - "default": false, - "description": "Cancelled flag" - }, - "fid": { - "type": "string", - "description": "Unique identifier of the formation data (v3) " - }, - "pta": { - "type": "string", - "description": "Public Scheduled Time of Arrival" - }, - "ptd": { - "type": "string", - "description": "Public Scheduled Time of Departure" - }, - "avgLoading": { - "type": "string", - "description": "Average Loading value based on long-term averages (v3) " - }, - "wta": { - "type": "string", - "description": "Working Scheduled Time of Arrival (Required)" - }, - "wtd": { - "type": "string", - "description": "Working Scheduled Time of Departure (Required)" - }, - "rdelay": { - "type": "integer", - "default": 0, - "description": "Route delay value" - }, - "fd": { - "type": "string", - "description": "False Destination (Passenger only)" - } - } - }, - "passPoint": { - "description": "Intermediate Passing Point (PP). Purely operational.", - "required": [ - "wtp", - "tpl" - ], - "type": "object", - "properties": { - "tpl": { - "type": "string", - "description": "TIPLOC" - }, - "act": { - "type": "string", - "default": " ", - "description": "Current Activity Codes" - }, - "planAct": { - "type": "string", - "description": "Planned Activity Codes" - }, - "can": { - "type": "boolean", - "default": false, - "description": "Cancelled flag" - }, - "fid": { - "type": "string", - "description": "Unique identifier of the formation data (v3) " - }, - "wtp": { - "type": "string", - "description": "Working Scheduled Time of Passing (Required)" - }, - "rdelay": { - "type": "integer", - "default": 0, - "description": "Route delay value" - } - }, - "additionalProperties": false - }, - "destinationPoint": { - "description": "Merged Destination (DT / OPDT). The termination point of the journey.", - "required": [ - "wta", - "tpl" - ], - "type": "object", - "properties": { - "tpl": { - "type": "string", - "description": "TIPLOC" - }, - "act": { - "type": "string", - "default": " ", - "description": "Current Activity Codes" - }, - "planAct": { - "type": "string", - "description": "Planned Activity Codes" - }, - "can": { - "type": "boolean", - "default": false, - "description": "Cancelled flag" - }, - "fid": { - "type": "string", - "description": "Unique identifier of the formation data (v3) " - }, - "pta": { - "type": "string", - "description": "Public Scheduled Time of Arrival" - }, - "ptd": { - "type": "string", - "description": "Public Scheduled Time of Departure" - }, - "avgLoading": { - "type": "string", - "description": "Average Loading value based on long-term averages (v3) " - }, - "wta": { - "type": "string", - "description": "Working Scheduled Time of Arrival (Required)" - }, - "wtd": { - "type": "string", - "description": "Working Scheduled Time of Departure (Optional)" - }, - "rdelay": { - "type": "integer", - "default": 0, - "description": "Route delay value" - } - } - } - }, - "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": "PushPort16Schedule", - "description": "The data type contained in the message. Currently supported PIS: PIS Data, Timetable: CIF or VSTP Data, Knowledgebase: Station Data" - }, - "payload": { - "type": "object", - "required": [ - "rid", - "uid", - "trainId", - "ssd", - "toc", - "locations" - ], - "properties": { - "rid": { - "type": "string", - "description": "Rail Identifier - Unique value for the service" - }, - "uid": { - "type": "string", - "description": "Unique ID - Unique value for the timetable entry - maps to Network Rail CIF schedules" - }, - "ssd": { - "type": "string", - "format": "date", - "description": "Service Start Date - The date the service commences" - }, - "trainId": { - "type": "string", - "description": "Headcode" - }, - "toc": { - "type": "string", - "minLength": 2, - "maxLength": 2, - "description": "Train Operator (ATOC Code)" - }, - "rsid": { - "type": "string", - "description": "Retail Service ID" - }, - "status": { - "type": "string", - "default": "P", - "description": "P = Permanent, L = Long Term, S = Short Term" - }, - "trainCat": { - "type": "string", - "default": "OO", - "description": "Train Category" - }, - "isPassenger": { - "type": "boolean", - "default": true, - "description": "Declares the service as a passenger service" - }, - "isActive": { - "type": "boolean", - "default": false, - "description": "UNKNOWN" - }, - "isCharter": { - "type": "boolean", - "default": false, - "description": "Declares the service as a charter service" - }, - "cancelReason": { - "type": "integer", - "description": "Cancellation Reason code" - }, - "cancelLocation": { - "type": "string", - "description": "Location at which the train was cancelled - Only valid when 'cancelReason' is defined, and even then optional" - }, - "locations": { - "type": "object", - "additionalProperties": false, - "description": "Merged and flattened location objects", - "properties": { - "OR": { - "type": "array", - "description": "OR/OPOR Values - Trains Origin", - "items": { - "$ref": "#/definitions/originPoint" - } - }, - "IP": { - "type": "array", - "description": "IP/OPIP Values - Intermediate Points", - "items": { - "$ref": "#/definitions/callingPoint" - } - }, - "PP": { - "type": "array", - "description": "Passing Points (Non-stop)", - "items": { - "$ref": "#/definitions/passPoint" - } - }, - "DT": { - "type": "array", - "description": "DT/OPDT Values - Trains Destination", - "items": { - "$ref": "#/definitions/destinationPoint" - } - } - } - } - } - } - }, - "required": [ - "service_name", - "service_id", - "data_type", - "sent_timestamp" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/schemas/data-ingress/pushport/schedule.json b/schemas/data-ingress/pushport/schedule.json deleted file mode 100644 index bb1111c..0000000 --- a/schemas/data-ingress/pushport/schedule.json +++ /dev/null @@ -1,241 +0,0 @@ -{ - "$id": "https://schema.owlboard.info/data-ingress/pushport-schedule.schema.json", - "$schema": "https://json-schema.org/draft-07/schema#", - "title": "PushPortSchedule", - "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": "PushPortSchedule", - "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", - "enum": [ - "pis", - "timetable", - "knowledgebase", - "darwin_schedule", - "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": { - "type": "object", - "required": [ - "rid", - "uid", - "trainId", - "ssd", - "toc", - "locations" - ], - "properties": { - "rid": { - "type": "string", - "description": "Unique service ID" - }, - "uid": { - "type": "string", - "description": "Unique schedule ID - maps to NR CIF" - }, - "trainId": { - "type": "string", - "description": "Train Headcode" - }, - "ssd": { - "type": "string", - "format": "date", - "description": "Schedule Start Date (When the service commences)" - }, - "toc": { - "type": "string", - "minLength": 2, - "maxLength": 2, - "description": "TOC Code" - }, - "isPassenger": { - "type": "boolean", - "description": "If service is for passengers", - "default": true - }, - "isCharter": { - "type": "boolean", - "description": "If train is charter service", - "default": false - }, - "status": { - "type": "string", - "enum": [ - "train", - "bus", - "ship" - ], - "default": "train" - }, - "isDelayedDelivery": { - "type": "boolean", - "description": "If message is sent as part of Darwin service recovery" - }, - "cancelReason": { - "type": [ - "string", - "null" - ], - "description": "Reason code for cancellation" - }, - "isDeleted": { - "type": "boolean", - "description": "Whether schedule should be deleted", - "default": false - }, - "locations": { - "type": "array", - "items": { - "type": "object", - "required": [ - "tpl", - "seq" - ], - "properties": { - "tpl": { - "type": "string", - "description": "TIPLOC of location" - }, - "seq": { - "type": "integer", - "description": "The order of the stop for sorting and handling repeated TIPLOCs" - }, - "wta": { - "type": [ - "string", - "null" - ] - }, - "wtd": { - "type": [ - "string", - "null" - ] - }, - "wtp": { - "type": [ - "string", - "null" - ] - }, - "pta": { - "type": [ - "string", - "null" - ] - }, - "ptd": { - "type": [ - "string", - "null" - ] - }, - "plat": { - "type": [ - "string", - "null" - ] - }, - "isCancelled": { - "type": "boolean", - "default": false - }, - "isSupressed": { - "type": "boolean", - "default": false, - "description": "Defines whether the service should be hidden to the public" - }, - "activities": { - "type": "object", - "properties": { - "pass": { - "type": "boolean", - "description": "Indicates that the train does not stop, it only passes this location" - }, - "pickUpDropOff": { - "type": "boolean", - "description": "Indicates the train stops for passengers to board and alight" - }, - "requestStop": { - "type": "boolean", - "description": "Indicates if the train stops only when required" - }, - "pickUpOnly": { - "type": "boolean", - "description": "Indicated the service picks up passengers only" - }, - "dropOffOnly": { - "type": "boolean", - "description": "Indicates the service drops off passengers only" - }, - "tokenExchange": { - "type": "boolean", - "description": "Indicates if the train stops for exhanging a token/staff or similar" - }, - "vehiclesAttached": { - "type": "boolean", - "description": "Indicates if vehicles are attached at this location" - }, - "vehiclesDetached": { - "type": "boolean", - "description": "Indicates if vehicles are detached at this location" - }, - "trainCrewChange": { - "type": "boolean", - "description": "Indicates if train stops to exchange crew at this location" - }, - "changeLocomotive": { - "type": "boolean", - "description": "Indicates if train stops to exchange locomotive at this location" - }, - "changeEnds": { - "type": "boolean", - "description": "Indicates if the train reverses or driver changes ends at this location" - }, - "staffStop": { - "type": "boolean", - "description": "Indicates that the train stops for staff use only" - }, - "unadvertised": { - "type": "boolean", - "description": "Indicates that the stop is not advertised to the public" - }, - "passesAnotherTrain": { - "type": "boolean", - "description": "Indicates if the train stops to pass another train on a single line crossing point" - } - } - } - } - } - } - } - } - }, - "required": [ - "service_name", - "service_id", - "data_type", - "sent_timestamp" - ], - "additionalProperties": true -} \ No newline at end of file diff --git a/schemas/data-ingress/pushport/ts.json.txt b/schemas/data-ingress/pushport/ts.json.txt deleted file mode 100644 index f72e7e4..0000000 --- a/schemas/data-ingress/pushport/ts.json.txt +++ /dev/null @@ -1,39 +0,0 @@ -{ - "$id": "https://schema.owlboard.info/data-ingress/pushport-ts.schema.json", - "$schema": "https://json-schema.org/draft-07/schema#", - "title": "PushPortTS", - "type": "object", - "properties": { - "rid": { - "type": "string", - "description": "Unique ID for the train service (eg. 2026022217610103)", - "pattern": "^[0-9]{15}$" - }, - "uid": { - "type": "string", - "description": "Schedule ID - The permanent ID for the schedule in the static timetable" - }, - "ssd": { - "type": "string", - "format": "date", - "description": "Scheduled Start Data, the date the train service started its journey" - }, - "isDelayed": { - "type": "boolean", - "description": "Indicated if the message is delayed due to PushPort service disruption" - }, - "lateReason": { - "type": "integer", - "description": "Reason the train is late (Maps to textual reason)" - }, - "cancelReason": { - "type": "integer", - "description": "Reason the train is cancelled (Maps to textual reason)" - }, - "locations": { - "type": "array", - "description": "A list of one or more locations where the train has recorded a movement or forecast", - "items": { "$ref": "https://schema.owlboard.info/data-ingress/pushport-ts-location.schema.json" } - } - } -} \ No newline at end of file diff --git a/schemas/data-ingress/pushport/ts_location.json.txt b/schemas/data-ingress/pushport/ts_location.json.txt deleted file mode 100644 index 94f9deb..0000000 --- a/schemas/data-ingress/pushport/ts_location.json.txt +++ /dev/null @@ -1,51 +0,0 @@ -{ - "$id": "https://schema.owlboard.info/data-ingress/pushport-ts-location.schema.json", - "$schema": "https://json-schema.org/draft-07/schema#", - "title": "PushPortTSLocation", - "type": "object", - "required": ["tpl"], - "definitions": { - "TSTime": { - "type": "object", - "properties": { - "at": {"type": "string", "description": "Actual time"}, - "et": {"type": "string", "description": "Estimated time"}, - "wet": {"type": "string", "description": "Working estimated time"}, - "src": {"type": "string", "description": "Data source (TD/Darwin/etc)"}, - "atClass": {"type": "string", "description": "Time source Automatic/Manual"}, - "delayed": {"type": "boolean", "description": "is train delayed with no estimated time"}, - "srcInst": {"type": "string", "description": "Source instance (what caused the update)"}, - "atRemoved": {"type": "boolean", "description": "Whether a previous 'at' was reported in error and should be removed"} - } - } - }, - "properties": { - "tpl": {"type": "string", "description": "TIPLOC for the location"}, - "wta": {"type": "string", "description": "Scheduled working time arrival"}, - "wtd": {"type": "string", "description": "Scheduled working time departure"}, - "wtp": {"type": "string", "description": "Scheduled working time pass"}, - "pta": {"type": "string", "description": "Scheduled public arrival time"}, - "ptd": {"type": "string", "description": "Scheduled public departure time"}, - "arr": {"$ref": "#/definitions/TSTime"}, - "dep": {"$ref": "#/definitions/TSTime"}, - "pass": {"$ref": "#/definitions/TSTime"}, - "plat": { - "type": "object", - "description": "Platform data", - "properties": { - "value": {"type": "string", "description": "Platform number/letter"}, - "platsrc": {"type": "string", "enum": ["A", "M", "P"], "description": "Source of data Automatic/Manual/Planned"}, - "platsup": {"type": "boolean", "description": "Is platform suppressed from public display"}, - "cisPlatsup": {"type": "boolean", "description": "Whether CIS or Darwin Workstation has supressed the platform"}, - "conf": {"type": "boolean", "description": "Whether platform has been confirmed by the local CIS"} - } - }, - "suppr": {"type": "boolean", "description": "Whether location is supressed"}, - "length": {"type": "integer", "description": "Train length (no. of coaches)"}, - "detachFront": {"type": "boolean","description": "Indicated if coaches will detatch from front"}, - "detachRead": {"type": "boolean", "description": "Indicates if coaches will detatch from rear"}, - "attachFront": {"type": "boolean", "description": "Indicates if coaches will attach to front"}, - "attachRear": {"type": "boolean", "description": "Indicates if coaches will be attached to rear"}, - "adhoc": {"type": "boolean", "description": "Whether this is an ad-hoc stop"} - } -} \ No newline at end of file