A lot has happened around KDE Itinerary in the past two months again, since the last summary blog. All components will be part of the KDE release service starting with the 20.12 series, we got a new backend server for the station maps, arrival and departure platforms are now properly identified, and much more.

New Features

KDE Itinerary can now identify train station platforms and platform sections in OSM data and match this with the travel data to show arrival and departure platforms on the station map. As a side-effect of this, we now also have much better platform labels on the map.

Map showing colored labels for the arrival and departure platforms at a train station.
Arrival and departure platforms being highlighted in KDE Itinerary's station map.

While this might look like a small detail, it’s actually surprisingly complicated to implement as railway platforms unlike airport gates actually consist of many different parts in the OSM data that we all need to find and assemble together. It is also significant as this paves the way for more sophisticated transfer assistance or indoor navigation features.

So far this works best for long-distance trains, more work is needed for rapid transit, subway and tram services to offer the same feature for those.

KDE Itinerary now also has an option to download all the station map data for an upcoming trip while you are still in your home WiFi, either explicitly via a manual action, or optionally also automatically. This can be useful even if you have free data roaming, for example due to bad connectivity in underground stations.

The last report presented a prototype of showing live data for bike/scooter rental systems on the station map. This is now integrated into KDE Itinerary and available as an option in the context menu of the map (off by default, as this involves online queries obviously). Additionally, GBFS free floating vehicle information are now supported, giving us rental bike positions also for dock-less systems.

Infrastructure Work

The biggest news behind the scenes is that the new backend for maps.kde.org is now finally live! This gives us up-to-date OSM data for the train station maps, with a lot more detail and various precision loss issues fixed. Most visible is probably that we now also see platform section labels and ticket machines, as well as almost all geometry reassembly glitches being fixed now.

This work not only helps KDE Itinerary, but also the primary user of this system, Marble. A big thank you to the sysadmin team for making that happen!

A number of things are happening around KDE’s Android infrastructure as well, which KDE Itinerary relies upon. See the dedicated post on that.

There’s also two new Git repositories:

Fixes & Improvements

There’s plenty of smaller but still noteworthy changes too of course, all over the place.

Travel document extractor

  • Recover from JSON syntax errors in Apple Wallet pass files and JSON-LD content in HTML emails. This allows extraction in a few cases despite providers having send you invalid data.
  • Update train station and airport databases. This gives us various upstream fixes from Wikidata and OSM, including recent changes like the transition to a new airport in Berlin.
  • Support for extracting more SNCF ticket variants (TER, Ouigo) as well as more ticket barcode variants.

Public transport data access

  • Interpolate coach positions if we only get the coach order. This fixes displaying vehicle layouts provided by Deutsche Bahn outside of German train stations.
  • Parse UIC station identifiers in Navitia responses, which improves matching and merging results with data provided by other sources.

Train station maps

  • Consider device pixel ratio for icon rendering.
  • Implement level conditions for canvas MapCSS rules. This allows e.g. different backgrounds depending on whether you are looking at an underground or overground map.
  • Correctly display free floating rental bikes.
  • Query for rental bike locations in the correct search area.
  • Implement proper integration with KDE’s translation infrastructure.
  • Add support for additional building, platform and elevator tagging schemes.

Itinerary app

  • Android nightly builds now include libxml2 and thus the ability to extract travel information from raw email messages.
  • Initial support for importing emails via Android’s sharing mechanism from email applications like FairEmail. As this process isn’t loss-free due to how emails are passed this way, this is unfortunately not as reliable as opening a raw email file yet.
  • Fix display of events without a defined end time in the timeline.
  • On Linux, data can now also be imported via drag&drop.
  • For contributors there’s now a development mode that allows access to additional diagnostics and modifications without rebuilding the app.

KMail integration

  • Fix CSS from HTML emails messing up the layout of the buttons of our travel information box.


While field testing and collecting travel document samples remains difficult in many parts of the world, there’s plenty of other things that can be done. The KDE Itinerary workboard or the more specialized indoor map workboard show what’s on the todo list, and are a good place for collecting new ideas. For questions and suggestions, please feel free to join us on the KDE PIM mailing list or in the #kontact channel on Matrix or Freenode.