DelietaDocs

Machine-translated. Polish is the canonical documentation.

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 --> shown

Live 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.

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.