Concepts
Delieta’s on-screen dictionary — ETA window, tracking link, tenant, entitlement, run, GPS token.
The ? helper in the panel says “see the concept” and lands on one of these headings. Each heading is one word from the UI, not a chapter on architecture.
ETA window
The customer sees a range of minutes, not a single minute. The more certain the GPS and the slower the traffic, the narrower the window. One number on the tracking page would be false precision — and would raise anxiety when the minute moves.
An API quote (POST /api/v1/quotes) returns the same as minMinutes and maxMinutes, with guaranteed: false. A partner who shows one number breaks the concept, not just the mock.
flowchart TD
q["API quote, before there is an order"] --> sum["prep + load + travel + pad"]
sum --> win["Minute window, guaranteed false"]
live["Order on the way"] --> need{"GPS position and point B"}
need -->|"either missing"| none["No ETA, page still lives"]
need -->|"both present"| route{"Google route"}
route -->|"key and response"| road["Road time"]
route -->|"missing or error"| hav["Straight line"]
road --> shown["Customer sees a window, not one minute"]
hav --> shownLive ETA on /o/… exists only when the order is on the way, there is a driver position and there is point B. Missing any of them does not break the page — there is simply no window.
Plan limits
Every plan has a ceiling for vehicles, drivers and members. After the ceiling a new row will not save until you change plan or free a slot. That is not a field-validation error — it is a company entitlement.
The message in the panel says which ceiling you hit. The helper next to the plan leads here, not to pricing.
Tracking link
The /o/… address (order short code) works as long as the order is in the system. In production it is on the company host: id.delieta.pl/o/…, or — on Pro — on a custom host after CNAME. After delivery it opens as finished, not as 404. Whoever knows the link sees that delivery — the customer’s name, phone and address do not come out on that page.
Another company’s host with your code shows nothing. The old link on delieta.pl/o/… still works.
This is not the driver token. You copy the link from the order card and send it to the recipient. How to do it in the panel: How to send a tracking link. The partner gets the same URL as trackingUrl in the 201 response. DNS and diagnostics: Tracking domain.
Driver GPS
The driver’s phone sends position on a drv_… key. Until the first signal, the fleet shows “Waiting for GPS”. The first ping is a milestone, not a telemetry detail.
The key stays on the phone. Rotation invalidates the old address. Do not paste drv_… to the customer — the customer has the tracking link.
Tracking token
The tracking token is the same drv_… key on the driver’s phone. The name in the code and on the enrolment screen. It is not an order identifier, it does not open /o/…, it does not work as a panel password.
Two tokens, two worlds: drv_… says “this person is here”; /o/{shortId} says “this pizza is here”. Mixing them leaks the driver’s location to people who were meant to see one delivery.
flowchart LR drv["drv_ key on the driver's phone"] --> gps["driver position and job"] page["/o/ page plus short code"] --> glance["one delivery without name and phone"] drv -.->|"does not open"| glance page -.->|"does not steer"| gps
Alert severity
Colour says how urgent. That is not a read status or a resolution.
- Urgent (red): happening now — the driver vanished from the map or they themselves report a problem.
- Risk (amber): it will be too late soon — arrival will miss the promised ETA window.
- Operational (grey): deal with it this shift — idle driver, weak battery, queue without assignment.
Acknowledge, snooze and resolve are separate verbs. A grey alert that has been read is still operational until someone closes it.
Tenant
A tenant is a company: pizzeria, florist, service shop. A person’s account and a company are not the same — one person can be invited; the company has a plan, a fleet and a catalog.
Isolation is on the company, not the role. A member of company A does not read company B. Inside a company every invitee has full operational access; role is a label.
Partner API does not take a tenant name in the body. The dlt_live_… key is the company.
flowchart LR session["Panel: signed-in session"] --> doorA["Company door"] key["Partner: Bearer dlt_live"] --> doorB["Company door"] doorA --> co["Company A"] doorB --> co co -.-> miss["Company B does not exist for this call"] pub["Publishable key"] -->|"catalog:read only"| menu["GET /menu"] role["Member role"] -.->|"a label, not a gate"| co
Entitlement
An entitlement is what the plan allows the company to have: ceilings (vehicles, drivers, members) and flags (live tracking, analytics, white-label readiness). Missing an entitlement does not render a disabled button — the feature is not there.
Live tracking is in Starter, Growth and Pro. Analytics comes higher. A custom domain is recorded as Pro readiness, not as a working card in Integrations.
The helper next to plan limits leads to limits; entitlement is the wider word when the talk is a flag, not a ceiling.
Run
A run is the driver’s current course: ordered stops they are carrying now. On the driver card it shows as “Current run”. An empty run means the person is on shift but nothing is assigned — a different state from missing GPS.
A run is not an order. An order can wait in the kitchen without a run; a run can have several orders. The public tracking link always belongs to one order, not the whole run.

