Since the last summary KDE Itinerary has been moving with big steps towards the upcoming 21.12 release, with work on individual transport modes, more convenient ticket access, trip editing, a new health certificate UI, better transfer handling and many more improvements.

New Features

Current ticket access

A small but very convenient new addition is the “Current ticket” action, which immediately navigates you to the details page of the most current element on the itinerary. That comes in handy when having to show or scan your ticket and avoids having to find the right entry in the list in a rush.

This action is now also accessible from jump list actions in the taskbar on Linux, or app shortcuts on Android. Combined with the easily accessible barcode scanmode mentioned last time it’s now just two clicks or taps to get ready for a ticket check.

Screenshot of the Plasma task manager context menu containing KDE Itinerary's current ticket action.
Plasma task manager showing KDE Itinerary jump list actions.

Trip shortening

KDE Itinerary so far provides only very limited editing capabilities for existing reservations, but one common case has now been added: shortening of train trips. That is, boarding later or leaving earlier along a booked journey, useful for example when having to react to service disruptions. Unlike general free-form editing, we can easily ensure in this case that the result remains a valid actually existing train connection, and thus all features requiring that remain functional.

Screenshot of KDE Itinerary's train editing page for leaving a train earlier than planned.
Selecting an earlier exit from a train.

Realtime trip data is taken into account when available, and selecting canceled/skipped stations for boarding/leaving is prevented.

Health certificates

The health certificate UI has been restructured to use a tab bar instead of one long scrollable page. This is not just easier to navigate but separates the QR code from human readable details that a person scanning the code doesn’t necessarily need to see.

Screenshot of KDE Itinerary's new health certificate UI showing the barcode and details tabs side-by-side.
KDE Itinerary's new health certificate UI.

There is also support for a new certificate format, the Dutch COVID-19 CoronaCheck system. This one differs quite a bit from the formats supported so far as it’s much more optimized for privacy. The only information contained in the certificates are the user’s initials and day and month of birth, but no details about what actually has been certified (vaccine, recovery or test, etc).

Next to a paper-based variant which has a fairly long validity (and thus allows some guesses on how the certificate was obtained), the digital form provided by the official app generates very short-lived certificates to prevent tracking users across multiple scans. We can so far only provide an equivalent to the paper form, ie. the official app has still superior privacy features.

Infrastructure Work

Individual transport modes

As mentioned in a previous post there has been ongoing work in KPublicTransport for supporting journey queries that combine public transport and individual transport modes.

That is interesting for a number of use-cases, such as driving to a station using your own bike or car and then parking it there (and thus requiring an appropriate parking space), taking your bike with you on the train (and thus requiring a train connection where that’s possible), or using rental vehicles like scooters for getting from a station to the final destination.

The data model of KPublicTransport supports this now, as do all its backends. The first bits of this also already show up in KDE Itinerary, for selecting transfers different individual transport modes can be chosen in the context menu.

Screenshot of KDE Itinerary's new health certificate UI showing the barcode and details tabs side-by-side.
Transfer selection context menu offering individual transport modes.

There’s a lot more to be done to nicely integrate this though, such as remembering the locations of the user’s vehicles and selecting appropriate modes automatically.

KDE Frameworks locale data

The previously discussed support for looking up and localizing country, country subdivision and timezone information in KDE Frameworks has finally landed with KF 5.88. This replaces older and less accurate or up-to-date code we used so far.

More interestingly this also enables a few new possibilities like informing about different currencies or local public holidays at travel destinations.

Fixes & Improvements

Travel document extractor

  • Added new extractor scripts for the Pretix and gomus event ticketing systems.
  • Improved extractor scripts for Eurowings, Lufthansa, MÁV,
  • Fixed erroneous merging of train trips with the same line on the same day.
  • Incomplete location types in annotations are now extracted correctly.
  • The expirationDate field of Apple Wallet passes is now considered by the general pass extractor.
  • Event merging now also works for slightly differing reservations, e.g. due to different tickets for adults and children.
  • Sorting of flight reservations now also considers airport timezones when still missing exact arrival times.
  • KItinerary Workbench can now also show intermediate extractor results for each document node.

Public transport data

  • Attribution information for line or product logos are now provided, which enables using such logos under CC-BY licenses from Wikidata as well. This about doubles the amount of logos available.
  • Added a new UIC coach classification parser which is now used by all coach layout backends, improving detection of coach features especially for international trains.
  • The ÖBB coach layout backend has been ported to their new backend API.
  • Provider metadata can now also contain VDV organization identifiers, similar to what we already have for UIC company codes. This helps with selecting the best provider based on a given ticket.
  • Improve provider selection by preferring those containing both ends of a journey.
  • New OpenTripPlanner coverage area probing which produces more accurate coverage polygons when faced with outliers or otherwise inconsistent/corrupt data.
  • Improved product name parsing for Hafas, which in turn significantly improves merging with results from other sources.
  • Improved platform parsing for IVV ASS, providing platform information for trams as well in a number of places.

Indoor maps

  • Pinch zoom now finally works properly on phone touch screens.
  • Platform data aggregation and identification from OSM data now also considers IFOPT identifiers when present. This not only improves the platform list shown in the station maps, but also allows identification of tram or subway stop locations that don’t have a name, given the public transport data also contains an IFOPT identifier.
  • Improved Russian language support for parsing non-standard OSM opening hours expressions.

Itinerary app

  • PDF417 ticket barcodes can now be displayed, needed e.g. for the Hungarian railway (MÁV).
  • The context drawer is accessible again in the favorite location editor.
  • Transfer elements have the same progress and disruption highlights as regular reservation elements.
  • Automatic transfer selection picks more suitable options before a following departure.
  • Transfers are now considering realtime arrival/departure data of the reservations they are attached to.
  • Transfers to/from a favorite location now automatically select a nearby one.
  • Transfers can manually be added in more cases, such as around events or restaurant visits.
  • Transfers involving bikes or rental vehicles are now shown correctly.
  • Train or bus reservations now show their line or product icon in the timeline when available.
  • Bus reservations are now also monitored for delays.
  • Journey details can also be viewed for bus reservations when available.
  • When editing addresses of events, hotels or restaurants an automatic geo coordinate lookup can be triggered.
  • The location picker no longer closes itself when panning the map in the wrong way.
  • Icons in the timline elements are no longer randomly shown in smaller sizes.
  • Tooltips and accessibility hints were added in more places.
  • If you are not into flags, the statistics page can now also list the names of all visited countries.
  • The app now scales better to smaller screens.

KMail integration

  • Apple Wallet passes for events are no longer wrongly claimed to be boarding passes when attached to a calendar event.
  • Apple Wallet passes that don’t specify all required colors are no longer rendered unreadable in black on black.

Desktop integration

  • There’s a new KIO thumbnailer plug-in for Apple Wallet passes.


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