Satışın Tüketim Biçimi — type ✓ Canlı

Satış düzeyinde tek alan: yerinde mi tüketildi, gel-al mı, adrese mi gitti. Bu bilgi yalnız satışın alındığı yüzeyde doğar; platform başka hiçbir alandan türetemez. Mali oran (Almanya'da yerinde %19 / götürü %7) ve raporlama bu ayrıma bakar. Alan opsiyoneldir — gönderilmezse davranış bugünküyle aynıdır.

← API Uçları · Satır alanları: lineId & metadata.

Değerler

DeğerAnlamı
dine_inYerinde tüketim (masa, self-servis salon)
takeawayGel-al / paket alıp götürme
deliveryAdrese teslim (restoran ya da platform kuryesi)

İki karışma tuzağı

1. deliveryType / restaurantDelivery kim teslim ediyor sorusunun cevabıdır (Trendyol STORE/GO, restoran kuryesi) — tüketim biçimi değildir.

2. fiscal.de capability'sindeki sale.type hangi koleksiyondaki satışın imzalanacağını söyler — bambaşka bir alandır. "table" bu alanın geçerli bir değeri değildir ve normalize edilmez; yanlış beslenirse okumada null döner.

Yazma

UçDavranış
POST /packets/createOpsiyonel type; whitelist dışı değer → 400
POST /packets/updateGüncellenebilir alan (müşteri fikir değiştirirse düzeltilir); değişim eski→yeni değerle loglanır
POST /tables/createAlan yok — masa zaten dine_in, çelişkili beyan kabul edilmez

Okuma

DurumDönen değer
Kanal / eklenti doldurmuş"dine_in" | "takeaway" | "delivery"
Eski satış ya da alanı doldurmayan kanalnull — "bilinmiyor"; sessizce bir biçime düşürülmez
Masa hesapları (tables/*)Daima "dine_in" (türetilir)
Okuma yanıtı (satış düzeyi)
{
  "packetId": "pkt_123",
  "type": "takeaway",   // satış düzeyi (null = bilinmiyor)
  "orders": [ … ],
  "payments": [ … ]
}

Aynı alan packets/get · tables/get · packet.created ve kapanış gate'inde gelir — hepsi aynı modelden üretilir.

Kanallar ne dolduruyor

KanalDeğerKaynak
Yemeksepetitakeaway / deliveryPayload'daki gel-al işareti (önceden yalnız not metnindeydi)
Trendyoltakeaway / deliverystorePickupSelected bayrağı
Getir · Migros · FuudydeliveryPayload'da gel-al işareti yok
Webstoregelen değer'dine-in' → 'dine_in' normalize edilir
Panel / telefongönderilirseSipariş ekranı beyanı (geçersiz değer sessizce yok sayılır)

Kabul edilen varyantlar normalize edilir: dine-in, dinein, eat_in, masada · take-away, pickup, self_pickup, gel-al, Gel Al · courier, kurye.

En iyi pratik

  • null'ı "yerinde" varsayma. null "bilinmiyor" demektir; mali oranı buna göre seçen bir mantık kurma — satır taxRate'i ile oranı açıkça beyan et.
  • Kendi kanalında doldur. Kiosk/QR/self-order akışında biçim yalnız senin yüzeyinde bilinir — packets/create'te type gönder, aksi halde satış null kalır.
  • Sonradan düzelt: müşteri fikir değiştirirse packets/update ile güncelle (değişim loglanır).
  • Masada gönderme: tables/create bu alanı almaz; masa hesabı okumada daima dine_in döner.