You are here
Union City Transit is an intra-city transit agency operating mostly within Union City, with additional service to neighboring Hayward (on Whipple Avenue and Mission Boulevard). Union City BART station serves as the agency’s hub. Eight lines are operated around Union City, of which some of them interline at Union Landing. This is one agency, however, that does not honor the Clipper Card as form of payment of September 2016.

These services operate to Union City attractions including Union Landing Shopping Center, Alvarado District, Downtown, Masonic Home, and Kaiser Hospital, as well as several schools, parks, and housing subdivisions within the city. Founded in 1974, it provides additional bus services not provided by AC Transit, and it primarily uses baby (30- and 35-footer) buses that traverse through mainly residential neighborhoods. Note that all of UCT’s buses operate using Compressed Natural Gas (CNG), prominently labeled at the rear and sides of all buses.

Routes and Days of Operation

Union City Transit operates daily, with no operation on many holidays. While all trips serve Union City BART, only one line (Route 2) does not operate to Union Landing Transit Center directly; it interlines with Route 8 to serve Union Landing from Kaiser Hospital.

#element-951ade06-f1e5-4ca3-9f8b-b58aa2bb733b .simple-table-wrapper {
padding: 20px 0;
}
#element-951ade06-f1e5-4ca3-9f8b-b58aa2bb733b .simple-table {
width: 100%;
border: 1px solid #C9CDCF;
border-spacing: 0;
}
#element-951ade06-f1e5-4ca3-9f8b-b58aa2bb733b .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-951ade06-f1e5-4ca3-9f8b-b58aa2bb733b .simple-table td.cell .paragraph {
width: 90%;
margin: 0 5%;
padding-bottom: 10px;
padding-top: 10px;
text-align: center;
}
#element-951ade06-f1e5-4ca3-9f8b-b58aa2bb733b .simple-table.style-top tr:first-child td,
#element-951ade06-f1e5-4ca3-9f8b-b58aa2bb733b .simple-table.style-side td:first-of-type {
background-color: #F8F8F8;
}
#element-951ade06-f1e5-4ca3-9f8b-b58aa2bb733b .simple-table.style-top tr:first-child td .paragraph,
#element-951ade06-f1e5-4ca3-9f8b-b58aa2bb733b .simple-table.style-side td:first-of-type .paragraph {
font-weight: 700;
}
#element-951ade06-f1e5-4ca3-9f8b-b58aa2bb733b .simple-table tr:last-child td {
border-bottom: none;
}
#element-951ade06-f1e5-4ca3-9f8b-b58aa2bb733b .simple-table td:last-of-type {
border-right: none;
}
#element-951ade06-f1e5-4ca3-9f8b-b58aa2bb733b .simple-table .empty-content-area-element {
padding-left: 0px !important;
}

Route
Days of Operation
Note
1-Delores
Daily
Express service available on 9-Dyer Express
2-Whipple
Daily
Continues as 8-Alvarado/Niles
3-Almaden
Daily
Continues as 4-Tamarack
4-Tamarack
Daily
Continues as 3-Almaden
5-Dyer
Daily
 
7-Alvarado Circulator
Daily except Sundays
Most trips begin and end at Union Landing Transit Center
8-Alvarado/Niles
Daily
Continues as 2-Whipple
9-Dyer Express
Weekday Peak Periods only
Operates to BART AM peak; from BART PM peak

function setupElement407512297543066737() {
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}],”columns”:3,”rows”:9,”style”:”top”,”alignment”:”center”,”titleColor”:”#F8F8F8″,”backgroundColor”:”#FFFFFF”,”borderColor”:”#C9CDCF”,”tableSizes”:”default”});
_Element.prototype.settings.page_element_id = “407512297543066737”;
_Element.prototype.element_id = “951ade06-f1e5-4ca3-9f8b-b58aa2bb733b”;
_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-951ade06-f1e5-4ca3-9f8b-b58aa2bb733b’
});
});
});
}
if (typeof document.documentElement.appReady == ‘undefined’) {
document.documentElement.appReady = 0;
}
if (document.documentElement.appReady || (window.inEditor && window.inEditor())) {
setupElement407512297543066737();
} else if (document.createEvent && document.addEventListener) {
document.addEventListener(‘appReady’, setupElement407512297543066737, false);
} else {
document.documentElement.attachEvent(‘onpropertychange’, function(event){
if (event.propertyName == ‘appReady’) {
setupElement407512297543066737();
}
});
}

Bus Types

Orion V 30-footer CNG Bus

Most of this bus type have been retired and replaced with the Gillig Low Floor 35-footer CNG bus.


​Orion VII 30-footer CNG Bus

Gillig Advantage LF35 CNG Bus
Gillig Advantage LF35 CNG Bus (new livery)

This was introduced in early 2016 as a logo renewal from its original livery dating from the 1980s.

Union City Paratransit
This service is provided alongside Union City Transit’s regular bus services to accommodate handicapped and senior passengers wishing to go around Union City and nearby communities.
Top