Petrol Ofisi
Petrol Ofisi
bayi vardiya paneli

{{ todayTr }}

{{ greeting }},
vardiya seni bekliyor.

bereketli satışlar dileriz!

⛽
✓ Önce kartını seç, sonra 6 haneli PIN'ini tuşla
✓ Tablette parmağınla, kasada klavyeyle girilir
✓ Yanlış PIN'de kasa 60 saniye nefes alır

Çaylar şirketten ☕
Takıldığın yerde müdürüne seslenmen yeterli.

BAYİ AĞI
petrol.dijitalajans.org
1 • Görev 2 • PIN

Görevinizi seçin

Kartınıza dokunun, sonra PIN ekranı gelecek 👇

{{ loginRole?.icon }}

{{ loginRole?.label }} PIN'i

6 haneyi tuşlayın, eşleşirse giriş yapılır

{{ pinLock }}

Kasa nefes alıyor… {{ pinLock }} sn sonra tekrar dene 🔒

{{ pinError }}

Tablette dokun, kasada klavyeden tuşla ⌨️

PIN'in mi yok, unuttun mu? Müdüründen yeni PIN iste — 1 dakikada hazır 🔑

PO

{{ currentTitle }}

{{ user.name }} • {{ roleLabel(user.role) }} • {{ user.branch_name || 'Merkez' }}

💡

{{ sectionHelp }}

{{ c.icon }}
{{ c.value }}
{{ c.label }}

📢 Duyurular

📢 {{ a.title }}
{{ a.body }}
⏳ {{ pendingTxns.length }} gider onayı bekliyor — incelemek için dokunun →

Son 6 Ay Gelir / Gider

Henüz işlem yok — muhasebeden gelir/gider ekleyin.
{{ row.m }}
Gelir: {{ fmt(row.g) }} • Gider: {{ fmt(row.e) }}

Plasiyer Performansı

{{ p.name }}
{{ p.adet }} sipariş
{{ fmt(p.ciro) }}

Son Siparişler

{{ o.order_no }}{{ flowLabel(o.status) }}
{{ o.company_name }} • {{ fmt(o.total) }}
⛽ SEVİYAT HATTI canlı akış
Plasiyer girer → Supervisor onaylar → Ödeme alınır → Teslime Hazır → Müdür onaylar → Sevkiyat → Teslim.
{{ o.order_no }}
{{ o.company_name }}
{{ flowLabel(o.status) }}
👤 {{ o.plasiyer_name||'-' }} • {{ date(o.created_at) }}
{{ fmt(o.total) }}{{ o.payment_status==='odendi'?'💰 Ödendi':o.payment_status==='kismi'?'💳 Kısmi':'⏳ Ödenmedi' }}
Sipariş bulunamadı.
{{ c.company_name }}
Seg {{ c.segment||'C' }}
{{ c.contact_person }} • {{ c.phone }} • {{ c.city }}
{{ c.customer_type }}

Günlük öncelikler

İş Merkezi yükleniyor…

🛢️ Kritik stoklar

Kritik stok yok.

{{ r.name }}

{{ r.sku }} • {{ r.branch_name }} • Stok {{ fmtN(r.stock) }} {{ r.unit }} / Eşik {{ fmtN(r.critical_level) }}

Önerilen alım: {{ fmtN(r.suggested_qty) }} {{ r.unit }}

💳 Vadesi geçen faturalar

Geciken fatura yok.

{{ r.invoice_no }} • {{ r.company_name }}

{{ date(r.due_date) }} • {{ fmt(r.total) }}

📍 Müşteri takipleri

Bekleyen takip yok.

{{ r.company_name }}

{{ date(r.next_visit) }} • {{ r.notes }}

📌 Görevler

Bekleyen görev yok.

{{ r.title }}

{{ date(r.due_date) }} • {{ r.priority }}

🚛 Araç hatırlatmaları

Araç uyarısı yok.

{{ r.plate }}

Bakım: {{ date(r.maintenance_due) }} • Sigorta: {{ date(r.insurance_due) }} • Muayene: {{ date(r.inspection_due) }}

📝 Süresi yaklaşan teklifler

Süresi yaklaşan teklif yok.

🏢 Müşteri riskleri

Limit uyarısı yok.

{{ r.company_name }}

Bakiye: {{ fmt(r.balance) }} • Limit: {{ fmt(r.credit_limit) }}

Sektör Operasyonları

İzlenebilirlik, ticari güvence ve saha operasyonları

Operasyon verileri yükleniyor…

Lot / parti girişi ve raf ömrü

Stokla eşitle seçilirse bu giriş şube envanterine de işlenir.

{{l.product_name}} • {{l.lot_code}}

SKT {{l.expiry_date||'tanımsız'}} • kalan {{fmtN(l.remaining_qty)}} {{l.unit}}

{{l.status}}

Henüz lot kaydı yok.

FEFO ve otomatik ikmal

FEFO, son kullanma tarihi en yakın aktif lotu önce önerir. Tam lot izleme olan ürünlerde sipariş onayında otomatik ayrılır.

{{r.product_name}}

Stok {{fmtN(r.stock)}} / nokta {{fmtN(r.reorder_point)}} → öneri {{fmtN(r.suggested_qty)}} • {{r.supplier_name||'tedarikçi seçilmedi'}}

Henüz yeniden sipariş politikası yok.

Müşteri özel fiyatı / sözleşme

Uygulanacak birim fiyat: {{fmt(priceResult.unit_price)}}

{{r.product_name}} • {{r.company_name||'genel'}}

{{r.unit_price!==null?fmt(r.unit_price):'%'+r.discount_rate+' indirim'}} • min {{r.min_quantity}} • öncelik {{r.priority}}

Kredi limiti kontrolü

Sipariş kaydında sunucu tarafında zorunlu çalışır; burada ön kontrol yapılır.

{{priceResult.customer.company_name}}
Mevcut: {{fmt(priceResult.current)}} • Yeni toplam: {{fmt(priceResult.projected)}} • Limit: {{fmt(priceResult.limit)}} • {{priceResult.status}}

Limit aşımı olan siparişler otomatik engellenir. Limit tanımsız müşterilerde kontrol bilgilendirme amaçlıdır.

Barkod / QR ile ürün bul

{{barcodeResult.product.name}}

{{productMeta(barcodeResult.product)}}

{{barcodeResult.compatibility.length}} OEM uyumluluk kaydı bulundu.

Kamera tabanlı okuyucu veya klavye girdisi gönderen barkod/QR cihazı doğrudan bu alana bağlanabilir.

OEM / ekipman uyumluluğu

{{c.product_name}} • {{c.manufacturer}} {{c.model}}

{{c.engine_or_equipment}} • {{c.required_spec}} • {{c.compatibility_status}}

Dijital teslim kanıtı

Teslim alan kişi, zaman, konum, not, fotoğraf bağlantısı ve imza verisi kaydedilir. Bu kayıt tek başına sipariş durumunu değiştirmez.

Teslim alan imzası

{{p.order_no}} • {{p.company_name}}

{{p.receiver_name}} • {{date(p.delivered_at)}}

Rota sıralama ve mobil çalışma

Rota optimizasyonu, koordinatı olan duraklarda en yakın komşu yöntemiyle sıralar; trafik/harita tahmini değildir.

{{rt.route_date}} • {{rt.plate||rt.driver_name}}
{{rt.stops?.length||0}} durak

Planlanan rota yok.

Çevrimdışı saha kuyruğu

{{offlineEvents().length}} olay cihazda sırada. Bağlantı geldiğinde “Çevrimdışı eşitle” ile sunucuya denetim kaydı olarak gönderilir.

E-Fatura / E-Arşiv hazırlık kuyruğu

Belge önce doğrulanabilir taslak olarak hazırlanır. Sağlayıcı bağlantısı tanımlanmadan “gönderildi” durumu oluşmaz.

{{i.invoice_no}} • {{i.company_name}}
{{fmt(i.total)}}
{{e.invoice_no}} • {{e.document_type}} • {{e.status}}

WhatsApp / e-posta / webhook kuyruğu

{{o.channel}} → {{o.recipient}} {{o.status}}
Sağlayıcı yapılandırması

Kimlik bilgilerini burada saklamayın; güvenli sağlayıcı/ortam değişkeni yönlendirmesi kullanın.

Onay akışları

{{p.entity_type}} • {{fmt(p.min_amount)}} üzeri → {{p.approver_role}} (adım {{p.step_no}})

Onay kuyruğu ve denetim izi

{{r.entity_type}} #{{r.entity_id}} • {{fmt(r.amount)}}
{{r.approver_role}} • {{r.status}}

Açık onay talebi yok.

{{a.event_type}} • {{a.entity_type}} #{{a.entity_id}}
{{a.user_name||'Sistem'}} • {{date(a.created_at)}} • {{a.summary}}

Bu filtrede denetim kaydı yok.

🛢️
{{ p.name }}
{{ p.sku }} • {{ p.category }} • {{ p.volume }} / {{ p.unit }}
{{ p.detail }}

{{ productMeta(p) }}

Beyan edilen özellikler: {{ p.specifications }}

{{ fmt(p.price) }} Stok: {{ p.stock }} {{ p.unit }}
🛢️
{{ p.name }}
{{ p.category }} • {{ fmt(p.price) }} • {{ p.volume }}

{{ productMeta(p) }}

Beyan edilen özellikler: {{ p.specifications }}

Yeni ürün için "Taleplerim" sekmesinden istek gönderin 📝

{{ r.name }}{{ r.status }}
{{ r.category }} • {{ fmt(r.price) }} • {{ r.branch_name||'' }}
{{ fmt(sum.gelir||0) }}
Toplam Gelir
{{ fmt(sum.gider||0) }}
Toplam Gider
{{ fmt((sum.gelir||0)-(sum.gider||0)) }}
Net Kâr
{{ t.type==='gelir'?'📈':'📉' }}
{{ t.category }} • {{ t.description }}
{{ t.txn_date }} • {{ t.payment_method }} • {{ t.creator }}
{{ t.type==='gelir'?'+':'-' }}{{ fmt(t.amount) }}
{{ i.invoice_no }}{{ i.status }}
{{ i.company_name }} • {{ fmt(i.total) }} • vade {{ i.due_date||'-' }}
{{ s.order_no }}{{ s.status }}
{{ s.company_name }} • 🚚 {{ s.driver_name }} • {{ s.vehicle_plate }}
{{ s.tracking_note }}
Sevkiyat kaydı yok — sipariş onaylanınca buradan takip edin.
{{ v.company_name || v.plasiyer_name }}{{ v.result }}
{{ v.plasiyer_name }} • {{ v.visit_date }} • {{ v.purpose }}
{{ v.notes }}
{{ initials(p.name) }}
{{ p.name }}
{{ roleLabel(p.role) }} • {{ p.branch_name||'' }} • {{ p.phone }}
{{ w.name }}
{{ w.work_date }} • giriş {{ w.check_in||'-' }} • çıkış {{ w.check_out||'-' }}
{{ w.total_hours||0 }} sa
{{ l.name }} ({{ l.type }}){{ l.status }}
{{ l.start_date }} → {{ l.end_date }} • {{ l.reason }}
{{ b.name }}
{{ b.code }} • {{ b.city }} • {{ b.staff_count }} personel • Müdür: {{ b.manager_name||'-' }}
{{ b.address }}
{{ l.company_name }}{{ l.status }}
{{ l.contact_person }} • {{ l.phone }} • {{ l.city }} • Skor:{{ l.score }} • {{ l.assignee||'atanmadı' }}
{{ l.notes }}
{{ st }} ({{ opps.filter(o=>o.stage===st).length }})
{{ o.title }}
{{ o.company_name||'' }}
{{ fmt(o.amount) }}%{{ o.probability }}
{{ o.owner_name||'' }} • {{ o.expected_close||'' }}
{{ qt.quotation_no }}{{ qt.status }}
{{ qt.company_name }} • {{ qt.plasiyer_name }} • geçerlilik {{ qt.valid_until||'-' }}
{{ fmt(qt.total) }}
{{ k.title }}{{ k.status }}
{{ k.company_name }} • {{ k.start_date }} → {{ k.end_date||'∞' }} • vade {{ k.payment_term_days }}g • %{{ k.discount_rate }} isk • limit {{ fmt(k.credit_limit) }}
{{ p.po_no }}{{ p.status }}
{{ p.supplier_name }} • {{ p.warehouse_name||'' }} • teslim {{ p.expected_date||'-' }}
{{ fmt(p.total) }}
{{ s.name }}
{{ s.contact_person }} • {{ s.phone }} • {{ s.city }}
Bakiye (borç): {{ fmt(s.balance) }}
{{ w.name }}
{{ w.code }} • {{ w.branch_name }} • {{ w.address }}
{{ m.direction==='giris'?'+':'−' }}{{ m.qty }}
{{ m.product_name }} • {{ m.reason }}
{{ m.note }} • {{ m.creator }} • {{ date(m.created_at) }}
{{ t.transfer_no }}{{ t.status }}
{{ t.from_name }} → {{ t.to_name }} • {{ date(t.created_at) }}
{{ r.return_no }}{{ r.status }}
{{ r.company_name }} • {{ r.reason }} • {{ fmt(r.total) }}
{{ v.plate }}{{ v.status }}
{{ v.brand_model }} • {{ v.type }} • {{ v.capacity_kg }}kg • {{ v.km }} km • {{ v.fuel_type }}
🔧 Bakım: {{ v.maintenance_due||'-' }} • 🛡️ Sigorta: {{ v.insurance_due||'-' }} • 🔍 Muayene: {{ v.inspection_due||'-' }}
{{ rt.route_date }} • {{ rt.plate||rt.driver_name }}{{ rt.status }}
{{ sp.stop_order }}. {{ sp.order_no }} — {{ sp.company_name }} ({{ sp.status }})
{{ t.title }}{{ t.status }}
{{ t.assignee||'atanmadı' }} • öncelik {{ t.priority }} • bitiş {{ t.due_date||'-' }}
{{ t.description }}
{{ t.ticket_no }} — {{ t.subject }}{{ t.status }}
{{ t.company_name }} • {{ t.category }} • {{ t.priority }} • {{ t.assignee||'atanmadı' }}
{{ a.name }}
{{ a.type }} • {{ a.iban }} • {{ a.branch_name }}
{{ fmt(a.balance) }}
açılış {{ fmt(a.opening_balance) }}
{{ t.category }}{{ fmt(t.amount) }}
{{ t.description }} • {{ t.creator }} • {{ t.txn_date }}
Bekleyen gider yok 🎉
{{ b.category }}{{ fmt(b.spent) }} / {{ fmt(b.limit_amount) }} (%{{ b.pct }})
{{ t.user_name||'Şube hedefi' }}%{{ t.pct }}
{{ fmtN(t.actual_orders) }} sipariş • {{ fmtN(t.actual_visits) }} ziyaret • {{ fmt(t.actual_amount) }} / {{ fmt(t.target_amount) }}
🎁 Hak edilen prim: {{ fmt(t.bonus) }}
{{ a.name }} — {{ fmt(a.amount) }}{{ a.status }}
{{ a.reason }}
{{ p.name }}
Maaş {{ fmt(p.salary) }} • Prim %{{ p.commission_rate }}
{{ p.name }} ({{ p.period_month }}){{ p.status }}
Taban {{ fmt(p.base_salary) }} + Prim {{ fmt(p.bonus) }} − Kesinti {{ fmt(p.deductions) }} − Avans {{ fmt(p.advance_cut) }} = Net {{ fmt(p.net_pay) }}
{{ c.name }}{{ c.status }}
{{ c.category }} • %{{ c.discount_rate }} • {{ c.start_date }} → {{ c.end_date||'∞' }} • 🎯{{ c.hedef_sayi }} ✅{{ c.satis_sayi }}
{{ c.description }}
{{ fmt(rep.ciro_ay) }}
Ay Cirosu ({{ rep.siparis_ay }} sipariş)
{{ fmt(rep.tahsilat_ay) }}
Tahsilat
{{ fmt(rep.gider_ay) }}
Gider (+{{ fmt(rep.bekleyen_gider) }} bekleyen)
{{ fmt(rep.acik_alacak) }}
Açık Alacak (cari)
{{ rep.kritik_stok }}
Kritik Stok
{{ rep.acik_ticket }}
Açık Ticket

🏆 En Çok Satan Ürünler

{{ u.product_name }} ({{ fmtN(u.q) }}){{ fmt(u.s) }}

🎯 Satış Hunisi

{{ h.stage }}{{ h.c }} • {{ fmt(h.s) }}

🏬 Şube Karşılaştırma

{{ s.name }}{{ s.adet }} sipariş • {{ fmt(s.ciro) }}
{{ l.action }} {{ l.entity }}#{{ l.entity_id }} • {{ l.name }} • {{ l.created_at }}
{{ l.detail }}

📱 Tüm Menü

🔔 Bildirimler {{ unread?'('+unread+' okunmadı)':'' }}

{{ n.title }}
{{ n.body }}
{{ date(n.created_at) }}
Bildirim yok 🎉

🧾 Yeni Sipariş

{{ warning }}

{{ it.product_name }}{{ fmt(it.quantity*it.unit_price) }}
Toplam (KDV dahil): {{ fmt(orderTotal) }}

{{ orderDetail.order.order_no }}

{{ orderDetail.order.company_name }}

{{ flowLabel(orderDetail.order.status) }}
{{ it.quantity }} {{ it.unit }} × {{ it.product_name }}{{ fmt(it.total) }}
Toplam: {{ fmt(orderDetail.order.total) }}

🔄 Durum Geçmişi

{{ h.created_at }} • {{ h.from_status||'—' }} → {{ h.to_status }} • {{ h.name }} {{ h.note }}

⚡ Durum Değiştir (yetkinize göre)

Bu rol/durum için işlem yok.
🚚 {{ orderDetail.shipment.driver_name }} • {{ orderDetail.shipment.vehicle_plate }} • {{ orderDetail.shipment.status }}

🏢 Müşteri

💰 Gelir / Gider

📍 Saha Ziyareti

👤 Personel

✅ Yeni PIN: {{ savedPin }} — personele hemen söyle, bir daha gösterilmez!

🏬 Şube

📝 Yeni Ürün Talebi

🏖️ İzin Talebi

🧲 Lead (Potansiyel Müşteri)

🎯 Satış Fırsatı

📝 Yeni Teklif

{{ it.product_name }}
{{ it.quantity }} × {{ fmt(it.unit_price) }}
{{ fmt(it.quantity*it.unit_price) }}
Toplam: {{ fmt(quoteTotal) }}

{{ quoteDetail.quote.quotation_no }}

{{ quoteDetail.quote.company_name }}

{{ quoteDetail.quote.status }}
{{ it.quantity }} × {{ it.product_name }}{{ fmt(it.total) }}
{{ fmt(quoteDetail.quote.total) }}

📜 Müşteri Sözleşmesi

🏭 Tedarikçi

🧾 Satınalma Siparişi

{{ it.product_name }}
{{ it.quantity }} × {{ fmt(it.unit_price) }}

{{ poDetail.po.po_no }}

{{ poDetail.po.status }}
{{ poDetail.po.supplier_name }} • {{ fmt(poDetail.po.total) }}
{{ it.product_name }}
{{ it.received_qty }}/{{ it.quantity }} alındı • {{ fmt(it.unit_price) }}

🔄 Şubeler Arası Transfer

{{ it.product_name }} — {{ it.quantity }}

{{ transferDetail.transfer.transfer_no }}

{{ transferDetail.transfer.status }}
{{ it.product_name }}{{ it.quantity }}

↩️ Müşteri İadesi

{{ it.product_name }} — {{ it.quantity }} × {{ fmt(it.unit_price) }}

🚛 Araç

🗺️ Dağıtım Planı

SİPARİŞLER (teslime hazır / onay bekleyen):

{{ o.order_no }} — {{ o.company_name }} ({{ fmt(o.total) }})

📌 Görev

🎫 Destek Talebi

{{ ticketDetail.ticket.ticket_no }}

{{ ticketDetail.ticket.status }}

{{ ticketDetail.ticket.subject }}

{{ r.name }}
{{ r.message }}
{{ date(r.created_at) }}

💳 {{ ledgerCustomer?.company_name }}

{{ fmt(ledgerBalance) }} {{ ledgerBalance>0?'borç':'alacak' }}
{{ l.txn_date }} • {{ l.description }}{{ l.direction==='borc'?'+':'−' }}{{ fmt(l.amount) }}

🕘 Müşteri Geçmişi

{{ i.kind }} — {{ i.subject }}
{{ i.detail }}
{{ i.name }} • {{ date(i.interaction_date) }}

🏦 Kasa / Banka Hesabı

📉 Bütçe Limiti ({{ repMonth }})

🎯 Hedef Ata ({{ repMonth }})

💸 Avans Talebi

📣 Kampanya

HEDEF MÜŞTERİLER ({{ (campaignForm.customer_ids||[]).length }}):

{{ c.company_name }}

{{ campaignDetail.campaign.name }}

{{ cc.company_name }}
{{ cc.status }}

📝 Stok Sayımı

🛢️ {{ prodForm.id?'Ürünü Düzenle':'Havuza Yeni Ürün' }}

Teknik bilgiler (isteğe bağlı)

Yalnızca doğrulanabilir ürün bilgilerini girin. Bu alanlar üretici onayı veya sertifika anlamına gelmez.

Ürün ve teknik bilgiler kaydediliyor…

🧾 Fatura Kes

📢 Yeni Duyuru

🧭
{{ roleLabel(user.role) }} için, sade anlatım

{{ tutorial.title }}

Ezber yok: sadece sırayla ilerleyin.

{{ tutorial.steps[tutorialStep].label }} • Adım {{ tutorialStep+1 }} / {{ tutorial.steps.length }}

{{ tutorial.steps[tutorialStep].title }}

{{ tutorial.steps[tutorialStep].body }}

Bu düğme yalnızca sizi doğru ekrana götürür; hiçbir kayıt otomatik oluşturmaz.

{{ toast }}