Appearance
Clients
What this chapter covers
Every mission is run for someone — the shipper or consignee whose cargo moves down the corridor. Korido keeps a client record for each of them, and that record does real work: it remembers the places a client ships from and to so dispatch can pre-fill them, it carries the client's usual corridor and driving policy so a mission built for them starts already shaped, and it is where an owner manages the tracking links that let the client follow a delivery. This chapter describes the client record, the saved locations attached to it, how both feed mission creation, and how a client's tracking links are administered.
The picture
A client is a small hub. Locations tie it to the map; missions record which client they served; tracking links are grouped by the client they were shared with; and two defaults — a corridor and a driving policy — lean into the next mission built for that client.
The client record is deliberately lean — a name and a way to reach someone — with the operational weight carried by the locations and defaults attached to it.
The client record
A client is one of the operator's customers: the party that owns the cargo. A tenant keeps as many as it needs. The record itself is minimal — a name (required and unique within the fleet), an optional contact (a person, a phone, an email), and free notes. That is all a mission form needs to surface a client, and it is enough to attach every downstream convenience to.
A client's only path out of the active list is deactivation: "Désactiver" hides it from the new-mission pickers while leaving every past mission that named it fully readable: "les missions passées restent accessibles." A deactivated client can be reactivated at any time, and a name already in use is refused so two live clients can never collide.
Saved locations
A client ships from and to particular places, and typing those in for every mission would be wasted work. So a client carries saved locations — its "Lieux associés" — each one a named map waypoint tagged with the role it plays for this client:
- "Prise en charge" — a pickup place, where this client's cargo is loaded;
- "Livraison" — a delivery place, where it is dropped;
- "Les deux" — a place that serves as both, typical of a port or depot that is an origin on exports and a destination on imports.
Each association can carry a short label — "Entrepôt 2", "Port berth A" — to tell two locations of the same role apart. Because a location points at a real waypoint on the shared map, it stays meaningful as that map evolves: a waypoint a client depends on cannot be quietly deleted out from under it — the association must be cleared first, and removing the association leaves the waypoint itself untouched.
How a client shapes a mission
The payoff for keeping clients is speed at dispatch. Picking a client in the mission wizard hydrates the plan from everything the record remembers.
The client's saved locations pre-fill the route pickers by role — a pickup or both location proposes the origin, a delivery or both location proposes the destination — so a routine run starts with its endpoints already chosen. On top of that, a client can carry two defaults, set on the client's own form: a usual corridor ("Corridor par défaut"), which Korido suggests when it covers the picked origin and destination, and a usual driving policy ("Règles de conduite par défaut"), which enters the rule-set resolution chain at the client level. Each is optional and cleared as easily as it is set, and only a driving policy belonging to the fleet — or a corridor the fleet can see — is accepted. Both are described from the mission side in creating missions and driving rules; here the point is that they belong to the client and travel into every mission built for it.
Tracking links, per client
The customer-facing side of a client is the tracking link — the scoped URL a customer opens to follow a delivery. An owner manages a client's links from the client's own record: a "Générer un lien" action pre-scoped to that client, and a list of the client's existing links showing each one's expiry and view count, with per-link actions to extend ("Prolonger"), revoke ("Révoquer"), copy, open, or share over WhatsApp.
When a link is created its lifetime is chosen — 7, 14, or 20 days, defaulting to 20 and capped at a hard maximum of 20 — and mission, client, and convoy links are gated by the last four digits of the recipient's phone. Revoking a link rotates its secret so every gate pass already issued stops working, closing the view cleanly. A link can cover a single mission or several, and one shared with a client for a convoy tracks the whole group. Alongside the per-client view, a fleet-wide tracking surface lists every link with its status, client, and convoy for an owner who wants the whole picture at once. What the customer then sees on the other side of the link is the subject of the tracking portal.
Edge cases
- A place that is both pickup and delivery. A port or depot that serves both directions is saved once, with the "Les deux" role, and it proposes itself as either endpoint in the wizard.
- A deactivated client with past missions. Deactivating a client removes it from the new-mission pickers but preserves every mission that named it, so the operating record survives the client leaving the active book.
- A waypoint a client relies on. A waypoint that is a client's saved location cannot be deleted while the association stands; the association is cleared first, which protects a client's remembered places from vanishing by surprise.
- A duplicate name or a duplicate location. A second live client with the same name is refused, and adding a location a client already has under the same role is a no-op rather than an error.
Known limitations
- The client record is a book, not a CRM. It holds a name, a contact, notes, and its two mission defaults — enough to run dispatch and tracking — but not billing terms, addresses, credit, or a document file. Richer customer management is deliberately left out so the record stays fast to create and simple to reason about.
What's ahead
- A fuller customer profile. The lean record leaves room to grow toward a proper client profile — contacts and addresses, and a client's own document and billing context — without disturbing the mission and tracking flows that already lean on it.
- Proactive delivery updates. Today a client pulls a live view from a link; the direction is to let an owner push a client the milestones that matter, so tracking becomes a conversation rather than a page the customer must refresh.
How it connects
- Fleet assets — the vehicles, trailers, trackers, and drivers a mission is carried by; clients are who that work is for.
- Creating missions — where a picked client's locations pre-fill the route and its defaults seed the plan.
- Driving rules — the rule-set chain a client's default driving policy enters.
- The tracking portal — what a customer sees through the links administered here.
- Waypoints and roads — the shared map points a client's saved locations are built from.