Appearance
Corridors
What this chapter covers
A corridor is a named, ordered path of waypoints — configured once and used by every mission that runs it. This chapter explains how a corridor owns no geometry of its own, how its consecutive waypoint pairs resolve to road segments when a mission is created, how per-leg variant pins let an operator lock a preferred road, and how corridors are curated in the admin portal. It builds directly on the waypoints and roads from the previous chapter and feeds the mission-creation flow in Part 5.
The picture
The corridor is the list of places, in order. The roads between them are found when a mission is built.
A corridor owns no geometry
A corridor is a named ordered sequence of waypoints and nothing more. The roads are found by looking at each consecutive pair of waypoints in the sequence and resolving that pair to a curated road segment at the moment a mission is created.
This is deliberate, and it is what makes shared trunks fall out for free. The Douala–Yaoundé road belongs to the N'Djamena corridor and the Bangui corridor at the same time. If a corridor owned its geometry, that road would have to be drawn and maintained twice, and the two copies would drift. Because the corridor only names waypoints and the road is resolved from the shared, globally-curated map, one road edit propagates to every corridor that runs it.
The ordered sequence lives in the corridor's waypoints. Each entry has a sequence order and a role — origin for the first, destination for the last, waypoint for everything in between. Role is display metadata; corridor matching cares about membership and ordering, not role.
Per-leg variant pins
"Configure once" includes the choice of which road. Where a pair of waypoints has more than one curated road between them — a fast toll route and a free alternative, say — an operator can pin the preferred variant for that leg. The pin lives on the waypoint that starts the leg: it names the road segment to use when the corridor is resolved for a mission. Where no pin is set, resolution picks the canonical variant for the pair.
Pinning means the operator's routing preference is captured in the corridor itself, so every mission built from that corridor inherits it without anyone re-choosing the road each time.
Global and tenant-private corridors
Corridors come in two scopes, mirroring the waypoints and roads they are built from.
- A global corridor has no tenant and is shared by every fleet. The Douala–N'Djamena trunk is the same path regardless of who runs it, so it is curated once, centrally, as the source of truth.
- A tenant-private corridor belongs to one fleet — a route only that company runs, or a variation it prefers.
A corridor's name is unique within its scope: two tenant-private corridors in the same fleet cannot share a name, and two global corridors can never share a name across the whole platform — the shared trunk map holds exactly one corridor per name. A retired corridor frees its name for reuse. Deleting a corridor never orphans the missions built from it: a mission keeps its own resolved roads and frozen acceptance region, so a corridor is a preset and a provenance record — it hands the mission its roads and region once, then plays no further part.
Resolution and inference
Two operations turn a corridor into a mission route, and they run in opposite directions. Resolution starts from a named corridor and produces roads; inference starts from two places and produces a corridor. Keeping the two apart is the key to reading this chapter.
Resolution runs when a mission is created from a corridor. Each consecutive waypoint pair is looked up in the road map, honoring any pins, and the ordered list of resulting road segments becomes the mission's route. A travel direction — forward along the corridor's sequence, or reverse — decides which way the sequence is read; reverse simply folds the order.
Inference runs the other way, in quick-assign, when the operator has a pickup and a delivery but has not named a corridor. Korido searches for a corridor whose path covers both places — where both the pickup and the delivery appear in the sequence with compatible ordering. A match can be:
- forward or reversed — the corridor is a path, and either travel direction is a candidate;
- endpoints or interior — the pickup and delivery can be the corridor's ends, or an interior sub-path of a longer corridor. When they name an interior stretch, the full path is derived and then trimmed to the requested legs.
That last case is worth seeing concretely. The Douala–N'Djamena corridor threads a chain of waypoints — Douala, Yaoundé, Bertoua, Garoua-Boulaï, Ngaoundéré, the Touboro border, then Moundou, Kélo and Bongor into N'Djamena. Suppose a dispatcher only needs the Yaoundé → Ngaoundéré stretch. Inference matches the long corridor, derives its full ordered path, and trims away the outer legs — the mission carries just that middle span, the cities between pickup and delivery still on it:
At the pilot's scale this is a plain search over a few dozen corridors — no special index is needed. The mechanics of how inference plugs into quick-assign are in creating missions.
Curation in the admin portal
Corridors and their roads are curated in the admin portal. The editor is organised per road: an operator works on the geometry of one road between two waypoints at a time, seeing its centre line and buffered polygon on the map. This per-road view is what keeps the "one geometry per road" rule visible and enforceable — an operator curates roads, and corridors reference them.
Adding a reverse geometry is an explicit action. "Add reverse override" is a deliberate choice an operator makes only when a road genuinely splits by direction. The default is a single geometry reused both ways, so the tooling does not tempt anyone into curating mirror copies that would only drift apart.
Edge cases
- A leg with no curated road. If a corridor names a pair of waypoints that has no road segment between them yet, resolution cannot complete that leg. The mission can still be created, but with no full acceptance region — and Route Guard skips a mission that has no corridor polygon rather than raising false deviations. Curating the missing road repairs every future mission on that corridor.
- Interior sub-path. When inference matches an interior stretch of a longer corridor, the derived route is trimmed to the requested pickup-to-delivery span — that trimmed span is all the mission carries.
- Both directions match. A pickup and delivery can appear in a corridor such that both forward and reverse reading are valid candidates; the requested travel direction disambiguates.
- A road re-curated mid-flight. Editing a road's geometry re-unions the acceptance region of the in-flight missions that use it, so an active mission benefits from a correction without being rebuilt. That propagation is described in Route Guard.
Known limitations
- Matching is membership and ordering, not proximity. A corridor is a list of places; inference matches a pickup and delivery only when both already appear on some named corridor with compatible ordering. It has no geometric sense of "near" — a pair no corridor covers produces no match, and the operator assembles the route by hand or drops ad-hoc places onto it.
- A named path is only as good as its curated roads. A corridor names places. A leg whose road is not yet curated resolves to an incomplete acceptance region, and Route Guard skips a mission with no corridor polygon — correct monitoring on that leg waits until the road is drawn.
What's ahead
- Border crossings and breakdowns as first-class entities. Today a border crossing and a breakdown are recorded as facts and measured durations inside a run — a border is a waypoint the truck dwells at, a breakdown is a classified stop. The next step is to promote each to an entity with its own lifecycle: border crossings gaining a compliance record of their own once cross-border reporting is on the table, and breakdowns becoming tracked incidents inside a maintenance workflow.
- Learned corridor proposals. Corridors are curated by hand today, as the single source of truth. As real traffic accumulates, Korido will cluster the roads fleets actually drive and propose new corridors and road variants for an operator to confirm — curation stays human, but the map begins to suggest its own extensions.
How it connects
- Waypoints and road geometry — the places and roads a corridor is assembled from.
- Route Guard — how a resolved corridor becomes a frozen acceptance region for a mission.
- Creating missions — quick-assign, corridor inference, and templates in practice.
- Driving rules — a corridor can carry a default rule set that a mission inherits.