Skip to content
Tony Laidig edited this page Dec 29, 2016 · 56 revisions

The public portion of the interface design is broken up into two parts:

  1. Inbound interfaces
  2. Outbound interfaces
The Inbound interfaces refer to inputs into the system. These include:
  1. Schedule Data; General Transit Feed Specification (GTFS) is used to specify static schedule data in a consistent manner. GTFS was created by google and is available here
  2. Run, Trip, and DSC information; Should the GTFS not contain the complete schedule data, other input sources can be merged into the GTFS during the bundle building process
  3. Crew Assignment Data; mapping operator to run
  4. Depot Data; mapping bus to depot
  5. Destination Sign Code Data; mapping headsign to code and route number
  6. Pullouts Data; Linking buses to runs, blocks, and operators
  7. Service Alert Data; Service Interface for Real-time Data (SIRI) is currently used to describe service alerts (interruptions to service both scheduled and instantaneous)
  8. TCIP Bus Message; Transit Communication Interface Profiles (TCIP), used to describe the real-time bus messages input into the system and placed on the real-time queue. The real-time Enterprise Queue is implemented as a ZeroMQ socket publishing on port 5564 as shown on the Queue Data Flow Diagram
  9. Inference Data; a JSON serialization of the Java objects describing the inference engine results, as placed on the inference queue. The inference Enterprise Queue is implemented as a ZeroMQ socket publishing on port 5567 as shown on the Queue Data Flow Diagram
  10. Predictions Queue; a GTFS-rt feed of TripUpdates containing time predictions generated after a vehicle has reported its position.
The Outbound interfaces refer to RESTful-like services that allow data retrieval from the system, including both real-time and historical perspectives:
  1. App Services
    1. SIRI SM (RESTful service returns JSON or XML)
    2. SIRI VM (RESTful service returns JSON or XML)
    3. SMS Interface (HTTP backing SMS messages returned directly to users)
  2. Operational API (RESTful service returns JSON)
  3. TDM services: [TDM]
    1. Crew Assignment API (RESTful service returns JSON)
    2. DSC API (RESTful service returns JSON)
    3. Depot API (RESTful service returns JSON)
    4. Pullouts API (RESTful service returns JSON)
    5. QR coding API (RESTful service returns image/zipped folder of images)
    6. Configuration API (RESTful service returns JSON)
    7. Logging API (RESTful service returns JSON)
    8. API Key API (RESTful service returns JSON)
    9. Bundle API (RESTful service returns JSON)
    10. Bundle-DSC-to-Route API (RESTful service returns JSON)
  4. Inference Engine Run Service API's
    1. Trips-For-Run API (RESTful service returns JSON)
    2. Runs-For-Stop API (RESTful service returns JSON)
  5. Historical API (RESTful service returns JSON)
Clone this wiki locally