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. It builds its representation of the transportation network from standardized public transport data and OpenStreetMap. It applies real-time updates and alerts with immediate visibility to clients, finding itineraries that account for disruptions and service changes. OTP is deployed in numerous places around the world and millions of people rely on it to help plan their daily travel.
Entur has been actively developing OTP for several years and the system is the core of Enturs open national journey planning API for whole Norway. Enturs own app is powered by this service as well as most other major journey planning apps throughout Norway. It's a great success! However, it can always be better!
OTP is open-source, hence developed by many parties for more than 10 years. It's a lot of complex code (both good and bad), and it spans a wide variety of functionality. This combination means extensions and new functionality become difficult, and when you look at the mobility sector today; the use cases and requirements are vastly different than what you saw just a few years ago. We needed a fresh start!
Because of this, we started the work with OTP 2.0 almost two years ago. We wanted to use our experience with the first version of OTP and create a totally refactored version to adapt to new requirements for journey planning as well as a system that can be extended together with new innovation within the mobility sector. Entur has been leading this work with assistance from the community around OTP and last week an official version of OTP 2.0 was released on GitHub 🥳
So what have we actually done...
New algorithm - The old version uses a classical A* algorithm which provides reasonable performance on regional journey planners. However, we needed a snappy solution also on larger networks. Hence, OTP 2.0 utilize the RAPTOR algorithm for all transit routing both with 5-10X performance increase and true Pareto optimized results.
Search logic - Access/egress search is made separate from the transit search. This opens for more advanced search logic for connecting traditional public transport with new mobility modes for first/last-mile as well as logically incorporating on-demand services as part of your trip. This sets the solution up for handling the journey planning use cases we want today and in the future.
NeTEX/SIRI support - Originally OTP was designed for GTFS and GTFS-RT as input formats. Together with a more generic internal data model OTP 2.0 is extended to fully support NeTEx and SIRI as input formats. This harmonizes well with the adoption of NeTEx and SIRI (especially in Europe) and opens the road for utilizing the richness these formats enable.
Modular design - The system is refactored in a much more modular architectural design and a lot of code is cleaned up or removed. Adding new functionality will no longer mean a high risk of breaking core functionality and sets up a much more efficient development.
Sandbox features - To accommodate for both rapid development of local use cases, while still maintaining a high degree of quality standard on the main branch, sandbox features are included in OTP 2.0. This means local use cases can be developed and deployed while not affecting the core implementation. We believe this is an important feature to avoid deviation of branches deployed around the world and sets up for easier collaboration going forward. The goal of any multi-cooperation open source project!
OpenTripPlanner 2.0 sets up for next generation journey planning services. The first official release of OTP 2.0 is here, however it is still far from complete. This is however a great milestone and it will be an important part of new services provided by Entur and most probably in many other countries around the world. Most importantly, we believe the system is set up for further development together with new advances within the public transport and mobility sector going forward. Entur already has a deployment of OTP 2.0 available for national journey planning. Feel free to test this and give us feedback for further improvement.