You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
OTP Changelog Bot fdf2bf297f Add changelog entry for #5821 [ci skip] 2 days ago
.github Upgrade Codecov action and use token 1 month ago
.idea style: Arrange all fields and methods 2 years ago
client-next chore(deps): update debug ui dependencies (non-major) 5 days ago
doc-templates Add tag handling 4 weeks ago
docs Add changelog entry for #5821 [ci skip] 2 days ago
script Apply suggestions from code review 2 months ago
src Merge pull request #5821 from Skanetrafiken/correct-implicit-access-egress-modes-handling 2 days ago
test/performance Fix skanetrafiken performance test 2 months ago
.git-blame-ignore-revs Update .git-blame-ignore-revs 2 years ago
.gitignore Build with base 5 months ago
.prettierrc.yml Fix compatibility issues with nordic profile from #4863 1 year ago
ARCHITECTURE.md Correct spelling of 'which' [ci skip] 6 months ago
CODE_CONVENTIONS.md Correct spelling of 'which' [ci skip] 6 months ago
CONTRIBUTING.md Add extra heading [ci skip] 5 months ago
LICENSE Add a single License file and remove all OTP and OBA file license headers. 6 years ago
Makefile Update translations 2 years ago
README.md Merge pull request #5830 from opentripplanner/mailing-list-docs-update 5 days ago
codecov.yml Fix codecov syntax [ci skip] 1 year ago
lgpl-3.0.txt add LGPL 15 years ago
magidoc.mjs Improve scalars 3 months ago
maven-settings.xml replace TravisCI with GH actions and packages 3 years ago
mkdocs.yml add separate Travel Time Analysis docs page 3 weeks ago
pom.xml Update dependency org.apache.maven.plugins:maven-shade-plugin to v3.5.3 3 weeks ago
renovate.json5 Automerge maven-jar-plugin [ci skip] 4 weeks ago

README.md

Overview

Join the chat at https://gitter.im/opentripplanner/OpenTripPLanner Matrix codecov Commit activity Docker Pulls

OpenTripPlanner (OTP) is an open source multi-modal trip planner, focusing on travel by scheduled public transportation in combination with bicycling, walking, and mobility services including bike share and ride hailing. Its server component runs on any platform with a Java virtual machine ( including Linux, Mac, and Windows). It exposes GraphQL APIs that can be accessed by various clients including open source Javascript components and native mobile applications. It builds its representation of the transportation network from open data in open standard file formats (primarily GTFS and OpenStreetMap). It applies real-time updates and alerts with immediate visibility to clients, finding itineraries that account for disruptions and service changes.

Note that this branch contains OpenTripPlanner 2, the second major version of OTP, which has been under development since 2018. The latest version of OTP is v2.5.0, released in March 2024.

If you do not want to use this version, please switch to the final 1.x release tag v1.5.0 or the dev-1.x branch.

Performance Test

📊 Dashboard

We run a speed test (included in the code) to measure the performance for every PR merged into OTP.

More information about how to set up and run it.

Repository layout

The main Java server code is in src/main/. OTP also includes a Javascript client based on the Leaflet mapping library in src/client/. This client is now primarily used for testing, with most major deployments building custom clients from reusable components. The Maven build produces a unified ("shaded") JAR file at target/otp-VERSION.jar containing all necessary code and dependencies to run OpenTripPlanner.

Additional information and instructions are available in the main documentation, including a quick introduction.

Development

OpenTripPlanner is a collaborative project incorporating code, translation, and documentation from contributors around the world. We welcome new contributions. Further development guidelines can be found in the documentation.

Development history

The OpenTripPlanner project was launched by Portland, Oregon's transport agency TriMet (http://trimet.org/) in July of 2009. As of this writing in Q3 2020, it has been in development for over ten years. See the main documentation for an overview of OTP history and a list of cities and regions using OTP around the world.

Getting in touch

The fastest way to get help is to use our Gitter chat room where most of the core developers are. Bug reports may be filed via the Github issue tracker. The OpenTripPlanner mailing list is used almost exclusively for project announcements. The mailing list and issue tracker are not intended for support questions or discussions. Please use the chat for this purpose. Other details of project governance can be found in the main documentation.

OTP Ecosystem

  • awesome-transit Community list of transit APIs, apps, datasets, research, and software.