Train Movement

From Open Rail Data Wiki
Revision as of 08:57, 17 November 2023 by PeterHicks (talk | contribs) (Add clarification about reporting_stanox vs original_loc_stanox fields)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


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": ""


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


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 UsesFAQ Release Notes
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
TSR TSR Feed Route Codes
SCHEDULE SCHEDULE Feed 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