1. Genel Bakış
Distributed Order Management, çok lokasyonlu fulfillment ortamlarında her sipariş için en uygun karşılama noktasını belirleyen orkestrasyon katmanıdır. Sistem; sipariş alımından lokasyon seçimine, iş emri oluşturmaya kadar olan süreci yönetir.
DOM, Omniens platformunun bir modülüdür ve aşağıdaki katmanlarla entegre çalışır:
- OMS (Order Management): Sipariş alımı, validasyon ve durum yönetimi
- Inventory Service: Gerçek zamanlı stok görünürlüğü
- Carrier Service: Kargo entegrasyonları ve etiket üretimi
- WMS Connectors: Lokasyon bazlı iş emri iletişimi
2. Sourcing Engine — Lokasyon Seçim Süreci
DOM'un kalbi olan sourcing engine, gelen her sipariş için bir kural değerlendirmesi yaparak en uygun lokasyonu belirler. Süreç deterministik ve audit edilebilir bir şekilde tasarlanmıştır.
2.1 Akış
- Aday lokasyonların listelenmesi: Tüm aktif fulfillment noktaları (depo, mağaza, 3PL, dropship partneri) hazır liste olarak alınır.
- Stok ön-filtresi: Sipariş edilen SKU'lar için yeterli stok bulunmayan lokasyonlar elenir. Reservation (rezervasyon) durumları dikkate alınır.
- Kural motoru değerlendirmesi: Her aday lokasyon, tanımlı kural setinden geçirilir (zorunlu kurallar, müşteri segmenti, kategori bazlı kısıtlar).
- Skorlama: Kalan adaylar, ağırlıklı puanlama ile sıralanır.
- Kapasite kontrolü: En yüksek skorlu lokasyonun günlük SFS kapasite limiti aşılmamış mı doğrulanır.
- Atama ve commit: Lokasyon seçilir, stok rezervasyonu yapılır, iş emri WMS'e iletilir.
2.2 Skorlama Faktörleri
Lokasyon skorlama, aşağıdaki ağırlıklı boyutları kullanır. Ağırlıklar her kuruma özel olarak konfigüre edilebilir:
| Faktör | Açıklama | Tipik ağırlık |
|---|---|---|
| Mesafe | Müşteri adresine olan mesafe (postal code bazlı) | %30 |
| Kargo maliyeti | Lokasyon → adres rotasında en uygun carrier | %25 |
| Stok seviyesi | Lokasyondaki stok bolluğu (envanter dengeleme) | %15 |
| Kapasite kullanımı | Lokasyonun günlük doluluk oranı | %15 |
| SLA garantisi | Premium müşteri / aynı gün taahhüt önceliği | %10 |
| Operasyonel maliyet | Lokasyonun pick-pack birim maliyeti | %5 |
Skorlama formülü ağırlıklı toplam ile çalışır — karmaşık bir ML modeli değildir. Her kararın neden verildiği audit log'da görüntülenebilir. Bu, müşteri hizmetleri ve denetim süreçleri için kritiktir.
3. Kural Motoru
Kural motoru, yönetim panelinden konfigüre edilebilir. İki tür kural desteklenir:
3.1 Zorunlu Kurallar (Hard Constraints)
İhlal edildiğinde lokasyonun aday listesinden tamamen çıkmasına neden olur. Örnekler:
- "Mağaza stoku sadece o mağazaya ait müşterilere"
- "Soğuk zincir gerektiren ürünler sadece sertifikalı depolardan"
- "5 kg üzeri ürünler perakende mağazadan gönderilemez"
- "Yurt dışı siparişleri sadece export-ready depolardan"
3.2 Yumuşak Kurallar (Soft Constraints)
İhlal durumunda skor üzerinden ceza puanı uygulanır, ancak lokasyon eleme yapılmaz. Örnekler:
- "Mümkünse merkez depoyu en sona koy"
- "Mağaza stokunu öncelikle o şehirdeki müşteriler için kullan"
- "Hafta sonları 3PL ortakları öncelikli"
3.3 Kural Yapılandırması
Kurallar, yönetim panelinden formülle tanımlanır. Aşağıda bir örnek konfigürasyon JSON'u:
// Soğuk zincir kuralı
{
"name": "cold-chain-only",
"type": "hard",
"applies_to": { "category": "frozen" },
"requires": { "location_capability": "cold-chain" },
"priority": 100
}
4. Performans Karakteristikleri
4.1 Routing Karar Süresi
| Senaryo | p50 | p95 | p99 |
|---|---|---|---|
| Tek SKU, 5-10 lokasyon | 85ms | 180ms | 240ms |
| Tek SKU, 50+ lokasyon | 140ms | 290ms | 380ms |
| Çoklu SKU (split-shipment), 50+ lokasyon | 220ms | 400ms | 520ms |
| Kompleks kural seti (20+ kural) | 180ms | 340ms | 460ms |
4.2 Throughput
Tek bir DOM cluster'ı saniyede 2,000+ routing kararı işleyebilir. Yatay ölçekleme ile bu sınır artırılabilir. 11.11 ve Black Friday gibi pik dönemler için cluster otomatik scale-out yapacak şekilde konfigüre edilir.
4.3 Yüksek Erişilebilirlik
- Multi-AZ deployment, otomatik failover
- Stateless servis tasarımı; herhangi bir node restart'tan etkilenmez
- SLA: %99.95 (yıllık ~4.4 saat tolere edilen kesinti)
- Circuit breaker: WMS veya carrier servisi yavaşladığında DOM cevap vermeyi durdurmaz, fallback lokasyona yönlendirir
5. Entegrasyon Noktaları
5.1 Sipariş Girişi
DOM'a sipariş üç yoldan ulaşabilir:
- Order Management System: Native entegrasyon — event tabanlı, sub-100ms iletişim
- REST API: Üçüncü taraf OMS'lerden POST /api/v1/orders ile
- Webhook ingestion: E-ticaret platformundan gelen sipariş webhookları
5.2 WMS Çıkışı
Lokasyon atandıktan sonra DOM, WMS'e iş emri gönderir. Standart formatlar desteklenir:
- EDI (X12 940/945, EDIFACT ORDERS/DESADV)
- JSON (Omniens-WMS standardı)
- XML (özel müşteri formatları)
- SAP IDoc (DELVRY03, DELVRY07)
5.3 Stok Senkronizasyonu
DOM her atama sonrası, ilgili lokasyondaki SKU stokunu rezerve eder. Rezervasyon TTL'i konfigüre edilebilir (varsayılan 30 dakika). Bu süre içinde WMS'ten "pick failed" sinyali gelirse otomatik re-sourcing tetiklenir.
6. Hata Senaryoları ve Re-sourcing
Gerçek operasyonda lokasyon seçildikten sonra problem çıkabilir: mağaza personeli ürünü bulamaz, stok hatası tespit edilir, kargo lokasyona uğramaz. DOM bu senaryolar için otomatik re-sourcing yapar:
- WMS veya mağaza uygulaması "pick failed" eventi gönderir
- DOM, orijinal aday listesinden bir sonraki en uygun lokasyonu seçer
- Yeni iş emri yeni lokasyona iletilir
- Müşteri için sipariş süreci kesintisiz devam eder; tahmini teslim süresi otomatik güncellenir
Re-sourcing kararları audit log'da ayrı bir event olarak görünür. Operasyon ekipleri, hangi lokasyonların sık sık re-source edildiğini takip ederek mağaza eğitim ve süreç iyileştirme alanları belirler.
7. Gözlemlenebilirlik ve Audit
Her routing kararı, sebebiyle birlikte kaydedilir. GET /api/v1/orders/{id}/sourcing-trace endpoint'i ile bir siparişin neden o lokasyona atandığı incelenebilir. Aşağıdaki bilgileri içerir:
- Aday lokasyon listesi (ön filtre öncesi)
- Her aday için skorlama detayı (faktör bazlı)
- Uygulanan kurallar ve sonuçları
- Karar verme süresi (ms)
- Re-sourcing geçmişi (varsa)
8. Güvenlik
- Authentication: OAuth 2.0 + API Key (mTLS opsiyonel)
- Authorization: Lokasyon bazlı erişim kontrolü (örn. mağaza müdürü sadece kendi mağaza emirlerini görür)
- Encryption: Veri aktarımında TLS 1.3, dinlenme halinde AES-256
- Audit log: Tüm sourcing kararları ve kural değişiklikleri immutable log'a yazılır
- Compliance: ISO 27001 sertifikalı altyapı, KVKK ve GDPR uyumlu
Sonraki Adımlar
DOM'u operasyonunuza nasıl uyarlayabileceğimizi konuşmak için demo talebi oluşturabilirsiniz. İlk görüşmede mevcut altyapınızı dinleyip uyumluluk değerlendirmesi yapıyoruz.