Die Routing-Entscheidung dominiert jede andere architektonische Wahl in einem Lieferaggregator, denn verspätete Lieferungen waren genau das Versagen, das der Kunde von uns beheben ließ. Wir haben uns für eine eigene multimodale Routing-Schicht statt einer einzelnen fertigen Directions-API entschieden, weil dieselbe Karte für einen Fußgänger-Kurier, ein Fahrrad, einen E-Roller und ein Auto grundlegend unterschiedliche optimale Routen erzeugt. Jeder Modus erhält ein eigenes Geschwindigkeitsprofil und Abbiegekostenmodell, und der Dispatcher bewertet Kandidaten anhand der voraussichtlichen Ankunftszeit, der aktuellen Auslastung und der Eignung des Modus für die Lieferdistanz — und reoptimiert dann kontinuierlich, sobald neue Bestellungen in die Queue gelangen. Eine reine Endkunden-Directions-API hingegen geht von einem einzigen Fortbewegungsmodus pro Anfrage aus und kennt weder Dispatch-Fairness noch Flottenauslastung, sodass jede ehrliche Pünktlichkeitsaussage in unserer eigenen Schicht durchdacht werden muss. Wir nutzen Kartenanbieter für den zugrunde liegenden Straßen- und Fußgängergraphen und legen unsere Bewertungs- und Dispatch-Logik darüber, was die Routing-Engine über US- und EU-Städte hinweg portierbar hält, ohne den Dispatcher neu zu schreiben.
Fertige White-Label-Liefer-SDKs wurden früh ausgeschlossen: Ihre Dispatch-Heuristiken sind undurchsichtig, ihre Fahrzeitmodelle gehen von reinen Auto-Flotten aus, und ihre Lizenzbedingungen machten das dreiseitige Account-Modell umständlich. Die Routing-Engine selbst auf Basis offener Standards zu bauen, bedeutete, dass der gesamte Pfad — Katalog, Warenkorb, Dispatch, Kurier-App — ein kohärentes, eigenes System ist, geliefert im Rahmen unserer Praxis für individuelle Softwareentwicklung.