Skip to content

Public Transport

Lwb89dev edited this page Oct 19, 2026 · 1 revision

Public transport

Roadstr plans journeys on buses, trams, metros, trains, coaches and ferries. It does so online only — offline transit routing is deliberately not part of Roadstr — and it reads open timetable data rather than keeping its own.

Where the data comes from

Provider Covers What Roadstr uses it for
Transitous Worldwide, wherever operators publish open feeds Journeys, stop search, nearby stops, live departure boards, the lines serving a stop, trip details
Entur Journeys wholly inside Norway Journeys only — no stop search or departure boards, and not a worldwide fallback

Neither needs an account or an API key. Coverage depends on which operators publish open data for an area; where none does, the app says so plainly rather than implying there is no service.

Planning and following a journey

Choose Transit next to car, bike and walking in the route planner. Then:

  • Active guidance walks you through the stages — walking to the stop, boarding, onboard, interchange and the final walk — with its own HUD, de-duplicated voice cues, GPS assistance and a foreground notification.
  • Manual controls — boarded, alighted and missed service — for when GPS cannot tell.
  • Missed connections can be assessed, refreshed and replanned. The active journey is only replaced after you confirm.
  • Recovery. If Android kills the process, an active transit session is restored from encrypted storage.
  • Saved journeys are stored in their own encrypted, versioned format, with a per-leg comparison of the original and the updated plan. A saved journey stays readable offline, labelled as a snapshot until you verify it online.

Privacy

Public-transport services see what you ask them. A journey, a stop search, a departure board or a live check sends the query, the coordinates and the travel time to Transitous (or to Entur inside Norway), and those servers also see your IP address. A normal place search also asks Transitous for matching transit stops, sending the words you searched for and the position the search is biased towards, so that stops can be listed with the other results. The onboarding screen and every itinerary panel say so. See Privacy.

Adding coverage for your area

Roadstr reads Transitous, so every operator feed added there becomes available to Roadstr without an app release. To add yours:

  1. Find an openly licensed, stable timetable URL (GTFS or NeTEx). Start with the operator, a national or regional open-data portal, the Mobility Database or Transitland. Prefer feeds that cover several months; the URL must stay stable because Transitous checks it daily.
  2. Find the country or region in the feeds/ directory of the Transitous repository and update that JSON file (or add it with a maintainer if the region is new).
  3. Prefer a Mobility Database or Transitland Atlas id when the feed is catalogued; otherwise add an http/ftp source with its licence URL and SPDX identifier.
  4. Add GTFS-RT or SIRI only if it matches the static timetable.
  5. Open a pull request against public-transport/transitous; its CI validates the feed.
  6. After the import, check the operator in the Transitous web UI and in Roadstr.

Fix feed problems at the source or in Transitous so every open client benefits. The full guide, with the service policy, is docs/TRANSIT_DATA.md.

Usage note

The public Transitous endpoint is a best-effort community service for light, non-commercial use. Roadstr identifies itself on every request, links to the data sources on the itinerary panel, and plans to agree expected load with the Transitous operators before broad use; an optional self-hosted MOTIS endpoint is on the roadmap.

Clone this wiki locally