Saha satış uygulamasında çevrimdışı çalışma: senkron çakışmalarını yönetmek

Saha satış ekipleri bodrum katlarında, depolarda ve şebekenin zayıf olduğu bölgelerde çalışır. “İnternet olduğunda çalışan” bir uygulama, sahada kullanılmayan bir uygulamadır. Ancak çevrimdışı desteğin gerçek maliyeti veriyi cihazda saklamak değil, aynı kaydın iki yerde değişmesini çözmektir.
Neyi cihazda tutmalı?
Her veri çevrimdışı tutulmaz. Pratik ayrım şudur:
| Veri | Çevrimdışı | Not |
|---|---|---|
| Temsilcinin müşteri listesi | Evet | Yalnızca kendi rotası |
| Ürün ve fiyat listesi | Evet | Tarihli, indirilme zamanı gösterilir |
| Stok | Kısmen | Tahmini olarak işaretlenir |
| Cari bakiye / risk limiti | Hayır | Bağlantı varsa canlı sorgulanır |
| Sipariş / ziyaret kaydı | Evet | Kuyruğa yazılır, sonra gönderilir |
Cihazda tutulan verinin ne kadar eski olduğu ekranda görünmelidir. “Fiyatlar 08:15’te güncellendi” yazısı, yanlış fiyattan sipariş geçmenin önündeki en ucuz engeldir.
Kuyruk mantığı
Çevrimdışı yapılan her işlem, doğrudan gönderilmeye çalışılmaz; sıralı bir kuyruğa yazılır. Bağlantı geldiğinde kuyruk sırayla boşaltılır. Üç kural önemlidir: her işleme cihazda üretilen benzersiz bir kimlik verin (aynı sipariş iki kez düşmesin), gönderim başarısızsa artan aralıklarla yeniden deneyin, ve kullanıcıya kuyrukta kaç kayıt beklediğini gösterin. Görünmeyen kuyruk, gün sonunda “siparişim gitmemiş” şikâyetine dönüşür.
Çakışma çözümü
Temsilci çevrimdışıyken müşteri bilgisini günceller; aynı anda merkez ofis de aynı kaydı değiştirir. Bağlantı geldiğinde iki sürüm çarpışır. Basit “son yazan kazanır” kuralı veri kaybettirir. İşe yarayan yaklaşım alan bazlıdır: çakışmayan alanlar birleştirilir, çakışan alanlar için kaynak önceliği tanımlanır (ör. risk limitini merkez, ziyaret notunu saha belirler) ve çözülemeyen durumlar operasyona düşer. Bu kuralları tabloya dökmeden kod yazmayın.
Konum ve ziyaret kaydı
Ziyaretin gerçekleştiğini doğrulamak için konum kaydı yaygın bir ihtiyaçtır, ancak sürekli konum takibi hem pili bitirir hem de çalışan açısından rahatsız edicidir ve kişisel veri yükümlülüğü doğurur. Doğru kurgu, yalnızca ziyaret başlatma ve bitirme anında konum almak, saklama süresini sınırlamak ve bunu çalışana açıkça bildirmektir.
Senkronu izleyin
Sahadaki bir cihaz iki gündür senkron olmuyorsa bunu kullanıcı değil sistem fark etmelidir. Her cihazın son senkron zamanı, bekleyen kayıt sayısı ve uygulama sürümü yönetim panelinde görünmelidir. Saha uygulamalarında en pahalı hatalar, kimsenin fark etmediği sessiz kopukluklardan çıkar.