It’s been two busy months for KDE Itinerary again since the last summary, with new journey timeline entries, public transport arrival search, nearby amenity discovery and many more improvements.

New Features

Journey details in the timeline

After the update of the journey details page Mathis Brüchert also updated the timeline entry for train and bus trips. This can now be expanded inline to show the intermediate stops and ongoing delays and disruptions.

Itinerary's timeline showing an entry for an ongoing train trip listing all intermediate stops and the delays/disruptions along the way.
Expanded timeline entry for an ongoing train journey.

Eventually this should also show the trip progress when that information is available from onboard live data, but that’s not fully done yet.

When adding train or bus trips from a manual search, it’s now also possible to search by arrival time rather than just by departure time.

Itinerary's train/bus journey search form having a new option to search by arrival time as well.
Train journey search allowing to search by arrival time.

The indoor map in Itinerary now can list all amenities in the building or area currently looked at. This enables things like finding a place to grab a coffee in a big train station or searching for a place to get food in the vicinity of your hotel, powered by OSM and without any search term ever leaving your device.

Itinerary showing a list of restaurants and shops with names and opening hours and a search line.
Itinerary's amenity search in the vicinity of a train station.

This post has some more details.

Exporting individual reservations

After adding the ability to export entire trips and sending them directly via KDE Connect to your phone it’s now also possible to do this for individual entries. This is available from the corresponding details pages.

OSM editing support

For OSM contributors Itinerary’s indoor map can now open the currently selected element directly in an OSM editor for fixing or improving map data.

Details sheet for a selected map element in Itinerary showing buttons for editing in iD and JOSM.
Edit actions for a selected map element.

This supports iD, JOSM and Vespucci so far, this post has some more information.

Infrastructure Work

Qt 6 Android APKs

With the transition of much of KDE’s software to Qt 6 underway, a big obstacle for Itinerary to follow along has been and still is the state of the Android support. There has been quite some progress around building Qt 6 based APKs recently though, which addressed several major blockers.

There have been three blog posts with more details:

We still need to get things to run properly as well though.

OSM raw data tiles

The OSM raw data tile server powering e.g. Itinerary’s train station maps has received a number of fixes and performance improvements, motivated by work on properly rendering directional lines (e.g. one way streets, escalators, cliffs/embankments, etc).

To support this work we now have a new automated test rig for the tile server code, which makes changing this code far less risky.

For more information, see this post.

OSM MapCSS renderer

There has been also more user-visible work on the OSM indoor map renderer, around the positioning and visibility of potentially overlapping icons and labels as well as for rendering of merged polygon and line casings.

Itinerary's map renderer using the Carto style showing densely packed amenity icons and labels without undesired overlap.
Densely packed icons/labels with explicit overlap control for the entrances.

As those changes involve extra computational cost the map renderer also received a number of performance optimization to more than make up for that. More details can be found in this post.

Fixes & Improvements

Travel document extractor

  • New or improved travel document extractors for 12go, Amadeus, booking.com, bookingkit, European Sleeper, Eurostar, FlixBus, GWR, Iberia, Motel One, no-q, PKP, Pretix, Renfe, Qatar Airways, SAS, Thalys and UK railway.
  • Improved generic extractors for ERA FCB and RCT2 ticket barcodes.
  • Fixed barcode decoding when PDFs apply a non-uniform scaling transformation.
  • Increase maximum document size threshold after encountering boarding pass PDFs bigger than 4Mb.
  • Fixed compatibility with libxml >= 2.11.
  • Improved workarounds for non-compliant Apple Wallet pass message catalogs.
  • Correctly compare times with and without timezones when merging reservation data.

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

Public transport data

  • Handle canceled stops in DB ICE onboard API journey data (can be seen in the first screenshot above).
  • Add onboard API support for Lufthansa, Eurostar and United.
  • Fixed Navitia coverage for Australia.
  • New tools to generate coverage area polygons from ISO 3166-1/2 boundaries for the Transport API Repository.

Itinerary app

  • Notification permissions for Android 13 are now supported, as described here.
KDE Itinerary offering to request Android notification permissions on its settings page.
KDE Itinerary's notification settings.
  • Booking references, ticket numbers and program membership numbers can now be copied. This is useful when you have to enter them in e.g. a web form.
  • Online ticket import now also works for DB Next tickets (those with a 12 digit number rather than a 6 character alpha-numeric code).
  • Train coach layout actions are now in the seat section of the details page, and more seat details are shown on the event page.
  • Fixed various layout issues when displaying Apple Wallet passes.
  • Added more sanity checks for automatically adding transfers. This should fix nonsense transfers being added when flights or train tickets without times end up in the timeline in the wrong order.
  • Fixed the live status page showing broken content when no live data is available yet.

How you can help

Feedback and travel document samples are very much welcome, as are all other forms of contributions. 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.