Pojęcia
Słownik ekranu Deliety — okno ETA, link śledzenia, najemca, uprawnienie, tura, token GPS.
Helper ? w panelu mówi „zobacz pojęcie” i ląduje na jednym z tych nagłówków. Każdy nagłówek to jedno słowo z UI, nie rozdział o architekturze.
Okno ETA
Klient widzi przedział minut, nie pojedynczą minutę. Im pewniejszy sygnał GPS i wolniejszy ruch, tym węższe okno. Jedna liczba na stronie śledzenia byłaby fałszywą precyzją — i podnosiłaby niepokój, gdy minuta się przesunie.
Wycena z API (POST /api/v1/quotes) oddaje to samo jako minMinutes i maxMinutes, z guaranteed: false. Partner, który pokazuje jedną liczbę, łamie pojęcie, nie tylko makietę.
flowchart TD
q["Wycena z API, zanim jest zamowienie"] --> sum["przygotowanie + zaladunek + dojazd + zapas"]
sum --> win["Okno minut, guaranteed false"]
live["Zamowienie w drodze"] --> need{"pozycja GPS i punkt B"}
need -->|"brak ktoregos"| none["Bez ETA, strona zyje"]
need -->|"oba sa"| route{"Trasa Google"}
route -->|"jest klucz i odpowiedz"| road["Czas drogi"]
route -->|"brak albo blad"| hav["Linia prosta"]
road --> shown["Klient widzi okno, nie jedna minute"]
hav --> shownŻywe ETA na /o/… istnieje tylko gdy zamówienie jest w drodze, jest pozycja kierowcy i jest punkt B. Brak któregoś nie psuje strony — po prostu nie ma okna.
Limity planu
Każdy plan ma pułap pojazdów, kierowców i członków. Po suficie nowy wpis nie przejdzie, dopóki nie zmienisz planu albo nie zwolnisz miejsca. To nie jest błąd walidacji pola — to uprawnienie firmy.
Komunikat w panelu mówi, który sufit uderzyłeś. Helper przy planie prowadzi tutaj, nie do cennika.
Link śledzenia
Adres /o/… (krótki kod zamówienia) działa, dopóki zamówienie jest w systemie. W produkcji jest na hoście firmy: identyfikator.delieta.pl/o/…, albo — na planie Pro — na własnym hoście po CNAME. Po dostawie otwiera się jako zakończone, nie jako 404. Kto zna link, widzi tę dostawę — imię, telefon i adres klienta na tej stronie nie wychodzą.
Host innej firmy z Twoim kodem nic nie pokazuje. Stary link na delieta.pl/o/… nadal działa.
To nie jest token kierowcy. Link kopiujesz z karty zamówienia i wysyłasz odbiorcy. Jak to zrobić w panelu: Jak wysłać link śledzenia. Partner dostaje ten sam URL jako trackingUrl w odpowiedzi 201. DNS i diagnostyka: Domena śledzenia.
GPS kierowcy
Telefon kierowcy wysyła pozycję na klucz drv_…. Dopóki nie ma pierwszego sygnału, flota pokazuje „Czeka na GPS”. Pierwszy ping jest milowym kamieniem, nie detalem telemetrii.
Klucz zostaje na telefonie. Rotacja unieważnia stary adres. Nie wklejaj drv_… klientowi — klient ma link śledzenia.
Token śledzenia
Token śledzenia to ten sam klucz drv_… na telefonie kierowcy. Nazwa w kodzie i na ekranie enrolmentu. Nie jest identyfikatorem zamówienia, nie otwiera /o/…, nie działa jako hasło do panelu.
Dwa tokeny, dwa światy: drv_… mówi „tu jest ten człowiek”; /o/{shortId} mówi „tu jest ta pizza”. Pomylenie ich wycieka lokalizację kierowcy osobom, które miały zobaczyć jedną dostawę.
flowchart LR drv["klucz drv_ na telefonie kierowcy"] --> gps["pozycja i zadanie kierowcy"] page["strona /o/ plus krotki kod"] --> glance["jedna dostawa bez imienia i telefonu"] drv -.->|"nie otwiera"| glance page -.->|"nie steruje"| gps
Ważność alertu
Kolor mówi, jak pilne. To nie jest status przeczytania ani rozwiązania.
- Pilne (czerwony): dzieje się teraz — kierowca zniknął z mapy albo sam zgłasza problem.
- Ryzyko (bursztyn): zaraz będzie za późno — dojazd minie obiecane okno ETA.
- Operacyjne (szary): do ogarnięcia w tej zmianie — bezczynny kierowca, słaba bateria, kolejka bez przypisania.
Potwierdzenie, drzemka i rozwiązanie są osobnymi czasownikami. Szary alert przeczytany nadal jest operacyjny, dopóki ktoś go nie zamknie.
Najemca
Najemca to firma: pizzeria, kwiaciarnia, serwis. Konto osoby i firma to nie to samo — jedna osoba może być zaproszona, firma ma plan, flotę i katalog.
Izolacja jest na firmie, nie na roli. Członek firmy A nie czyta firmy B. Wewnątrz firmy każdy zaproszony ma pełny dostęp operacyjny; rola jest etykietą.
Partner API nie przyjmuje nazwy najemcy w body. Klucz dlt_live_… jest firmą.
flowchart LR session["Panel: sesja zalogowanego"] --> doorA["Drzwi firmy"] key["Partner: Bearer dlt_live"] --> doorB["Drzwi firmy"] doorA --> co["Firma A"] doorB --> co co -.-> miss["Firma B nie istnieje dla tego wywolania"] pub["Klucz publikowalny"] -->|"tylko catalog:read"| menu["GET /menu"] role["Rola czlonka"] -.->|"etykieta, nie bramka"| co
Uprawnienie
Uprawnienie to to, co plan pozwala firmie mieć: pułapy (pojazdy, kierowcy, członkowie) i flagi (śledzenie na żywo, analityka, gotowość white-label). Brak uprawnienia nie renderuje wyłączonego przycisku — funkcji nie ma.
Śledzenie na żywo jest w Starter, Growth i Pro. Analityka wchodzi wyżej. Własna domena jest zapisana jako gotowość Pro, nie jako działająca karta w Integracjach.
Helper przy limitach planu prowadzi do limitów; to uprawnienie jest szerszym słowem, gdy mowa o fladze, nie o suficie.
Tura
Tura (ang. run) to bieżący kurs kierowcy: uporządkowane przystanki, które teraz wiezie. Na karcie kierowcy widać ją jako „Bieżąca tura”. Pusta tura znaczy, że człowiek jest na zmianie, ale nic mu nie przypisano — to inny stan niż brak GPS.
Tura nie jest zamówieniem. Zamówienie może czekać w kuchni bez tury; tura może mieć kilka zamówień. Publiczny link śledzenia zawsze należy do jednego zamówienia, nie do całej tury.

