DelietaDokumentacja

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.

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.