Victoria Route 31: Royal Oak Exch / Downtown
Bus schedule and route map · Monday to Friday, Saturday, Sunday
Victoria Route 31 (Royal Oak Exch / Downtown) is a bus route in Greater Victoria, Vancouver Island, serving Legislature Exch (Belleville St), Douglas St at Kings Rd, Glanford Ave at Vanalman Ave, Douglas St at Gorge Rd E / Hillside Ave and Douglas St at Fort St. Monday to Friday the first bus is at 5:45 am and the last at 12:48 am, every 30 min during the day. Updated October 4, 2026.
Schedule summary
Monday to Friday
- First
- 5:45 am
- Last
- 12:48 am
- Buses
- 66
- Daytime
- every 30 min
Saturday
- First
- 6:54 am
- Last
- 12:47 am
- Buses
- 60
- Daytime
- every 30 min
Sunday
- First
- 7:00 am
- Last
- 11:54 pm
- Buses
- 54
- Daytime
- every 30 min
Public holidays
- Mon 12 Oct (Thanksgiving): the Sunday timetable
- Wed 11 Nov (Remembrance Day): the Sunday timetable
Route 31 to Royal Oak Exch
Destination sign “Royal Oak Exch via Glanford” · from Legislature Exch (Belleville St) · 35 stops
Monday to Friday
Times at the main stops. Bold is pm. A dot means that trip does not stop there.
| Legislature Exch (Belleville St) Bay G | Douglas St at Kings Rd | Carey Rd at Ravine Way - Uptown | Glanford Ave at Vanalman Ave | Royal Oak Exch Bay C |
|---|---|---|---|---|
| 6:12 | 6:22 | 6:28 | 6:36 | 6:42 |
| 6:48 | 6:59 | 7:05 | 7:14 | 7:20 |
| 7:20 | 7:31 | 7:38 | 7:47 | 7:55 |
| 7:50 | 8:02 | 8:09 | 8:20 | 8:29 |
| 8:22 | 8:34 | 8:41 | 8:50 | 8:58 |
| 8:53 | 9:05 | 9:12 | 9:20 | 9:27 |
| 9:23 | 9:34 | 9:41 | 9:49 | 9:57 |
| 9:53 | 10:05 | 10:12 | 10:20 | 10:28 |
| 10:23 | 10:35 | 10:42 | 10:50 | 10:58 |
| 10:53 | 11:05 | 11:12 | 11:20 | 11:28 |
| 11:23 | 11:35 | 11:43 | 11:52 | 12:00 |
| 11:53 | 12:05 | 12:13 | 12:22 | 12:30 |
| 12:23 | 12:35 | 12:43 | 12:52 | 1:00 |
| 12:53 | 1:06 | 1:14 | 1:23 | 1:31 |
| 1:23 | 1:36 | 1:44 | 1:53 | 2:01 |
| 1:51 | 2:04 | 2:12 | 2:21 | 2:30 |
| 2:21 | 2:34 | 2:42 | 2:52 | 3:02 |
| 2:52 | 3:05 | 3:14 | 3:24 | 3:34 |
| 3:24 | 3:37 | 3:47 | 3:57 | 4:07 |
| 3:58 | 4:11 | 4:21 | 4:31 | 4:40 |
| 4:31 | 4:45 | 4:55 | 5:06 | 5:14 |
| 5:03 | 5:16 | 5:25 | 5:35 | 5:43 |
| 5:36 | 5:48 | 5:56 | 6:05 | 6:12 |
| 6:05 | 6:17 | 6:25 | 6:34 | 6:41 |
| 6:32 | 6:43 | 6:50 | 6:59 | 7:06 |
| 7:00 | 7:11 | 7:18 | 7:26 | 7:33 |
| 7:28 | 7:39 | 7:46 | 7:54 | 8:00 |
| 8:05 | 8:16 | 8:23 | 8:31 | 8:37 |
| 8:43 | 8:54 | 9:01 | 9:09 | 9:15 |
| 9:37 | 9:48 | 9:54 | 10:02 | 10:08 |
| 10:36 | 10:46 | 10:52 | 10:59 | 11:05 |
| 11:51 | 12:00 | 12:05 | 12:11 | 12:17 |
| 12:46 | 12:54 | 12:59 | 1:05 | 1:10 |
Saturday
Times at the main stops. Bold is pm. A dot means that trip does not stop there.
| Legislature Exch (Belleville St) Bay G | Douglas St at Kings Rd | Carey Rd at Ravine Way - Uptown | Glanford Ave at Vanalman Ave | Royal Oak Exch Bay C |
|---|---|---|---|---|
| 7:00 | 7:10 | 7:16 | 7:23 | 7:29 |
| 7:48 | 7:58 | 8:04 | 8:11 | 8:17 |
| 8:29 | 8:39 | 8:45 | 8:52 | 8:59 |
| 9:02 | 9:13 | 9:20 | 9:27 | 9:34 |
| 9:33 | 9:44 | 9:51 | 9:58 | 10:05 |
| 10:05 | 10:16 | 10:23 | 10:30 | 10:37 |
| 10:37 | 10:49 | 10:56 | 11:04 | 11:12 |
| 11:06 | 11:19 | 11:26 | 11:34 | 11:42 |
| 11:36 | 11:49 | 11:56 | 12:04 | 12:12 |
| 12:06 | 12:19 | 12:26 | 12:34 | 12:42 |
| 12:36 | 12:49 | 12:56 | 1:04 | 1:12 |
| 1:05 | 1:19 | 1:27 | 1:35 | 1:43 |
| 1:35 | 1:49 | 1:57 | 2:06 | 2:14 |
| 2:05 | 2:19 | 2:27 | 2:36 | 2:44 |
| 2:35 | 2:49 | 2:57 | 3:06 | 3:14 |
| 3:05 | 3:20 | 3:28 | 3:37 | 3:45 |
| 3:35 | 3:49 | 3:57 | 4:06 | 4:14 |
| 4:05 | 4:19 | 4:27 | 4:36 | 4:44 |
| 4:35 | 4:48 | 4:56 | 5:04 | 5:12 |
| 5:05 | 5:18 | 5:26 | 5:34 | 5:42 |
| 5:35 | 5:47 | 5:55 | 6:03 | 6:11 |
| 6:05 | 6:17 | 6:25 | 6:33 | 6:40 |
| 6:40 | 6:52 | 6:59 | 7:07 | 7:14 |
| 7:20 | 7:32 | 7:39 | 7:47 | 7:53 |
| 8:00 | 8:11 | 8:18 | 8:26 | 8:32 |
| 8:40 | 8:51 | 8:57 | 9:05 | 9:11 |
| 9:35 | 9:46 | 9:52 | 10:00 | 10:06 |
| 10:35 | 10:46 | 10:52 | 11:00 | 11:06 |
| 11:53 | 12:03 | 12:08 | 12:15 | 12:21 |
| 12:45 | 12:54 | 12:59 | 1:06 | 1:12 |
Sunday
Times at the main stops. Bold is pm. A dot means that trip does not stop there.
| Legislature Exch (Belleville St) Bay G | Douglas St at Kings Rd | Carey Rd at Ravine Way - Uptown | Glanford Ave at Vanalman Ave | Royal Oak Exch Bay C |
|---|---|---|---|---|
| 7:00 | 7:10 | 7:16 | 7:23 | 7:28 |
| 8:11 | 8:22 | 8:28 | 8:35 | 8:40 |
| 9:05 | 9:16 | 9:22 | 9:29 | 9:35 |
| 9:45 | 9:56 | 10:02 | 10:09 | 10:15 |
| 10:25 | 10:37 | 10:43 | 10:50 | 10:57 |
| 11:05 | 11:17 | 11:24 | 11:31 | 11:38 |
| 11:35 | 11:47 | 11:54 | 12:01 | 12:08 |
| 12:05 | 12:17 | 12:24 | 12:32 | 12:39 |
| 12:35 | 12:47 | 12:54 | 1:02 | 1:09 |
| 1:05 | 1:17 | 1:25 | 1:33 | 1:40 |
| 1:35 | 1:47 | 1:55 | 2:03 | 2:10 |
| 2:05 | 2:17 | 2:25 | 2:34 | 2:41 |
| 2:35 | 2:47 | 2:55 | 3:04 | 3:11 |
| 3:05 | 3:17 | 3:25 | 3:34 | 3:41 |
| 3:35 | 3:48 | 3:56 | 4:05 | 4:12 |
| 4:05 | 4:18 | 4:26 | 4:34 | 4:41 |
| 4:35 | 4:47 | 4:55 | 5:03 | 5:10 |
| 5:05 | 5:17 | 5:24 | 5:32 | 5:39 |
| 5:35 | 5:47 | 5:54 | 6:02 | 6:09 |
| 6:05 | 6:16 | 6:23 | 6:31 | 6:38 |
| 6:40 | 6:51 | 6:58 | 7:06 | 7:13 |
| 7:20 | 7:31 | 7:38 | 7:46 | 7:52 |
| 8:00 | 8:11 | 8:17 | 8:24 | 8:30 |
| 8:40 | 8:51 | 8:57 | 9:04 | 9:10 |
| 9:35 | 9:46 | 9:52 | 9:59 | 10:05 |
| 10:35 | 10:46 | 10:52 | 10:59 | 11:04 |
| 11:49 | 11:59 | 12:04 | 12:10 | 12:15 |
All 35 stops in this direction
- Legislature Exch (Belleville St) Bay G #102467
- Legislature Exch Bay E #100006
- Douglas St at Blanshard St #100012
- Douglas St at Courtney St #100010
- Douglas St at Fort St #100032
- Douglas St at Pandora Ave #100076
- Douglas St at Herald St #100394
- Douglas St at Discovery St #100146
- Douglas St at Bay St #100178
- Douglas St at Kings Rd #100198
- Douglas St at Summit Ave #100295
- Douglas St at Finlayson St #100358
- Douglas St at Cloverdale Ave #100456
- Douglas St at Saanich Rd - Uptown #100554
- Carey Rd at Ravine Way - Uptown #100349
- Carey Rd at Harriet Rd #100684
- Carey Rd at Huxley St #100729
- Carey Rd at Seaton St #100766
- Carey Rd at Tillicum Rd #100785
- Carey Rd at Ralph St #100866
- Glanford Ave at McKenzie Ave #100894
- Glanford Ave at Kenneth St #100940
- Glanford Ave at Agnes St #100976
- Glanford Ave at Baker St #101014
- Glanford Ave at Judah St #101040
- Glanford Ave at Leaside Ave #101098
- Glanford Ave at Vanalman Ave #101120
- Glanford Ave at Enterprise Cres #101165
- Glanford Ave at Mann Ave #101198
- W Saanich Rd at Tri-Eagle Plaza #101257
- W Saanich Rd at Royal Oak Shopping Ctr #101316
- W Saanich Rd at Elk Lake Dr #101345
- W Saanich Rd at Pipeline Rd #101399
- Royal Oak Dr at W Saanich Rd #101412
- Royal Oak Exch Bay C #102490
Route 31 to Legislature Exch (Belleville St)
Destination sign “Downtown via Glanford” · from Royal Oak Exch · 28 stops
Monday to Friday
Times at the main stops. Bold is pm. A dot means that trip does not stop there.
| Royal Oak Exch Bay B | Glanford Ave at Vanalman Ave | Carey Rd at Ravine Way - Uptown | Douglas St at Gorge Rd E / Hillside Ave | Douglas St at Fort St | Legislature Exch (Belleville St) Bay G |
|---|---|---|---|---|---|
| 5:45 | 5:49 | 5:56 | 6:01 | 6:07 | 6:10 |
| 6:21 | 6:25 | 6:32 | 6:37 | 6:43 | 6:46 |
| 6:53 | 6:57 | 7:05 | 7:11 | 7:17 | 7:21 |
| 7:20 | 7:24 | 7:33 | 7:39 | 7:46 | 7:50 |
| 7:48 | 7:53 | 8:03 | 8:09 | 8:16 | 8:20 |
| 8:17 | 8:22 | 8:33 | 8:39 | 8:46 | 8:50 |
| 8:48 | 8:53 | 9:03 | 9:09 | 9:16 | 9:20 |
| 9:18 | 9:23 | 9:32 | 9:39 | 9:46 | 9:50 |
| 9:48 | 9:53 | 10:01 | 10:08 | 10:15 | 10:19 |
| 10:18 | 10:23 | 10:31 | 10:38 | 10:45 | 10:49 |
| 10:47 | 10:52 | 11:00 | 11:07 | 11:14 | 11:18 |
| 11:19 | 11:24 | 11:32 | 11:39 | 11:47 | 11:51 |
| 11:50 | 11:55 | 12:03 | 12:10 | 12:18 | 12:22 |
| 12:21 | 12:26 | 12:34 | 12:41 | 12:49 | 12:53 |
| 12:51 | 12:56 | 1:04 | 1:11 | 1:19 | 1:23 |
| 1:22 | 1:27 | 1:35 | 1:42 | 1:49 | 1:53 |
| 1:53 | 1:58 | 2:06 | 2:13 | 2:20 | 2:24 |
| 2:21 | 2:26 | 2:35 | 2:42 | 2:49 | 2:53 |
| 2:51 | 2:56 | 3:08 | 3:15 | 3:23 | 3:27 |
| 3:23 | 3:30 | 3:40 | 3:48 | 3:56 | 4:01 |
| 3:55 | 4:01 | 4:11 | 4:19 | 4:27 | 4:32 |
| 4:30 | 4:36 | 4:46 | 4:54 | 5:03 | 5:08 |
| 5:04 | 5:09 | 5:18 | 5:26 | 5:34 | 5:38 |
| 5:35 | 5:40 | 5:48 | 5:55 | 6:02 | 6:06 |
| 6:05 | 6:10 | 6:17 | 6:24 | 6:31 | 6:35 |
| 6:36 | 6:40 | 6:47 | 6:53 | 6:59 | 7:03 |
| 7:18 | 7:22 | 7:29 | 7:35 | 7:41 | 7:44 |
| 7:52 | 7:56 | 8:03 | 8:09 | 8:14 | 8:17 |
| 8:39 | 8:43 | 8:50 | 8:55 | 9:00 | 9:03 |
| 9:39 | 9:43 | 9:50 | 9:55 | 10:00 | 10:03 |
| 10:39 | 10:43 | 10:49 | 10:54 | 10:59 | 11:02 |
| 11:41 | 11:44 | 11:50 | 11:55 | 12:00 | 12:02 |
| 12:48 | 12:51 | 12:56 | 1:00 | · | · |
Saturday
Times at the main stops. Bold is pm. A dot means that trip does not stop there.
| Royal Oak Exch Bay B | Glanford Ave at Vanalman Ave | Carey Rd at Ravine Way - Uptown | Douglas St at Gorge Rd E / Hillside Ave | Douglas St at Fort St | Legislature Exch (Belleville St) Bay G |
|---|---|---|---|---|---|
| 6:54 | 6:58 | 7:05 | 7:10 | 7:15 | 7:18 |
| 7:40 | 7:44 | 7:51 | 7:56 | 8:02 | 8:05 |
| 8:16 | 8:20 | 8:27 | 8:33 | 8:39 | 8:43 |
| 8:47 | 8:51 | 8:58 | 9:04 | 9:10 | 9:14 |
| 9:18 | 9:22 | 9:30 | 9:36 | 9:42 | 9:46 |
| 9:49 | 9:53 | 10:02 | 10:08 | 10:14 | 10:18 |
| 10:18 | 10:22 | 10:31 | 10:38 | 10:44 | 10:48 |
| 10:48 | 10:52 | 11:01 | 11:08 | 11:14 | 11:18 |
| 11:17 | 11:21 | 11:30 | 11:37 | 11:44 | 11:48 |
| 11:46 | 11:51 | 12:00 | 12:07 | 12:14 | 12:18 |
| 12:15 | 12:20 | 12:29 | 12:36 | 12:43 | 12:47 |
| 12:43 | 12:48 | 12:57 | 1:04 | 1:12 | 1:16 |
| 1:13 | 1:18 | 1:27 | 1:34 | 1:42 | 1:46 |
| 1:43 | 1:48 | 1:57 | 2:04 | 2:12 | 2:16 |
| 2:13 | 2:18 | 2:27 | 2:34 | 2:42 | 2:46 |
| 2:43 | 2:48 | 2:57 | 3:04 | 3:12 | 3:16 |
| 3:13 | 3:18 | 3:27 | 3:34 | 3:42 | 3:46 |
| 3:45 | 3:50 | 3:58 | 4:05 | 4:13 | 4:17 |
| 4:15 | 4:20 | 4:28 | 4:35 | 4:43 | 4:47 |
| 4:46 | 4:50 | 4:58 | 5:05 | 5:13 | 5:17 |
| 5:17 | 5:21 | 5:29 | 5:36 | 5:43 | 5:47 |
| 5:47 | 5:51 | 5:59 | 6:06 | 6:13 | 6:17 |
| 6:27 | 6:31 | 6:39 | 6:46 | 6:53 | 6:57 |
| 7:10 | 7:14 | 7:21 | 7:27 | 7:33 | 7:37 |
| 7:50 | 7:54 | 8:01 | 8:07 | 8:13 | 8:17 |
| 8:37 | 8:41 | 8:48 | 8:53 | 8:59 | 9:02 |
| 9:37 | 9:41 | 9:48 | 9:53 | 9:59 | 10:02 |
| 10:38 | 10:42 | 10:49 | 10:54 | 10:59 | 11:02 |
| 11:49 | 11:52 | 11:59 | 12:04 | 12:09 | 12:12 |
| 12:47 | 12:50 | 12:56 | 1:00 | · | · |
Sunday
Times at the main stops. Bold is pm. A dot means that trip does not stop there.
| Royal Oak Exch Bay B | Glanford Ave at Vanalman Ave | Carey Rd at Ravine Way - Uptown | Douglas St at Gorge Rd E / Hillside Ave | Douglas St at Fort St | Legislature Exch (Belleville St) Bay G |
|---|---|---|---|---|---|
| 7:04 | 7:08 | 7:15 | 7:20 | 7:25 | 7:28 |
| 8:05 | 8:09 | 8:17 | 8:22 | 8:27 | 8:30 |
| 8:56 | 9:00 | 9:08 | 9:13 | 9:19 | 9:22 |
| 9:35 | 9:39 | 9:47 | 9:53 | 9:59 | 10:02 |
| 10:13 | 10:17 | 10:25 | 10:31 | 10:37 | 10:41 |
| 10:48 | 10:52 | 11:00 | 11:06 | 11:12 | 11:16 |
| 11:18 | 11:22 | 11:30 | 11:36 | 11:42 | 11:46 |
| 11:48 | 11:52 | 12:00 | 12:06 | 12:12 | 12:16 |
| 12:16 | 12:20 | 12:28 | 12:35 | 12:42 | 12:46 |
| 12:46 | 12:50 | 12:58 | 1:05 | 1:12 | 1:16 |
| 1:16 | 1:20 | 1:28 | 1:35 | 1:42 | 1:46 |
| 1:45 | 1:49 | 1:58 | 2:05 | 2:12 | 2:16 |
| 2:15 | 2:19 | 2:28 | 2:35 | 2:42 | 2:46 |
| 2:45 | 2:49 | 2:58 | 3:05 | 3:12 | 3:16 |
| 3:15 | 3:19 | 3:28 | 3:35 | 3:42 | 3:46 |
| 3:46 | 3:50 | 3:58 | 4:06 | 4:12 | 4:16 |
| 4:16 | 4:20 | 4:28 | 4:36 | 4:42 | 4:46 |
| 4:47 | 4:51 | 4:59 | 5:06 | 5:12 | 5:16 |
| 5:18 | 5:22 | 5:30 | 5:37 | 5:43 | 5:47 |
| 5:51 | 5:55 | 6:02 | 6:08 | 6:14 | 6:17 |
| 6:31 | 6:35 | 6:42 | 6:48 | 6:54 | 6:57 |
| 7:12 | 7:16 | 7:23 | 7:28 | 7:34 | 7:37 |
| 7:53 | 7:57 | 8:04 | 8:09 | 8:14 | 8:17 |
| 8:41 | 8:45 | 8:51 | 8:56 | 9:01 | 9:04 |
| 9:39 | 9:43 | 9:49 | 9:54 | 9:59 | 10:02 |
| 10:40 | 10:43 | 10:49 | 10:54 | 10:59 | 11:02 |
| 11:54 | 11:57 | 12:03 | 12:08 | 12:12 | 12:15 |
All 28 stops in this direction
- Royal Oak Exch Bay B #102489
- W Saanich Rd at Elk Lake Dr #101352
- W Saanich Rd at Royal Oak Shopping Ctr #101318
- W Saanich Rd at Tri-Eagle Plaza #102008
- Glanford Ave at Mann Ave #101191
- Glanford Ave at Lodi Ave #101159
- Glanford Ave at Vanalman Ave #101128
- Glanford Ave at Leaside Ave #101087
- Glanford Ave at Judah St #101042
- Glanford Ave at Baker St #101010
- Glanford Ave at Agnes St #100981
- Glanford Ave at Kenneth St #102871
- Glanford Ave at McKenzie Ave #100834
- Carey Rd at Tillicum Rd #100806
- Carey Rd at Diamond St #100780
- Carey Rd at Seaton St #100749
- Carey Rd at Huxley St #100726
- Carey Rd at Ravine Way - Uptown #101817
- Douglas St at Kelvin Rd #100454
- Douglas St at Finlayson St #100347
- Douglas St at Burnside Rd E #100291
- Douglas St at Gorge Rd E / Hillside Ave #100195
- Douglas St at Bay St #100177
- Douglas St at Discovery St #100132
- Douglas St at Pandora Ave #100082
- Douglas St at Fort St #100034
- Douglas St at Courtney St #100019
- Legislature Exch (Belleville St) Bay G #102467
Route 31 route map
Questions about Victoria Route 31
What time is the first Route 31 bus?
Monday to Friday: 5:45 am. Saturday: 6:54 am. Sunday: 7:00 am.
What time is the last Route 31 bus?
Monday to Friday: 12:48 am. Saturday: 12:47 am. Sunday: 11:54 pm. A time after midnight belongs to the evening before.
How often does Route 31 run?
Monday to Friday: every 30 min. Saturday: every 30 min. Sunday: every 30 min, between 7:00 am and 7:00 pm.
Does Route 31 run at weekends?
Saturday: yes. Sunday: yes.
Does Route 31 run on public holidays?
Thanksgiving (Mon 12 Oct): the Sunday timetable. Remembrance Day (Wed 11 Nov): the Sunday timetable.
Where does Route 31 go?
Route 31 serves Legislature Exch (Belleville St), Douglas St at Kings Rd, Glanford Ave at Vanalman Ave, Douglas St at Gorge Rd E / Hillside Ave and Douglas St at Fort St. The full list of stops for each direction is below the schedules.
Are these live bus times?
No. They are the published schedule from BC Transit’s open data, refreshed October 4, 2026. A bus can run early or late, and disruptions are not shown.
Source: BC Transit open data (GTFS schedule for Victoria), used under the BC Transit open data terms. Refreshed October 4, 2026; the current timetable runs to January 3, 2027. These are scheduled times; disruptions and service alerts are published by the operator. Changes made: times reformatted into timetables and departure lists.
Other Victoria routes
- Royal Oak Exch / UVic
- James Bay / Royal Jubilee
- Tillicum Centre / UVic
- University Heights / UVic
- Vic General / UVic
- Esquimalt / UVic
- Cedar Hill
- Interurban / Downtown
- Interurban Night Route
- Vic General / Hillside Centre
- Vic General / Hillside Centre via Strawberry Vale
- Cedar Hill / Tillicum Centre
- Maplewood / Tillicum Centre
- UVic / Dockyard via McKenzie-Tillicum
- UVic / Uptown via Saanich Rd
- Gordon Head / Downtown
- Downtown Express
- Majestic / Downtown
- Majestic Express
- Royal Oak Exch / Downtown
- Cordova Bay / Royal Oak Exch
- Ridge
- Royal Oak Exch / Westhills Exch
- Interurban / Royal Oak Exch / UVic
- UVic / Dockyard via McKenzie-Admirals
- Royal Roads via Belmont Park
- Dockyard / Westhills Exch
- Goldstream Meadows / Downtown
- Happy Valley / Downtown
- Skirt Mountain / Langford Exch
- Westhills Exch / UVic Express
- Colwood Exch / Bear Mountain
- Vic General / Langford Exch
- Metchosin / Langford Exch
- Happy Valley / Langford Exch
- Thetis Heights / Langford Exch
- Goldstream Meadows / Langford Exch
- Triangle Mountain / Langford Exch
- Wishart / Langford Exch
- Sooke / Langford / Downtown