Matching

Matching is the core of ioki Platform code. It determines whether a ride request is successful, which vehicle planning is best suited to serve it, and how pickup and drop-off fit into existing tasks. The matching algorithm is in its nature address-based. It can be restricted through the matching mode to a hybrid model, where one end must be a station, or to a fully station-based model. If lines are introduced, matching is restricted further so that only stations along lines can be served.

Matching is always triggered when a ride is created. It receives all ride information, including the requested number of passengers, the corresponding passenger and ride options, and the requested points for origin and destination, which consist of the requested geo point and the requested time.

The matching algorithm tries to find the best solution to serve the request. To do this, suitable pickup and drop-off tasks are inserted into vehicle plannings. Depending on the matching mode, these can be addresses or stations.

If matching is successful, calculated points and negotiation times are calculated and returned.