Train Movement: Difference between revisions
Alex Copland (talk | contribs) m Reordered body table to order it appears in the feed |
PeterHicks (talk | contribs) m Add clarification about reporting_stanox vs original_loc_stanox fields |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 6: | Line 6: | ||
== Data structure == | == Data structure == | ||
<pre> | |||
{ | |||
"header": { | |||
"msg_type": "0003", | |||
"source_dev_id": "VLA5", | |||
"user_id": "#QHPA026", | |||
"original_data_source": "SDR", | |||
"msg_queue_timestamp": "1511528232000", | |||
"source_system_id": "TRUST" | |||
}, | |||
"body": { | |||
"event_type": "DEPARTURE", | |||
"gbtt_timestamp": "", | |||
"original_loc_stanox": "", | |||
"planned_timestamp": "1511524620000", | |||
"timetable_variation": "0", | |||
"original_loc_timestamp": "", | |||
"current_train_id": "", | |||
"delay_monitoring_point": "true", | |||
"next_report_run_time": "9", | |||
"reporting_stanox": "52701", | |||
"actual_timestamp": "1511524620000", | |||
"correction_ind": "false", | |||
"event_source": "MANUAL", | |||
"train_file_address": null, | |||
"platform": "", | |||
"division_code": "79", | |||
"train_terminated": "false", | |||
"train_id": "515G531I24", | |||
"offroute_ind": "false", | |||
"variation_status": "ON TIME", | |||
"train_service_code": "25936005", | |||
"toc_id": "79", | |||
"loc_stanox": "52701", | |||
"auto_expected": "true", | |||
"direction_ind": "", | |||
"route": "", | |||
"planned_event_type": "DEPARTURE", | |||
"next_report_stanox": "52226", | |||
"line_ind": "" | |||
} | |||
} | |||
</pre> | |||
=== Header === | === Header === | ||
Line 17: | Line 61: | ||
|- | |- | ||
|source_dev_id | |source_dev_id | ||
| | |[[LATA]] or [[CICS Session]] of the inputting terminal | ||
|- | |||
|user_id | |||
|[[NCI signon]] of the inputting user | |||
|- | |- | ||
|source_system_id | |source_system_id | ||
Line 23: | Line 70: | ||
|- | |- | ||
|original_data_source | |original_data_source | ||
|Set to " | |Set to "GPS", "SDR", "SMART", "TOPS" or "TRUST DA" for a movement message | ||
|- | |||
|msg_queue_timestamp | |||
| | |||
|} | |} | ||
=== Body === | === Body === | ||
Fields marked with an asterisk may not be present in some messages and your code should not | |||
assume they will always be populated. | |||
{| class='wikitable' | {| class='wikitable' | ||
Line 35: | Line 88: | ||
|The type of event - either "ARRIVAL" or "DEPARTURE" | |The type of event - either "ARRIVAL" or "DEPARTURE" | ||
|- | |- | ||
|gbtt_timestamp | |gbtt_timestamp* | ||
|The planned GBTT (passenger) date and time that the event was due to happen at this location | |The planned GBTT (passenger) date and time that the event was due to happen at this location | ||
|- | |- | ||
|original_loc_stanox | |original_loc_stanox* | ||
|If the location has been | |If the location has been changed after activation, the original STANOX where this train was due to report. If the reporting_stanox field not 00000, this field may not be present | ||
|- | |||
|original_loc_timestamp* | |||
|The planned time associated with the original location | |||
|- | |- | ||
|planned_timestamp | |planned_timestamp | ||
Line 47: | Line 103: | ||
|The number of minutes variation from the scheduled time at this location. Off-route reports will contain "0" | |The number of minutes variation from the scheduled time at this location. Off-route reports will contain "0" | ||
|- | |- | ||
|current_train_id* | |||
|current_train_id | |||
|Where a train has had its identity changed, the current 10-character unique identity for this train | |Where a train has had its identity changed, the current 10-character unique identity for this train | ||
|- | |- | ||
Line 56: | Line 109: | ||
|Set to "true" if this is a delay monitoring point, "false" if it is not. Off-route reports will contain "false" | |Set to "true" if this is a delay monitoring point, "false" if it is not. Off-route reports will contain "false" | ||
|- | |- | ||
|next_report_run_time | |next_report_run_time* | ||
|The running time to the next location | |The running time to the next location | ||
|- | |- | ||
|reporting_stanox | |reporting_stanox* | ||
| | |If 00000, the STANOX to which this report refers is in the original_loc_stanox field | ||
|- | |- | ||
|actual_timestamp | |actual_timestamp | ||
Line 71: | Line 124: | ||
|Whether the event source was "AUTOMATIC" from SMART, or "MANUAL" from TOPS or TRUST SDR | |Whether the event source was "AUTOMATIC" from SMART, or "MANUAL" from TOPS or TRUST SDR | ||
|- | |- | ||
|train_file_address | |train_file_address* | ||
|The TOPS train file address, if applicable | |The TOPS train file address, if applicable | ||
|- | |- | ||
|platform | |platform* | ||
|Two characters (including a space for a single character) or blank if the movement report is associated with a platform number | |Two characters (including a space for a single character) or blank if the movement report is associated with a platform number | ||
|- | |- | ||
Line 101: | Line 154: | ||
|The STANOX of the location at which this event happened | |The STANOX of the location at which this event happened | ||
|- | |- | ||
|auto_expected | |auto_expected* | ||
|Set to "true" if an automatic report is expected for this location, otherwise "false" | |Set to "true" if an automatic report is expected for this location, otherwise "false" | ||
|- | |- | ||
|direction_ind | |direction_ind* | ||
|For automatic reports, either "UP" or "DOWN" depending on the direction of travel | |For automatic reports, either "UP" or "DOWN" depending on the direction of travel | ||
|- | |- | ||
|route | |route* | ||
|A | |A number or blank to indicate the exit route from this location. A value of 'F' indicates the train failed to stop here | ||
|- | |- | ||
|planned_event_type | |planned_event_type | ||
|The planned type of event - one of "ARRIVAL", "DEPARTURE" or "DESTINATION" | |The planned type of event - one of "ARRIVAL", "DEPARTURE" or "DESTINATION" | ||
|- | |- | ||
|next_report_stanox | |next_report_stanox* | ||
|The STANOX of the location at which the next report for this train is due | |The STANOX of the location at which the next report for this train is due | ||
|- | |- | ||
|line_ind | |line_ind* | ||
|A single character (or blank) depending on the line the train is travelling on, e.g. F = Fast, S = Slow | |A single character (or blank) depending on the line the train is travelling on, e.g. F = Fast, S = Slow | ||
|- | |- |
Latest revision as of 08:57, 17 November 2023
Overview
A train movement message is sent whenever a train arrives, passes or departs a location monitored by TRUST. It records the time at which the event happens.
Reports may be automatically generated, or manually entered.
Data structure
{ "header": { "msg_type": "0003", "source_dev_id": "VLA5", "user_id": "#QHPA026", "original_data_source": "SDR", "msg_queue_timestamp": "1511528232000", "source_system_id": "TRUST" }, "body": { "event_type": "DEPARTURE", "gbtt_timestamp": "", "original_loc_stanox": "", "planned_timestamp": "1511524620000", "timetable_variation": "0", "original_loc_timestamp": "", "current_train_id": "", "delay_monitoring_point": "true", "next_report_run_time": "9", "reporting_stanox": "52701", "actual_timestamp": "1511524620000", "correction_ind": "false", "event_source": "MANUAL", "train_file_address": null, "platform": "", "division_code": "79", "train_terminated": "false", "train_id": "515G531I24", "offroute_ind": "false", "variation_status": "ON TIME", "train_service_code": "25936005", "toc_id": "79", "loc_stanox": "52701", "auto_expected": "true", "direction_ind": "", "route": "", "planned_event_type": "DEPARTURE", "next_report_stanox": "52226", "line_ind": "" } }
Header
Field | Description |
---|---|
msg_type | Set to '0003' for a movement message |
source_dev_id | LATA or CICS Session of the inputting terminal |
user_id | NCI signon of the inputting user |
source_system_id | Set to "TRUST" for a movement message |
original_data_source | Set to "GPS", "SDR", "SMART", "TOPS" or "TRUST DA" for a movement message |
msg_queue_timestamp |
Body
Fields marked with an asterisk may not be present in some messages and your code should not assume they will always be populated.
Field | Description |
---|---|
event_type | The type of event - either "ARRIVAL" or "DEPARTURE" |
gbtt_timestamp* | The planned GBTT (passenger) date and time that the event was due to happen at this location |
original_loc_stanox* | If the location has been changed after activation, the original STANOX where this train was due to report. If the reporting_stanox field not 00000, this field may not be present |
original_loc_timestamp* | The planned time associated with the original location |
planned_timestamp | The planned date and time that this event was due to happen at this location |
timetable_variation | The number of minutes variation from the scheduled time at this location. Off-route reports will contain "0" |
current_train_id* | Where a train has had its identity changed, the current 10-character unique identity for this train |
delay_monitoring_point | Set to "true" if this is a delay monitoring point, "false" if it is not. Off-route reports will contain "false" |
next_report_run_time* | The running time to the next location |
reporting_stanox* | If 00000, the STANOX to which this report refers is in the original_loc_stanox field |
actual_timestamp | The date and time that this event happened at the location |
correction_ind | Set to "false" if this report is not a correction of a previous report, or "true" if it is |
event_source | Whether the event source was "AUTOMATIC" from SMART, or "MANUAL" from TOPS or TRUST SDR |
train_file_address* | The TOPS train file address, if applicable |
platform* | Two characters (including a space for a single character) or blank if the movement report is associated with a platform number |
division_code | Operating company ID as per TOC Codes |
train_terminated | Set to "true" if the train has completed its journey, or "false" otherwise |
train_id | The 10-character unique identity for this train at TRUST activation time |
offroute_ind | Set to "false" if this report is for a location in the schedule, or "true" if it is not |
variation_status | One of "ON TIME", "EARLY", "LATE" or "OFF ROUTE" |
train_service_code | Train service code as per schedule |
toc_id | Operating company ID as per TOC Codes |
loc_stanox | The STANOX of the location at which this event happened |
auto_expected* | Set to "true" if an automatic report is expected for this location, otherwise "false" |
direction_ind* | For automatic reports, either "UP" or "DOWN" depending on the direction of travel |
route* | A number or blank to indicate the exit route from this location. A value of 'F' indicates the train failed to stop here |
planned_event_type | The planned type of event - one of "ARRIVAL", "DEPARTURE" or "DESTINATION" |
next_report_stanox* | The STANOX of the location at which the next report for this train is due |
line_ind* | A single character (or blank) depending on the line the train is travelling on, e.g. F = Fast, S = Slow |
Network Rail Open Data Feeds | |
---|---|
Data Feeds | About the Feeds • Account States • Durable Subscriptions • Example Code ( PHP / C# / Java / Ruby / Node.js) • Advanced Uses • FAQ • Release Notes |
RTPPM | RTPPM Feed |
Train Movements | Train Movements Feed • Train Activation • Train Cancellation • Train Movement • Train Reinstatement • Change of Origin • Change of Identity • Change of Location • TSPEED Field • Planned Cancellations • Cancellation Codes |
TD | TD Feed • C-Class Messages • S-Class Messages • Train Describers • TD Berths |
VSTP | VSTP Feed |
TSR | TSR Feed • Route Codes |
SCHEDULE | SCHEDULE Feed • TIPLOC Records • Schedule and Location Records • Association Records • CIF Codes • How Scheduling Works • Allowances |
Reference Data | Reference Data Feed • TOC Codes • CIF Codes • Delay Attribution Codes • Identifying Locations (STANOX, TIPLOC, NLC and 3-Alpha Codes) • STANOX Geographical Areas • Train Planning data (BPLAN) |