The OneBusAway application suite's primary function is to share real-time public transit information with riders across a variety of interfaces:
- OneBusAway Web - A variety of web interfaces to transit data
- A standard web interface to transit data, including maps and stop pages with real-time info
- Sign-mode - Same information as the standard web interface, but in a large format for large displays (e.g., large televisions)
- A mobile-optimized version of the web interface for smart phone mobile browsers
- A text-only version of the web interface for more-basic mobile browsers
- OneBusAway REST API - A RESTful web-service that can be used to quickly write applications built on top of transit data. This API powers the following apps:
- OneBusAway GTFS-realtime export - A bulk export of all trip updates (predictions), vehicle positions, and service alerts for a transit system in the GTFS-realtime format.
- OneBusAway Phone - A Interactive Voice Response (IVR) phone application for accessing real-time transit information
- OneBusAway SMS - An SMS service for accessing real-time transit information
- OneBusAway Watchdog - A module hosting webservices for monitoring realtime data
Watch the YouTube video for more information.
Here are the high-level steps you'll need to take to launch the OneBusAway mobile apps in your area:
- Get your schedule transit data in the GTFS format
- Have an AVL system that produces arrival estimates (Note: we're working removing this requirement - contact us if you're interested. Alternatively, you may be able to use other open-source projects, such as The Transit Clock, to go directly from raw vehicle locations to arrival times that are shared via GTFS-realtime and SIRI - this would replace Steps 2 and 3.)
- Implement a GTFS-realtime or SIRI real-time data feed (We also support other formats)
- Set up a OneBusAway server
- Do some quality-control testing of arrival times
- Request to be added as a OneBusAway region
See the multi-region page for more details.
Setting up a OneBusAway server
There are two options for setting up your own OneBusAway instance:
- Quick-Start Guide - We provide a Quick-Start bundle designed to get you up and running quickly with OneBusAway.
- Developer Installation Guide - If you want to get your hands dirty with code, this guide will help you get a OneBusAway instance set up using the source-code and Eclipse.
You can find the latest releases here:
OneBusAway is used in a number of places:
- http://pugetsound.onebusaway.org - the original Seattle-area deployment that started it all
- http://tampa.onebusaway.org - a deployment in Tampa, Florida
- http://atlanta.onebusaway.org - a deployment in Atlanta, Georgia
- http://bustime.mta.info - real-time info for NYC MTA buses
- http://www.yorkregiontransit.com/en/ridingwithus/apps.asp - Real-time info in York, Canada
To browse the source online visit https://github.com/OneBusAway/onebusaway-application-modules.
To create a local copy of the repository, use the following command:
$ git clone git://github.com/OneBusAway/onebusaway-application-modules.git
- Installation Guide - How to set up your own OneBusAway instance using the code and Eclipse.
- Real-time Data Compatibility - Have a real-time transit data source (e.g., GTFS-realtime, SIRI)? Check out this page to see how you can make it work with OneBusAway.
- Troubleshooting tips - Having problems? Check out this guide.
- Mobile App Design Considerations - Want to create a mobile app for OneBusAway? Check out this page first.
- Multi-Region - OneBusAway is launching in new cities! Check out this page to learn how to launch the OneBusAway apps in your city.
- Contribution Guide - Information for developers on how to contribute code to OneBusAway, including general code conventions, how to submit patches, etc.
- Project Governance - Guide to OneBusAway project governance
- Maven Repository Info - Where the release and snapshot artifacts of OneBusAway libraries are found.
- Mailing lists:
- IRC channel:
- You can connect using your favorite IRC client or chat through the web (just enter a username and click Connect)
There are lots of ways to get in touch with us.