Yukleniyor...

skypea k Hive
{{ globalError }}
{{ globalOk }}

Hafta: {{ dashboardStats.weekStart }} – {{ dashboardStats.weekEnd }} · Saat bandi {{ dashboardStats.scheduleStartHour }}–{{ dashboardStats.scheduleEndHour }} · Gec giris: ders baslangicina +{{ dashboardStats.lateGraceMinutes }} dk tolerans

Ders programi sekmesindeki hafta ile ayni Pazartesi tarihi kullanilir ({{ scheduleWeekStart || dashboardStats.weekStart }}).

Yukleniyor...

Haftalik grid dolulugu

{{ formatDashboardPercent(dashboardStats.weekOccupancyPercent) }}

{{ dashboardStats.filledDistinctSlotCount }} / {{ dashboardStats.totalSlotCount }} farkli slot

Ders saati ve kisi

{{ dashboardStats.totalEntries }}

Her kayit 1 saat ve 1 kisi kabul edilir.

Egitmen basina ortalama kisi

{{ formatDashboardFixed(dashboardStats.avgPeoplePerInstructor, 2) }}

Kayit / egitmen ({{ dashboardStats.distinctInstructorCount }} egitmen)

QR ile giris

{{ formatDashboardPercent(dashboardStats.qrCoveragePercent) }}

{{ dashboardStats.entriesWithQrCount }} kayit, {{ dashboardStats.entriesWithoutQrCount }} QR yok

Gec ilk QR

{{ formatDashboardPercent(dashboardStats.lateEntryPercentOfTotal) }}

Tum kayitlara gore ({{ dashboardStats.entriesWithLateQrCount }} kayit). QR olanlarda: {{ formatDashboardPercent(dashboardStats.lateQrPercentOfQrEntries) }}

Iceride kalma / 1 saatlik slot

{{ formatDashboardFixed(dashboardStats.avgStayToAllocatedHourRatio, 2) }}

En az iki QR okumada (ilk-son) ortalama oran. Ornek 1.0 = tam slot. N={{ dashboardStats.entriesUsedForStayAverageCount }}

Ilk QR zaman farki

{{ formatDashboardFixed(dashboardStats.avgFirstScanOffsetMinutes, 1) }} dk

Pozitif: ders baslangicindan sonra; negatif: once. N={{ dashboardStats.entriesUsedForFirstScanOffsetCount }}

QR okuma sayisi (QR olan kayit)

{{ formatDashboardFixed(dashboardStats.avgQrScansPerQrEntry, 2) }}

Kayit basina ortalama tarama

Veri yok veya yuklenemedi.

Job Cron Son calisma
{{ j.name }} {{ j.cronExpression }} {{ j.lastRunUtc ? formatDate(j.lastRunUtc) : '-' }}

{{ busy ? 'Yukleniyor...' : 'Kayitli job yok.' }}

Yukleniyor...

Ad Soyad Telefon Kullanici adi Rol Sicil WA Op. Durum

Kullanici yok veya liste alinamadi.

{{ scheduleWeekRangeLabel }} · {{ scheduleWeekHolidaysLabel }}

{{ mobileSelectedDay.dayName }} {{ mobileSelectedDay.shortDate }}

Resmi tatil: {{ mobileSelectedDay.holiday.localName }}

  • {{ formatHour(h) }}
    {{ e.firstName }} {{ e.lastName }} {{ scheduleEntryInstructorInitials(e) }}
{{ d.dayName }}
{{ d.shortDate }}
{{ d.holiday.localName }}
{{ formatHour(h) }}
  • {{ e.firstName }} {{ e.lastName }} {{ scheduleEntryInstructorInitials(e) }}

Bu haftaki ders programi kayitlari aranir ({{ doorAccessWeekStart || '—' }} haftasi).

Araniyor...

Sonuc bulunamadi.

Aramak icin en az 2 karakter yazin.

  • {{ entry.firstName }} {{ entry.lastName }} {{ entry.phone }} {{ entry.entryDate }} {{ String(entry.entryHour).padStart(2, '0') }}:00 · {{ entry.ownerDisplayName }} {{ scheduleExtraTagLabel(tag) }}

WhatsApp baglantisi

{{ whatsAppStatusLabel }}

{{ whatsAppStatusError }}
{{ whatsAppStatusReason }}

QR bekleniyor...

WhatsApp QR kodu

Telefonda WhatsApp > Bagli cihazlar > Cihaz bagla ile QR kodu tarayin.

{{ whatsAppSelectedContactName }} · {{ whatsAppSelectedAssigneeLabel }}
{{ whatsAppSelectedContactNumber }}
Kapatildi

Soldan bir konusma secin.

{{ portalUsername || 'Kullanici' }}

APK modu

{{ portalRolesLabel }}

    • Konum {{ companionPermLabel('location') }}
    • Rehber {{ companionPermLabel('contacts') }}
    • Cagri gunlugu {{ companionPermLabel('callLog') }}
    • Bildirimler {{ companionPermLabel('notifications') }}
  • Hangfire
  • Android uygulamasini indir

Telegram ayna AI, WhatsApp AI agent ve diger AI cagrilari icin varsayilan model.

Kayitli. Acik metin gosterilmez; degistirmek icin dugmeye basin.

Dogrudan AI telefonlarindan bunu ogren: ... yazinca AI bunu_ogren araci ile bilgiyi kalici prompta ekler.

Henuz kayit yok.

{{ formatWhatsAppPhone(phone) }}

Listedeki numaralar round-robin atlanir, dogrudan AI'ya atanir ve AI yanit verir (genel AI kapali olsa da). Numara yazip Enter'a basin.

Giris OTP ve ders katilim linki SMS, sunucudaki SmsProviderApiKeys ve DcsExternalServices (SOAP send_sms) uzerinden gonderilir; katilim SMS ile ayni yol.

Asagidaki AjansSMS alanlari gonderimde kullanilmaz; yalnizca settings.json icinde saklanmaya devam eder.

Bos birakilirsa https://g.ajanswebsms.com/ kullanilir.

AjansSMS panelindeki kullanici adi ve bayi kodu; kullanici-bayi biciminde.

Kayitli. Acik metin gosterilmez; degistirmek icin dugmeye basin.

Alicida gorunen baslik; en fazla 11 karakter, AjansSMS kurallarina uygun.

Kayitli. Acik metin gosterilmez; degistirmek icin dugmeye basin.

Bos ortamda Gmail__ClientId / Gmail__ClientSecret kullanilabilir.

Bos birakirsaniz ortam degiskeni Gmail__ClientId ve Gmail__ClientSecret kullanilir.

Kayitli. Acik metin gosterilmez; degistirmek icin dugmeye basin veya Gmail ile tekrar baglayin.

OAuth ile yetkilendirilen hesap; otomatik baglanti sonrasi doldurulur.

Google Cloud OAuth istemcisi turu Web uygulamasi ise "Yetkili yonlendirme URI" olarak sunucu adresiniz + /api/gmail/oauth/callback ekleyin.

Kayitli. Acik metin gosterilmez; degistirmek icin dugmeye basin.

Veritabani: dotnet run -- db-migrate veya Database:AutoMigrate=true (Data/Sql/migrations).

Veritabani: dotnet run -- db-migrate veya Database:AutoMigrate=true (Data/Sql/migrations).

QR tarama sonrasi consent_sessions (dcs_service) kontrolu icin.

QR tarama sonrasi consent_sessions (dcs_service) kontrolu icin.

Tablo bu araliktaki saatleri gosterir (bitis saati dahil degildir).

Kapi Ac ekraninda secilen varsayilan kapiya POST istegi /open-door adresine gider.

Kayitli. ERP uzerinde yalnizca SELECT; sonuclar MySQL snapshot tablolarina yazilir.

ERP uzerinde yalnizca SELECT; ApplicationIntent=ReadOnly uygulanir. Sonuclar MySQL snapshot tablolarina yazilir.

Hangfire kuyrugu hangfire.sqlite dosyasina yazilir (varsayilan storage Memory; degistirmek icin appsettings.json -> HiveSkypeak:HangfireStorage).

Telegram ayna AI kaydettigi notlar; her Telegram sohbeti (chat id) ayri listelenir. Veri dosyasi: telegram-ai-learned.json

Yukleniyor...

Kayit yok veya dosya henuz olusturulmadi.

Bu sure icinde karsilayici yanit vermezse konusma operator round-robin'e duser.

Yukleniyor...

  • {{ u.label }} cevrimici

Aktif Greeter kullanicisi yok.

  • {{ u.label }}

Aktif WhatsApp operatoru yok.

Yukleniyor...

Operator round-robin onizlemesi yok.

{{ whatsAppPushStatusLabel }}

Kapali iken Chrome penceresi acilir; QR kodu icin kullanilir. Linux sunucuda DISPLAY yoksa xvfb-run kullanilir veya asagida DISPLAY girin. Degisiklik icin Node servisini yeniden baslatin.

Yerel: :99. Uzak X sunucusu: ip:99 veya host:99. Uzak makinede xhost/xauth ve TCP (6000+display) acik olmali.

whatsapp-service icine goreli veya mutlak yol. Varsayilan: .wwebjs_auth. Degisiklik icin Node servisini yeniden baslatin.

QR ve eslestirme kodu bu numaraya yoneltilir.

Model ve API anahtari Ayarlar > OpenAI sekmesinden kullanilir.

{{ whatsAppStatusLabel }}

{{ whatsAppStatusError }}
{{ whatsAppStatusReason }}
Baslangic hatasi: {{ whatsAppStatusDiagnostics.startupFailure }}
Node process calismiyor (exit {{ whatsAppStatusDiagnostics.nodeExitCode }})
Servis: {{ whatsAppStatusDiagnostics.serviceDirectory }}
Node: {{ whatsAppStatusDiagnostics.nodeExecutable }}
Chrome: {{ whatsAppStatusDiagnostics.nodeChromePath || whatsAppStatusDiagnostics.chromePath || '(bulunamadi)' }}
Port: {{ whatsAppStatusDiagnostics.nodePort }} · Headless: {{ whatsAppStatusDiagnostics.headless ? 'evet' : 'hayir' }}
WhatsApp QR kodu

API, arka plan servisleri, WhatsApp Node ve diger sistem loglari. Son 2000 kayit bellekte tutulur.

Loglar yukleniyor...

Henuz log yok.
{{ formatAppLogTime(entry.at) }} [{{ entry.source || '?' }}] {{ entry.message }}
{{ phoneLookupToast.found ? 'Bulundu' : 'Bulunamadi' }}