You are here
Home > bus rapid transit – ANTHONY NACHOR
Bus Rapid Transit in the San Francisco Bay Area continues to evolve, in which two bus agencies have already implemented successful BRT programs. One major difference between the typical BRT and the BRT lines being operated in the Bay Area is that currently, none of the lines offer a “pay-before-boarding” system, making passengers pay when boarding the bus, either by cash or Clipper. However, other enhancements, such as traffic signal priority, enhanced bus stops, and buses with specialized decals, are already present in most lines. The BRT program is funded by various sources, with the California Department of Transportation (Caltrans) and the Metropolitan Transportation Commission (MTC) as the principal sponsors.

AC Transit: San Pablo Rapid and International Rapid

These services operate along the busiest corridors in Alameda and Contra Costa County, including San Pablo Avenue between Richmond and Oakland, International Boulevard between Oakland and San Leandro, and Telegraph Avenue between Oakland and Berkeley. Such services feature common BRT facilities, including frequent buses (every 12 minutes weekdays, 15 minutes weekends), queue-jump lanes, enhanced bus stops with NextBus bus prediction boards, traffic signal priority (TSP), and specialized Van Hool buses with Rapid decals placed on them.
1R: International Rapid (Berkeley BART – Downtown Oakland – Bay Fair BART)
This line serves some of the densest communities in Alameda County, including UC Berkeley, Koreatown, Downtown Oakland, Fruitvale, and San Leandro. With over 30 stops along the route both northbound and southbound, this line will be enhanced even further with the addition of priority lanes for buses to run in the middle of Broadway and International Boulevard between Oakland and San Leandro, and these use Van Hool’s AG300 (60-foot) articulated buses that provide a lot of standing room for commuters. 
As of 2016, this route has been temporarily discontinued as upgrades along International Boulevard are now underway to make it into the Bay Area’s first true BRT corridor. In the meanwhile, two local routes operate along the (former) 1R corridor, with frequencies every 10 to 15 minutes all day, every day:

#element-8ffd60a5-97de-483c-8521-001483e9d015 .simple-table-wrapper {
padding: 20px 0;
}
#element-8ffd60a5-97de-483c-8521-001483e9d015 .simple-table {
width: 100%;
border: 1px solid #C9CDCF;
border-spacing: 0;
}
#element-8ffd60a5-97de-483c-8521-001483e9d015 .simple-table td.cell {
border-right: 1px solid #C9CDCF;
border-bottom: 1px solid #C9CDCF;
word-break: break-word;
background-color: #FFFFFF;
width: 33.333333333333%;
}
#element-8ffd60a5-97de-483c-8521-001483e9d015 .simple-table td.cell .paragraph {
width: 90%;
margin: 0 5%;
padding-bottom: 10px;
padding-top: 10px;
text-align: center;
}
#element-8ffd60a5-97de-483c-8521-001483e9d015 .simple-table.style-top tr:first-child td,
#element-8ffd60a5-97de-483c-8521-001483e9d015 .simple-table.style-side td:first-of-type {
background-color: #F8F8F8;
}
#element-8ffd60a5-97de-483c-8521-001483e9d015 .simple-table.style-top tr:first-child td .paragraph,
#element-8ffd60a5-97de-483c-8521-001483e9d015 .simple-table.style-side td:first-of-type .paragraph {
font-weight: 700;
}
#element-8ffd60a5-97de-483c-8521-001483e9d015 .simple-table tr:last-child td {
border-bottom: none;
}
#element-8ffd60a5-97de-483c-8521-001483e9d015 .simple-table td:last-of-type {
border-right: none;
}
#element-8ffd60a5-97de-483c-8521-001483e9d015 .simple-table .empty-content-area-element {
padding-left: 0px !important;
}

Line
Description
Operating Times
1
11th & Jefferson (Oakland) – San Leandro BART via International Blvd
Weekdays: 5:00am to 12:55am
Weekends: 5:00am to 12:40am
6
11th & Jefferson (Oakland) – Berkeley BART via Telegraph Avenue
Daily: 5:00am to 12:30am

function setupElement770089810833166984() {
var requireFunc = window.platformElementRequire || window.require;
// Relies on a global require, specific to platform elements
requireFunc([
‘w-global’,
‘underscore’,
‘jquery’,
‘backbone’,
‘util/platform/elements/PlatformElement’,
‘util/platform/elements/PlatformElementSettings’
], function(
_W,
_,
$,
Backbone,
PlatformElement,
PlatformElementSettings
) {
var dependencies = null || [];
var platform_element_id = “702688850553606843-1.4.3”;
if (typeof _W.loadedPlatformDependencies === ‘undefined’) {
_W.loadedPlatformDependencies = [];
}
if (typeof _W.platformElements === ‘undefined’) {
_W.platformElements = [];
}
if (typeof _W.platformElements[platform_element_id] === ‘undefined’) {
_W.platformElements[platform_element_id] = {};
_W.platformElements[platform_element_id].deferredObject = new $.Deferred();
_W.platformElements[platform_element_id].deferredPromise = _W.platformElements[platform_element_id].deferredObject.promise();
}
if(_.intersection(_W.loadedPlatformDependencies, dependencies).length !== dependencies.length){
_.reduce(dependencies, function(promise, nextScript){
_W.loadedPlatformDependencies.push(nextScript);
return promise.then(function(){
return $.getScript(nextScript);
});
}, $().promise()).then(function(){
_W.platformElements[platform_element_id].deferredObject.resolve();
});
}
if (dependencies.length === 0){
_W.platformElements[platform_element_id].deferredObject.resolve();
}
_W.platformElements[platform_element_id].deferredPromise.done(function(){
var _ElementDefinition = /**
* This is required for element rendering to be possible
* @type {PlatformElement}
*/
(function() {
var SimpleTable = PlatformElement.extend({
initialize: function() {
this.setSizes();
},
setSizes: function() {
var sizes = this.settings.get(‘tableSizes’);
// if the # of columns isn’t the size of the array of lengths, ignore it.
if (sizes && sizes != “default” && this.settings.get(‘columns’) == sizes.length) {
var columns = this.$(‘tr’).each(function(index, value) {
var cells = $(value).find(‘td’).each(function(index2, value2) {
$(value2).css(‘width’, sizes[index2] + ‘%’);
});
});
}
}
});
return SimpleTable;
})();;
if (typeof _ElementDefinition == ‘undefined’ || typeof _ElementDefinition == ‘null’) {
var _ElementDefinition = PlatformElement.extend({});
}
var _Element = _ElementDefinition.extend({
initialize: function() {
// we still want to call the initialize function defined by the developer
// however, we don’t want to call it until placeholders have been replaced
this.placeholderInterval = setInterval(function() {
// so use setInterval to check for placeholders.
if (this.$(‘.platform-element-child-placeholder’).length == 0) {
clearInterval(this.placeholderInterval);
this.constructor.__super__.initialize.apply(this);
}
}.bind(this), 100);
}
});
_Element.prototype.settings = new PlatformElementSettings({“columns_each”:[{“columns_index”:0},{“columns_index”:1},{“columns_index”:2}],”rows_each”:[{“rows_index”:0},{“rows_index”:1},{“rows_index”:2}],”columns”:3,”rows”:3,”style”:”top”,”alignment”:”center”,”titleColor”:”#F8F8F8″,”backgroundColor”:”#FFFFFF”,”borderColor”:”#C9CDCF”,”tableSizes”:[16,49,33]});
_Element.prototype.settings.page_element_id = “770089810833166984”;
_Element.prototype.element_id = “8ffd60a5-97de-483c-8521-001483e9d015”;
_Element.prototype.user_id = “3466466”;
_Element.prototype.site_id = “484589221176252212”;
_Element.prototype.assets_path = “//marketplace.editmysite.com/elements/702688850553606843-1.4.3/assets/”;
new _Element({
el: ‘#element-8ffd60a5-97de-483c-8521-001483e9d015’
});
});
});
}
if (typeof document.documentElement.appReady == ‘undefined’) {
document.documentElement.appReady = 0;
}
if (document.documentElement.appReady || (window.inEditor && window.inEditor())) {
setupElement770089810833166984();
} else if (document.createEvent && document.addEventListener) {
document.addEventListener(‘appReady’, setupElement770089810833166984, false);
} else {
document.documentElement.attachEvent(‘onpropertychange’, function(event){
if (event.propertyName == ‘appReady’) {
setupElement770089810833166984();
}
});
}

72R: San Pablo Rapid (Jack London Square – Contra Costa College via San Pablo Avenue)
The San Pablo Rapid (Line 72R) is the first ever Bus Rapid Transit line ever implemented in the San Francisco Bay Area, debuted in 2004 to complement existing bus services along San Pablo Avenue, the main corridor paralleling Interstate 80 between Downtown Oakland and Rodeo in Contra Costa County, provided by both Lines 72 (San Pablo) and 72M (MacDonald Avenue/San Pablo) between Contra Costa College in San Pablo and Downtown Oakland.   In particular, Line 72R operates along the heavily-developed San Pablo corridor between Oakland and San Pablo and along Broadway in Downtown Oakland, providing frequent services to Jack London Square, Emeryville, Berkeley, Albany, El Cerrito, Del Norte BART, and Richmond, stopping at only 27 stops in each direction. Van Hool A330 3-door, low-floored buses are primarily used on this route; however, similar bus types may be used on this line should a bus shortage occurs.

This service operates weekdays every 12 minutes from 6am to 8:30pm, and weekends and holidays from 7am to 8pm every 15 minutes.

Rapid Bus Stops

Picture

Northbound Telegraph & Dwight (Line 1R)

Picture

Berkeley Way & Oxford Street terminus (Line 1R)

Picture

Northbound El Cerrito Del Norte BART (Line 72R)

Picture

Southbound 20th & Broadway (19th St/Downtown Oakland BART – Lines 1R & 72R)

Picture

International Rapid Stop Map

Picture

Southbound Shattuck & Center (Downtown Berkeley BART – Line 1R)

SamTrans: ECR Rapid

Debuted on 24 June 2018, the ECR Rapid complements the existing local service along El Camino Real, Route ECR, between Daly City BART and Redwood City Caltrain. ECR Rapid makes a total of twelve stops between Daly City and Redwood City, significantly fewer than the local service, cutting travel times for commuters along San Mateo County’s primary arterial corridor.

Note: all stops are also served by local (stopping) ECR services. For services to Mission & Sickles and south of Redwood City Caltrain, board a local ECR bus. Stops with asterisk denote a short walk between the Rapid stop and the train station.

#element-460b6045-43a8-4583-8d1e-ddc4da0d9d9b .simple-table-wrapper {
padding: 20px 0;
}
#element-460b6045-43a8-4583-8d1e-ddc4da0d9d9b .simple-table {
width: 100%;
border: 1px solid #C9CDCF;
border-spacing: 0;
}
#element-460b6045-43a8-4583-8d1e-ddc4da0d9d9b .simple-table td.cell {
border-right: 1px solid #C9CDCF;
border-bottom: 1px solid #C9CDCF;
word-break: break-word;
background-color: #FFFFFF;
width: 33.333333333333%;
}
#element-460b6045-43a8-4583-8d1e-ddc4da0d9d9b .simple-table td.cell .paragraph {
width: 90%;
margin: 0 5%;
padding-bottom: 10px;
padding-top: 10px;
text-align: center;
}
#element-460b6045-43a8-4583-8d1e-ddc4da0d9d9b .simple-table.style-top tr:first-child td,
#element-460b6045-43a8-4583-8d1e-ddc4da0d9d9b .simple-table.style-side td:first-of-type {
background-color: #F8F8F8;
}
#element-460b6045-43a8-4583-8d1e-ddc4da0d9d9b .simple-table.style-top tr:first-child td .paragraph,
#element-460b6045-43a8-4583-8d1e-ddc4da0d9d9b .simple-table.style-side td:first-of-type .paragraph {
font-weight: 700;
}
#element-460b6045-43a8-4583-8d1e-ddc4da0d9d9b .simple-table tr:last-child td {
border-bottom: none;
}
#element-460b6045-43a8-4583-8d1e-ddc4da0d9d9b .simple-table td:last-of-type {
border-right: none;
}
#element-460b6045-43a8-4583-8d1e-ddc4da0d9d9b .simple-table .empty-content-area-element {
padding-left: 0px !important;
}

Southbound Stops (Read Down)
Connecting Routes
Northbound Stops (Read Up)
Daly City BART
BART
Muni: 14R, 28, 54, 57
SamTrans: 110, 120, 121, 130
Daly City BART
Colma BART (Bay 12)
BART
​SamTrans: 112, 120, 121, 122, 130
Colma BART (Bay 11)
El Camino Real & McLellan*
​BART (South San Francisco)
SamTrans: 122, 131
​South San Francisco Shuttle
El Camino Real & McLellan*
San Bruno BART (Bay 9)
BART
SamTrans: 140, 141, 398
San Bruno BART (Bay 5)
El Camino & Victoria (Millbrae)*
BART (Millbrae)
Caltrain (Millbrae)
​SamTrans: SFO
El Camino Real & Linden (Millbrae)*
El Camino Real & Burlingame
None
El Camino Real & Burlingame
El Camino Real & 4th Ave. (San Mateo)
SamTrans: 250, 295
El Camino Real & 5th Ave. (San Mateo)
El Camino Real & Hillsdale (San Mateo)
AC Transit: M
Caltrain (Hillsdale)
SamTrans: 250, 251, 256, 292, 294, 295, 398​
El Camino Real & Hillsdale (San Mateo)
El Camino Real & Ralston (Belmont)
Caltrain (Belmont)
​SamTrans: KX, 260, 398
El Camino Real & Ralston (Belmont)
El Camino Real & San Carlos
Caltrain (San Carlos)
SamTrans: KX, 260, 295, 398
El Camino Real & San Carlos
Redwood City Transit Center
Caltrain (Redwood City)
SamTrans: KX, 270, 274, 275, 276, 278, 295, 296, 398
Redwood City Transit Center

function setupElement459687126804429051() {
var requireFunc = window.platformElementRequire || window.require;
// Relies on a global require, specific to platform elements
requireFunc([
‘w-global’,
‘underscore’,
‘jquery’,
‘backbone’,
‘util/platform/elements/PlatformElement’,
‘util/platform/elements/PlatformElementSettings’
], function(
_W,
_,
$,
Backbone,
PlatformElement,
PlatformElementSettings
) {
var dependencies = null || [];
var platform_element_id = “702688850553606843-1.4.3”;
if (typeof _W.loadedPlatformDependencies === ‘undefined’) {
_W.loadedPlatformDependencies = [];
}
if (typeof _W.platformElements === ‘undefined’) {
_W.platformElements = [];
}
if (typeof _W.platformElements[platform_element_id] === ‘undefined’) {
_W.platformElements[platform_element_id] = {};
_W.platformElements[platform_element_id].deferredObject = new $.Deferred();
_W.platformElements[platform_element_id].deferredPromise = _W.platformElements[platform_element_id].deferredObject.promise();
}
if(_.intersection(_W.loadedPlatformDependencies, dependencies).length !== dependencies.length){
_.reduce(dependencies, function(promise, nextScript){
_W.loadedPlatformDependencies.push(nextScript);
return promise.then(function(){
return $.getScript(nextScript);
});
}, $().promise()).then(function(){
_W.platformElements[platform_element_id].deferredObject.resolve();
});
}
if (dependencies.length === 0){
_W.platformElements[platform_element_id].deferredObject.resolve();
}
_W.platformElements[platform_element_id].deferredPromise.done(function(){
var _ElementDefinition = /**
* This is required for element rendering to be possible
* @type {PlatformElement}
*/
(function() {
var SimpleTable = PlatformElement.extend({
initialize: function() {
this.setSizes();
},
setSizes: function() {
var sizes = this.settings.get(‘tableSizes’);
// if the # of columns isn’t the size of the array of lengths, ignore it.
if (sizes && sizes != “default” && this.settings.get(‘columns’) == sizes.length) {
var columns = this.$(‘tr’).each(function(index, value) {
var cells = $(value).find(‘td’).each(function(index2, value2) {
$(value2).css(‘width’, sizes[index2] + ‘%’);
});
});
}
}
});
return SimpleTable;
})();;
if (typeof _ElementDefinition == ‘undefined’ || typeof _ElementDefinition == ‘null’) {
var _ElementDefinition = PlatformElement.extend({});
}
var _Element = _ElementDefinition.extend({
initialize: function() {
// we still want to call the initialize function defined by the developer
// however, we don’t want to call it until placeholders have been replaced
this.placeholderInterval = setInterval(function() {
// so use setInterval to check for placeholders.
if (this.$(‘.platform-element-child-placeholder’).length == 0) {
clearInterval(this.placeholderInterval);
this.constructor.__super__.initialize.apply(this);
}
}.bind(this), 100);
}
});
_Element.prototype.settings = new PlatformElementSettings({“columns_each”:[{“columns_index”:0},{“columns_index”:1},{“columns_index”:2}],”rows_each”:[{“rows_index”:0},{“rows_index”:1},{“rows_index”:2},{“rows_index”:3},{“rows_index”:4},{“rows_index”:5},{“rows_index”:6},{“rows_index”:7},{“rows_index”:8},{“rows_index”:9},{“rows_index”:10},{“rows_index”:11}],”columns”:3,”rows”:12,”style”:”top”,”alignment”:”center”,”titleColor”:”#F8F8F8″,”backgroundColor”:”#FFFFFF”,”borderColor”:”#C9CDCF”,”tableSizes”:”default”});
_Element.prototype.settings.page_element_id = “459687126804429051”;
_Element.prototype.element_id = “460b6045-43a8-4583-8d1e-ddc4da0d9d9b”;
_Element.prototype.user_id = “3466466”;
_Element.prototype.site_id = “484589221176252212”;
_Element.prototype.assets_path = “//marketplace.editmysite.com/elements/702688850553606843-1.4.3/assets/”;
new _Element({
el: ‘#element-460b6045-43a8-4583-8d1e-ddc4da0d9d9b’
});
});
});
}
if (typeof document.documentElement.appReady == ‘undefined’) {
document.documentElement.appReady = 0;
}
if (document.documentElement.appReady || (window.inEditor && window.inEditor())) {
setupElement459687126804429051();
} else if (document.createEvent && document.addEventListener) {
document.addEventListener(‘appReady’, setupElement459687126804429051, false);
} else {
document.documentElement.attachEvent(‘onpropertychange’, function(event){
if (event.propertyName == ‘appReady’) {
setupElement459687126804429051();
}
});
}


VTA: Line 522 Rapid

In Santa Clara County, the Valley Transportation Authority (VTA) currently operates one BRT line, Line 522 Rapid, that operates between Palo Alto Caltrain and Eastridge Transit Center in east San Jose. This line operates along El Camino Real, the county’s premier commercial corridor, between Palo Alto and Santa Clara, as well as The Alameda, E Santa Clara Street, Alum Rock Avenue, and Capitol Expressway in San Jose. The 522 provides connections to Downtown San Jose, several Light Rail and Caltrain stations, Stanford University, HP Pavilion, and several malls, hospitals, schools, and other attractions in Palo Alto, Mountain View, Sunnyvale, Santa Clara, and San Jose. It operates as a complementary service to Line 22, which operates all times along the corridor (but via King Road and Tully Road on the east end), with similar features as the AC Transit Rapid services, and it operates daily.
Operating schedules:

  • Weekdays: 4:30am to 11:30pm, every 12 to 30 minutes
  • Saturdays: 7:50am to 11:10pm, every 15 to 30 minutes
  • Sundays and Holidays: 8:30am to 7:30pm, every 15 to 20 minutes
Buses
VTA’s Line 522 operates with the New Flyer Xcelsior XDE60 Hybrid Bus, operating since 2014 (more details below). In case not enough Rapid-painted buses are available, either due to breakdowns or maintenance, buses with regular VTA decals may be used, with the same 522 Rapid service shown on the head and side board signs.
Gillig LF40 Diesel Bus (Specialized Rapid Livery)
Gillig LF40 Hybrid Bus (Regular Livery)
New Flyer D60 Low-Floor Bus
New Flyer Xcelsior XDE60 Hybrid Bus (43xx Series)
This is now officially the bus type used for the Rapid bus service (Line 522). This bus type, with an all-blue livery, has the following features:

  • Outdoor and indoor bike racks, capable of carrying two outside and up to three inside the bus
  • WiFi on board
  • Semi-padded seats, making the ride more comfortable than the all-plastic or fabric seats found on other buses
  • Low-floor boarding and disembarking
Rapid Bus Stops

Picture

Eastbound Santa Clara Caltrain Station

Picture

Palo Alto Caltrain terminus

Picture

Eastridge Transit Center terminus

Picture

A stopped bus at El Camino Real and Hollenbeck

Picture

Eastbound E Santa Clara Street at Diridon Station

Picture

Rapid 522 Stop Map

Wheels: Tri-Valley Rapid

Livermore and Amador Valley Transportation Authority (LAVTA), the operator of Wheels, a public transportation agency serving the Livermore Valley communities of Dublin, Pleasanton, and Livermore, as well as nearby San Ramon, operates a Bus Rapid Transit service called the Tri-Valley Rapid. Originally, it operated frequent services along the Dublin Boulevard, Stanley Boulevard, and East Avenue corridors, spanning from Stoneridge Mall to the west all the way to the Lawrence Livermore National Laboratories to the east. In August 2016, the Tri-Valley Rapid was revamped and expanded to become two routes, both operating daily. Details below:

  • Both lines serve E Dublin BART and Livermore Transit Center
  • On weekdays, both lines operate every 15 minutes for most of the day (5am to 8pm), then hourly until end of service around midnight
  • On weekends, Line 10R operates every 30 minutes between 10am and 8pm, with less frequent service early morning (5:30am to 10am) and nighttime (8pm to 1:30am); Line 30R operates hourly all-day weekends
  • Line 10R operates via Downtown Pleasanton (Neal & First) and Shadow Cliffs Regional Park
  • Line 30R does not serve Livermore Transit Center (ACE Station) directly; instead, these buses stop close by on Railroad & First Streets
  • Additional services between E Dublin BART and Livermore Transit Center available on Routes 14 (via Paragon Plaza), 20X (weekday peaks only), and 580X (weekday peaks only)

#element-98dc0a0e-49e3-4175-92df-ca994296570d .simple-table-wrapper {
padding: 20px 0;
}
#element-98dc0a0e-49e3-4175-92df-ca994296570d .simple-table {
width: 100%;
border: 1px solid #C9CDCF;
border-spacing: 0;
}
#element-98dc0a0e-49e3-4175-92df-ca994296570d .simple-table td.cell {
border-right: 1px solid #C9CDCF;
border-bottom: 1px solid #C9CDCF;
word-break: break-word;
background-color: #FFFFFF;
width: 33.333333333333%;
}
#element-98dc0a0e-49e3-4175-92df-ca994296570d .simple-table td.cell .paragraph {
width: 90%;
margin: 0 5%;
padding-bottom: 10px;
padding-top: 10px;
text-align: center;
}
#element-98dc0a0e-49e3-4175-92df-ca994296570d .simple-table.style-top tr:first-child td,
#element-98dc0a0e-49e3-4175-92df-ca994296570d .simple-table.style-side td:first-of-type {
background-color: #F8F8F8;
}
#element-98dc0a0e-49e3-4175-92df-ca994296570d .simple-table.style-top tr:first-child td .paragraph,
#element-98dc0a0e-49e3-4175-92df-ca994296570d .simple-table.style-side td:first-of-type .paragraph {
font-weight: 700;
}
#element-98dc0a0e-49e3-4175-92df-ca994296570d .simple-table tr:last-child td {
border-bottom: none;
}
#element-98dc0a0e-49e3-4175-92df-ca994296570d .simple-table td:last-of-type {
border-right: none;
}
#element-98dc0a0e-49e3-4175-92df-ca994296570d .simple-table .empty-content-area-element {
padding-left: 0px !important;
}

Line
Description
Operating Times
10R
E Dublin BART – Livermore Transit Center via Downtown Pleasanton
Weekdays: 4:30am to 1:35am
Weekends: 5:35am to 1:35am
30R
W Dublin BART – LLNL (East Avenue) via Las Positas College
Weekdays: 4:55am to 12:35am
Weekends: 5:15am to 12:00am

function setupElement399013240234874330() {
var requireFunc = window.platformElementRequire || window.require;
// Relies on a global require, specific to platform elements
requireFunc([
‘w-global’,
‘underscore’,
‘jquery’,
‘backbone’,
‘util/platform/elements/PlatformElement’,
‘util/platform/elements/PlatformElementSettings’
], function(
_W,
_,
$,
Backbone,
PlatformElement,
PlatformElementSettings
) {
var dependencies = null || [];
var platform_element_id = “702688850553606843-1.4.3”;
if (typeof _W.loadedPlatformDependencies === ‘undefined’) {
_W.loadedPlatformDependencies = [];
}
if (typeof _W.platformElements === ‘undefined’) {
_W.platformElements = [];
}
if (typeof _W.platformElements[platform_element_id] === ‘undefined’) {
_W.platformElements[platform_element_id] = {};
_W.platformElements[platform_element_id].deferredObject = new $.Deferred();
_W.platformElements[platform_element_id].deferredPromise = _W.platformElements[platform_element_id].deferredObject.promise();
}
if(_.intersection(_W.loadedPlatformDependencies, dependencies).length !== dependencies.length){
_.reduce(dependencies, function(promise, nextScript){
_W.loadedPlatformDependencies.push(nextScript);
return promise.then(function(){
return $.getScript(nextScript);
});
}, $().promise()).then(function(){
_W.platformElements[platform_element_id].deferredObject.resolve();
});
}
if (dependencies.length === 0){
_W.platformElements[platform_element_id].deferredObject.resolve();
}
_W.platformElements[platform_element_id].deferredPromise.done(function(){
var _ElementDefinition = /**
* This is required for element rendering to be possible
* @type {PlatformElement}
*/
(function() {
var SimpleTable = PlatformElement.extend({
initialize: function() {
this.setSizes();
},
setSizes: function() {
var sizes = this.settings.get(‘tableSizes’);
// if the # of columns isn’t the size of the array of lengths, ignore it.
if (sizes && sizes != “default” && this.settings.get(‘columns’) == sizes.length) {
var columns = this.$(‘tr’).each(function(index, value) {
var cells = $(value).find(‘td’).each(function(index2, value2) {
$(value2).css(‘width’, sizes[index2] + ‘%’);
});
});
}
}
});
return SimpleTable;
})();;
if (typeof _ElementDefinition == ‘undefined’ || typeof _ElementDefinition == ‘null’) {
var _ElementDefinition = PlatformElement.extend({});
}
var _Element = _ElementDefinition.extend({
initialize: function() {
// we still want to call the initialize function defined by the developer
// however, we don’t want to call it until placeholders have been replaced
this.placeholderInterval = setInterval(function() {
// so use setInterval to check for placeholders.
if (this.$(‘.platform-element-child-placeholder’).length == 0) {
clearInterval(this.placeholderInterval);
this.constructor.__super__.initialize.apply(this);
}
}.bind(this), 100);
}
});
_Element.prototype.settings = new PlatformElementSettings({“columns_each”:[{“columns_index”:0},{“columns_index”:1},{“columns_index”:2}],”rows_each”:[{“rows_index”:0},{“rows_index”:1},{“rows_index”:2}],”columns”:3,”rows”:3,”style”:”top”,”alignment”:”center”,”titleColor”:”#F8F8F8″,”backgroundColor”:”#FFFFFF”,”borderColor”:”#C9CDCF”,”tableSizes”:[16,49,33]});
_Element.prototype.settings.page_element_id = “399013240234874330”;
_Element.prototype.element_id = “98dc0a0e-49e3-4175-92df-ca994296570d”;
_Element.prototype.user_id = “3466466”;
_Element.prototype.site_id = “484589221176252212”;
_Element.prototype.assets_path = “//marketplace.editmysite.com/elements/702688850553606843-1.4.3/assets/”;
new _Element({
el: ‘#element-98dc0a0e-49e3-4175-92df-ca994296570d’
});
});
});
}
if (typeof document.documentElement.appReady == ‘undefined’) {
document.documentElement.appReady = 0;
}
if (document.documentElement.appReady || (window.inEditor && window.inEditor())) {
setupElement399013240234874330();
} else if (document.createEvent && document.addEventListener) {
document.addEventListener(‘appReady’, setupElement399013240234874330, false);
} else {
document.documentElement.attachEvent(‘onpropertychange’, function(event){
if (event.propertyName == ‘appReady’) {
setupElement399013240234874330();
}
});
}

Gillig BRT Hybrid Bus
Bus Interiors and Features

Future: Van Ness and Geary BRT Lines

Currently, Muni is studying on the prospects of making Van Ness Avenue and Geary Boulevard into BRT lines to make scheduling and bus deployment more efficient, improve the overall quality of the corridors, and streamline current services provided on both corridors. As of the moment, the Van Ness BRT is on the advanced planning stages, while the Geary BRT is still being studied.
Top