Skip to content
bdferris edited this page Feb 15, 2012 · 28 revisions

OneBusAway is a collection of open-source tools and libraries designed with one goal in mind:

Making public transit easier to use.

Rider information can be anything from maps and schedules to real-time arrivals and service alerts. Our tools are sometimes designed to be used directly by riders, but some are also be used by transit agencies and developers to build tools of their own for sharing real-time public transit information. Below, we describe the various pieces that make up OneBusAway.

The Main OneBusAway Application Suite

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
    • A mobile-optimized version of the web interface for 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:
  • 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 Sign Mode - A interface mode optimized for large public displays

These interfaces are powered by a transit-data back-end module that combines raw transit data (GTFS, GTFS-realtime, etc) into an optimized data-bundle appropriate for application development.

GTFS Libraries

We provide a Java-based library for reading, writing, and transforming GTFS data, including database support.

GTFS-realtime Libraries

We provide a number of libraries and tools for working with working with GTFS-realtime data:

SIRI Libraries

We provide a number of libraries and tools for working with SIRI real-time data, including support for implementing both SIRI producers and consumers, a simple command-line utility for querying SIRI endpoints, and finally a SIRI repeater application for aggregating, filtering, and rebroadcasting SIRI data.

Other Libraries

  • onebusaway - Common parent Maven POM that defines a number of common project settings, like project license, distribution management, and artifact signing
  • onebusaway-collections - Common collection and utilities classes used by a number of modules.
  • onebusaway-csv-entities - A Java library for reading and writing entities from comma-separated-values files.
  • onebusaway-service-alerts - Application for producing and managing service alerts on the transit agency side.
  • onebusaway-probablecalls - a library for writing touch-tone phone IVR applications using the XWork library.
  • onebusaway-resources - common OneBusAway resources, including images and icons.
  • onebusaway-wiki-integration - Allow embedding of content from a wiki / CMS / other source in your webapp.