Train Movement: Difference between revisions
PeterHicks (talk | contribs) m Add clarification about reporting_stanox vs original_loc_stanox fields |
|||
(17 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
== 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 == | ||
< | <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 === | |||
{| class='wikitable' | |||
!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. | |||
{| class='wikitable' | |||
!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 | |||
|- | |||
|} | |||
{{Navtable-DataFeeds}} | |||
[[Category:Train Movement Data]] |
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) |