Since the previous update KDE Itinerary has been making big steps towards the upcoming 21.08 release, and with support for vaccination certificates is adapting to the requirements of travel during a global pandemic.

New Features

Travel during COVID-19 requires certificates proving your are vaccinated, (negatively) tested or have recovered from an infection in many places. Official apps for that are only available on the major proprietary platforms, so for Plasma Mobile we need to take care of this ourselves.

Technically those certificates are just QR codes, so an image viewer is all you would need. Once you are managing more than one such code, e.g. due to having had multiple tests or due to traveling with family, it becomes useful to also see the content in a human readable form.

Based on the KHealthCertificate library this has been added to KDE Itinerary, and a standalone health certificate wallet app for Plasma Mobile is also in the works. So far the DIVOC and EU DGC formats are supported, covering Europe and India.

KDE Itinerary showing a vaccination certificate.
KDE Itinerary's health certificate manager

Certificates can be imported from PDF files, or via the clipboard (typically coming from a barcode scanning app there). This depends on very recent changes to KDE Frameworks’s barcode library in order to correctly handle the large binary content QR codes used by those certificates.

Another new feature in KDE Itinerary is the ability to import and export favorite locations in the GPX format, as well as to export entire trips to GPX. This is interesting for interoperability with other application, such as Nextcloud Maps. So if you already have relevant data for your travel in there, or need data about your trips there, that has now become possible.

Nextcloud Maps showing routes and waypoints of a journey exported from KDE Itinerary.
Nextcloud Maps showing exported trips from KDE Itinerary

More work on interoperability happened in Plasma Mobile’s barcode scanning app Qrca. Qrca can now detect known barcode content formats, including those of transport tickets, and open them in the right app if available, making importing e.g. boarding passes into KDE Itinerary even easier.

Qrca detecting a boarding pass and offers to import that in KDE Itinerary.
KDE Itinerary integration in Qrca


Work on KDE’s Android build and delivery pipeline continued, bringing a few interesting new features for KDE Itinerary:

  • Application meta-data is now automatically updated in the Google Play store as well, significantly easing maintenance of all the translated versions.
  • Built release APKs are now automatically uploaded to the Google Play staging ground, making publishing new beta or production releases a matter of a just a few clicks.

Thanks to that, KDE Itinerary is now finally available in the Google Play store.

Infrastructure Work

Public transport data

KPublicTransport gained support for IFOPT location identifiers. Those are hierarchical and thus are much better suited to represent the complex structure of larger train station than simpler scheme like UIC station codes.

Being a standardized scheme, IFOPT identifiers can be found in OSM data as well as the responses of OTP, EFA and IVV ASS backends. The wide use helps a lot with merging data from multiple sources.

Due to their hierarchical nature they allow referencing highly detailed location information such as a specific platform or bus stop point as well as the larger station those belong to at the same time, and both are very relevant information to navigate to the right place.

KDE Frameworks

Bringing coordinate-based lookup for countries, country subdivisions and timezones to KF5::I18n is progressing, and will eventually replace the current inferior solution in KItinerary, as well as make this also available for KPublicTransport. This will give us more complete and more reliable timezone information at all parts of a journey.

Fixes & Improvements

Travel document extractor

While there has been a number of improvements e.g. for the various SNCF ticket variants, the majority of extractor work is clearly influenced by the pandemic:

  • Extracting event reservations for COVID test and vaccination centers.
  • Additions and improvements for extractors for event booking sites, as more things need registration nowadays.
  • Extractors for bookings for activities that previously didn’t need pre-booking at all, such as public swimming pools.

Public transport data

  • Initial support for version 2 of OpenTripPlanner (OTP) has been added.
  • OTP location queries are now cached.
  • All backends now provide correct location types, and location merging now adapts to the location type (e.g. by using different thresholds depending on the usual size of the location, a rental bike dock tends to be much smaller than a train station).
  • The Hafas backend now supports earlier/later journey and stopover queries.
  • Support for the VRT public transport provider in Germany has been added.
  • Timezone information is now also propagated correctly to intermediate stops.

Indoor Maps

  • Added support for MapCSS layer selectors. This allows single OSM elements to emit multiple scene graph items, which allows fixing problems we had e.g. with tram tracks on top of roads not being rendered correctly.
  • Ways or rivers that exactly follow an administrative boundary are now longer hidden.
  • Tracks and paths are rendered as well now, which can be useful outside of urban areas.
  • More cases of inaccessible elevators are handled now, and elevators displayed correctly in that case.
  • At final destinations without any subsequent departure, the map now initially centers on the arrival location instead on a random point.

Apple Wallet Passes

  • Date/time field formats are now detected and handled correctly.
  • Formatted fields are displayed correctly in the KMail plugin and the Itinerary app.

Itinerary app

  • It’s now possible to delete entire trip groups.
  • Unbound train bookings will no longer have transfers added before/after them before a specific train has been selected.
  • Links in disruption notes now work.
  • Exporting the entire data in KDE Itinerary now works again on platforms other than Android, and importing this data again is no longer constrained by the size limit for importing ticket data.
  • Various UI fixes to improve handling of modal pages and HIG compliance.
  • The favorites location selector page now closes automatically after picking the location.
  • The first received realtime data confirming a departure platform does no longer trigger an empty notification if there actually isn’t any platform change.


While field testing and collecting travel document samples is still 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.