Skip to content

August/September in KDE Itinerary

Saturday, 4 October 2025  |  Volker Krause

In the past two months since the last update KDE Itinerary got the ability to use the current location as a starting point for journey searches, a currency converter and the ability to store hotel room details, among many other improvements.

New Features

Journey searches starting at the current location

The current device location can now be used as a starting point for journey searches.

Itinerary's departure location search page with a new option to use the current location.
Current location option in departure location search.

For more details, see Kai’s blog post on this.

Currency converter

The same blog post also covers the newly added currency converter. While Itinerary was able to show currency conversion rates since some time already it now also allows to enter arbitrary values and get those converted in either direction.

Itinerary's trip page, with the currently converter shown on top.
Currency converter.

Hotel room details

Another addition is a new field in hotel reservations to record room numbers or room access codes, which is particularly useful in hotels where you are presented with all that just on a display during (automated) check-in, rather than a physical key or paper card.

Itinerary's hotel reservation page showing a new free-form description section.
Hotel room details.

Kai covered this in another blog post.

Events

In about two weeks there’s the first edition of the Open Transport Community Conference in Vienna, Austria. That covers many topics highly relevant for Itinerary, from public transport routing over liberating public transport schedule data to ticket barcodes, to just name a few. Excited to see what will come out of this.

There’ll also be two more OSM Hack Weekends, one in Berlin and one in Karlsruhe.

Infrastructure Work

Served transit modes at stops

For public transport data backends supporting this, KPublicTransport can now also list the served modes of transportation or even the served public transport lines for stops in geocoding queries.

This allows for a more detailed display of location search results. The current location search UI doesn’t make use of this to the fullest extent yet though, only generic mode icons are shown based on this so far.

Itinerary's location search results showing different icons for airports, major railway stations and metro stops.
Transit modes in location search results.

This is currently available with OpenTripPlanner and Hafas-based backends, and will also benefit KTrip.

Matrix trip synchronization

There has been some progress on the long-promised Matrix-based trip synchronization between different instances of Itinerary. In particular, the synchronization code can now properly handle the Matrix event size limit and transparently place larger elements into encrypted files. It also covers all of Itinerary’s internal data types (reservations, transfers, live data, Wallet passes and documents) meanwhile.

There’s still issues to work out around the edges, especially the first moments of syncing a new trip and the very last ones when deleting a trip.

Android SDK 35 support

Itinerary together with all other KDE applications for Android and their underlying stack had to be adapted to work correctly with the now mandatory edge-to-edge mode of Android SDK 35. If this works correctly you wont notice a difference, apart from a few places with fullscreen content. Without it things would have either looked very broken or we would not have been allowed to update via the Google Play store anymore.

Itinerary's favorite location picker map expanding below the Android navigation bar until the screen rounded edge.
Fullscreen content expanding to the screen edge.

There’s a separate post with more details on this topic.

MOTIS update for Transitous

A particularly significant MOTIS update deployed on Transitous was v2.2 which brought the ability to modify schedule data with Lua scripts applied during data import.

This allows to fix issues in the input data that we so far failed to get fixed upstream, and to normalize conventions between different datasets.

Prominent examples include the German long distance trains now being named in the expected way (using the trip number rather than the much less commonly used line number), and Flixbus busses in Europe actually being classified as long-distance bus services (which is important for filtering to work).

There’s more to fix still, the French long distance trains for example have a similar problem as the German ones, this probably deserves its own post eventually.

Fixes & Improvements

Travel document extractor

  • Added or improved travel document extractors for AirAsia, B&B Hotels, Booking.com, Center Parcs, Colosseum, Cvent, Ethiad, Eurostar, Eventbrite, FCB, Finnair, LTG Link, Northlink Ferries, Odoo, pathe.fr, Pretix, RegioJet, Ryanair, SNCF, Tito, tixly, United Airlines and ZSSK.
  • Fixed parsing of Apple Wallet passes with an UTF-8 BOM in their message catalogs.
  • Added support for Apple Wallet pass bundles (.pkpasses files).
  • Use Aztec barcodes for MÁV domestic tickets, even when given as PDF417 barcode. This hopefully fixes issues with getting PDF417 MAV tickets scanned correctly.
  • Give extractor scripts the ability to explicitly request rotated text.
  • Consider dividing trains when determining whether two reservations refer to the same trip.

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

Public transport data

  • Handle additional transit modes added in MOTIS v2.0.76 (aerial lift, cable cars, funiculars).
  • Make use of timezone information from MOTIS v2.3.
  • Support variable polyline encoding resolutions for MOTIS.
  • Parse vehicle features and operator information in legacy Hafas journeys.
  • Fix parsing of intermediate stops in legacy Hafas journeys.
  • Fix parsing of SNCF onboard data with missing carrier information (bug 506874).
  • Support result paging for LTG Link and Srbija voz.
  • Add support for two new EFA transit modes (on-demand services and long distance busses).
  • Sort the location search history locale-aware.
  • Improved automatic backend selection for location searches without any context information.

All of this also directly benefits KTrip.

Itinerary app

  • Also show ticket barcodes for hotels when available. While somewhat rare this is quite relevant when used.
  • Initially position the journey result view at the end for searches by arrival time (bug 507149).
  • Prefer 2D barcodes in Apple Wallet passes when available, those are more reliable to scan on a mobile phone display.
  • Remove duplicated entries from seat number displays.
  • Include location search history and downloaded public transport assets in the exported data as well, allowing for a more complete migration to another device.
  • Use a more appropriate time format in delay notifications.
  • Fix rendering of some rich text Apple Wallet fields.
  • Also show event names on the trip map view.
  • Show the maximum occupancy of any stop if we have no occupancy information at the departure stop.
  • Improved the performance of displaying journey search results.
  • Downloading public transport logos now also follows the setting for using Wikimedia online content.
  • Fixed scaling issues in public transport SVG icons.
  • Put action groups consistently into the overflow menu of they don’t fit into the toolbar.
  • Fixed transfer time calculation to events without end time.
  • Allow adding another transfers if an adjacent transfer is far enough away.
  • Fixed handling of elements without an explicit end time in automatic trip grouping.
  • Prefer the current trip when determining the default import target.
  • Fix applying flight journey query results to flight reservations, and create entries for aerial lifts.

How you can help

Feedback and travel document samples are very much welcome, as are all other forms of contributions. Feel free to join us in the KDE Itinerary Matrix channel.