Difference between revisions of "Train Movement"
Jump to navigation
Jump to search
BarryCarlyon (talk | contribs) m (→Overview: linked STANOX) |
PeterHicks (talk | contribs) m (Add clarification about reporting_stanox vs original_loc_stanox fields) |
||
(14 intermediate revisions by 6 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=" | + | {| 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
Contents
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 |