Sistem yükleniyor...

{{ toast.message }}
Logo Logo
{{ businessName }}
{{ currentUser.name }} ({{ currentUser.role === 'admin' ? (t('admin') || 'Yönetici') : (t('worker') || 'Usta') }})
DetaWix B2B SaaS Hizmet ve Lisans Sözleşmesi
İşletmeniz ile DetaWix arasındaki hizmet kapsamı ve sorumluluk şartlarını inceleyip tek tıkla onaylayabilirsiniz.
{{ t('active') || 'Aktif' }}
{{ activeCount }} {{ t('vehicles') || 'Araç' }}
{{ t('total') || 'Toplam' }}
{{ totalCount }} {{ t('vehicles') || 'Araç' }}
{{ t('cashbox_status') || 'Kasa Durumu' }}
{{ formatCurrency(stats.kasaBalance) }}
{{ currentKasaViewStats.label }}
{{ currentKasaViewStats.incomesLabel }}
💵 {{ t('cash_income') || 'Nakit Gelir' }} {{ formatCurrency(currentKasaViewStats.cashRevenue) }} ➔
💳 {{ t('card_income') || 'Kart Gelir' }} {{ formatCurrency(currentKasaViewStats.cardRevenue) }} ➔
🏦 {{ t('eft_income') || 'EFT Gelir' }} {{ formatCurrency(currentKasaViewStats.eftRevenue) }} ➔
{{ currentKasaViewStats.totalRevenueLabel }} {{ formatCurrency(currentKasaViewStats.revenue) }}
{{ currentKasaViewStats.expensesLabel }}
💵 {{ t('cash_expense') || 'Nakit Gider' }} {{ formatCurrency(currentKasaViewStats.cashExpense) }} ➔
💳 {{ t('card_expense') || 'Kart Gider' }} {{ formatCurrency(currentKasaViewStats.cardExpense) }} ➔
🏦 {{ t('eft_expense') || 'EFT Gider' }} {{ formatCurrency(currentKasaViewStats.eftExpense) }} ➔
{{ currentKasaViewStats.totalExpenseLabel }} {{ formatCurrency(currentKasaViewStats.expense) }}
{{ currentKasaViewStats.netProfitLabel }}
{{ formatCurrency(currentKasaViewStats.netProfit) }}
{{ t('actions') }}
{{ t('admin_panel') || 'Yönetici Paneli' }}
{{ t('financial_analysis_stats') || 'Finansal Analiz & İstatistikler' }}
{{ getWeekRangeLabel(getTrendDataForWeek()) }}
📈 {{ t('daily_turnover_trend') || 'Günlük Ciro Trendi' }}
{{ formatNumber(Math.max(...getTrendDataForWeek().map(d => d.revenue), 100)) }} {{ currencySymbol }} {{ formatNumber(Math.max(...getTrendDataForWeek().map(d => d.revenue), 100) / 2) }} {{ currencySymbol }} 0 {{ currencySymbol }}
{{ formatNumber(day.revenue) }}
{{ day.label }}
🧼 {{ t('service_packages_balance') || 'Hizmet Paketleri Bilançosu' }}
{{ t('no_service_records_category') || 'Bu kategoride henüz tamamlanan hizmet kaydı bulunmuyor.' }}
{{ t('service_name') || 'Hizmet Adı' }} {{ t('count_d_w') || 'Adet (G/H)' }} {{ t('today') || 'Bugün' }} {{ t('weekly') || 'Haftalık' }}
{{ item.name }} {{ item.todayCount }} / {{ item.weekCount }} {{ formatNumber(item.todayRevenue) }} {{ currencySymbol }} {{ formatNumber(item.weekRevenue) }} {{ currencySymbol }}
1. {{ t('customer_vehicle_info') || 'Müşteri ve Araç Bilgileri' }}

✓ {{ t('returning_customer') || 'Kayıtlı Müşteri' }} - {{ t('visit_count') || 'Ziyaret Sayısı' }}: {{ visitCount }}{{ lastVisitDate ? ', ' + (t('last') || 'Son') + ': ' + new Date(lastVisitDate).toLocaleDateString(currentLang === 'tr' ? 'tr-TR' : 'en-GB') : '' }}

2. {{ t('visual_analysis') || 'Görsel Analiz & Araç Tespiti' }}

{{ t('vehicle_rear_photo') || 'Araç Arkası Fotoğrafı' }}

{{ t('tap_to_open_camera') || 'Kamerayı açmak için dokunun veya aşağıdaki butonları kullanın' }}

Fotoğraf Önizleme

{{ t('ai_analyzing') || 'Yapay Zeka Analiz Ediyor...' }}

{{ t('ai_prediction') || 'Yapay Zeka Tahmini' }} %{{ detectionResult.confidence }}
{{ b }}
{{ t('service_packages_selection') || 'Hizmet Paketleri Seçimi' }}

{{ t('no_service_packages') || 'Kayıtlı hizmet paketi bulunamadı.' }}

{{ pkg.name }}
{{ getCleanDescription(pkg.description) }}
{{ pkg.price }} {{ currencySymbol }}
🧼 {{ s.name }}
🏨 Lastik Otel Hizmet Detayları Formu
💳 Ödeme Yöntemi Seçin
{{ pkg.name }}
{{ productQuantities[pkg.id] || 1 }}
{{ (Number(packagePrices[pkg.id] || 0) * (productQuantities[pkg.id] || 1)) }} {{ currencySymbol }}
{{ totalServicePrice }} {{ currencySymbol }}
{{ t('history') || 'Geçmiş' }}
{{ t('next_vehicles') }}
{{ activeQueueTab === 'waiting' ? '⏳💤' : (activeQueueTab === 'in_progress' ? '🚗💤' : (activeQueueTab === 'ready' ? '🔑✨' : '📋🎉')) }}

{{ getQueueEmptyTitle(activeQueueTab) }}

{{ getQueueEmptyDesc(activeQueueTab) }}

{{ wash.vehicles ? wash.vehicles.plate : (t('no_plate') || 'PLAKA YOK') }} 🟢 {{ t('time') || 'Saat' }}: {{ formatTime(wash.completed_at) }} ⏳ {{ t('waiting') || 'Bekleme' }}: {{ getMinutesElapsed(wash.completed_at) }} {{ t('mins') }} ⏳ {{ t('waiting') || 'Bekleme' }}: ~{{ getQueueWaitTime(wash) }} {{ t('mins') }} ⏳ {{ t('status') || 'İşlem' }}: {{ getMinutesElapsed(wash.started_at) }} {{ t('mins') }}
{{ getQueueIndex(wash) }}. {{ wash.vehicles ? wash.vehicles.brand : '' }} {{ wash.vehicles ? wash.vehicles.model : '' }} {{ wash.vehicles && wash.vehicles.color ? `(${wash.vehicles.color})` : '' }}
🧼 {{ t('service') }}: {{ wash.wash_type }} ({{ wash.payment_amount }} {{ currencySymbol }})
👤 {{ t('customer') }}: {{ wash.customers ? wash.customers.name : (t('no_customer_name') || 'Müşteri Adı Yok') }}
🛠️ {{ t('worker') }}: {{ getWorkerName(wash) }}
🕒 {{ t('record_time') }}: {{ formatTime(wash.started_at) }}
⏱️ {{ t('started_at') }}: {{ formatTime(wash.started_at) }}
🏁 {{ t('completed_at') }}: {{ formatTime(wash.completed_at) }}
📝 {{ t('notes') }}: {{ getWashCleanNotes(wash) }}

💬 {{ t('whatsapp_connection') }}

⚙️ WhatsApp Gönderim Modu Seçimi
🤖
Tam Otomatik
QR Kod & Sunucu ile Arka Planda
🛡️
Yarı Otomatik
Direkt Telefonda Aç
📱🛡️
Yarı Otomatik Gönderim Etkin
• QR kod taratmanıza veya cihaz bağlamanıza gerek yoktur.
• Araç kabullerinde ve yıkama bitiminde "Müşteriye Bildir" ve "Müşteriyi Çağır" butonlarına tıkladığınızda mesaj WhatsApp uygulamanızda otomatik hazırlanacaktır.
• Bu mod, işletme sahibinin tercihine bağlı olarak kullanım esnekliği sağlamaktadır.

🔧 Usta Yönetimi

{{ workerForm.id ? 'Usta Profilini Düzenle' : 'Yeni Usta Ekle' }}
Bayi Ustaları ({{ workers.length }})

Kayıtlı usta bulunamadı.

{{ w.full_name }}
{{ w.active ? '🟢 AKTİF' : '🔴 PASİF' }}
📞 {{ w.phone }}

⚙️ Hizmet Yönetimi

{{ packageForm.id ? 'Paketi Düzenle' : 'Yeni Hizmet Paketi Ekle' }}
Mevcut Paketler ({{ servicePackages.filter(p => parsePackageCategory(p) === activeServiceTab).length }})

Bu kategoride paket bulunmuyor.

{{ pkg.name }} {{ pkg.price }} {{ currencySymbol }}
{{ getCleanDescription(pkg.description) }}
Usta: {{ pkg.worker_share_type ? (pkg.worker_share_type === 'percent' ? `%${pkg.worker_share_value}` : `${pkg.worker_share_value} ${currencySymbol}`) : 'Yok' }}

{{ selectedSubAccount ? ('🏢 ' + selectedSubAccount.name) : '🏢 Abonman (Cari Hesap) Yönetimi' }}

Toplam Cari Hesap Özeti
{{ subscriptionAccounts.length }} Kayıtlı Firma {{ totalSubscriptionStats.inDebtCount > 0 ? ('(' + totalSubscriptionStats.inDebtCount + ' Borçlu Firma)') : '' }}
{{ totalSubscriptionStats.netReceivable > 0 ? 'NET ALACAK' : (totalSubscriptionStats.netReceivable < 0 ? 'FAZLA ÖDEME' : 'DENK') }}
TOPLAM BORÇ (ALACAK)
{{ formatCurrency(totalSubscriptionStats.totalDebt) }}
TOPLAM TAHSİLAT
{{ formatCurrency(totalSubscriptionStats.totalPaid) }}
TOPLAM YIKAMA
{{ formatCurrency(totalSubscriptionStats.totalWashed) }}
{{ subAccountForm.id ? 'Cari Hesabı Düzenle' : 'Yeni Abonman Cari Hesabı' }}
Abonman Cari Hesapları ({{ filteredSubscriptionAccounts.length }})

Kayıtlı abonman cari hesabı bulunamadı.

{{ account.name }}
{{ account.phone || 'Telefon Belirtilmedi' }}
{{ getSubAccountBalanceLabel(account.id) }}
{{ formatCurrency(Math.abs(getSubAccountBalance(account.id))) }}
{{ selectedSubAccount.name }}
{{ selectedSubAccount.phone || 'Telefon Kaydı Yok' }}
GÜNCEL BAKİYE
{{ getSubAccountBalance(selectedSubAccount.id) > 0 ? '-' : (getSubAccountBalance(selectedSubAccount.id) < 0 ? '+' : '') }}{{ formatCurrency(Math.abs(getSubAccountBalance(selectedSubAccount.id))) }}
{{ getSubAccountBalance(selectedSubAccount.id) > 0 ? 'Firma borçlu' : (getSubAccountBalance(selectedSubAccount.id) < 0 ? 'Fazla ödeme' : 'Hesap denk') }}
Toplam Yıkama
{{ formatCurrency(getSubAccountWashedTotal(selectedSubAccount.id)) }}
Toplam Ödeme
{{ formatCurrency(getSubAccountPaidTotal(selectedSubAccount.id)) }}
Tahsilat Kaydet
Parçalı Dağılım
💵 Nakit:
💳 Kart:
🏦 EFT:
Girilen: {{ Number(subPaymentForm.cashPart || 0) + Number(subPaymentForm.cardPart || 0) + Number(subPaymentForm.eftPart || 0) }} / {{ subPaymentForm.amount || 0 }} {{ currencySymbol }}

Bu hesaba kayıtlı yıkanmış araç bulunmuyor.

{{ wash.vehicles?.plate || 'PLAKASIZ' }} {{ formatCurrency(wash.payment_amount) }}
🚙 {{ wash.vehicles?.brand }} {{ wash.vehicles?.model }}
🧼 {{ wash.wash_type }}
📅 {{ formatDate(wash.completed_at || wash.started_at) }} {{ wash.status === 'completed' ? 'TESLİM EDİLDİ' : 'HAZIR' }}

Bu hesaba ait yapılmış ödeme bulunmuyor.

💳 Tahsilat ({{ getSubPaymentTypeLabel(pay) }}) {{ formatCurrency(pay.amount) }}
{{ getSubPaymentPartialPart(pay.notes) }}
Not: {{ getSubPaymentNotesClean(pay.notes) }}
📅 {{ formatDate(pay.created_at) }}
{{ confirmModal.title || 'Onay' }}
{{ confirmModal.message }}

{{ selectedSupplier ? ('📦 ' + selectedSupplier.name) : '📦 Tedarikçiler & Cari Takip' }}

Tedarikçi Borç & Cari Durumu
{{ suppliers.length }} Kayıtlı Tedarikçi
İŞLETME BORÇ TAKİBİ
TOPLAM ALIM (BORÇ)
{{ formatCurrency(totalSupplierStats.totalPurchases) }}
YAPILAN ÖDEME
{{ formatCurrency(totalSupplierStats.totalPayments) }}
KALAN NET BORÇ
{{ formatCurrency(totalSupplierStats.balance) }}
{{ supplierForm.id ? '✏️ Tedarikçiyi Düzenle' : '➕ Yeni Tedarikçi Kaydı' }}

{{ supplierSearchQuery ? 'Aramanıza uygun tedarikçi bulunamadı.' : 'Henüz kayıtlı tedarikçi bulunmuyor. "Yeni Tedarikçi Ekle" butonunu kullanarak ekleyebilirsiniz.' }}

{{ s.name }} {{ s.category || 'Genel' }}
{{ s.phone }} Alım: {{ formatCurrency((supplierBalances[s.id] || {}).totalPurchases || 0) }} Ödenen: {{ formatCurrency((supplierBalances[s.id] || {}).totalPayments || 0) }}
KALAN BORÇ
{{ formatCurrency((supplierBalances[s.id] || {}).balance || 0) }}
Ekstre ➔
{{ selectedSupplier.name }}
🏷️ {{ selectedSupplier.category || 'Genel' }}
📞 {{ selectedSupplier.phone }}
📝 {{ selectedSupplier.notes }}
TOPLAM ALIM (BORÇ)
{{ formatCurrency((supplierBalances[selectedSupplier.id] || {}).totalPurchases || 0) }}
YAPILAN ÖDEME
{{ formatCurrency((supplierBalances[selectedSupplier.id] || {}).totalPayments || 0) }}
KALAN BORÇ
{{ formatCurrency((supplierBalances[selectedSupplier.id] || {}).balance || 0) }}
📜 Cari Hesap Ekstresi (Hareketler)
Henüz bu tedarikçiye ait alım veya ödeme hareketi bulunmuyor.
{{ tx.type === 'purchase' ? '📥 Mal / Hizmet Alımı' : '📤 Yapılan Ödeme' }} {{ tx.payment_type === 'cash' ? '💵 Nakit' : tx.payment_type === 'card' ? '💳 Kart' : tx.payment_type === 'eft' ? '🏦 EFT' : '💼 Harici' }}
{{ tx.description || (tx.type === 'purchase' ? 'Mal/Hizmet Faturası' : 'Ödeme') }}
{{ formatDate(tx.created_at) }}
{{ tx.type === 'purchase' ? '+' : '-' }}{{ formatCurrency(tx.amount) }}
➕ Mal / Hizmet Alımı Ekle
{{ selectedSupplier ? selectedSupplier.name : '' }} carisine borç olarak eklenir.
💳 Tedarikçiye Ödeme Yap
Ödeme cariden düşer ve seçilen kasadan gider olarak çıkılır.

🏦 {{ t('cash_status_and_ledger') || 'Kasa Durumu & Gelir-Gider' }}

{{ t('loading') }}

💵
{{ t('cash') || 'Nakit' }}
{{ formatCurrency(safes.cash) }}
💳
{{ t('card') || 'Kart' }}
{{ formatCurrency(safes.card) }}
🏦
{{ t('eft') || 'EFT' }}
{{ formatCurrency(safes.eft) }}
🔀 {{ t('transfer_money') || 'Para Transferi (Virman)' }}
🔀 {{ t('transfer_actions_7_days') || 'Virman İşlemleri (Son 7 Gün)' }}

{{ t('no_transfers_found') || 'Son 7 güne ait virman işlemi bulunmuyor.' }}

{{ formatBoxName(transfer.from_box) }} ➔ {{ formatBoxName(transfer.to_box) }} {{ transfer.amount }} {{ currencySymbol }}
{{ transfer.notes || (t('no_transfer_notes') || 'Virman açıklaması yok') }}
{{ formatDate(transfer.transfer_date) }}
📊 {{ t('monthly_end_safe_history') || 'Geriye Dönük Ay Sonu Kasa Durumu' }}
{{ t('period') || 'Dönem' }} {{ t('total') || 'Toplam' }} {{ t('cash') || 'Nakit' }} {{ t('card') || 'Kart' }} {{ t('eft') || 'EFT' }}
{{ item.label }} {{ formatCurrency(item.cash + item.card + item.eft) }} {{ formatCurrency(item.cash) }} {{ formatCurrency(item.card) }} {{ formatCurrency(item.eft) }}
💵
Toplam Nakit
{{ formatCurrency(incomeSums.cash) }}
💳
Toplam Kart
{{ formatCurrency(incomeSums.card) }}
🏦
Toplam EFT
{{ formatCurrency(incomeSums.eft) }}
📈 Gelir Hareketleri

Henüz gelir hareketi bulunmuyor.

{{ item.title }} +{{ item.amount }} {{ currencySymbol }}
💵 Nakit: {{ getSubPaymentPartialPart(item.notes, 'cash') }} {{ currencySymbol }} | 💳 Kart: {{ getSubPaymentPartialPart(item.notes, 'card') }} {{ currencySymbol }} | 🏦 EFT: {{ getSubPaymentPartialPart(item.notes, 'eft') }} {{ currencySymbol }}
{{ formatDate(item.date) }}
📁 Yeni Kategori Ekle
📂 Gider Başlıkları (Kategoriler)
📁 {{ cat.name }}
{{ getCategoryTransactionCount(cat.id) }} işlem | Toplam: {{ formatCurrency(getCategoryExpenseSum(cat.id)) }}

📁 {{ cashbookSelectedCategory.name }} Detayı

{{ editingExpenseId ? '✏️ Gider Kaydını Düzenle' : '➕ Yeni Gider Kaydı Ekle' }}
💵 Nakit:
💳 Kart:
🏦 EFT:
Girilen Toplam: {{ Number(expCashPart || 0) + Number(expCardPart || 0) + Number(expEftPart || 0) }} / {{ expAmount || '0' }} TL
📜 Kategori Gider Kayıtları

Henüz bu kategoride gider bulunmuyor.

{{ item.notes || 'Açıklamasız Gider' }} -{{ item.amount }} ₺
Ödeme Yöntemi: {{ item.payment_type?.toUpperCase() }}
💵 Nakit: {{ item.cash_part || 0 }} ₺ | 💳 Kart: {{ item.card_part || 0 }} ₺ | 🏦 EFT: {{ item.eft_part || 0 }} ₺
{{ formatDate(item.expense_date) }}

👤 Personel Maaşları Yönetimi

🔧 Maaş Tanımları

Kayıtlı personel bulunmuyor.

{{ w.full_name }} (Pasif)
TL
💵 Aylık Maaş Gideri İşle

Tüm aktif personellerin aylık maaş hakedişlerini tek tıkla toplu gider olarak işleyebilirsiniz.

Toplam Ödenecek Maaş: {{ formatCurrency(workers.filter(w => w.active).reduce((sum, w) => sum + Number(w.monthly_salary || 0), 0)) }}
💵 Nakit:
💳 Kart:
🏦 EFT:
📜 Önceki Maaş Ödemeleri

Henüz maaş ödeme kaydı bulunmuyor.

{{ item.notes }}
Kasa: {{ item.payment_type?.toUpperCase() }} | Tarih: {{ formatDate(item.expense_date) }}
-{{ item.amount }} ₺

📁 Personel Hakedişleri Yönetimi

📅 Tarih Seçimi
⚡ Günlük Usta Hakedişleri

Bu tarihte tamamlanan hizmet ve hakediş bulunmuyor.

👤 {{ item.name }}
Biriken Hakediş: {{ item.amount }} ₺
✅ Gider İşlendi
💵 Hakediş Ödemesi Kaydet
Usta: {{ hakedisWorkerToProcess?.name }}
Tarih: {{ formatDate(hakedisDate).split(' ')[0] }}
Biriken Tutar: {{ hakedisWorkerToProcess?.amount }} ₺
Ödenecek Net Tutar: {{ getFinalHakedisAmount() }} ₺
💵 Nakit:
💳 Kart:
🏦 EFT:
📜 Geriye Dönük Son 7 Günün Hakediş Ödemeleri

Son 7 güne ait ödenmiş hakediş kaydı bulunmuyor.

{{ item.notes }}
Kasa: {{ item.payment_type?.toUpperCase() }} | Tarih: {{ formatDate(item.expense_date) }}
-{{ item.amount }} ₺

📁 Günlük Personel Yevmiye Yönetimi

📅 Tarih Seçimi
👥 Personel Listesi ve Yevmiye İşlemleri

Aktif personel bulunmuyor.

👤 {{ worker.full_name }}
Bu Ay Toplam Yevmiye: {{ calculateMonthlyYevmiyeTotal(worker.full_name) }} ₺
✅ Gider İşlendi
Günlük Yevmiye Oranı:
💵 Yevmiye Gideri Kaydet
Personel: {{ yevmiyeWorkerToProcess?.full_name }}
Tarih: {{ formatDate(yevmiyeDate).split(' ')[0] }}
Yevmiye Tutarı: {{ yevmiyeWorkerToProcess?.amount }} ₺
💵 Nakit:
💳 Kart:
🏦 EFT:
📜 Bulunduğumuz Ayın Yevmiye Ödemeleri

Bu aya ait ödenmiş yevmiye kaydı bulunmuyor.

{{ item.notes }}
Kasa: {{ item.payment_type?.toUpperCase() }} | Tarih: {{ formatDate(item.expense_date) }}
-{{ item.amount }} ₺

✏️ Kaydı Düzenle

{{ editingWashRecord.vehicles ? editingWashRecord.vehicles.plate : 'PLAKA YOK' }}
{{ editingWashRecord.vehicles ? editingWashRecord.vehicles.brand : '' }} {{ editingWashRecord.vehicles ? editingWashRecord.vehicles.model : '' }} {{ editingWashRecord.vehicles && editingWashRecord.vehicles.color ? `(${editingWashRecord.vehicles.color})` : '' }}
Hizmet Bilgileri
{{ pkg.name }}
{{ getCleanDescription(pkg.description) }}
{{ pkg.price }} ₺
{{ name }}
{{ editProductQuantities[name] || 1 }}
{{ (Number(editPackagePrices[name] || 0) * (editProductQuantities[name] || 1)) }} ₺
{{ selectedEditPackageNames.map(name => servicePackages.find(p => p.name === name)).filter(Boolean).filter(pkg => parsePackageCategory(pkg) === 'Ürünler').reduce((sum, pkg) => sum + Number(pkg.price || 0), 0) }} ₺
{{ editWashPaymentAmount }} ₺
🧼 {{ name }}
Lütfen usta atamak için önce yukarıdan hizmet seçin.
İşlem Durumu
💰 Ödeme Yöntemi
Ödeme Bölüşümü
💵 Nakit: TL
💳 Kart: TL
🏦 EFT: TL
Girilen Toplam: {{ Number(editWashForm.cashPart || 0) + Number(editWashForm.cardPart || 0) + Number(editWashForm.eftPart || 0) }} / {{ editWashForm.paymentAmount || '0' }} TL
Notlar
{{ t('worker_performance') || 'Usta Performans' }}
{{ t('today') || 'Bugün' }} ({{ getTodayDateStr() }})
{{ t('no_washes_found_period') || 'Bu dönemde tamamlanan yıkama bulunmuyor.' }}
{{ t('worker_name') || 'Usta Adı' }} {{ t('wash_count') || 'İşlem' }} {{ t('total_revenue') || 'Ciro' }} {{ t('earnings') || 'Hakediş' }}
{{ worker.name }} {{ worker.count }} {{ t('pcs') || 'adet' }} {{ formatNumber(worker.revenue) }} {{ currencySymbol }} {{ formatNumber(worker.earnings) }} {{ currencySymbol }}
{{ t('this_week') || 'Bu Hafta' }} ({{ getWeekRangeStr() }})
{{ t('no_washes_found_period') || 'Bu dönemde tamamlanan yıkama bulunmuyor.' }}
{{ t('worker_name') || 'Usta Adı' }} {{ t('wash_count') || 'İşlem' }} {{ t('total_revenue') || 'Ciro' }} {{ t('earnings') || 'Hakediş' }}
{{ worker.name }} {{ worker.count }} {{ t('pcs') || 'adet' }} {{ formatNumber(worker.revenue) }} {{ currencySymbol }} {{ formatNumber(worker.earnings) }} {{ currencySymbol }}
{{ t('this_month') || 'Bu Ay' }} ({{ getMonthStr() }})
{{ t('no_washes_found_period') || 'Bu dönemde tamamlanan yıkama bulunmuyor.' }}
{{ t('worker_name') || 'Usta Adı' }} {{ t('wash_count') || 'İşlem' }} {{ t('total_revenue') || 'Ciro' }} {{ t('earnings') || 'Hakediş' }}
{{ worker.name }} {{ worker.count }} {{ t('pcs') || 'adet' }} {{ formatNumber(worker.revenue) }} {{ currencySymbol }} {{ formatNumber(worker.earnings) }} {{ currencySymbol }}
{{ t('quick_expense') || 'Hızlı Gider' }}
{{ t('active_washes') || 'Aktif Yıkama' }} ({{ activeWashes.length }})
{{ t('no_vehicles_queue') || 'Şu anda sırada araç bulunmuyor.' }}
{{ wash.vehicles ? wash.vehicles.plate : 'PLAKA YOK' }}
{{ wash.wash_type }}
{{ wash.status === 'ready' ? 'Hazır' : 'İşlemde' }}
Son Giderler
{{ item.categoryName || 'Gider' }}
{{ item.notes || 'Detay belirtilmedi' }}
-{{ formatNumber(item.amount) }} ₺

🏆 {{ selectedWorkerForModal?.name }} - Bugün Yapılan İşler

Bugün bu usta tarafından tamamlanan araç bulunmuyor.
{{ wash.vehicles ? wash.vehicles.plate : 'PLAKA YOK' }}
{{ wash.status === 'completed' ? 'Ödendi' : wash.status === 'ready' ? 'Hazır' : 'İşlemde' }} ⏱️ {{ wash.completed_at ? formatTime(wash.completed_at) : (wash.started_at ? formatTime(wash.started_at) : '') }}
{{ wash.vehicles ? wash.vehicles.brand : '' }} {{ wash.vehicles ? wash.vehicles.model : '' }}
🧼 Hizmet: {{ wash.wash_type }}
💰 Hizmet Bedeli: {{ wash.payment_amount }} ₺ 🛠️ Hakediş: {{ getWorkerShareFromWash(wash, selectedWorkerForModal?.name) }} ₺

📊 {{ kasaDetailTitle }}

Bugün bu kasaya ait kayıtlı bir işlem bulunmuyor.
{{ item.title }}
{{ item.type === 'income_wash' ? 'Araç Yıkama' : item.type === 'income_sub' ? 'Abonman Cari' : 'Gider Kaydı' }} ⏱️ {{ item.time ? formatDate(item.time) : '' }}
{{ item.desc }} {{ item.type.startsWith('income') ? '+' : '-' }}{{ formatCurrency(item.amount) }}
Bugünkü Toplam: {{ formatCurrency(kasaDetailTotal) }}

🔍 {{ t('search_vehicle_title') || 'Araç Bul ve Servis Kayıtları' }}

{{ t('searching_vehicle_info') || 'Araç bilgileri sorgulanıyor...' }}
📭
{{ t('vehicle_not_found_title') || 'Araç bulunamadı' }}
{{ t('vehicle_not_found_desc') || 'Girdiğiniz plakaya ait herhangi bir kayıt bulunamadı.' }}
{{ searchResultVehicle.plate }} 🟢 {{ t('status_completed') || 'Tamamlandı (Ödendi)' }} 🔑 {{ t('status_ready') || 'Teslime Hazır' }} ⏳ {{ t('status_waiting') || 'Sırada Bekliyor' }} 🚿 {{ t('status_washing') || 'Yıkama Aşamasında' }} Kayıtlı Araç
🚙 {{ searchResultVehicle.brand }} {{ searchResultVehicle.model }} {{ searchResultVehicle.color ? `(${searchResultVehicle.color})` : '' }}
👤 {{ t('customer') }}: {{ searchResultVehicle.customers ? searchResultVehicle.customers.name : (t('no_customer_name') || 'Müşteri Adı Yok') }}
📋 {{ t('last_transaction_detail') || 'Son İşlem Detayı:' }}
🧼 {{ t('service') }}: {{ searchResultWash.wash_type }} ({{ searchResultWash.payment_amount }} ₺)
🛠️ {{ t('worker') }}: {{ getWorkerName(searchResultWash) }}
🕒 {{ t('started_at') }}: {{ formatDate(searchResultWash.started_at) }}
🏁 {{ t('completed_at') }}: {{ formatDate(searchResultWash.completed_at) }}
📝 {{ t('notes') }}: {{ getWashCleanNotes(searchResultWash) }}
⚠️ {{ t('no_wash_records_found') || 'Bu araca ait aktif veya geçmiş bir yıkama kaydı bulunmuyor.' }}