RoutingModules should return disutility of the calculated trip

Description

With the recently merged routingMode all RoutingModules, which need walk legs for access/egress, use the walk router, so other RoutingModules call the walk RoutingModule. Unfortunately RoutingModules only return a list of PlanElements and do not return associated information such as disutlity for the trip or total travel time. So the main RoutingModule has to recalculate that information after obtaining an access/egress trip from another RoutingModule. This is particularly annoying for intermodal routers, e.g. SwissRailRaptor which then try to recalculate the travel time and disutility for all possible modes (see DefaultRaptorIntermodalAccessEgress) and obviously are not good at that (e.g. DefaultRaptorIntermodalAccessEgress only considers travel time and does not care about distance or cost).

This prevents us from considering drt fares and other costs correctly in intermodal routing.

We could think of putting cost or disutlity into leg attributes (or a proper field in Leg), but I'm not sure whether this is versatile enough.

Any other ideas on how to solve that? Maybe we could discuss this at the code sprint?

Environment

None

Assignee

Unassigned

Reporter

Gregor Leich

Labels

None

Components

Priority

Major
Configure