Since the last last summary post two month ago a lot has happened around KDE Itinerary again, ranging from supporting more travel document and ticket types to better guidance to the right spot on a train station platform.

New Features

Platform section highlighting

The train station map can now also highlight platform sections, next to the platform itself. Depending on the level of detail of the available information in the OSM map data, the train schedule, seat reservation and the vehicle layout we can use that to much more precisely indicate where on the platform you need to go.

Train station map of Karlsruhe Hbf with platform 3 section E and F highlighted.
Train station map in KDE Itinerary highlighting relevant platform sections.

Editor UI revamp

Following the reservation details pages, the reservation editor pages are now also being ported to the new Kirigami mobile form components. Besides a more unified look and improved mobile usability, more fields are now editable as well.

KDE Itinerary's train reservation edit page using the Kirigami mobile form components.
Train reservation edit page using Kirigami mobile forms.

Journey live view

Integration of the onboard API work into Itinerary continued:

  • The journey view can now display the current progress and got several layout and alignment fixes.
  • The map view adapts the default zoom level based on the mode of transport.
  • The settings page contains information about whether onboard API access is possible, and if not, why. This is particularly relevant on Android where specific permissions and system settings are required in order to monitor for Wi-Fi access point changes.
KDE Itinerary's live view show the progress of the current journey.
Journey progress display.

More onboard systems are supported as well, such as the “DB Zugportal” used on some German local trains, and two versions of Panasonic’s inflight entertainment system used by a number of airlines.


KDE Itinerary was presented at FOSDEM in early February (talk, blog post) and FOSSGIS-Konferenz in mid March (talk, blog post). It was also featured in a session about structured email on Tuesday at the IETF meeting in Yokohama.

Upcoming events in the KDE community such as the KDE PIM sprint starting today, Linux App Summit and of course KDE Akademy (or rather their corresponding travel bookings) have also resulted in a number of fixes already.

By copy/pasting or drag/dropping the above link to Akademy into Itinerary you automatically get Akademy added to your travel plan btw :)

Infrastructure Work

More train ticket barcode formats

The Railways and Open Transport track at FOSDEM resulted in a bunch of pointers and material for supporting additional railway ticket types.

This includes the ERA ELB format used by e.g. Eurostar, the RSP-6 tickets used in the UK (thanks to the research published here), and thanks to hints from SBB themselves, also finally support for Swiss domestic railway tickets.

Map data geometry reassembly

The geometry reassembly process that happens as part of loading OSM raw data tiles when opening a train station or airport map has been significantly optimized, now running 12x faster, which makes opening the maps noticeably quicker.

More details about this can be found in the report about the OSM Hack Weekend in Karlsruhe.

Coverage area tooling

There’s ongoing work on improving the tools to maintain coverage area GeoJSON polygons in the Transport API Repository. This is the data KPublicTransport uses to decide which service to query for journey information.

This work was motivated by Itinerary suggesting totally absurd connections between the major railway stations in Paris, due to querying a service only covering long-distance trains in France and thus missing the direct Metro or RER connections. This works correctly now.

Fixes & Improvements

Travel document extractor

  • New extractors for Aegean Air, National Express, Taiwan High Speed Rail (台灣高鐵), Octorate, and whyline.
  • Improved extractors for Accor, Amadeus, availpro, BlaBlaCar, FlixBus, GWR, Indico, Ouigo and SNCF.
  • Various fixes for matching and merging hotel and train reservations, as well as program membership cards.
  • Improved detection of times specified as text in Apple Wallet pass files.
  • Also consider JPEG images and images in multipart/related MIME structures when searching for barcodes.

Public transport data

  • Fix OpenJourneyPlanner requests to be compliant with stricter checks in the Swiss OJP instance.
  • Adapt to changes in the DB coach layout API.
  • Add basic sanity checking for received onboard journeys.
  • Deal with TGV brand or vanity names in line name comparison.

Indoor map

  • Fix building level distribution for buildings having an underground start level.
  • Fix localized tag lookups missing values in some cases.
  • Show also indoor doors, not just entrance/exit doors.
  • Handle daylight saving time transitions in the graphical opening hours display.

Itinerary app

  • Weather forecasts are now also available when only multi-day event or hotel reservations at a different location are available, but not the transport to and from there.
  • The weather details page now shows the location the forecast refers to.
  • Improved matching of train tickets to results from online queries. This fixes some cases where no realtime data was shown for train connections.
  • Ignore expired program memberships when looking for one matching a ticket. This results in the right membership card being found in more cases.
  • Better default zoom levels for the favorite location and location editor maps.
  • Fix timezone information sometimes not being shown for times specified in UTC.
  • Don’t allow to select alternative journeys with a canceled section.

How you can help

Feedback and travel document samples are very much welcome, and there are plenty of other things that can be done without traveling as well. 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.