Since the last update, KDE Itinerary got support for ferry reservations, ICAO VDS health certificates, better barcode decoding and many more improvements to the data extractors.

New Features


Boat and ferry tickets are now also handled, besides train, bus and plane tickets, both in KDE Itinerary and the KMail itinerary plugin.

Screenshot of a ferry reservation in KDE Itinerary's timeline view.
Ferry reservation in the timeline view of KDE Itinerary.

So far there are extractors for GNV and Fjord Line, more samples are very much welcome.

ICAO VDS Vaccination Certificates

For health certificates the “Visible Digital Seal” (VDS) format of the International Civil Aviation Organization (ICAO) is now also supported. This is used for international travel in Australia and Japan for example.

Screenshots of KDE Itinerary showing a Japanese ICAO VDS example vaccination certificate.
Japanese ICAO VDS example vaccination certificate.

This involved two interesting pieces of infrastructure, the ICAO PKI which is also used to verify digitally signed passports, and the WHO ICD-11 disease classifications. Maybe that’ll come in handy elsewhere at some point.

Akademy 2022

There also have been more fixes related to Akademy travel:

  • Add workaround for emails containing wrong SNCF ticket tokens.
  • Support SNCF tickets in other languages.
  • Add Flixbus PDF ticket extractor.
  • Fix Flixbus ticket tokens extracted from JSON-LD in more cases.
  • Fix trip grouping on changing reservation numbers.

Unfortunately I wont be able to attend Akademy in person after all, COVID caught up with me after successfully evading it until now. I’m fine, not being able to meet everyone in Barcelona today is what hurts most.

Others have been gathering useful data on the go though, captures of SNCF onboard API usage will hopefully enable new features in KDE Itinerary, and observations about train station floor levels will result in fixes in OpenStreetMap.

For Itinerary users attending Akademy, there’s a file to import entries for the conference days and social events (the MareNostrum visit on Friday is missing though, as I didn’t find the exact times).

Infrastructure Work

New ZXing Aztec decoder

ZXing-C++, the library we use for barcode decoding, will get a new decoder for Aztec codes in its next release.

This helps with a few issues in travel data extraction:

  • Some Ouigo ticket variants contain slightly distorted Aztec codes, which weren’t detected.
  • Aztec codes can now also be decoded as part of a larger raster image, found for example in IndiGo boarding passes.

1D Barcodes

For barcode decoding the focus so far has been on 2D matrix codes, as only those can contain a sufficient amount of data for possibly containing a machine readable ticket. There’s tickets still using 1D barcodes as well though, merely containing a token rather than a self-contained ticket.

Those can now also be detected in e.g. PDF documents by the travel document extractor, both in raster and vector form (in theory there’s a third variant, using special fonts, but those are visible in the PDF text already with their decoded content). The Itinerary app can now also show more 1D barcode variants for such tickets.

Extractor scripts now have access to links in PDF documents, by listing all links on a page or by querying by a sub-rectangle of the page. A use-case for that is to find Google Maps links embedded in travel documents to extract geo coordinates from those.

Fixes & Improvements

Travel document extractor

  • New extractor scripts for BlaBlaCar busses, Vistara boarding passes and Eventim tickets.
  • Improved extractors for Amtrak, Ryanair and SNCF (bug 458514).
  • New generic airport terminal extraction for PDF boarding passes.
  • Improved gate and boarding time detection in Apple Wallet passes.
  • Work around Amadeus PDFs containing wrong creation/modification times. This fixes boarding passes generated by their software being detected in the wrong decade.
  • Consider transliterations when comparing traveler names.
  • Make UIC 918.3 and RCT2 parsing more tolerant against creative (mis)uses, in order to parse PKP tickets.

Itinerary app

  • Fix showing the right Apple Wallet event ticket for multi-attendee events.
  • Improve width and positioning of map overlay sheets (bug 457770).
  • Correctly propagate ticket and document data to newly added elements as part of selecting an alternative journey.
  • Fix scrolling of the vehicle layout view.
  • Support importing health certificates from Apple Wallet pass files.
  • Only include transport modes in the statistics that at least have one entry.
  • Fix Apple Wallet pass event ticket rendering issues.

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.