Captarea Offline și Sincronizarea POD
Șoferii de livrare lucrează frecvent în subsoluri, zone rurale, parcări subterane și clădiri cu semnal celular slab, așa că un sistem POD care funcționează doar cu o conexiune activă va pierde dovada exact atunci când contează cel mai mult. Captarea offline cu sincronizare fiabilă este o cerință de bază, nu un caz marginal.
O aplicație POD trebuie să se comporte identic pentru șofer, indiferent dacă există sau nu conectivitate în momentul capturii: semnătura, fotografia, coordonata GPS și marca temporală trebuie toate înregistrate local pe dispozitiv în clipa în care livrarea are loc, independent de dacă acele date pot fi transmise imediat. Modul de eșec de evitat este ca șoferul să creadă că livrarea a fost confirmată, doar pentru a descoperi ulterior că înregistrarea s-a pierdut deoarece aplicația necesita o conexiune activă pentru a o salva.
Evenimentele POD capturate ar trebui scrise imediat în stocare locală durabilă pe dispozitiv, marcate cu o marcă temporală generată local (nu una de server, care poate să nu existe încă) și un identificator unic care previne transmiterea duplicată la revenirea conectivității. Fotografiile și semnăturile sunt payload-uri binare care pot fi mari; coada locală trebuie să poată stoca câteva zeci de POD-uri în așteptare fără probleme de spațiu de stocare sau memorie pe hardware-ul de nivel inferior, comun în flotele de livrare.
Când conectivitatea revine, aplicația ar trebui să sincronizeze POD-urile puse în coadă într-o ordine predictibilă, de regulă cele mai vechi primele, cu reîncercare și pauză progresivă pentru eșecuri temporare, în loc să renunțe la o înregistrare după o singură încercare eșuată. Idempotența contează aici: dacă o încercare de sincronizare reușește parțial (serverul primește înregistrarea, dar confirmarea se pierde din cauza unei conexiuni întrerupte), clientul are nevoie de o metodă de a recunoaște că înregistrarea a fost deja acceptată și de a evita crearea unei confirmări de livrare duplicate.
Șoferii ar trebui să poată vedea, dintr-o privire, câte POD-uri sunt în așteptare de sincronizare și să primească un semnal clar odată ce totul a fost încărcat cu succes — ideal înainte de terminarea turei. Echipele operaționale ar trebui să poată vedea aceeași adâncime a cozii per dispozitiv dintr-un tablou de bord, deoarece un șofer al cărui dispozitiv acumulează constant o coadă mare de sincronizare poate lucra într-o zonă fără semnal ce necesită o soluție alternativă, sau poate avea o problemă de dispozitiv sau aplicație ce necesită atenția suportului.
- Nu cereți niciodată o conexiune activă pentru a înregistra un eveniment POD local — capturați întâi, sincronizați apoi
- Folosiți mărci temporale și ID-uri unice generate pe client pentru a face operațiunile de sincronizare idempotente
- Comprimați fotografiile înainte de a le pune în coadă pentru a reduce timpul de sincronizare și presiunea de stocare pe dispozitiv
- Oferiți șoferilor vizibilitate clară și simplă asupra numărului de sincronizări în așteptare și a statusului de finalizare
- Monitorizați coada de sincronizare per dispozitiv din back-office pentru a detecta din timp probleme de semnal sau hardware