train: 949773,0,4
Thu Aug  6 13:15:39 2026 2026-08-06T13:15:39Z

plat dest
 scheduled
 estimated
_*344824    From 8.30pm Monday 29 September 2025 until August 2026, there will be changes to the way you access and exit the station, due to escalator upgrade works.
__365656    Mernda Station will be affected by temporary pedestrian access changes from Monday 6 July to late-July 2026, due to works.
__367113    Reservoir Station will be affected by temporary car space closures from 12pm Thursday 6 August to 9am Monday 10 August 2026, due to maintenance works.
** current, _* Later today, __ in the future

Final stop Mernda

1 1071 Flinders Street Station 2026-08-06T12:00:00Z 22:00:00 -75m-39s -4539 21:59:40 -75m-59s -4559 disruptions 344824 367113 365656
9 1181 Southern Cross Station 2026-08-06T12:08:00Z 22:08:00 -67m-39s -4059 22:07:40 -67m-59s -4079 disruptions 344824 367113 365656
1 1068 Flagstaff Station 2026-08-06T12:10:00Z 22:10:00 -65m-39s -3939 22:10:00 -65m-39s -3939 disruptions 344824 367113 365656
1 1120 Melbourne Central Station 2026-08-06T12:12:00Z 22:12:00 -63m-39s -3819 22:11:32 -64m-7s -3847 disruptions 344824 367113 365656
1 1155 Parliament Station 2026-08-06T12:14:00Z 22:14:00 -61m-39s -3699 22:13:52 -61m-47s -3707 disruptions 344824 367113 365656
2 1104 Jolimont-MCG Station 2026-08-06T12:17:00Z 22:17:00 -58m-39s -3519 22:17:00 -58m-39s -3519 disruptions 344824 367113 365656
2 1207 West Richmond Station 2026-08-06T12:18:00Z 22:18:00 -57m-39s -3459 22:19:00 -56m-39s -3399 disruptions 344824 367113 365656
2 1145 North Richmond Station 2026-08-06T12:20:00Z 22:20:00 -55m-39s -3339 22:20:00 -55m-39s -3339 disruptions 344824 367113 365656
2 1043 Collingwood Station 2026-08-06T12:21:00Z 22:21:00 -54m-39s -3279 22:21:32 -54m-7s -3247 disruptions 344824 367113 365656
2 1201 Victoria Park Station 2026-08-06T12:23:00Z 22:23:00 -52m-39s -3159 22:22:52 -52m-47s -3167 disruptions 344824 367113 365656
2 1041 Clifton Hill Station 2026-08-06T12:25:00Z 22:25:00 -50m-39s -3039 22:25:00 -50m-39s -3039 disruptions 344824 367113 365656
2 1170 Rushall Station 2026-08-06T12:27:00Z 22:27:00 -48m-39s -2919 22:27:00 -48m-39s -2919 disruptions 344824 367113 365656
2 1125 Merri Station 2026-08-06T12:29:00Z 22:29:00 -46m-39s -2799 22:30:12 -45m-27s -2727 disruptions 344824 367113 365656
2 1147 Northcote Station 2026-08-06T12:30:00Z 22:30:00 -45m-39s -2739 22:31:52 -43m-47s -2627 disruptions 344824 367113 365656
2 1047 Croxton Station 2026-08-06T12:32:00Z 22:32:00 -43m-39s -2619 22:33:00 -42m-39s -2559 disruptions 344824 367113 365656
2 1193 Thornbury Station 2026-08-06T12:33:00Z 22:33:00 -42m-39s -2559 22:35:12 -40m-27s -2427 disruptions 344824 367113 365656
2 1019 Bell Station 2026-08-06T12:35:00Z 22:35:00 -40m-39s -2439 22:36:00 -39m-39s -2379 disruptions 344824 367113 365656
2 1159 Preston Station 2026-08-06T12:36:00Z 22:36:00 -39m-39s -2379 22:38:00 -37m-39s -2259 disruptions 344824 367113 365656
2 1160 Regent Station 2026-08-06T12:38:00Z 22:38:00 -37m-39s -2259 22:40:00 -35m-39s -2139 disruptions 344824 367113 365656
2 1161 Reservoir Station 2026-08-06T12:40:00Z 22:40:00 -35m-39s -2139 22:42:00 -33m-39s -2019 disruptions 344824 367113 365656
2 1171 Ruthven Station 2026-08-06T12:42:00Z 22:42:00 -33m-39s -2019 22:44:00 -31m-39s -1899 disruptions 344824 367113 365656
2 1109 Keon Park Station 2026-08-06T12:44:00Z 22:44:00 -31m-39s -1899 22:46:00 -29m-39s -1779 disruptions 344824 367113 365656
2 1192 Thomastown Station 2026-08-06T12:47:00Z 22:47:00 -28m-39s -1719 22:48:00 -27m-39s -1659 disruptions 344824 367113 365656
2 1112 Lalor Station 2026-08-06T12:49:00Z 22:49:00 -26m-39s -1599 22:51:00 -24m-39s -1479 disruptions 344824 367113 365656
2 1063 Epping Station 2026-08-06T12:52:00Z 22:52:00 -23m-39s -1419 22:53:32 -22m-7s -1327 disruptions 344824 367113 365656
2 1224 South Morang Station 2026-08-06T12:56:00Z 22:56:00 -19m-39s -1179 22:56:52 -18m-47s -1127 disruptions 344824 367113 365656
2 1226 Middle Gorge Station 2026-08-06T12:59:00Z 22:59:00 -16m-39s -999 23:00:00 -15m-39s -939 disruptions 344824 367113 365656
2 1227 Hawkstowe Station 2026-08-06T13:02:00Z 23:02:00 -13m-39s -819 23:03:00 -12m-39s -759 disruptions 344824 367113 365656
1 1228 Mernda Station 2026-08-06T13:05:00Z 23:05:00 -10m-39s -639 no est disruptions 344824 367113 365656
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 1, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T11:59:40Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:00:00Z', 'skipped_stops' => [], 'stop_id' => 1071 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 2, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:07:40Z', 'flags' => '', 'platform_number' => '9', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:08:00Z', 'skipped_stops' => [], 'stop_id' => 1181 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 3, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:10:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:10:00Z', 'skipped_stops' => [], 'stop_id' => 1068 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 4, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:11:32Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:12:00Z', 'skipped_stops' => [], 'stop_id' => 1120 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 5, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:13:52Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:14:00Z', 'skipped_stops' => [], 'stop_id' => 1155 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 6, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:17:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:17:00Z', 'skipped_stops' => [], 'stop_id' => 1104 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 7, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:19:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:18:00Z', 'skipped_stops' => [], 'stop_id' => 1207 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 8, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:20:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:20:00Z', 'skipped_stops' => [], 'stop_id' => 1145 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 9, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:21:32Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:21:00Z', 'skipped_stops' => [], 'stop_id' => 1043 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 10, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:22:52Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:23:00Z', 'skipped_stops' => [], 'stop_id' => 1201 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 11, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:25:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:25:00Z', 'skipped_stops' => [], 'stop_id' => 1041 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 12, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:27:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:27:00Z', 'skipped_stops' => [], 'stop_id' => 1170 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 13, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:30:12Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:29:00Z', 'skipped_stops' => [], 'stop_id' => 1125 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 14, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:31:52Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:30:00Z', 'skipped_stops' => [], 'stop_id' => 1147 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 15, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:33:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:32:00Z', 'skipped_stops' => [], 'stop_id' => 1047 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 16, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:35:12Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:33:00Z', 'skipped_stops' => [], 'stop_id' => 1193 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 17, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:36:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:35:00Z', 'skipped_stops' => [], 'stop_id' => 1019 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 18, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:38:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:36:00Z', 'skipped_stops' => [], 'stop_id' => 1159 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 19, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:40:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:38:00Z', 'skipped_stops' => [], 'stop_id' => 1160 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 20, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:42:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:40:00Z', 'skipped_stops' => [], 'stop_id' => 1161 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 21, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:44:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:42:00Z', 'skipped_stops' => [], 'stop_id' => 1171 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 22, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:46:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:44:00Z', 'skipped_stops' => [], 'stop_id' => 1109 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 23, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:48:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:47:00Z', 'skipped_stops' => [], 'stop_id' => 1192 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 24, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:51:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:49:00Z', 'skipped_stops' => [], 'stop_id' => 1112 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 25, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:53:32Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:52:00Z', 'skipped_stops' => [], 'stop_id' => 1063 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 26, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T12:56:52Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:56:00Z', 'skipped_stops' => [], 'stop_id' => 1224 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 27, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T13:00:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T12:59:00Z', 'skipped_stops' => [], 'stop_id' => 1226 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 28, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => '2026-08-06T13:03:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T13:02:00Z', 'skipped_stops' => [], 'stop_id' => 1227 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 29, 'direction_id' => 9, 'disruption_ids' => [ 344824, 367113, 365656 ], 'estimated_departure_utc' => undef, 'flags' => 'E', 'platform_number' => '1', 'route_id' => 5, 'run_id' => 949773, 'run_ref' => '949773', 'scheduled_departure_utc' => '2026-08-06T13:05:00Z', 'skipped_stops' => [], 'stop_id' => 1228 } ], 'directions' => { '9' => { 'direction_id' => 9, 'direction_name' => 'Mernda', 'route_id' => 5, 'route_type' => 0 } }, 'disruptions' => [ { 'colour' => '#ffbb00', 'description' => 'Southern Cross Station: From 8.30pm Monday 29 September 2025 until August 2026, there will be changes to the way you access and exit the station, due to escalator upgrade works.', 'display_on_board' => 'true', 'display_status' => 'false', 'disruption_id' => 344824, 'disruption_status' => 'Current', 'disruption_type' => 'Station detour', 'from_date' => '2025-09-25T05:13:00Z', 'last_updated' => '2026-02-10T10:00:02Z', 'published_on' => '2025-09-25T05:26:57Z', 'routes' => [], 'stops' => [], 'title' => 'Southern Cross Station: From 8.30pm Monday 29 September 2025 until August 2026, there will be changes to the way you access and exit the station, due to escalator upgrade works.', 'to_date' => '2026-08-31T17:00:00Z', 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/page/plan-a-journey/maps/southern-cross-station-map-and-travel-information/' }, { 'colour' => '#ffd500', 'description' => 'Reservoir Station will be affected by temporary car space closures from 12pm Thursday 6 August to 9am Monday 10 August 2026, due to maintenance works.', 'display_on_board' => 'false', 'display_status' => 'false', 'disruption_id' => 367113, 'disruption_status' => 'Current', 'disruption_type' => 'Planned Closure', 'from_date' => '2026-08-06T02:00:00Z', 'last_updated' => '2026-08-06T02:02:29Z', 'published_on' => '2026-07-27T10:23:02Z', 'routes' => [], 'stops' => [], 'title' => 'Reservoir Station: Temporary car park closures from 12pm Thursday 6 August to 9am Monday 10 August 2026', 'to_date' => '2026-08-09T23:00:00Z', 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/reservoir-station-temporary-car-park-closures-from-12pm-thursday-6-august-to-9am-monday-10-august-2026' }, { 'colour' => '#ffbb00', 'description' => 'Mernda Station will be affected by temporary pedestrian access changes from Monday 20 July to mid-August 2026, due to works.', 'display_on_board' => 'false', 'display_status' => 'false', 'disruption_id' => 365656, 'disruption_status' => 'Current', 'disruption_type' => 'Station detour', 'from_date' => '2026-07-19T17:00:00Z', 'last_updated' => '2026-07-10T02:36:24Z', 'published_on' => '2026-07-01T08:48:37Z', 'routes' => [], 'stops' => [], 'title' => 'Mernda Station: Temporary pedestrian access changes from Monday 20 July to mid-August 2026', 'to_date' => undef, 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/mernda-station-temporary-pedestrian-access-changes-from-monday-6-july-to-late-july-2026' } ], 'routes' => { '5' => { 'geopath' => [], 'route_gtfs_id' => '2-MDD', 'route_id' => 5, 'route_name' => 'Mernda', 'route_number' => '', 'route_type' => 0 } }, 'runs' => { '949773' => { 'destination_name' => 'Mernda', 'direction_id' => 9, 'express_stop_count' => 0, 'externalService' => 7, 'final_stop_id' => 1228, 'geopath' => [], 'interchange' => { 'distributor' => { 'advertised' => 'false', 'destination_name' => 'Parliament', 'direction_id' => 1, 'route_id' => 5, 'run_ref' => '949176', 'stop_id' => 1155 }, 'feeder' => { 'advertised' => 'false', 'destination_name' => 'Parliament', 'direction_id' => 1, 'route_id' => 8, 'run_ref' => '949358', 'stop_id' => 1155 } }, 'route_id' => 5, 'route_type' => 0, 'run_id' => 949773, 'run_note' => '', 'run_ref' => '949773', 'run_sequence' => 0, 'status' => 'scheduled', 'vehicle_descriptor' => { 'air_conditioned' => undef, 'description' => '6 Car Xtrapolis', 'id' => '1376T-1413T-151M-152M-225M-226M', 'length' => '142', 'low_floor' => undef, 'operator' => 'Metro Trains Melbourne', 'supplier' => 'CIS - Metro Trains Melbourne' }, 'vehicle_position' => { 'bearing' => '188.841545095217', 'datetime_utc' => '2026-08-06T23:05:24', 'direction' => 'Inbound', 'easting' => '332360.3460345', 'expiry_time' => '2026-08-06T23:15:52', 'latitude' => '-37.6026150747842', 'longitude' => '145.100898530956', 'northing' => '5836578.57847933', 'supplier' => 'CIS - Metro Trains Melbourne' } } }, 'status' => { 'health' => 1, 'version' => '3.0' }, 'stops' => { '1019' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1019, 'stop_landmark' => '', 'stop_latitude' => '-37.7455673', 'stop_longitude' => '145.000153', 'stop_name' => 'Bell', 'stop_sequence' => 0, 'stop_suburb' => 'Preston', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1041' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1041, 'stop_landmark' => '', 'stop_latitude' => '-37.7886543', 'stop_longitude' => '144.995422', 'stop_name' => 'Clifton Hill', 'stop_sequence' => 0, 'stop_suburb' => 'Clifton Hill', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1043' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1043, 'stop_landmark' => '', 'stop_latitude' => '-37.8045235', 'stop_longitude' => '144.993744', 'stop_name' => 'Collingwood', 'stop_sequence' => 0, 'stop_suburb' => 'Abbotsford', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1047' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1047, 'stop_landmark' => '', 'stop_latitude' => '-37.7641', 'stop_longitude' => '144.997055', 'stop_name' => 'Croxton', 'stop_sequence' => 0, 'stop_suburb' => 'Northcote', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1063' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1063, 'stop_landmark' => '', 'stop_latitude' => '-37.6521873', 'stop_longitude' => '145.031067', 'stop_name' => 'Epping', 'stop_sequence' => 0, 'stop_suburb' => 'Epping', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1068' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1068, 'stop_landmark' => '', 'stop_latitude' => '-37.8119774', 'stop_longitude' => '144.955658', 'stop_name' => 'Flagstaff', 'stop_sequence' => 0, 'stop_suburb' => 'Melbourne City', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1071' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1071, 'stop_landmark' => '', 'stop_latitude' => '-37.81831', 'stop_longitude' => '144.966965', 'stop_name' => 'Flinders Street', 'stop_sequence' => 0, 'stop_suburb' => 'Melbourne City', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1104' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1104, 'stop_landmark' => '', 'stop_latitude' => '-37.8164444', 'stop_longitude' => '144.983871', 'stop_name' => 'Jolimont-MCG', 'stop_sequence' => 0, 'stop_suburb' => 'East Melbourne', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'false', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1109' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1109, 'stop_landmark' => '', 'stop_latitude' => '-37.6948662', 'stop_longitude' => '145.011887', 'stop_name' => 'Keon Park', 'stop_sequence' => 0, 'stop_suburb' => 'Thomastown', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1112' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1112, 'stop_landmark' => '', 'stop_latitude' => '-37.66585', 'stop_longitude' => '145.0172', 'stop_name' => 'Lalor', 'stop_sequence' => 0, 'stop_suburb' => 'Lalor', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1120' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1120, 'stop_landmark' => '', 'stop_latitude' => '-37.8099365', 'stop_longitude' => '144.9626', 'stop_name' => 'Melbourne Central', 'stop_sequence' => 0, 'stop_suburb' => 'Melbourne City', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1125' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1125, 'stop_landmark' => '', 'stop_latitude' => '-37.7778435', 'stop_longitude' => '144.992981', 'stop_name' => 'Merri', 'stop_sequence' => 0, 'stop_suburb' => 'Northcote', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1145' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1145, 'stop_landmark' => '', 'stop_latitude' => '-37.8103943', 'stop_longitude' => '144.9925', 'stop_name' => 'North Richmond', 'stop_sequence' => 0, 'stop_suburb' => 'Richmond', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1147' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1147, 'stop_landmark' => '', 'stop_latitude' => '-37.7698631', 'stop_longitude' => '144.995285', 'stop_name' => 'Northcote', 'stop_sequence' => 0, 'stop_suburb' => 'Northcote', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1155' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1155, 'stop_landmark' => '', 'stop_latitude' => '-37.8110542', 'stop_longitude' => '144.9729', 'stop_name' => 'Parliament', 'stop_sequence' => 0, 'stop_suburb' => 'Melbourne City', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1159' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1159, 'stop_landmark' => '', 'stop_latitude' => '-37.7386742', 'stop_longitude' => '145.000534', 'stop_name' => 'Preston', 'stop_sequence' => 0, 'stop_suburb' => 'Preston', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1, 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1,Zone 2' } }, '1160' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1160, 'stop_landmark' => '', 'stop_latitude' => '-37.7284', 'stop_longitude' => '145.002777', 'stop_name' => 'Regent', 'stop_sequence' => 0, 'stop_suburb' => 'Reservoir', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1, 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1,Zone 2' } }, '1161' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1161, 'stop_landmark' => '', 'stop_latitude' => '-37.71689', 'stop_longitude' => '145.006989', 'stop_name' => 'Reservoir', 'stop_sequence' => 0, 'stop_suburb' => 'Reservoir', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1, 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1,Zone 2' } }, '1170' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1170, 'stop_landmark' => '', 'stop_latitude' => '-37.78322', 'stop_longitude' => '144.9924', 'stop_name' => 'Rushall', 'stop_sequence' => 0, 'stop_suburb' => 'Fitzroy North', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1171' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1171, 'stop_landmark' => '', 'stop_latitude' => '-37.7078972', 'stop_longitude' => '145.009521', 'stop_name' => 'Ruthven', 'stop_sequence' => 0, 'stop_suburb' => 'Reservoir', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1181' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1181, 'stop_landmark' => '', 'stop_latitude' => '-37.8179321', 'stop_longitude' => '144.951416', 'stop_name' => 'Southern Cross', 'stop_sequence' => 0, 'stop_suburb' => 'Melbourne City', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'true', 'zone' => 'Zone 1' } }, '1192' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1192, 'stop_landmark' => '', 'stop_latitude' => '-37.680336', 'stop_longitude' => '145.014282', 'stop_name' => 'Thomastown', 'stop_sequence' => 0, 'stop_suburb' => 'Thomastown', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1193' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1193, 'stop_landmark' => '', 'stop_latitude' => '-37.7550468', 'stop_longitude' => '144.998581', 'stop_name' => 'Thornbury', 'stop_sequence' => 0, 'stop_suburb' => 'Thornbury', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1201' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1201, 'stop_landmark' => '', 'stop_latitude' => '-37.7991562', 'stop_longitude' => '144.994446', 'stop_name' => 'Victoria Park', 'stop_sequence' => 0, 'stop_suburb' => 'Abbotsford', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1207' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1207, 'stop_landmark' => '', 'stop_latitude' => '-37.8149452', 'stop_longitude' => '144.991425', 'stop_name' => 'West Richmond', 'stop_sequence' => 0, 'stop_suburb' => 'Richmond', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1224' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1224, 'stop_landmark' => '', 'stop_latitude' => '-37.6491623', 'stop_longitude' => '145.067032', 'stop_name' => 'South Morang', 'stop_sequence' => 0, 'stop_suburb' => 'South Morang', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1226' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1226, 'stop_landmark' => '', 'stop_latitude' => '-37.644062', 'stop_longitude' => '145.092133', 'stop_name' => 'Middle Gorge', 'stop_sequence' => 0, 'stop_suburb' => 'South Morang', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1227' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1227, 'stop_landmark' => '', 'stop_latitude' => '-37.6229935', 'stop_longitude' => '145.0974', 'stop_name' => 'Hawkstowe', 'stop_sequence' => 0, 'stop_suburb' => 'South Morang', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1228' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1228, 'stop_landmark' => '', 'stop_latitude' => '-37.60255', 'stop_longitude' => '145.100876', 'stop_name' => 'Mernda', 'stop_sequence' => 0, 'stop_suburb' => 'Mernda', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'true', 'zone' => 'Zone 2' } } } }