train: 951042,0,4
Thu Aug 6 13:18:02 2026 2026-08-06T13:18:02Z plat dest scheduled estimated __323905 Stations on the Belgrave and Lilydale lines will be affected by temporary car park closures, platform closures and changes to pedestrian access at select times, due to works as part of the Level Crossing Removal Project and other maintenance works. _*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. __357977 To enable Boronia Station Upgrade works, there will be temporary changes to vehicle and pedestrian access. __362298 Monday 11 May to late 2026 ** current, _* Later today, __ in the future Final stop Parliament
2 1018 Belgrave Station 2026-08-06T12:41:00Z 22:41:00 -37m-2s -2222 22:40:40 -37m-22s -2242 disruptions 362298 357977 344824 323905
1 1191 Tecoma Station 2026-08-06T12:43:00Z 22:43:00 -35m-2s -2102 22:43:00 -35m-2s -2102 disruptions 362298 357977 344824 323905
1 1200 Upwey Station 2026-08-06T12:45:00Z 22:45:00 -33m-2s -1982 22:49:40 -28m-22s -1702 disruptions 362298 357977 344824 323905
1 1199 Upper Ferntree Gully Station 2026-08-06T12:49:00Z 22:49:00 -29m-2s -1742 22:54:00 -24m-2s -1442 disruptions 362298 357977 344824 323905
1 1067 Ferntree Gully Station 2026-08-06T12:52:00Z 22:52:00 -26m-2s -1562 22:56:00 -22m-2s -1322 disruptions 362298 357977 344824 323905
1 1025 Boronia Station 2026-08-06T12:54:00Z 22:54:00 -24m-2s -1442 22:59:00 -19m-2s -1142 disruptions 362298 357977 344824 323905
1 1016 Bayswater Station 2026-08-06T12:57:00Z 22:57:00 -21m-2s -1262 23:02:00 -16m-2s -962 disruptions 362298 357977 344824 323905
1 1092 Heathmont Station 2026-08-06T13:01:00Z 23:01:00 -17m-2s -1022 23:05:00 -13m-2s -782 disruptions 362298 357977 344824 323905
2 1163 Ringwood Station 2026-08-06T13:04:00Z 23:04:00 -14m-2s -842 23:09:00 -9m-2s -542 disruptions 362298 357977 344824 323905
1 1091 Heatherdale Station 2026-08-06T13:06:00Z 23:06:00 -12m-2s -722 23:11:00 -7m-2s -422 disruptions 362298 357977 344824 323905
1 1128 Mitcham Station 2026-08-06T13:08:00Z 23:08:00 -10m-2s -602 23:14:00 -4m-2s -242 disruptions 362298 357977 344824 323905
1 1148 Nunawading Station 2026-08-06T13:11:00Z 23:11:00 -7m-2s -422 23:16:00 -2m-2s -122 disruptions 362298 357977 344824 323905
1 1023 Blackburn Station 2026-08-06T13:14:00Z 23:14:00 -4m-2s -242 23:19:03 1m1s 61 disruptions 362298 357977 344824 323905
1 1111 Laburnum Station 2026-08-06T13:16:00Z 23:16:00 -2m-2s -122 23:20:00 1m58s 118 disruptions 362298 357977 344824 323905
2 1026 Box Hill Station 2026-08-06T13:19:00Z 23:19:00 0m58s 58 23:23:00 4m58s 298 disruptions 362298 357977 344824 323905
1 1229 Union Station 2026-08-06T13:22:00Z 23:22:00 3m58s 238 23:27:00 8m58s 538 disruptions 362298 357977 344824 323905
1 1037 Chatham Station 2026-08-06T13:24:00Z 23:24:00 5m58s 358 23:29:00 10m58s 658 disruptions 362298 357977 344824 323905
1 1033 Canterbury Station 2026-08-06T13:26:00Z 23:26:00 7m58s 478 23:31:00 12m58s 778 disruptions 362298 357977 344824 323905
1 1057 East Camberwell Station 2026-08-06T13:28:00Z 23:28:00 9m58s 598 23:33:00 14m58s 898 disruptions 362298 357977 344824 323905
1 1032 Camberwell Station 2026-08-06T13:30:00Z 23:30:00 11m58s 718 23:35:00 16m58s 1018 disruptions 362298 357977 344824 323905
1 1012 Auburn Station 2026-08-06T13:32:00Z 23:32:00 13m58s 838 23:37:00 18m58s 1138 disruptions 362298 357977 344824 323905
1 1080 Glenferrie Station 2026-08-06T13:34:00Z 23:34:00 15m58s 958 23:39:00 20m58s 1258 disruptions 362298 357977 344824 323905
1 1090 Hawthorn Station 2026-08-06T13:36:00Z 23:36:00 17m58s 1078 23:42:00 23m58s 1438 disruptions 362298 357977 344824 323905
2 1030 Burnley Station 2026-08-06T13:38:00Z 23:38:00 19m58s 1198 23:44:00 25m58s 1558 disruptions 362298 357977 344824 323905
8 1162 Richmond Station 2026-08-06T13:41:00Z 23:41:00 22m58s 1378 23:47:00 28m58s 1738 disruptions 362298 357977 344824 323905
1 1071 Flinders Street Station 2026-08-06T14:00:00Z 00:00:00 41m58s 2518 00:00:00 41m58s 2518 disruptions 362298 357977 344824 323905
9 1181 Southern Cross Station 2026-08-06T14:03:00Z 00:03:00 44m58s 2698 00:03:00 44m58s 2698 disruptions 362298 357977 344824 323905
1 1068 Flagstaff Station 2026-08-06T14:05:00Z 00:05:00 46m58s 2818 00:06:00 47m58s 2878 disruptions 362298 357977 344824 323905
1 1120 Melbourne Central Station 2026-08-06T14:07:00Z 00:07:00 48m58s 2938 00:07:00 48m58s 2938 disruptions 362298 357977 344824 323905
1 1155 Parliament Station 2026-08-06T14:09:00Z 00:09:00 50m58s 3058 00:10:00 51m58s 3118 disruptions 362298 357977 344824 323905
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 1, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T12:40:40Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T12:41:00Z', 'skipped_stops' => [], 'stop_id' => 1018 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 2, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T12:43:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T12:43:00Z', 'skipped_stops' => [], 'stop_id' => 1191 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 3, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T12:49:40Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T12:45:00Z', 'skipped_stops' => [], 'stop_id' => 1200 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 4, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T12:54:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T12:49:00Z', 'skipped_stops' => [], 'stop_id' => 1199 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 5, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T12:56:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T12:52:00Z', 'skipped_stops' => [], 'stop_id' => 1067 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 6, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T12:59:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T12:54:00Z', 'skipped_stops' => [], 'stop_id' => 1025 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 7, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:02:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T12:57:00Z', 'skipped_stops' => [], 'stop_id' => 1016 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 8, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:05:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:01:00Z', 'skipped_stops' => [], 'stop_id' => 1092 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 9, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:09:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:04:00Z', 'skipped_stops' => [], 'stop_id' => 1163 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 10, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:11:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:06:00Z', 'skipped_stops' => [], 'stop_id' => 1091 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 11, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:14:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:08:00Z', 'skipped_stops' => [], 'stop_id' => 1128 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 12, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:16:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:11:00Z', 'skipped_stops' => [], 'stop_id' => 1148 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 13, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:19:03Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:14:00Z', 'skipped_stops' => [], 'stop_id' => 1023 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 14, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:20:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:16:00Z', 'skipped_stops' => [], 'stop_id' => 1111 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 15, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:23:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:19:00Z', 'skipped_stops' => [], 'stop_id' => 1026 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 16, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:27:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:22:00Z', 'skipped_stops' => [], 'stop_id' => 1229 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 17, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:29:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:24:00Z', 'skipped_stops' => [], 'stop_id' => 1037 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 18, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:31:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:26:00Z', 'skipped_stops' => [], 'stop_id' => 1033 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 19, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:33:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:28:00Z', 'skipped_stops' => [], 'stop_id' => 1057 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 20, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:35:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:30:00Z', 'skipped_stops' => [], 'stop_id' => 1032 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 21, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:37:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:32:00Z', 'skipped_stops' => [], 'stop_id' => 1012 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 22, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:39:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:34:00Z', 'skipped_stops' => [], 'stop_id' => 1080 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 23, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:42:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:36:00Z', 'skipped_stops' => [], 'stop_id' => 1090 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 24, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:44:00Z', 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:38:00Z', 'skipped_stops' => [], 'stop_id' => 1030 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 25, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T13:47:00Z', 'flags' => '', 'platform_number' => '8', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T13:41:00Z', 'skipped_stops' => [], 'stop_id' => 1162 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 26, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T14:00:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T14:00:00Z', 'skipped_stops' => [], 'stop_id' => 1071 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 27, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T14:03:00Z', 'flags' => '', 'platform_number' => '9', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T14:03:00Z', 'skipped_stops' => [], 'stop_id' => 1181 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 28, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T14:06:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T14:05:00Z', 'skipped_stops' => [], 'stop_id' => 1068 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 29, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T14:07:00Z', 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T14:07:00Z', 'skipped_stops' => [], 'stop_id' => 1120 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 30, 'direction_id' => 1, 'disruption_ids' => [ 362298, 357977, 344824, 323905 ], 'estimated_departure_utc' => '2026-08-06T14:10:00Z', 'flags' => 'E', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951042, 'run_ref' => '951042', 'scheduled_departure_utc' => '2026-08-06T14:09:00Z', 'skipped_stops' => [], 'stop_id' => 1155 } ], 'directions' => { '1' => { 'direction_id' => 1, 'direction_name' => 'City', 'route_id' => 2, 'route_type' => 0 } }, 'disruptions' => [ { 'colour' => '#ffbb00', 'description' => 'Monday 11 May to Tuesday 4 August', 'display_on_board' => 'false', 'display_status' => 'false', 'disruption_id' => 362298, 'disruption_status' => 'Current', 'disruption_type' => 'Station detour', 'from_date' => '2026-05-12T00:51:00Z', 'last_updated' => '2026-07-23T02:45:26Z', 'published_on' => '2026-05-12T02:11:45Z', 'routes' => [], 'stops' => [], 'title' => 'Belgrave Line: Replacement bus stop relocation at Bayswater Station until Tuesday 4 August 2026', 'to_date' => undef, 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/belgrave-line-replacement-bus-stop-relocation-at-bayswater-station-until-late-2026' }, { 'colour' => '#ffd500', 'description' => 'Works will continue until spring 2026. When complete, the new station precinct will feature:', 'display_on_board' => 'false', 'display_status' => 'false', 'disruption_id' => 357977, 'disruption_status' => 'Current', 'disruption_type' => 'Planned Closure', 'from_date' => '2026-03-26T16:10:00Z', 'last_updated' => '2026-08-04T08:47:49Z', 'published_on' => '2026-03-18T04:56:31Z', 'routes' => [], 'stops' => [], 'title' => 'Boronia Station: Major changes until spring 2026', 'to_date' => undef, 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/boronia-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' => 'Stations on the Alamein, Belgrave, Glen Waverley and Lilydale lines will be affected by temporary car park closures, platform closures and changes to pedestrian access at select times, due to works as part of the Level Crossing Removal Project and other maintenance works.', 'display_on_board' => 'false', 'display_status' => 'false', 'disruption_id' => 323905, 'disruption_status' => 'Current', 'disruption_type' => 'Planned Closure', 'from_date' => '2024-10-28T10:54:00Z', 'last_updated' => '2026-07-02T09:13:53Z', 'published_on' => '2024-10-29T04:29:05Z', 'routes' => [], 'stops' => [], 'title' => 'Alamein, Belgrave, Glen Waverley and Lilydale line stations: Temporary car park closures and pedestrian access changes until further notice', 'to_date' => undef, 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/alamein-belgrave-glen-waverley-and-lilydale-line-stations-temporary-car-park-closures-and-pedestrian-access-changes-until-further-notice' } ], 'routes' => { '2' => { 'geopath' => [], 'route_gtfs_id' => '2-BEG', 'route_id' => 2, 'route_name' => 'Belgrave', 'route_number' => '', 'route_type' => 0 } }, 'runs' => { '951042' => { 'destination_name' => 'Parliament', 'direction_id' => 1, 'express_stop_count' => 1, 'externalService' => 7, 'final_stop_id' => 1155, 'geopath' => [], 'interchange' => { 'distributor' => { 'advertised' => 'false', 'destination_name' => 'Mernda', 'direction_id' => 9, 'route_id' => 5, 'run_ref' => '949781', 'stop_id' => 1228 }, 'feeder' => { 'advertised' => 'false', 'destination_name' => 'Belgrave', 'direction_id' => 2, 'route_id' => 2, 'run_ref' => '951653', 'stop_id' => 1018 } }, 'route_id' => 2, 'route_type' => 0, 'run_id' => 951042, 'run_note' => '', 'run_ref' => '951042', 'run_sequence' => 0, 'status' => 'updated', 'vehicle_descriptor' => { 'air_conditioned' => undef, 'description' => '6 Car Xtrapolis', 'id' => '1648T-1689T-895M-896M-977M-978M', 'length' => '142', 'low_floor' => undef, 'operator' => 'Metro Trains Melbourne', 'supplier' => 'CIS - Metro Trains Melbourne' }, 'vehicle_position' => { 'bearing' => '-82.2569379664542', 'datetime_utc' => '2026-08-06T23:17:51', 'direction' => 'Inbound', 'easting' => '337515.294724879', 'expiry_time' => '2026-08-06T23:18:26', 'latitude' => '-37.8204458636733', 'longitude' => '145.153892898226', 'northing' => '5812501.1317943', 'supplier' => 'CIS - Metro Trains Melbourne' } } }, 'status' => { 'health' => 1, 'version' => '3.0' }, 'stops' => { '1012' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1012, 'stop_landmark' => '', 'stop_latitude' => '-37.8224', 'stop_longitude' => '145.045837', 'stop_name' => 'Auburn', 'stop_sequence' => 0, 'stop_suburb' => 'Hawthorn East', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1016' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1016, 'stop_landmark' => '', 'stop_latitude' => '-37.84173', 'stop_longitude' => '145.268143', 'stop_name' => 'Bayswater', 'stop_sequence' => 0, 'stop_suburb' => 'Bayswater', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'false', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1018' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1018, 'stop_landmark' => '', 'stop_latitude' => '-37.9091', 'stop_longitude' => '145.355286', 'stop_name' => 'Belgrave', 'stop_sequence' => 0, 'stop_suburb' => 'Belgrave', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1023' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1023, 'stop_landmark' => '', 'stop_latitude' => '-37.82007', 'stop_longitude' => '145.150009', 'stop_name' => 'Blackburn', 'stop_sequence' => 0, 'stop_suburb' => 'Blackburn', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1025' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1025, 'stop_landmark' => '', 'stop_latitude' => '-37.8604546', 'stop_longitude' => '145.284378', 'stop_name' => 'Boronia', 'stop_sequence' => 0, 'stop_suburb' => 'Boronia', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1026' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1026, 'stop_landmark' => '', 'stop_latitude' => '-37.8192177', 'stop_longitude' => '145.121429', 'stop_name' => 'Box Hill', 'stop_sequence' => 0, 'stop_suburb' => 'Box Hill', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'false', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1030' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1030, 'stop_landmark' => '', 'stop_latitude' => '-37.8275566', 'stop_longitude' => '145.007553', 'stop_name' => 'Burnley', 'stop_sequence' => 0, 'stop_suburb' => 'Burnley', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1032' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1032, 'stop_landmark' => '', 'stop_latitude' => '-37.8265648', 'stop_longitude' => '145.058685', 'stop_name' => 'Camberwell', 'stop_sequence' => 0, 'stop_suburb' => 'Camberwell', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1033' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1033, 'stop_landmark' => '', 'stop_latitude' => '-37.82449', 'stop_longitude' => '145.081223', 'stop_name' => 'Canterbury', 'stop_sequence' => 0, 'stop_suburb' => 'Canterbury', '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' } }, '1037' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1037, 'stop_landmark' => '', 'stop_latitude' => '-37.8241463', 'stop_longitude' => '145.08873', 'stop_name' => 'Chatham', 'stop_sequence' => 0, 'stop_suburb' => 'Surrey Hills', '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' } }, '1057' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1057, 'stop_landmark' => '', 'stop_latitude' => '-37.8258934', 'stop_longitude' => '145.068192', 'stop_name' => 'East Camberwell', 'stop_sequence' => 0, 'stop_suburb' => 'Camberwell', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1067' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1067, 'stop_landmark' => '', 'stop_latitude' => '-37.8817', 'stop_longitude' => '145.295258', 'stop_name' => 'Ferntree Gully', 'stop_sequence' => 0, 'stop_suburb' => 'Ferntree Gully', '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' } }, '1080' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1080, 'stop_landmark' => '', 'stop_latitude' => '-37.8214645', 'stop_longitude' => '145.036438', 'stop_name' => 'Glenferrie', 'stop_sequence' => 0, 'stop_suburb' => 'Hawthorn', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1090' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1090, 'stop_landmark' => '', 'stop_latitude' => '-37.8218231', 'stop_longitude' => '145.0229', 'stop_name' => 'Hawthorn', 'stop_sequence' => 0, 'stop_suburb' => 'Hawthorn', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1091' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1091, 'stop_landmark' => '', 'stop_latitude' => '-37.81884', 'stop_longitude' => '145.213547', 'stop_name' => 'Heatherdale', 'stop_sequence' => 0, 'stop_suburb' => 'Ringwood', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1092' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1092, 'stop_landmark' => '', 'stop_latitude' => '-37.82832', 'stop_longitude' => '145.244553', 'stop_name' => 'Heathmont', 'stop_sequence' => 0, 'stop_suburb' => 'Heathmont', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1111' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1111, 'stop_landmark' => '', 'stop_latitude' => '-37.8207779', 'stop_longitude' => '145.1407', 'stop_name' => 'Laburnum', 'stop_sequence' => 0, 'stop_suburb' => 'Blackburn', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'false', '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' } }, '1128' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1128, 'stop_landmark' => '', 'stop_latitude' => '-37.8180122', 'stop_longitude' => '145.191971', 'stop_name' => 'Mitcham', 'stop_sequence' => 0, 'stop_suburb' => 'Mitcham', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1148' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1148, 'stop_landmark' => '', 'stop_latitude' => '-37.8204231', 'stop_longitude' => '145.175232', 'stop_name' => 'Nunawading', 'stop_sequence' => 0, 'stop_suburb' => 'Nunawading', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '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' } }, '1162' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1162, 'stop_landmark' => '', 'stop_latitude' => '-37.8240738', 'stop_longitude' => '144.990158', 'stop_name' => 'Richmond', 'stop_sequence' => 0, 'stop_suburb' => 'Richmond', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 1 ], 'vline_reservation' => 'false', 'zone' => 'Zone 1' } }, '1163' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1163, 'stop_landmark' => '', 'stop_latitude' => '-37.81589', 'stop_longitude' => '145.228973', 'stop_name' => 'Ringwood', 'stop_sequence' => 0, 'stop_suburb' => 'Ringwood', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'false', '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' } }, '1191' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1191, 'stop_landmark' => '', 'stop_latitude' => '-37.9081154', 'stop_longitude' => '145.343', 'stop_name' => 'Tecoma', 'stop_sequence' => 0, 'stop_suburb' => 'Tecoma', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1199' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1199, 'stop_landmark' => '', 'stop_latitude' => '-37.8926735', 'stop_longitude' => '145.307526', 'stop_name' => 'Upper Ferntree Gully', 'stop_sequence' => 0, 'stop_suburb' => 'Upper Ferntree Gully', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'true', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1200' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1200, 'stop_landmark' => '', 'stop_latitude' => '-37.90369', 'stop_longitude' => '145.331329', 'stop_name' => 'Upwey', 'stop_sequence' => 0, 'stop_suburb' => 'Upwey', 'stop_ticket' => { 'is_free_fare_zone' => 'false', 'ticket_checks' => 'false', 'ticket_machine' => 'true', 'ticket_type' => '', 'ticket_zones' => [ 2 ], 'vline_reservation' => 'false', 'zone' => 'Zone 2' } }, '1229' => { 'route_type' => 0, 'stop_distance' => '0', 'stop_id' => 1229, 'stop_landmark' => '', 'stop_latitude' => '-37.82312', 'stop_longitude' => '145.100281', 'stop_name' => 'Union', 'stop_sequence' => 0, 'stop_suburb' => 'Mont Albert', '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' } } } }