Yeni Sürüm Hazır ({{ latestRemoteVersion }})!
⚠️ IHS Sunucu Kiralama Bitiş Uyarısı: IHS sanal sunucu kiralama yılı 23 Ekim 2027 tarihinde sona ermektedir. Sistemde ve randevularda hizmet kesintisi yaşamamak için lütfen sunucu süresini yenilemeyi unutmayınız.
{{ serverRenewalAlert.isOverdue ? '⚠️ Süre Doldu!' : ('Kalan: ' + serverRenewalAlert.daysRemaining + ' Gün') }}
{{ settings.clinicName || 'Fzt. Furkan Buyurgan' }} {{ appVersion }}
{{ activeUser.name }} {{ activeUser.role === 'admin' ? 'Admin' : 'Terapist' }}
{{ liveTime }}
Hızlı Geçiş: ({{ activeUser.name.split(' ')[0] }})

Kullanıcı Girişi

Fzt. Furkan Buyurgan Klinik Yönetim Sistemi {{ appVersion }}

{{ loginError }}
🏖️ Klinik Bugün Tatildedir: {{ dayHoliday.reason }} Kapalı

{{ dayHoliday.start_date }} {{ dayHoliday.start_date !== dayHoliday.end_date ? '— ' + dayHoliday.end_date : '' }} tarihleri arasında klinikte tüm seans ve randevular kapalıdır.

Saat
{{ hour < 10 ? '0' + hour : hour }}:00 50 dk seans

{{ overviewSubMode === 'weekly' ? 'Haftalık Seans & Çalışma Planı' : 'Aylık Klinik & Seans Ritmi' }} 👑 Kurucu & Klinik Genel 👤 Kişisel Çalışma Planınız: {{ activeUser.name }}

Pazartesi'den Pazar'a danışan isimleriyle gün gün randevular, seans detayları ve doluluk. Ay genelinde gün gün seans adetleri, yoğunluk ve doluluk ritmi.

Filtre:
Kişisel Veri Korumalı · Sadece Sizin Seanslarınız
Toplam Seans
{{ currentOverviewStats.totalSessions }} seans
Tamamlanan
{{ currentOverviewStats.completedSessions }} seans
Planlanan / Gelecek
{{ currentOverviewStats.plannedSessions }} seans
En Yoğun Gün
{{ currentOverviewStats.busiestDay.weekdayName || currentOverviewStats.busiestDay.day }} ({{ currentOverviewStats.busiestDay.count }} Seans) Kayıt yok
En Az Yoğun Gün
{{ currentOverviewStats.leastBusyDay.weekdayName || currentOverviewStats.leastBusyDay.day }} ({{ currentOverviewStats.leastBusyDay.count }} Seans) Kayıt yok
İptal Seans
{{ currentOverviewStats.cancelledSessions }} seans

Genel durum planı hazırlanıyor...

{{ day.weekdayName }} Bugün
{{ day.day }}.{{ String(day.month).padStart(2, '0') }}
{{ day.count }} Seans
🏖️ {{ day.holiday.reason }}
🚪 Pazar Klinik Kapalı
🌴 {{ tl.therapistName }}: {{ tl.reason }}
{{ s.hour }}:00 {{ s.status }}
{{ s.clientName }}
{{ s.serviceType === 'pilates_birebir' ? 'Birebir Pilates' : (s.serviceType === 'pilates_grup' ? 'Grup Pilates' : 'Manuel Terapi') }} {{ s.roomName }}
{{ s.therapistName }}
Randevu yok
Pazartesi
Salı
Çarşamba
Perşembe
Cuma
Cumartesi
Pazar (Kapalı)
{{ day.day }} Bugün
Günü Aç
🏖️ {{ day.holiday.reason }}
🚪 Pazar Kapalı
⚡ {{ day.count }} Seans
{{ day.completedCount }} bitti {{ day.plannedCount }} plan
Seans yok
{{ th.name.split(' ')[0] }}: {{ th.count }}
🌴 {{ tl.therapistName.split(' ')[0] }} İzinli

Kurucu / Admin Kasa Paneli (Tüm Klinik Finansı) {{ activeUser ? activeUser.name : '' }} — Kendi Danışan Seans & Ciro Paneli {{ activeUser && activeUser.role === 'admin' ? 'Kurucu / Admin' : 'Personel Terapist' }}

Furkan Hoca olarak kliniğin toplam tahsilatını (Nakit, POS, Havale), bekleyen alacakları ve tüm terapistlerin bireysel seans ciro dökümünü yönetiyorsunuz. Personel Gizlilik Politikası: Furkan Buyurgan ve diğer meslektaşlarınızın ciroları kesinlikle gizlidir. Yalnızca kendi danışanlarınızdan elde ettiğiniz toplam ciroyu görebilirsiniz.

-
Tahsil Edilen (Net Kasa)
{{ formatCurrency(financeData.kpi.collected) }}
Kasaya fiilen giren
Bekleyen Tahsilat
{{ formatCurrency(financeData.kpi.pending_due) }}
Vadesi gelmiş alacaklar
Toplam Seans Hacmi
{{ formatCurrency(financeData.kpi.session_volume) }}
Dönem içi seans değeri
Nakit Kasa Girişi
{{ formatCurrency(financeData.kpi.cash) }}
Fiziki nakit çekmecesi
POS & Havale/EFT
{{ formatCurrency(financeData.kpi.bank) }}
Banka hesap bakiyesi
Seans Doluluğu
{{ financeData.kpi.sessions_completed }} / {{ financeData.kpi.sessions_total }}
%{{ financeData.kpi.sessions_total ? Math.round((financeData.kpi.sessions_completed / financeData.kpi.sessions_total) * 100) : 0 }} tamamlanma oranı

Fizyoterapist Performans, Ciro & Hakediş Matrisi

{{ activeUser && activeUser.role === 'admin' ? 'Tüm Klinik Dökümü' : 'Kişisel Ciro Dökümünüz' }}
Terapist Tamamlanan Planlanan Toplam Seans Tahsil Edilen (Kasa) Bekleyen Tahsilat Toplam Seans Hacmi Ciro Payı
{{ m.name }} KURUCU
{{ m.completed }} Seans {{ m.planned }} Seans {{ m.total }} Seans {{ formatCurrency(m.collected) }} {{ formatCurrency(m.pending) }} {{ formatCurrency(m.session_volume) }} %{{ m.share }}

Oda Bazlı Kapasite, Seans & Getiri Dağılımı

Klinik Odaları Hacim Analizi
Klinik Odası Tamamlanan Planlanan Toplam Seans Toplam Oda Getirisi Getiri Payı
{{ r.name }}
{{ r.completed || 0 }} Seans {{ r.planned || 0 }} Seans {{ r.sessions }} Seans {{ formatCurrency(r.volume) }} %{{ r.share || 0 }}

Bekleyen & Tahsil Edilmemiş Danışan Borçları (Açık Bakiyeler)

Kimin Borcu Var? Paketi başlatılmış veya seansı yapılmış ancak bakiyesi henüz tahsil edilmemiş danışanlardır. Danışan istediği miktarda (kısmi veya tam) ödeme yaptığında [+ Tahsilat Al] butonuna tıklayarak istediğiniz tutarı (Nakit, POS, Havale) kasaya anında işleyebilirsiniz.

Toplam {{ (filteredFinanceDebts || []).length }} Borçlu Kayıt
Danışan Sorumlu Terapist Hizmet / Model & Durum Toplam Tutar Ödenen Kalan Açık Borç İşlem
Tebrikler! Bekleyen tahsilat veya açık borcu olan danışan bulunmuyor.
{{ debt.client_name }}
📞 {{ debt.client_phone }}
{{ debt.therapist_name }}
{{ debt.title }}
{{ debt.session_info }}
{{ formatCurrency(debt.total_price) }} {{ formatCurrency(debt.paid) }} {{ formatCurrency(debt.remaining) }}
Sayfa {{ financeDebtPage }} / {{ totalFinanceDebtPages }} · Gösterilen: {{ ((financeDebtPage - 1) * financeDebtPageSize) + 1 }} - {{ Math.min(financeDebtPage * financeDebtPageSize, (filteredFinanceDebts || []).length) }} (Toplam {{ (filteredFinanceDebts || []).length }})

Fiili Kasa Tahsilat Defteri (Nakit, POS & Havale Girişleri)

Amaç: Kliniğin çekmecesine, POS cihazına ve banka hesabına fiilen giren gerçek para hareketleridir (Nakit, POS, Havale). Akşam gün sonu yaparken kasadaki nakit ve POS slipleri toplamı bu defterle kuruşu kuruşuna tutmalıdır.

Toplam {{ (filteredFinancePayments || []).length }} Tahsilat Hareketi
Tarih Danışan Açıklama / Not Ödeme Yöntemi Tahsil Edilen Tutar İşlem
Bu dönem aralığında kaydedilmiş tahsilat bulunmuyor.
{{ pay.paid_at }} {{ pay.client_name }} {{ pay.note || (pay.agreement_id ? 'Paket Tahsilatı' : 'Seans Tahsilatı') }} {{ pay.method }} {{ formatCurrency(pay.amount) }}
Sayfa {{ financePayPage }} / {{ totalFinancePayPages }} · Gösterilen: {{ ((financePayPage - 1) * financePayPageSize) + 1 }} - {{ Math.min(financePayPage * financePayPageSize, (filteredFinancePayments || []).length) }} (Toplam {{ (filteredFinancePayments || []).length }})

Klinik Danışan Portföyü & Dijital Dosya Merkezi {{ activeUser ? activeUser.name : '' }} — Danışan Dosyası & Takip Paneli {{ activeUser && activeUser.role === 'admin' ? 'Tüm Klinik (Admin)' : 'Kendi Danışanlarınız' }}

Kurucu Admin Yetkisi: Kliniğin tüm danışanlarını, hangi danışanın kaçıncı seansta olduğunu ve ne kadar borcu kaldığını anında aratıp görüntüleyebilirsiniz. Personel Gizlilik Koruması: Yalnızca kendi tedavi ettiğiniz veya üzerinize kayıtlı danışanların dosyalarını ve seans ilerlemelerini görebilirsiniz.

Takip Edilen Danışan
{{ clientDossierStats.total }} Danışan
Kayıtlı aktif klinik portföyü
Aktif Paket Seanslar
{{ clientDossierStats.packages }} Danışan
Devam eden haftalık paketler
Kalan Toplam Cari Borç
{{ formatCurrency(clientDossierStats.totalDebt) }}
{{ clientDossierStats.debtorCount }} danışandan tahsil edilecek
Tamamlanan Seanslar
{{ clientDossierStats.totalSessionsCompleted }} Seans
Fiilen uygulanmış tedavi

Aradığınız kriterde danışan bulunamadı

İsim veya telefon aramasını temizleyebilir ya da sağ üstten yeni danışan kaydedebilirsiniz.

{{ client.name.charAt(0).toUpperCase() }}

{{ client.name }}

{{ client.owner_name || 'Klinik Danışanı' }}
Şikayet: {{ client.complaint || 'Belirtilmedi' }}
Seans Durumu: {{ client.active_agreement.used_count }} / {{ client.active_agreement.session_count }} Seans Seans Başı
📌 {{ client.active_agreement.used_count }}. Seans Tamamlandı {{ client.active_agreement.remaining_sessions }} Seans Kaldı
Tamamlanan Seans: {{ client.completed_sessions }} Seans
Gelecek Seans: {{ client.next_appointment.date }} · {{ client.next_appointment.hour }}:00 ({{ client.next_appointment.room_name }})
Planlanmış gelecek randevusu yok
Kasa & Cari Durumu: ⚠️ Borçlu ✅ Borcu Yok
Tahsil Edilen (Kasa): {{ formatCurrency(client.budget?.paid || 0) }}
Kalan Cari Borç: {{ formatCurrency(client.budget?.balance || 0) }}
Klinik Protokol Durumu: Aktif Danışan
{{ client.initial_sessions }} seans sistem öncesinden devretti
Devreden Kalan Borç: {{ formatCurrency(client.initial_balance) }}

Klinik seans ve tedavi takip protokolü yürütülmektedir.

Modül 6 & Modül 2 Vitrin Demosu ❌ SMS KESİNLİKLE YOKTUR

Akıllı WhatsApp Ön Karşılama & Randevu Asistanı (Simülasyon)

Danışan WhatsApp'tan mesaj attığında bot anında karşılar, Furkan Hoca'nın muayenehane konumunu iletir, takvimdeki boş saatleri sunar ve teyit edilen randevuyu doğrudan sisteme işler!

Fzt. Furkan Buyurgan Asistanı
Çevrimiçi · Doğrulanmış Klinik Hattı
Bugün
{{ msg.text }}
Fzt. Furkan Buyurgan Muayenehanesi
Google Haritalar Konumu Gönderildi
Simülasyon Danışan Yanıtları:

Neden 100% WhatsApp? Neden SMS Yok?

  • 1 Açılma Oranı: SMS %12 iken, WhatsApp %98 okunma oranına sahiptir.
  • 2 Canlı Harita Pini: Danışan kapı önüne kadar haritayla yönlendirilir.

Randevu & Tedavi Planlama Sihirbazı

Akıllı aralık önerisi ile haftalık seans oluşturma

👥
Grup Çalışmasına Katılım: {{ groupTargetInfo.clientName }} Grubu 🔒 Sabit Grup Rutini

Bu bir Grup Pilates seansıdır. Katılımcı mevcut gruba dahil edildiğinden seans günleri, saatleri ({{ groupTargetInfo.scheduleSummary }}) ve toplam {{ groupTargetInfo.sessionsCount }} seanslık program kilitlidir ve değiştirilemez. Yeni danışan doğrudan Barkın'ın olduğu bu seanslara kaydedilir.

Zorunlu alan
TR
Zorunlu alan · Örn: 0532 123 45 67 veya 5321234567
Zorunlu alan · Klinik ön tanı veya başvuru nedeni
1. Seans Bilgileri (Başlangıç Tarihi & Saati)
Tarih:
⚠️ ÇAKIŞMA TESPİT EDİLDİ:
{{ firstSlotConflict }}
Bu saatte terapist veya salon dolu olduğu için randevu verilemez. Lütfen yukarıdan boş bir saat seçiniz.

{{ newApt.frequencyPerWeek === 1 ? 'Seçilen gün haftalık periyodik olarak takvime işlenecektir' : ('Haftada ' + newApt.frequencyPerWeek + ' gün belirlenen periyotta takvime işlenecektir') }}

👴
Sürekli / Kronik Düzenli Tedavi Modu ({{ Math.round(newApt.weeksCount / 4) }} Ay / {{ newApt.weeksCount }} Hafta):

Furkan Hoca'ya uzun süredir veya ucu açık düzenli gelen yaşlı ve kronik hastalar için seanslar takvimde ileriye dönük rezerve edilir. Seans başı modelde gelirler sadece seans gerçekleştikçe kasaya işlendiği için finansal hesaplamalarınızı ve ciroyu asla bozmaz. Danışan tedaviyi tamamlamak istediğinde kalan seanslar tek tıkla durdurulabilir.

Toplam {{ totalSessionsCount }} Seanslık Anlaşma: ~{{ formatCurrency(Math.round((newApt.price || 0) / Math.max(1, totalSessionsCount))) }}/seans
Danışan her geldiğinde seans başı öder {{ totalSessionsCount }} Seans Plan
Kalan Cari Borç: {{ formatCurrency(newApt.price - (newApt.paidAmount || 0)) }}
Ödeme Durumu: ✅ Tamamı Peşin Alındı
Kasaya Giren: {{ formatCurrency(newApt.paidAmount !== null && newApt.paidAmount !== undefined ? newApt.paidAmount : newApt.price) }}
Akıllı Klinik Asistanı · Haftada 1 Gün Sabit Rutin Planı Akıllı Klinik Asistanı · Haftada {{ newApt.frequencyPerWeek }} Seans Rutin Planı Akıllı Klinik Asistanı · 2. Seans Önerisi
{{ newApt.frequencyPerWeek === 1 ? 'Haftalık Sabit Gün' : (newApt.frequencyPerWeek >= 3 ? (newApt.frequencyPerWeek === 6 ? 'Her Gün (Pazar Hariç)' : (newApt.frequencyPerWeek === 5 ? 'Hafta İçi Her Gün' : 'Dengeli Dağılım')) : 'En Az 3 Gün Ara Kuralı') }}
Haftalık Sabit Rutin:
Her {{ getFirstSessionWeekdayName() }} Saat {{ newApt.hour }}:00 ({{ getRoomName(newApt.roomId) }})
Danışan her hafta aynı gün ve saatte seansa alınacaktır. {{ newApt.weeksCount }} hafta boyunca toplam {{ totalSessionsCount }} seans periyodik olarak takvime işlenecektir.
Haftada 1 Seans

Haftada {{ newApt.frequencyPerWeek }} seans tedavi seçildi. Hafta içindeki seans gün ve saatlerini aşağıdan özgürce özelleştirebilirsiniz:

1 1. Seans (Başlangıç Günü):
{{ newApt.date || selectedDate }}
Saat {{ newApt.hour }}:00 · {{ getRoomName(newApt.roomId) }}
2 2. Seans Günü:
3 3. Seans Günü:
4 4. Seans Günü:
5 5. Seans Günü:
6 6. Seans Günü:
Aynı gün birden fazla seansa seçilmiş: {{ duplicateSlotDays.join(', ') }}. Her seans için farklı bir gün seçiniz (aksi halde haftalık seans sayısı eksik kalır).
Grup seans günleri ve saatleri grup ({{ groupTargetInfo.clientName }}) ile birebir eşitlenmiştir.
Katılımcı aynı gruba dahil olacağı için seans saatleri ve alternatif gün seçimleri kilitlidir.
Tek Seferlik Tedavi: Yalnızca seçili gün için tek randevu oluşturulur, ileri tarihlere rutin takvim işlenmez.
Tedavi Seans Programı ({{ newAptPreviewItems.length }} Seans)
Kontrol ediliyor... Çakışma Var! Tüm Seanslar Müsait
Takvim Üzerinde Tedavi Günleri: Mor halkalar planlanan seans günlerini gösterir
{{ m.title }}
PtSaÇaPeCuCtPz
{{ d.day }} S{{ d.session.index }}
{{ d.day }}
1
{{ formatTurkishDate(item.date) }} {{ item.weekdayName }} {{ getRoomName(item.roomId) }}
Saat {{ item.hour }}:00
{{ w.weekNum }}. Hafta Seansları 2 Seans
{{ item.index }}
{{ formatTurkishDate(item.date) }} {{ item.weekdayName }}
{{ item.hour }}:00
{{ getRoomName(item.roomId) }}
Müsait
{{ item.index }}. Seansı Özelleştir:
{{ item.conflictMessage || item.conflict.message }}
❓
Bu danışan eski/devir hasta mı? (Sistem öncesi seans devri) {{ newApt.initialSessions > 0 ? `Devir Tanımlı: ${newApt.initialSessions} seans tamamlandı (İlk seans ${newApt.initialSessions + 1}. Geliş olacak)` : 'Varsayılan: Yeni danışan (İlk seans 1. Geliş olarak başlar)' }}
⚠️

Eski Hasta Seans Devri: Danışan kliniğinize veya terapistine sisteme geçmeden önce gelmişse, tamamladığı seans sayısını giriniz. Sistemdeki ilk randevusu otomatik olarak bir sonraki seans (örn: 29 girilirse 30. Geliş) olarak başlatılır.

seans tamamlandı
{{ (newApt.initialSessions || 0) + 1 }}. Geliş
Takvim kartında bu numarayla başlar
💡 Hızlı Butonlar:

Yeni Fizyoterapist Tanımla

Takvime yeni terapist sütunu ve giriş yetkisi ekler

{{ newTherapist.color }}

Yeni Klinik Odası Tanımla

Takvimde çakışma takibi için yeni oda sütunu açar

{{ newRoom.color }}

{{ selectedAppointment.client_name }}

Seans Detayları & Terapist İş Paslama

Terapist & Oda / İş Paslama:
Tahsilat & Kasa Durumu: {{ selectedAppointment.payment_status === 'Tahsil Edildi' ? '✅ Tahsil Edildi' : (selectedAppointment.status === 'Tamamlandı' ? '⚠️ Ödeme Alınmadı (Borç)' : (selectedAppointment.date > (new Date().toISOString().slice(0, 10)) ? `⏳ Ödeme Bekliyor (${formatTurkishDate(selectedAppointment.date)})` : `⏳ Seans Bitiminde Otomatik Tahsil (${selectedAppointment.hour}:51)`)) }}
Bu Kayda Ait Kasa Girişleri (Tahsilat Geçmişi): {{ (selectedAppointment.agreement?.payments || selectedAppointment.payments || []).length }} Tahsilat
{{ formatCurrency(pay.amount) }} {{ pay.method }} {{ pay.paid_at }} ({{ pay.note }})
❓
Bu seansın sıra numarasını manuel düzenlemek istiyor musunuz? Mevcut Durum: {{ selectedAppointment.visit_no || 1 }}. Geliş · Eski hasta aktarımı veya sıra düzeltmeleri için
⚠️

Güvenlik Uyarısı: Seans numarasını değiştirmek, danışanın kayıtlı toplam seans sayacını doğrudan etkiler. Hatalı seans kaydı oluşturmamak için yalnızca eski veri aktarımlarında dikkatle kullanınız.

. Seans
seans
💡 Örn: 30. seans yapmak için soldaki kutuya 30 yazıp alttan "Değişiklikleri Kaydet"e basınız.

Randevuyu Sil

{{ deletingAppointment.client_name }} — {{ deletingAppointment.date }} Saat: {{ deletingAppointment.hour }}:00

Bu danışana ait randevuyu takvimden kaldırmak üzeresiniz. Lütfen silme kapsamını seçiniz:

Yeni Paket / Anlaşma Tanımla

Danışana çoklu seans paketi veya aylık takip bağlar

Tahsilat Al & Kasaya İşle

Alınan nakit, POS veya havale ödemesini kasaya kaydedin

{{ collectPaymentTarget.client_name ? collectPaymentTarget.client_name.charAt(0).toUpperCase() : 'D' }}
{{ collectPaymentTarget.client_name }}
{{ collectPaymentTarget.title }}
{{ collectPaymentTarget.therapist_name }}
Toplam Anlaşma {{ formatCurrency(collectPaymentTarget.total_price) }}
Bugüne Dek Ödenen {{ formatCurrency(collectPaymentTarget.paid) }}
Kalan Açık Borç {{ formatCurrency(collectPaymentTarget.remaining) }}
TL
Hızlı Seç:

Yeni Danışan Kaydı

Kliniğe yeni danışan dosyası açın

Canlıya Geçiş / Başlangıç Seans & Bakiye Devri Eski Hasta

Hasta sisteme geçmeden önce kaçıncı seansına kadar geldiyse (örn: 27) girin. İlk randevusu otomatik 28. Geliş olarak başlar. Varsa kalan borcunu da girebilirsiniz.

Danışan Bilgilerini Düzenle

Klinik kayıtları ve seans / bakiye devir ayarlarını güncelleyin

Canlıya Geçiş / Sistem Öncesi Devir Bilgileri Devir Ayarları

Bu danışan kliniğe bu yazılım kurulmadan önce gelmiş ve örneğin 27 seans tamamlamış olabilir. Buraya 27 yazarsanız, hastanın seans sayacı doğrudan 27'den başlar ve sisteme gireceğiniz ilk yeni randevusu otomatik olarak 28. Geliş olarak etiketlenir. Kalan borç bakiyesini de dilediğiniz zaman güncelleyebilirsiniz.

Örn: 27 seans geldiyse 27 yazın
Örn: Borcu yoksa 0, borcu varsa tutarı yazın

Bildirim & İşlem Günlüğü

Tüm sistem uyarıları ve işlem geçmişi

Henüz bir bildirim veya işlem kaydı bulunmuyor.

{{ n.text }}

{{ n.date }} · {{ n.time }}

Admin & Klinik Yönetim Merkezi

KURUCU ÖZEL

Terapist pasife alma, oda yönetimi, tatil & izinler ve klinik çalışma parametreleri

Klinik Tatilleri & Terapist İzinleri

29 Ekim vb. genel tatillerde seanslar kapanır, çakışan randevular denetlenir.

Kayıtlı Tatil & İzin Kayıtları ({{ allLeaves.length }})
Kayıtlı izin veya tatil bulunmuyor.
{{ l.type === 'clinic_holiday' ? 'Klinik Genel Tatilini Düzenle' : (l.therapist_name || 'Terapist İzni') + ' — İzni Düzenle' }}
{{ l.type === 'clinic_holiday' ? '🏖️ Klinik Genel Tatili' : (l.therapist_name || 'Terapist İzni') }} {{ l.type === 'clinic_holiday' ? 'Tüm Klinik Kapalı' : 'Terapist' }}
📅 {{ formatTurkishDate(l.start_date) }} {{ l.start_date !== l.end_date ? '— ' + formatTurkishDate(l.end_date) : '' }} ({{ l.start_hour }}:00 - {{ l.end_hour || l.start_hour }}:00) | Sebep: {{ l.reason || 'Belirtilmedi' }}

Terapist Kadrosu & Aktiflik Durumu

Ayrılan personeli pasife alabilir veya yeni fizyoterapist tanımlayabilirsiniz.

{{ u.name.charAt(0) }}
{{ u.name }}
{{ u.role === 'admin' ? 'Kurucu / Admin' : 'Personel' }} {{ u.active ? '🟢 Aktif' : '🔴 Pasif' }}
{{ u.title }} • Kullanıcı Adı: {{ u.username }} • {{ u.appointment_count || 0 }} Aktif Seans

Klinik Odaları & Salonlar

Tadilatta olan veya kapatılan odayı pasife alabilir, yeni odalar tanımlayabilirsiniz.

Oda İsmi & Bilgilerini Düzenle ID: #{{ r.id }}
{{ editRoomForm.color }}
{{ r.name }}
{{ r.active ? '🟢 Aktif' : '🔴 Pasif' }}
{{ r.description }} • {{ r.appointment_count || 0 }} Aktif Seans

Temel Klinik Parametreleri

Veritabanı Felaket Kurtarma & Canlı Yedek

Tüm canlı randevu, danışan, seans, kasa ve işlem kayıtlarının eksiksiz SQLite veritabanı kopyasını bilgisayarınıza tek tıkla indirin.

Yedeği İndir (.db)
Kurucu yetkileri aktiftir · Sistem Sürümü: {{ appVersion }}

İzin & Klinik Tatili Yönetimi

{{ activeUser && activeUser.role === 'admin' ? 'Klinik genel tatillerini ve terapist izinlerini yönetin' : 'Mazeret, rapor veya izin bildirimi yapın' }}

⚠️ Seçilen Tarihte {{ leaveConflictInfo.count }} Adet Aktif Randevu Bulundu!

Klinik tatili / izin tanımlanırken bu randevular için nasıl bir işlem yapılacağını seçebilirsiniz:

⏰ Saat {{ c.hour }} — {{ c.clientName }} Terapist: {{ c.therapistName }}
Kayıtlı izin veya tatil bulunmuyor.
{{ l.type === 'clinic_holiday' ? 'Klinik Genel Tatili' : (l.therapist_name || 'Terapist İzni') }} {{ l.type === 'clinic_holiday' ? 'Tüm Klinik' : 'Terapist' }}
📅 {{ l.start_date }} {{ l.start_date !== l.end_date ? '— ' + l.end_date : '' }} ({{ l.start_hour }}:00 - {{ l.end_hour || l.start_hour }}:00)

Sebep: {{ l.reason || 'Belirtilmedi' }}

Hızlı Danışan Sorgulama

👑 KURUCU ADMİN (Tüm Danışanlar) 🔒 SORUMLU TERAPİST (Size Ait Danışanlar)

Seans ilerlemesi, kalan seans sayısı, cari borç/ödeme ve gelecek randevular

Aradığınız kriterlere uygun danışan bulunamadı.

Arama terimini değiştirebilir veya yeni bir randevu açabilirsiniz.

{{ client.name.charAt(0).toUpperCase() }}

{{ client.name }}

{{ client.owner_name || 'Klinik Danışanı' }}

📞 {{ client.phone || 'Telefon yok' }} · 🩺 {{ client.complaint }}

📌 Seans Durumu
{{ client.active_agreement.used_count }}. Seans Tamamlandı {{ client.active_agreement.used_count }}/{{ client.active_agreement.session_count }}
{{ client.active_agreement.remaining_sessions }} seans daha planlanacak
Seans Başı Çalışma
Toplam {{ client.completed_sessions || 0 }} seans tamamlandı
💰 Kasa & Borç Durumu
{{ formatCurrency(client.budget.balance) }} Kalan Borç
{{ formatCurrency(client.budget.paid) }} ödendi / {{ formatCurrency(client.budget.total_charges) }} anlaşma
Borcu Yok (0 TL)
{{ formatCurrency(client.budget?.paid || 0) }} tahsil edildi
🩺 Klinik Takip
Aktif Tedavi Protokolü
{{ client.completed_sessions || 0 }} tamamlanan seans
📅 Gelecek Seans
{{ client.next_appointment.date }} Saat {{ client.next_appointment.hour }}:00
{{ client.next_appointment.room_name }} · {{ client.next_appointment.therapist_name }}
Son Seans Yapıldı
{{ client.last_appointment.date }} ({{ client.last_appointment.status }})
Planlı seans yok
{{ selectedClientForDossier.name.charAt(0).toUpperCase() }}

{{ selectedClientForDossier.name }}

{{ selectedClientForDossier.owner_name || 'Klinik Danışanı' }}

📞 {{ selectedClientForDossier.phone || 'Telefon belirtilmedi' }} · 📅 Kayıt: {{ selectedClientForDossier.created_at.slice(0, 10) }}

Seans / Tedavi Aşaması Paket Seans Seans Başı
📌 {{ selectedClientForDossier.active_agreement.used_count }}. Seans Tamamlandı

Toplam {{ selectedClientForDossier.active_agreement.session_count }} seanslık paketin {{ selectedClientForDossier.active_agreement.remaining_sessions }} seansı kalmıştır.

{{ selectedClientForDossier.completed_sessions }} Seans Tamamlandı
({{ selectedClientForDossier.initial_sessions }} seans sistem öncesinden devretti)

Seans başı model ile tedavi yürütülmektedir.

Kasa & Cari Borç Durumu ⚠️ Borçlu ✅ Tamamı Ödendi
{{ selectedClientForDossier.budget && selectedClientForDossier.budget.balance > 0.01 ? formatCurrency(selectedClientForDossier.budget.balance) + ' Borçlu' : '0 TL (Borcu Yok)' }}
Tahsil Edilen: {{ formatCurrency(selectedClientForDossier.budget?.paid || 0) }} Toplam Ücret: {{ formatCurrency(selectedClientForDossier.budget?.total_charges || 0) }}
Klinik Tedavi Durumu Aktif Danışan
Aktif Klinik Tedavi Protokolü
⚠️ Devreden Açık Borç: {{ formatCurrency(selectedClientForDossier.initial_balance) }}

Danışanın seans randevuları ve klinik egzersiz takibi düzenli olarak sürdürülmektedir.

Klinik Değerlendirme & Şikayet Notları

Başvuru Şikayeti / Teşhis: {{ selectedClientForDossier.complaint || 'Belirtilmedi' }}
Terapist Klinik Notları: {{ selectedClientForDossier.notes || 'Ek not girilmemiş.' }}
Gelecek Randevu
{{ selectedClientForDossier.next_appointment.date }} · {{ selectedClientForDossier.next_appointment.hour }}:00 ({{ selectedClientForDossier.next_appointment.room_name }})
Planlanmış randevu yok
Son Tamamlanan Seans
{{ selectedClientForDossier.last_appointment.date }} · {{ selectedClientForDossier.last_appointment.hour }}:00
Henüz tamamlanan seans yok
Bu danışana ait kayıtlı seans geçmişi bulunmuyor.
Tarih & Saat Terapist Oda {{ activeUser && activeUser.role === 'admin' ? 'Model & Ücret' : 'Hizmet / Model' }} Durum
{{ apt.date }} · {{ apt.hour }}:00 {{ apt.therapist_name }} {{ apt.room_name }} {{ formatCurrency(apt.price) }} {{ apt.pricing_model }} {{ apt.status }}
Bu danışana ait henüz kaydedilmiş tahsilat bulunmuyor.
Tahsilat Tarihi Açıklama / Not Yöntem Tutar İşlem
{{ pay.paid_at }} {{ pay.note || 'Seans Tahsilatı' }} {{ pay.method }} {{ formatCurrency(pay.amount) }}

Giriş Şifremi Değiştir

{{ activeUser ? activeUser.name : '' }} ({{ activeUser ? activeUser.username : '' }})

Şifreler birbiriyle eşleşmiyor.

Personel Şifresi Sıfırla

{{ adminPasswordTargetUser.name }} (@{{ adminPasswordTargetUser.username }})

Eski şifreyi bilmenize gerek yoktur. Belirleyeceğiniz yeni şifre anında aktif olur ve personelin önceki açık oturumları kapatılır.
Şifreler birbiriyle eşleşmiyor.
Yıllık Sistem Hatırlatması

Yazılım Bakım Bildirimi

Planlı Bakım ve Güvenlik Dönemi Yaklaşıyor Klinik Randevu ve Yönetim Sistemi'nin 1 yıllık çalışma döngüsü dolmak üzeredir.

Klinik randevu akışının, kasa ve danışan verilerinin kesintisiz, hızlı ve güvenli şekilde çalışmaya devam edebilmesi amacıyla sözleşme kapsamındaki yıllık zorunlu yazılım bakım, veri tabanı optimizasyonu ve sistem kontrol çalışmasının yapılması gerekmektedir.

📌 Lütfen klinik işleyişinde herhangi bir aksama yaşanmaması adına en kısa sürede Yazılım Mimarı / Geliştirici ile iletişime geçerek bakım takvimi görüşmesini ve planlamasını gerçekleştiriniz.

{{ toastMessage }}