Since the last update two month ago KDE Itinerary got an improved timeline view, new importing and editing capabilities and even more travel document extractors. We also started to explore ways to integrate with Matrix for coordination during group trips.

New Features

Timeline revamp

The most noticeable changes both in look and feel happened around the main timeline view, in particular the better looking card headers and the much improved scrolling performance.

KDE Itinerary's main timline page showing a train ticket, hotel reservation and weather forecast.
KDE Itinerary's new timeline view.

Many more details of the timeline were improved as well:

  • Transfers are now properly included in trip groups and don’t sometimes leak out after a group in case of delays.
  • Weather forecast elements are much more compact.
  • Cancelled elements no longer trigger conflict or missing connection warnings and no longer show progress indicators or interfere with transfers.

Besides the significant timeline scrolling performance improvement, we also integrated a few optimizations for the application startup, with loading more data on demand and by using more efficient storage formats.

Importing from URLs

Importing data by merely copy/pasting a URL to the corresponding event such as the KDE Akademy 2023 website has been mentioned last time already, but has meanwhile been expanded further.

This now also works for website referring to e.g. a hotel or restaurant which unlike an event misses information about when you are going to be there. In those cases we now bring up the corresponding editor pages pre-filled with all information already found on the website.

Like with events this is all based on machine-readable schema.org annotations in those sites and thus only works with sites having that.

KDE Itinerary's hotel reservation editor with the hotel address already filled in.
Hotel reservation editor pre-filled based on a pasted URL.

Additionally, importing from URLs now also works via the URL sharing feature on Android.

Even more editing

In order to support this Itinerary’s editing capabilities have been significantly expanded. This includes:

  • Bus seat reservations.
  • Shortening bus trips as it has already been possible for train trips.
  • Hotel checkin/checkout times.
  • Restaurant reservation times.
  • Event times and URLs.
  • Airport names, terminals and arrival times for flights.
KDE Itinerary's bus reservation editor allowing to shorten trips and add reserved seats.
Bus reservation editor.

Several platform-specific date/time editing issues have also been addressed, as well as the address editor flagging all postal codes as invalid in countries where we have no postal code format information.

Infrastructure Work

Matrix location sharing

In the background we have been experimenting with the foundation for new exciting features to support coordination on group trips, integration with Matrix.

This mainly includes exploring how general Matrix support can be made available to non-chat applications without duplicating essentially a full chat client, as well as more specifically how static and real-time location sharing over Matrix could work, ideally not just limited to a simple coordinate but including all the context we have in Itinerary.

NeoChat showing a map with a location shared from the corresponding event reservation in Itinerary.
NeoChat showing a location shared from Itinerary.

This is all still early and experimental and not integrated by default, but hopefully we have the basics working in time for some field testing during Akademy in Thessaloniki in a few weeks :)

I'm going to Akademy 2023!

Generic ERA FCB extractors

Quite some effort went into implementing ERA “Flexible Content Barcode” (FCB) ticket barcodes over the past year, at times when those only occurred rarely in the wild. ERA FCB barcodes are the “new” fully machine readable (but very complex) standard for interoperable European railway tickets. This effort starts to pay of nicely meanwhile, as more and more operators begin to use this format, most recently European Sleeper and some variants of the “Deutschlandticket”.

With the wider selection of samples we were now able to implement a generic extractor for ERA FCB tickets, which should produce decent results even with ticket variants we haven’t seen yet. With the preceding more human- than machine-readable ERA TLB format this was far less reliable.

The use of UIC station codes in ERA FCB tickets also resulted in 1000+ Wikidata changes to add or fix UIC codes in railway station data, in particular in regions that traditionally used different station codes, such as Germany.

Fixes & Improvements

Travel document extractor

  • New or improved extractors for Aegean Air, Air Asia, ATPI, B&B Hotels, Best Western, České dráhy, Deutsche Bahn, European Sleeper, Eventbrite, FlixBus, Gepard Express, Grimaldi Lines, MÁV, ÖBB, Ouigo, Qatar Airways, SNCB, SNCF, Sunny Cars, Vueling, and Westbahn.
  • Support for several encoding variants of the Deutschlandticket, as well as for the ÖBB VorteilsCard.
  • Fixed merging of hotel reservations for different people with different checkout times.
  • Fixed extracting from emails with emails as attachment.
  • Improved generic name extraction to also recover spaces lost in boarding pass barcode encoding.

All of this has been made possible thanks to your travel document donations!

Public transport data

  • Improved coverage metadata for the Czech Republic.
  • Fixed a crash when cancelling location search queries.
  • Fixed location queries in Australia and the UK.
  • Support for FlixTrain, MÁV and SNCF Intercites onboard APIs.
  • Support for disruptions messages from the Deutsche Bahn onboard API.

Indoor map

  • Train station floor level data fixes in OSM for Lyon Part-Dieu, Mönchengladbach and Stuttgart, among others.
  • Fixed hit detection for icons using a physical sizes.
  • Support for the MapCSS text-position declarations as well as negative numeric tag values.
  • Improved rendering of different variants of linear barrier types (bollard lines, hedges, kerbs, etc).
  • Fix rendering of service roads in the light color style.
  • Handle additional ways of modelling platform sections in OSM.
  • Fixed rendering of ocean areas.
  • Improved rendering of certain combinations of floor and column elements found e.g. in Paris Gare de l’Est.

Itinerary app

  • Fixed display of binary PDF417 barcodes used e.g. by MÁV.
  • Added support for EAN13 barcodes needed e.g. by Grimaldi Lines ferry tickets.
  • Fixed a deadlock on updating currency conversion rates (bug 469562).
  • Fixed attaching documents on multi-traveler reservations losing data of other travelers (bug 469347).
  • Fixed imported PDFs losing their file name on Android (bug 468942).
  • Show the platform section for the current seat reservation or booked seating class on the train details page when available.
KDE Itinerary's train reservation details page showing the platform section the current seat reservation is in.
Train departure details showing the platform section based on the seat reservation.
  • Show disruption notes on the live status page when available, and hide information that is not supported on board of the current trip.
  • Added a toggleable auto-follow mode to the live status map.
  • Improved Apple Wallet boarding pass layout for overflowing labels.
  • Fixed vehicle layout content overlapping the page header on Android.
  • Improved the display of date-only check-in/check-out times for hotel reservations.

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 in the KDE Itinerary channel on Matrix.