
Open Journey Planner
Discover OJP – your one-stop shop for multimodal journey planning!
Open Journey Planner (OJP) provides non-discriminatory timetable information and multimodal journey planning for the whole of Switzerland. Whether you want to use public transport, car sharing, e-scooter or on-demand services – with OJP, you have it all in one app!

What is the essence of OJP?
OJP is a standardised, XML-based interface with request/response behaviour that integrates and consolidates numerous upstream data sources. In this way, we provide comprehensive mobility services, while end customer data and direct contact remain with the provider.
Who is OJP for?
OJP services are ideal for end-user apps and are exciting for both transport companies and developers. For example, they allow departure boards to be created for each stop in Switzerland and open up many opportunities for further mobility projects.
Advantages of OJP:
The operation and further development of OJP are financed by the FOT. Use an open, standardised interface at moderate conditions – even free of charge for lightweight users. We will take care of the data integration and deliver consolidated mobility data via the OJP API.
Connected mobility
Our current database
Information on accessibility
Vehicle sharing services (bike sharing, e-scooters, car sharing)
Charging stations for electric cars
OpenStreetMap (OSM) as the basis for the routing of private transport
Elevation data for more accurate footpath calculations
A variety of Points of Interest (POI)
Public transport timetable data with real-time information + incident messages
Service Level Agreement (SLA)
We offer a service level 2a, 7x24h. Our system availability is 99.2% to ensure safe and high-performance operation.
Limits and costs
OJP is free to use up to a certain volume. Minimum charges apply for more than 50 requests per minute or 20,000 requests per day.
Our services at a glance
Your situation: Would you like to show your guests the stops and points of interest in your area?
What the service does: This service determines the nearest locations.
What the service needs: When a coordinate or address is entered, the OJP system uses a radius search to determine the appropriate locations.
What the service provides: The stops and points of interest close to the specified location.
More details about this service can be found at the following link: OJPLocationInformationRequest v1.0 or OJPLocationInformationRequest v2.0
Your situation: Would you like to work out a route with your family using different means of transport?
What the service does: With this service, the system serving the service (in our case, the OJP system) routes.
What the service requires: When a start point and destination are entered (coordinates, addresses, POI or stops), the OJP system computes connections between the start point and destination. Different modes can also be requested with ModesToCover. The following modes are currently available: public transport; walking; cycling; driving a car yourself; sharing services (bicycles, e-scooters, car sharing).
What the return service does: Routing includes both public transport routing (taking into account current journey times and disruptions) and map-based individual traffic routing (e.g. by using your own car) based on OpenStreetMap (OSM). If desired, you can use the Link Projection output parameter to request the actual geographical routes and a TurnDescription (verbal navigation) is usually also available for walking routes.
More details about this service can be found at the following link: OJPTripRequest v1.0 or OJPTripRequest v2.0
Your situation: You want a departure monitor for the stop in front of your store?
What the service does: The service determines the departure and arrival times at a stop.
What the service requires: A specific stop must be specified.
What the service provides: The next departures / arrivals at a specific stop.
More details about this service can be found at the following link: OJPStopEventRequest v1.0 or OJPStopEventRequest v2.0
Your situation: Do you need all the stops along the previously calculated journey?
What the service does: This service determines further details of an already calculated ‘Journey’ to request (see TripRequest).
What the service needs: The previously determined journey must be enclosed.
What the service provides: Details of an already calculated ‘Journey’.
More details about this service can be found at the following link: OJPTripInfoRequest v1.0 or OJPTripInfoRequest v2.0
Your situation: Do you need to extend your planned stopover in Olten?
What the service does: Allows the dwell time at a stopover along a trip to be extended and either the section before or after is preserved. The other parts could therefore be recalculated.
What the service needs: An existing leg and the desired adjustments to it.
What the service provides: A trip that has been modified as you wish.
No further details about this service yet.
Your situation: You had a route calculated a few days ago. Now it’s your day of travel and you want to check up-to-date information?
What the service does: Update a trip that has already been calculated. It is important that the request is not a recalculation!
What the service needs: An existing trip with context and parameters. The parameters can act as a filter, e.g. that only partial results that do not contain any steps are returned.
What the service does: The service updates the trip with the requested additions, if available. Important:
The service may deliver several trips and not (only) the requested one.
It may happen that the previous trip gets ‘broken’ with this request. The trip must then be recalculated.
The response provided by TripRefineRequest must therefore always be checked!
More details about this service can be found at the following link: OJPTripRefineRequest
Your situation: Would you like to know how much the journey you have requested will cost?
What the service does: Use Switzerland’s public transport cost calculation infrastructure to determine the expected costs of a verified journey.
What the service needs: The previously determined ‘journey’ must be included.
What the service offers: The price calculation of trips, including discount journeys and taking into account Half Fare Travelcards (‘Half Fare Travelcards’). It is only possible to query prices in Switzerland. N.B.: The price information is non-binding. The actual price is only set when the order is placed. The number of enquiries is also limited.
More details about this service can be found at the following link: Beta: OJP fares
Data currency
Up-to-date data is essential for the Open Journey Planner (OJP). Through regular updates of our timetable data and real-time information, we ensure that travellers always receive accurate information about departures, arrivals and disruptions to enable them to plan their journey optimally.
Further links
Open Journey Planner Cookbook
Our cookbook provides a comprehensive set of resources and best practices for implementing Open Journey Planner (OJP).
Roadmap for further development
The GitHub repository serves as a roadmap for the further development of OJP. It provides access to source code, current progress and planned functions.
Uicons from Flaticon





