train: 951600,0,4
Mon Mar 30 15:40:35 2026 2026-03-30T15:40:35Z 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. **357996 At a glance __358514 At a glance ** current, _* Later today, __ in the future Final stop Flinders Street
2 1018 Belgrave Station 2026-03-30T17:27:00Z 04:27:00 106m25s 6385 no est disruptions 358514 357996 357977 344824 323905
1 1191 Tecoma Station 2026-03-30T17:29:00Z 04:29:00 108m25s 6505 no est disruptions 358514 357996 357977 344824 323905
1 1200 Upwey Station 2026-03-30T17:31:00Z 04:31:00 110m25s 6625 no est disruptions 358514 357996 357977 344824 323905
1 1199 Upper Ferntree Gully Station 2026-03-30T17:35:00Z 04:35:00 114m25s 6865 no est disruptions 358514 357996 357977 344824 323905
1 1067 Ferntree Gully Station 2026-03-30T17:38:00Z 04:38:00 117m25s 7045 no est disruptions 358514 357996 357977 344824 323905
1 1025 Boronia Station 2026-03-30T17:40:00Z 04:40:00 119m25s 7165 no est disruptions 358514 357996 357977 344824 323905
1 1016 Bayswater Station 2026-03-30T17:43:00Z 04:43:00 122m25s 7345 no est disruptions 358514 357996 357977 344824 323905
1 1092 Heathmont Station 2026-03-30T17:47:00Z 04:47:00 126m25s 7585 no est disruptions 358514 357996 357977 344824 323905
1 1163 Ringwood Station 2026-03-30T17:50:00Z 04:50:00 129m25s 7765 no est disruptions 358514 357996 357977 344824 323905
1 1091 Heatherdale Station 2026-03-30T17:52:00Z 04:52:00 131m25s 7885 no est disruptions 358514 357996 357977 344824 323905
1 1128 Mitcham Station 2026-03-30T17:54:00Z 04:54:00 133m25s 8005 no est disruptions 358514 357996 357977 344824 323905
1 1148 Nunawading Station 2026-03-30T17:57:00Z 04:57:00 136m25s 8185 no est disruptions 358514 357996 357977 344824 323905
1 1023 Blackburn Station 2026-03-30T18:00:00Z 05:00:00 139m25s 8365 no est disruptions 358514 357996 357977 344824 323905
1 1111 Laburnum Station 2026-03-30T18:02:00Z 05:02:00 141m25s 8485 no est disruptions 358514 357996 357977 344824 323905
2 1026 Box Hill Station 2026-03-30T18:05:00Z 05:05:00 144m25s 8665 no est disruptions 358514 357996 357977 344824 323905
1 1229 Union Station 2026-03-30T18:08:00Z 05:08:00 147m25s 8845 no est disruptions 358514 357996 357977 344824 323905
1 1037 Chatham Station 2026-03-30T18:10:00Z 05:10:00 149m25s 8965 no est disruptions 358514 357996 357977 344824 323905
1 1033 Canterbury Station 2026-03-30T18:12:00Z 05:12:00 151m25s 9085 no est disruptions 358514 357996 357977 344824 323905
1 1057 East Camberwell Station 2026-03-30T18:14:00Z 05:14:00 153m25s 9205 no est disruptions 358514 357996 357977 344824 323905
1 1032 Camberwell Station 2026-03-30T18:16:00Z 05:16:00 155m25s 9325 no est disruptions 358514 357996 357977 344824 323905
1 1012 Auburn Station 2026-03-30T18:18:00Z 05:18:00 157m25s 9445 no est disruptions 358514 357996 357977 344824 323905
1 1080 Glenferrie Station 2026-03-30T18:20:00Z 05:20:00 159m25s 9565 no est disruptions 358514 357996 357977 344824 323905
1 1090 Hawthorn Station 2026-03-30T18:22:00Z 05:22:00 161m25s 9685 no est disruptions 358514 357996 357977 344824 323905
2 1030 Burnley Station 2026-03-30T18:24:00Z 05:24:00 163m25s 9805 no est disruptions 358514 357996 357977 344824 323905
8 1162 Richmond Station 2026-03-30T18:27:00Z 05:27:00 166m25s 9985 no est disruptions 358514 357996 357977 344824 323905
4 1155 Parliament Station 2026-03-30T18:30:00Z 05:30:00 169m25s 10165 no est disruptions 358514 357996 357977 344824 323905
4 1120 Melbourne Central Station 2026-03-30T18:32:00Z 05:32:00 171m25s 10285 no est disruptions 358514 357996 357977 344824 323905
4 1068 Flagstaff Station 2026-03-30T18:33:00Z 05:33:00 172m25s 10345 no est disruptions 358514 357996 357977 344824 323905
10 1181 Southern Cross Station 2026-03-30T18:35:00Z 05:35:00 174m25s 10465 no est disruptions 358514 357996 357977 344824 323905
2 1071 Flinders Street Station 2026-03-30T18:39:00Z 05:39:00 178m25s 10705 no est disruptions 358514 357996 357977 344824 323905
$perl_scalar = { 'departures' => [ { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 1, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T17:27:00Z', 'skipped_stops' => [], 'stop_id' => 1018 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 2, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T17:29:00Z', 'skipped_stops' => [], 'stop_id' => 1191 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 3, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T17:31:00Z', 'skipped_stops' => [], 'stop_id' => 1200 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 4, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T17:35:00Z', 'skipped_stops' => [], 'stop_id' => 1199 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 5, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T17:38:00Z', 'skipped_stops' => [], 'stop_id' => 1067 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 6, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T17:40:00Z', 'skipped_stops' => [], 'stop_id' => 1025 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 7, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T17:43:00Z', 'skipped_stops' => [], 'stop_id' => 1016 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 8, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T17:47:00Z', 'skipped_stops' => [], 'stop_id' => 1092 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 9, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T17:50:00Z', 'skipped_stops' => [], 'stop_id' => 1163 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 10, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T17:52:00Z', 'skipped_stops' => [], 'stop_id' => 1091 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 11, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T17:54:00Z', 'skipped_stops' => [], 'stop_id' => 1128 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 12, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T17:57:00Z', 'skipped_stops' => [], 'stop_id' => 1148 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 13, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:00:00Z', 'skipped_stops' => [], 'stop_id' => 1023 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 14, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:02:00Z', 'skipped_stops' => [], 'stop_id' => 1111 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 15, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:05:00Z', 'skipped_stops' => [], 'stop_id' => 1026 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 16, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:08:00Z', 'skipped_stops' => [], 'stop_id' => 1229 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 17, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:10:00Z', 'skipped_stops' => [], 'stop_id' => 1037 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 18, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:12:00Z', 'skipped_stops' => [], 'stop_id' => 1033 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 19, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:14:00Z', 'skipped_stops' => [], 'stop_id' => 1057 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 20, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:16:00Z', 'skipped_stops' => [], 'stop_id' => 1032 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 21, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:18:00Z', 'skipped_stops' => [], 'stop_id' => 1012 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 22, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:20:00Z', 'skipped_stops' => [], 'stop_id' => 1080 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 23, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '1', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:22:00Z', 'skipped_stops' => [], 'stop_id' => 1090 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 24, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:24:00Z', 'skipped_stops' => [], 'stop_id' => 1030 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 25, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '8', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:27:00Z', 'skipped_stops' => [], 'stop_id' => 1162 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 26, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '4', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:30:00Z', 'skipped_stops' => [], 'stop_id' => 1155 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 27, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '4', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:32:00Z', 'skipped_stops' => [], 'stop_id' => 1120 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 28, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '4', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:33:00Z', 'skipped_stops' => [], 'stop_id' => 1068 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 29, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => '', 'platform_number' => '10', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:35:00Z', 'skipped_stops' => [], 'stop_id' => 1181 }, { 'at_platform' => 'false', 'departure_note' => '', 'departure_sequence' => 30, 'direction_id' => 1, 'disruption_ids' => [ 358514, 357996, 357977, 344824, 323905 ], 'estimated_departure_utc' => undef, 'flags' => 'E', 'platform_number' => '2', 'route_id' => 2, 'run_id' => 951600, 'run_ref' => '951600', 'scheduled_departure_utc' => '2026-03-30T18:39:00Z', 'skipped_stops' => [], 'stop_id' => 1071 } ], 'directions' => { '1' => { 'direction_id' => 1, 'direction_name' => 'City', 'route_id' => 2, 'route_type' => 0 } }, 'disruptions' => [ { 'colour' => '#ffd500', 'description' => 'At a glance', 'display_on_board' => 'false', 'display_status' => 'false', 'disruption_id' => 358514, 'disruption_status' => 'Current', 'disruption_type' => 'Planned Works', 'from_date' => '2026-03-30T10:00:00Z', 'last_updated' => '2026-03-30T10:02:51Z', 'published_on' => '2026-03-25T03:44:24Z', 'routes' => [], 'stops' => [], 'title' => 'Belgrave and Lilydale lines: Train services start and end at Burnley from 9pm to last service each night, Monday 30 March to Wednesday 1 April 2026', 'to_date' => '2026-04-01T16:00:00Z', 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/belgrave-and-lilydale-lines-train-services-start-and-end-at-burnley-from-9pm-to-last-service-each-night-monday-30-march-to-wednesday-1-april-2026' }, { 'colour' => '#ffd500', 'description' => 'At a glance', 'display_on_board' => 'true', 'display_status' => 'true', 'disruption_id' => 357996, 'disruption_status' => 'Current', 'disruption_type' => 'Planned Works', 'from_date' => '2026-03-30T10:00:00Z', 'last_updated' => '2026-03-30T10:01:58Z', 'published_on' => '2026-03-18T07:51:22Z', 'routes' => [], 'stops' => [], 'title' => 'Belgrave and Lilydale lines: No City Loop trains from 9pm to last service each night, Monday 30 March to Wednesday 1 April 2026', 'to_date' => '2026-04-01T16:00:00Z', 'url' => 'http://ptv.vic.gov.au/live-travel-updates/article/belgrave-and-lilydale-lines-no-city-loop-trains-from-9pm-to-last-service-each-night-monday-30-march-to-wednesday-1-april-2026' }, { 'colour' => '#ffd500', 'description' => 'To enable Boronia Station Upgrade works, there will be temporary changes to vehicle and pedestrian access.', '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-03-18T23:00:52Z', 'published_on' => '2026-03-18T04:56:31Z', 'routes' => [], 'stops' => [], 'title' => 'Boronia Station: Major changes until late 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-03-18T05:11:32Z', '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' => { '951600' => { 'destination_name' => 'Flinders Street', 'direction_id' => 1, 'express_stop_count' => 1, 'externalService' => undef, 'final_stop_id' => 1071, 'geopath' => [], 'interchange' => { 'distributor' => { 'advertised' => 'false', 'destination_name' => 'Alamein', 'direction_id' => 0, 'route_id' => 1, 'run_ref' => '950203', 'stop_id' => 1002 }, 'feeder' => undef }, 'route_id' => 2, 'route_type' => 0, 'run_id' => 951600, 'run_note' => '', 'run_ref' => '951600', 'run_sequence' => 0, 'status' => 'scheduled', 'vehicle_descriptor' => undef, 'vehicle_position' => undef } }, '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.8243027', 'stop_longitude' => '145.088654', '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.8188972', 'stop_longitude' => '145.212784', '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.8202972', 'stop_longitude' => '145.177078', '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' } } } }