Wrap schedule message into envelope
All checks were successful
Generate and Release Protos / release (push) Successful in 33s
All checks were successful
Generate and Release Protos / release (push) Successful in 33s
This commit is contained in:
@@ -3,56 +3,239 @@
|
||||
"$schema": "https://json-schema.org/draft-07/schema#",
|
||||
"title": "PushPortSchedule",
|
||||
"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": {
|
||||
"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": {
|
||||
"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"}
|
||||
"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
|
||||
}
|
||||
Reference in New Issue
Block a user