{"id":15741,"date":"2026-08-23T05:02:51","date_gmt":"2026-08-23T09:02:51","guid":{"rendered":"https:\/\/ottawa-future.com\/bus-30-ottawa"},"modified":"2026-08-23T05:03:01","modified_gmt":"2026-08-23T09:03:01","slug":"bus-30-ottawa","status":"publish","type":"post","link":"https:\/\/ottawa-future.com\/en\/bus-30-ottawa","title":{"rendered":"Ottawa Bus 30"},"content":{"rendered":"<p>Bus 30 in Ottawa links Millennium B and Blair C. The route is 18.3 km long with 37 stops, and the official schedule from OC Transpo puts the full trip at about 35 minutes. On a weekday it runs 37 trips in one direction, and 23 on a weekend day.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/cdn.ottawa-future.com\/wp-content\/uploads\/sites\/37\/2026\/08\/top-transport_bus-30-ottawa-v1-map.jpg\" alt=\"Route map of bus 30 in Ottawa: Millennium B to Blair C\" width=\"1200\" height=\"780\" loading=\"lazy\"><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_68_1 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<label for=\"ez-toc-cssicon-toggle-item-6a8ae7052e054\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a8ae7052e054\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ottawa-future.com\/en\/bus-30-ottawa\/#Route_at_a_glance\" title=\"Route at a glance\">Route at a glance<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ottawa-future.com\/en\/bus-30-ottawa\/#Route_of_Bus_30\" title=\"Route of Bus 30\">Route of Bus 30<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/ottawa-future.com\/en\/bus-30-ottawa\/#Outbound_Millennium_B_%E2%86%92_Blair_C\" title=\"Outbound: Millennium B \u2192 Blair C\">Outbound: Millennium B \u2192 Blair C<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/ottawa-future.com\/en\/bus-30-ottawa\/#Inbound_Blair_C_%E2%86%92_Millennium_B\" title=\"Inbound: Blair C \u2192 Millennium B\">Inbound: Blair C \u2192 Millennium B<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/ottawa-future.com\/en\/bus-30-ottawa\/#Schedule_and_frequency\" title=\"Schedule and frequency\">Schedule and frequency<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/ottawa-future.com\/en\/bus-30-ottawa\/#Frequently_asked_questions\" title=\"Frequently asked questions\">Frequently asked questions<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/ottawa-future.com\/en\/bus-30-ottawa\/#When_do_the_first_and_last_trips_run\" title=\"When do the first and last trips run?\">When do the first and last trips run?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/ottawa-future.com\/en\/bus-30-ottawa\/#How_long_does_the_trip_from_Millennium_B_to_Blair_C_take\" title=\"How long does the trip from Millennium B to Blair C take?\">How long does the trip from Millennium B to Blair C take?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/ottawa-future.com\/en\/bus-30-ottawa\/#How_many_stops_does_the_route_have\" title=\"How many stops does the route have?\">How many stops does the route have?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/ottawa-future.com\/en\/bus-30-ottawa\/#Does_bus_30_run_on_weekends\" title=\"Does bus 30 run on weekends?\">Does bus 30 run on weekends?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Route_at_a_glance\"><\/span>Route at a glance<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<table>\n<tbody>\n<tr>\n<th>Mode<\/th>\n<td>Bus<\/td>\n<\/tr>\n<tr>\n<th>Route number<\/th>\n<td>30<\/td>\n<\/tr>\n<tr>\n<th>City<\/th>\n<td>Ottawa<\/td>\n<\/tr>\n<tr>\n<th>Transit authority<\/th>\n<td>OC Transpo<\/td>\n<\/tr>\n<tr>\n<th>Start \u2192 end<\/th>\n<td>Millennium B \u2192 Blair C<\/td>\n<\/tr>\n<tr>\n<th>End \u2192 start<\/th>\n<td>Blair C \u2192 Millennium B<\/td>\n<\/tr>\n<tr>\n<th>Route length<\/th>\n<td>18.3 km \/ 18.0 km in the opposite direction<\/td>\n<\/tr>\n<tr>\n<th>Number of stops<\/th>\n<td>37 \/ 36 in the opposite direction<\/td>\n<\/tr>\n<tr>\n<th>Travel time<\/th>\n<td>about 35 minutes<\/td>\n<\/tr>\n<tr>\n<th>Trips per day<\/th>\n<td>37 on weekdays, 23 on weekends one way (41 on weekdays \u2192 Millennium B)<\/td>\n<\/tr>\n<tr>\n<th>Frequency<\/th>\n<td>peak 13\u201330 \u00b7 midday 30\u201363 \u00b7 weekend 30\u201360<\/td>\n<\/tr>\n<tr>\n<th>First \/ last trip from \u00abMillennium B\u00bb<\/th>\n<td>05:09 \/ 22:26<\/td>\n<\/tr>\n<tr>\n<th>First \/ last trip from \u00abBlair C\u00bb<\/th>\n<td>05:36 \/ 22:59<\/td>\n<\/tr>\n<tr>\n<th>Fare<\/th>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<th>Updated<\/th>\n<td>August 23, 2026<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><span class=\"ez-toc-section\" id=\"Route_of_Bus_30\"><\/span>Route of Bus 30<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Outbound_Millennium_B_%E2%86%92_Blair_C\"><\/span>Outbound: Millennium B \u2192 Blair C<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>This direction has 37 stops and runs 18.3 km. The route passes Millennium \/ Trim, Brian Coburn \/ Boisfranc, Brian Coburn \/ Chaperal, Jeanne D&#8217;arc \/ Beaus\u00e9jour. Below is the full list with the distance from the first stop.<\/p>\n<table>\n<thead>\n<tr>\n<th>No.<\/th>\n<th>Stop<\/th>\n<th>From start<\/th>\n<th>Note<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td>Millennium B<\/td>\n<td>0.0 km<\/td>\n<td>Terminus<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>Millennium \/ Trim<\/td>\n<td>0.2 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>Trim \/ Montm\u00e8re<\/td>\n<td>0.7 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>Montm\u00e8re \/ Linaria<\/td>\n<td>0.9 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>Montm\u00e8re \/ Plainhill<\/td>\n<td>1.2 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>Brian Coburn \/ Montm\u00e8re<\/td>\n<td>1.6 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>Brian Coburn \/ Provence<\/td>\n<td>1.9 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td>Brian Coburn \/ Nantes<\/td>\n<td>2.2 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>9<\/td>\n<td>Brian Coburn \/ Portobello<\/td>\n<td>2.5 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>10<\/td>\n<td>Brian Coburn \/ Boisfranc<\/td>\n<td>2.9 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>11<\/td>\n<td>Brian Coburn \/ Esprit<\/td>\n<td>3.2 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>12<\/td>\n<td>Brian Coburn \/ Aquaview<\/td>\n<td>3.6 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>13<\/td>\n<td>Brian Coburn \/ Tenth Line<\/td>\n<td>4.0 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>14<\/td>\n<td>Brian Coburn \/ Tenth Line<\/td>\n<td>4.0 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>15<\/td>\n<td>Brian Coburn \/ Strasbourg<\/td>\n<td>4.4 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>16<\/td>\n<td>Brian Coburn \/ Cabris Path<\/td>\n<td>4.7 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>17<\/td>\n<td>Brian Coburn \/ Gerry Lalonde<\/td>\n<td>5.0 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>18<\/td>\n<td>Brian Coburn \/ Chaperal<\/td>\n<td>5.2 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>19<\/td>\n<td>Mer Bleue \/ Hydro<\/td>\n<td>5.8 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>20<\/td>\n<td>Mer Bleue \/ Innes<\/td>\n<td>6.5 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>21<\/td>\n<td>Jeanne D&#8217;arc \/ Innes<\/td>\n<td>6.8 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>22<\/td>\n<td>Jeanne D&#8217;arc \/ Sapinier<\/td>\n<td>7.0 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>23<\/td>\n<td>Jeanne D&#8217;arc \/ Des \u00c9pinettes<\/td>\n<td>7.4 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>24<\/td>\n<td>Jeanne D&#8217;arc \/ Belcourt<\/td>\n<td>7.7 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>25<\/td>\n<td>Jeanne D&#8217;arc \/ Natalie<\/td>\n<td>8.1 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>26<\/td>\n<td>Jeanne D&#8217;arc \/ Beaus\u00e9jour<\/td>\n<td>8.3 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>27<\/td>\n<td>Jeanne D&#8217;arc \/ Montcerf<\/td>\n<td>8.8 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>28<\/td>\n<td>Jeanne D&#8217;arc \/ Orl\u00e9ans<\/td>\n<td>9.0 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>29<\/td>\n<td>Jeanne D&#8217;arc \/ Boyer<\/td>\n<td>9.2 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>30<\/td>\n<td>Jeanne D&#8217;arc \/ Hunter&#8217;s Run<\/td>\n<td>9.3 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>31<\/td>\n<td>Jeanne D&#8217;arc \/ Ad. 5810<\/td>\n<td>9.6 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>32<\/td>\n<td>Jeanne D&#8217;arc \/ St Joseph<\/td>\n<td>10.2 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>33<\/td>\n<td>Jeanne D&#8217;arc \/ Grey Nuns<\/td>\n<td>10.5 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>34<\/td>\n<td>Jeanne D&#8217;arc 4A<\/td>\n<td>10.8 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>35<\/td>\n<td>Jeanne D&#8217;arc 2A<\/td>\n<td>11.1 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>36<\/td>\n<td>R.r. 174 \/ Montr\u00e9al<\/td>\n<td>14.8 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>37<\/td>\n<td>Blair C<\/td>\n<td>18.3 km<\/td>\n<td>Terminus<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><span class=\"ez-toc-section\" id=\"Inbound_Blair_C_%E2%86%92_Millennium_B\"><\/span>Inbound: Blair C \u2192 Millennium B<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>This direction has 36 stops and runs 18.0 km. The route passes R.R.174 \/ Montr\u00e9al, Jeanne D&#8217;arc \/ Cedar Mills, Mer Bleue \/ Hydro, Brian Coburn \/ Esprit. Below is the full list with the distance from the first stop.<\/p>\n<table>\n<thead>\n<tr>\n<th>No.<\/th>\n<th>Stop<\/th>\n<th>From start<\/th>\n<th>Note<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td>Blair D<\/td>\n<td>0.0 km<\/td>\n<td>Terminus<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>R.R.174 \/ Montr\u00e9al<\/td>\n<td>3.8 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>Jeanne D&#8217;arc 1A<\/td>\n<td>7.2 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>Jeanne D&#8217;arc \/ Youville<\/td>\n<td>7.6 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>Jeanne D&#8217;arc \/ St Joseph<\/td>\n<td>7.8 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>Jeanne D&#8217;arc \/ Ad. 5875<\/td>\n<td>8.4 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>Jeanne D&#8217;arc \/ Hunter&#8217;s Run<\/td>\n<td>8.7 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td>Jeanne D&#8217;arc \/ Boyer<\/td>\n<td>8.9 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>9<\/td>\n<td>Jeanne D&#8217;arc \/ Orl\u00e9ans<\/td>\n<td>9.2 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>10<\/td>\n<td>Jeanne D&#8217;arc \/ Cedar Mills<\/td>\n<td>9.5 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>11<\/td>\n<td>Jeanne D&#8217;arc \/ Beaus\u00e9jour<\/td>\n<td>9.8 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>12<\/td>\n<td>Jeanne D&#8217;arc \/ Natalie<\/td>\n<td>10.0 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>13<\/td>\n<td>Jeanne D&#8217;arc \/ Frank Bender<\/td>\n<td>10.3 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>14<\/td>\n<td>Jeanne D&#8217;arc \/ Des \u00c9pinettes<\/td>\n<td>10.7 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>15<\/td>\n<td>Jeanne D&#8217;arc \/ Sapinier<\/td>\n<td>11.1 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>16<\/td>\n<td>Jeanne D&#8217;arc \/ Innes<\/td>\n<td>11.2 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>17<\/td>\n<td>Mer Bleue \/ Innes<\/td>\n<td>11.6 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>18<\/td>\n<td>Mer Bleue \/ Hydro<\/td>\n<td>12.2 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>19<\/td>\n<td>Mer Bleue \/ Brian Coburn<\/td>\n<td>12.4 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>20<\/td>\n<td>Brian Coburn \/ Chaperal<\/td>\n<td>12.8 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>21<\/td>\n<td>Brian Coburn \/ Gerry Lalonde<\/td>\n<td>13.0 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>22<\/td>\n<td>Brian Coburn \/ Cabris Path<\/td>\n<td>13.3 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>23<\/td>\n<td>Brian Coburn \/ Strasbourg<\/td>\n<td>13.6 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>24<\/td>\n<td>Brian Coburn \/ Tenth Line<\/td>\n<td>14.2 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>25<\/td>\n<td>Brian Coburn \/ Lakeridge<\/td>\n<td>14.5 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>26<\/td>\n<td>Brian Coburn \/ Esprit<\/td>\n<td>14.8 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>27<\/td>\n<td>Brian Coburn \/ Boisfranc<\/td>\n<td>15.2 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>28<\/td>\n<td>Brian Coburn \/ Portobello<\/td>\n<td>15.5 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>29<\/td>\n<td>Brian Coburn \/ Nantes<\/td>\n<td>15.9 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>30<\/td>\n<td>Brian Coburn \/ Provence<\/td>\n<td>16.3 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>31<\/td>\n<td>Montm\u00e8re \/ Brian Coburn<\/td>\n<td>16.5 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>32<\/td>\n<td>Montm\u00e8re \/ Plainhill<\/td>\n<td>16.9 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>33<\/td>\n<td>Montm\u00e8re \/ Linaria<\/td>\n<td>17.1 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>34<\/td>\n<td>Trim \/ Montm\u00e8re<\/td>\n<td>17.4 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>35<\/td>\n<td>Millennium \/ Trim<\/td>\n<td>17.8 km<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>36<\/td>\n<td>Millennium A<\/td>\n<td>18.0 km<\/td>\n<td>Terminus<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><span class=\"ez-toc-section\" id=\"Schedule_and_frequency\"><\/span>Schedule and frequency<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>According to the official schedule from OC Transpo, the route runs 37 trips in one direction on a weekday, and 23 on a weekend day.<\/p>\n<table>\n<thead>\n<tr>\n<th>Direction<\/th>\n<th>Weekdays<\/th>\n<th>Weekends and holidays<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>From \u00abMillennium B\u00bb<\/td>\n<td>05:09 \u2014 22:26<\/td>\n<td>07:20 \u2014 22:46<\/td>\n<\/tr>\n<tr>\n<td>From \u00abBlair C\u00bb<\/td>\n<td>05:36 \u2014 22:59<\/td>\n<td>07:45 \u2014 22:15<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Frequency calculated from the departure table: in the morning peak buses run every 13\u201330 minutes, most often every 18; midday every 30\u201363 minutes; in the afternoon peak every 30\u201332; on weekends every 30\u201360 minutes.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Frequently_asked_questions\"><\/span>Frequently asked questions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"When_do_the_first_and_last_trips_run\"><\/span>When do the first and last trips run?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>From Millennium B the first is at 05:09 and the last at 22:26. From Blair C they are 05:36 and 22:59.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_long_does_the_trip_from_Millennium_B_to_Blair_C_take\"><\/span>How long does the trip from Millennium B to Blair C take?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>About 35 minutes end to end \u2014 the median of full trips in the official schedule.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_many_stops_does_the_route_have\"><\/span>How many stops does the route have?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>37 outbound and 36 inbound according to the official GTFS feed. The two lists do not match exactly.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Does_bus_30_run_on_weekends\"><\/span>Does bus 30 run on weekends?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Yes. On weekends and holidays there are 23 trips in one direction, running from Millennium B between 07:20 and 22:46.<\/p>\n<p>Every route number with its termini, operating hours and travel time is collected in the <a href=\"\/en\/buses-ottawa\">Ottawa buses<\/a> overview.<\/p>\n<p><em>Data current as of August 23, 2026. Schedule and termini \u2014 OC Transpo. Fares \u2014 OC Transpo. Stop list, schedule and route geometry come from the official GTFS feed (OC Transpo, version S1000512-S1000514).<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bus 30 in Ottawa links Millennium B and Blair C. The route is 18.3 km long with 37 stops, and the official schedule from OC Transpo puts the full trip at about 35 minutes. On a weekday it runs 37 trips in one direction, and 23 on a weekend day. Route at a glance Mode [&hellip;]<\/p>\n","protected":false},"author":641,"featured_media":15742,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4288],"tags":[],"moimportance":[],"motype":[],"moformat":[],"class_list":{"0":"post-15741","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-transport-en"},"_links":{"self":[{"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/posts\/15741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/users\/641"}],"replies":[{"embeddable":true,"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/comments?post=15741"}],"version-history":[{"count":1,"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/posts\/15741\/revisions"}],"predecessor-version":[{"id":15745,"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/posts\/15741\/revisions\/15745"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/media\/15742"}],"wp:attachment":[{"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/media?parent=15741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/categories?post=15741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/tags?post=15741"},{"taxonomy":"moimportance","embeddable":true,"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/moimportance?post=15741"},{"taxonomy":"motype","embeddable":true,"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/motype?post=15741"},{"taxonomy":"moformat","embeddable":true,"href":"https:\/\/ottawa-future.com\/en\/wp-json\/wp\/v2\/moformat?post=15741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}