The journey planner uses the same journey data as timetables, this means the timetable preview in Passenger Cloud can be used to confirm the schedule is correctly interpreted before attempting to debug any issue specific to OSM/journey planning.


There are times when an operator may want or need to split a journey into multiple sections. This can be because:

  • A journey is so long that the driver needs a break
  • A journey length may contravene EU driving hour regulations
  • The second part of the journey is operated by the same bus, but under a different service number

The driver may change, but in any case, passengers would remain on the same bus. However, operators have to represent these journey parts as separate journeys in their data so they might show two half journeys even if they're part of the same, longer journey.

As the data represents the journey as two half journeys, journey plans will advise customers to alight, then board once again. Through ticket is often available, in which case alighting is unnecessary and may even cause ticket disputes.

Whilst we do support the merging of journeys within journey plans, the results are very dependent on what we receive in the TransXChange data. Journey plans will not suggest passengers board buses at stops designated in the TransXChange dataset as specifically for alighting, only.

TransXChange allows any journey to be assigned a block number. We carry that information through to the journey planner, and if the customer is routed across two journeys with the same block number, they won't be told to get off the bus. However, this is subject to the following conditions in the data:

  • The modes for both journeys are the same (e.g. both need to be 'bus')
  • The trip block numbers match for both journeys (BlockNumber tag in the XML file)
  • The first journey ends where the second journey begins (i.e. both at the same bus stop, defined by the ATCO code and other identifiers)
  • There is no less than 3 minutes and no more than a 10 minute wait before departure (based on the first journey's arrival time, and the second journey's departure time).

If all of these conditions are met, the journey planner should merge the journeys and not inform customers to get off the bus. However, if not all of these conditions match, then the journey planner will show two separate legs of the journey theoretically using two separate vehicles, meaning it will appear that users will have to get off and back on the bus.

We perform the process of interlining and merging journeys after journey plans have been calculated, rather than as part of the journey planning calculation itself. Tweaking and testing TransXChange data may mitigate or reduce any issues, but there may be occasions where the journey planner may not always given optimal results.

Continue to the next article on Improving Journey Plans: Identifying routing issues.