0 (212) 916 38 38

İzin, vardiya, mesai: hepsi yasaya göre.

Yıllık izin hak edişinden gece primine, fazla mesai 270 saat limitinden mobil GPS check-in'e kadar — kıdem, yaş, hafta tatili ve bayram koda gömülüdür. Sistem hukuka aykırı izni, mesaiyi ya da bakiyeyi en baştan engeller.

Hazır izin türü13 + özel
Vardiya tipi4
Fazla mesai limiti270 sa / yıl
Mevzuat4857 · 5510 · 7578
Folkena izin takvimi ve onay kuyruğu
İzin takvimi & onay kuyruğu · bakiye ve çakışma kontrolüyle
01 İzin türleri 02 Hak ediş & bakiye 03 Devir & pano 04 Talep & onay 05 Resmi tatil 06 Vardiya 07 Puantaj motoru 08 PDKS
01

İzin türleri

İş Kanununun saydığı 13 izin türü gün sayısı, ücret durumu ve belge şartıyla hazır gelir; tenant kendi özel türlerini sınırsız ekler. Her türün yasal referansı koda gömülüdür.

  • Yıllık izin — kıdeme göre 14/20/26 gün; hak 1 yılı doldurunca başlar.m.53
  • Hastalık raporu — SGK raporuyla belgelenir; ilk 2 günü SGK karşılamaz.m.25/I · SGK
  • Analık (doğum) izni — 24 hafta: doğum öncesi 8 + sonrası 16 hafta, çoğul gebelikte +2 hafta.m.74 · 7578 sk.
  • Babalık izni — özel sektör 5→10 iş günü; kamuyla eşitlendi.m.55 · 7578 sk.
  • Koruyucu aile izni — koruyucu aile kapsamındaki çalışana 10 gün ücretsiz izin.7578 sk.
  • Evlilik izni — evlenen işçiye 3 iş günü ücretli izin.m.55/I-a
  • Ölüm izni — anne, baba, eş, kardeş veya çocuk ölümünde 3 iş günü.m.55/I-a
  • Süt izni — çocuk 1 yaşına kadar günde 1,5 saat; saatlik takip edilir.m.74/VII
  • Mazeret izni — hastaneye gitme, resmi işler vb. kısa süreli; sebep zorunlu.
  • Ücretsiz izin — karşılıklı mutabakatla; bakiye düşmez (hak eksilmez).
  • Askerlik izni — muvazzaf askerlik veya manevra sebebiyle ücretsiz izin.m.31
  • Engelli yakın bakım izni — en az %70 engelli çocuğun tedavisine refakat için yılda 10 iş günü; heyet raporu zorunlu.m.55/I-c
Sınırsız özel tür · UPPER_SNAKE key

Hazır türlerin yanında, şirketinize özel izin türlerini (örn. CUSTOM_TRAINING) ekleyebilirsiniz: ad, kategori (yasal/ücretli/ücretsiz), varsayılan gün, ücretli mi, belge/sebep şartı ve yasal referans. Preset key'ler rezervedir — özel tür çakışamaz; silme soft-delete'tir, denetim izi kalır.

02

Hak ediş & bakiye motoru

Yıllık izin hakkı kıdem ve yaşa göre tek saf fonksiyonla hesaplanır; gün sayımı hafta sonu ve resmi tatili hariç tutar. Hak ediş 1 yılı doldurmadan başlamaz.

1 yıldan az kıdem0 gün
1–5 yıl arası kıdem14 gün
5–15 yıl arası kıdem20 gün
15 yıl ve üzeri kıdem26 gün
18 yaş altı veya 50 yaş üstüminimum 20 gün
Yasal dayanakm.53 / m.53/IV
  • İş günü hesabı — iki tarih arası gün sayımında hafta sonları ve resmi tatil günleri otomatik düşülür; ister isteğe bağlı hafta sonu dahil edilir.
  • Yaş istisnası — doğum tarihinden yaş hesaplanır; 18 altı veya 50+ çalışan kıdemi ne olursa olsun en az 20 gün hak eder.m.53/IV
  • Aylık tahakkuk — yıllık hak ediş 12'ye bölünerek aylık birikim olarak izlenebilir.
  • Kullanılan günler — yalnız onaylı yıllık izin kayıtlarından toplanır; kalan = hak edilen − kullanılan.
  • Toplu yenileme — tüm aktif çalışanların bakiyesi tek çağrıyla yıllık olarak yeniden hesaplanır.
03

Yıl sonu devir & bakiye panosu

Kullanılmayan yıllık izin sonraki yıla devreder; şirket politikasıyla devir tavanı konabilir. Yönetici panosu tüm çalışanların bakiyesini risk uyarılarıyla tek tabloda gösterir.

Devir motoru

Yıl sonu carryover

Geçen yıldan kalan izin yeni yılın hak edişine eklenir; eksik bakiye satırları toplu açılır.

  • Devir hakkı korunurm.56
  • maxCarryoverDays politikasıyla tavan
  • Atomik toplu oluşturma, çift kayıt yok
Risk panosu

3 uyarı tipi

Yöneticiye yıl sonuna kalan günle birlikte riskli bakiyeleri gösterir.

  • HIGH_BALANCE — yıl sonuna yakın yüksek bakiye
  • NEGATIVE — kullanılan hak edileni aştı
  • NO_RECORD — bakiye satırı yok
Planlama çıktısı

Cron + CSV

Yıl başında bakiye senkronu çalışır; denetim ve planlama için dışa aktarım hazırdır.

  • Yıl başı senkron + audit log
  • BOM'lu UTF-8 CSV (sicil, hak, kullanılan, kalan)
  • Eşik ayarlanabilir (varsayılan 10 gün)
04

Talep & onay akışı

Tek bir doğrulama hattı: çakışma, bakiye, rezervasyon ve yetki kontrolleri leave.routes ile portal için ortak util'den geçer — iki yol da aynı kuralı uygular.

  • Çakışma kontrolü — aynı çalışanın bekleyen veya onaylı bir izniyle tarih aralığı kesişiyorsa talep reddedilir; bitiş başlangıçtan önce olamaz.
  • Bakiye + PENDING rezervasyon — bekleyen talepler rezervasyon sayılır: kalan = hak − kullanılan − bekleyen günler; birden çok bekleyen talep toplamda bakiyeyi aşamaz.
  • Owner-check — çalışan kendi izin talebini onaylayamaz (yatay yetki yükselmesi engeli).
  • Atomik çift-onay engeli — koşullu claim ile eşzamanlı iki onay yarışı engellenir; bakiye düşümü onayla aynı transaction'da işlenir.
  • Onaylı izin reddi — onaylanmış bir izin reddedilirse düşülen bakiye otomatik geri yüklenir.
  • Çok kademeli onay — 1–10 seviyeli onay zinciri tanımlanabilir.
  • Self-servis — çalışan yalnız kendi adına talep oluşturur; durum bildirimi e-posta ile iletilir.
Ücretsiz izin istisnası

Ücretsiz izin (UNPAID) bakiye düşürmez — hak eksilmez. Bakiye kontrolü yalnız hak düşüren türlerde çalışır; bakiye satırı tanımsızsa kontrol en kötü ihtimalle atlanır, talep sessizce engellenmez.

05

Resmi tatil yönetimi

Tatil takvimi hem platform genelinde hem tenant'a özel tutulur; gün hesaplarında ve puantaj kırılımında otomatik dikkate alınır.

Tatil tipleri

4 kategori + yarım gün

Tüm tatil kayıtları tarih, ad ve tip ile tanımlanır; yarım gün işaretlenebilir.

  • OFFICIAL (resmi) · RELIGIOUS (dini)
  • LOCAL (mahalli) · COMPANY (idari)
  • Yarım gün desteği, ülke kodu (varsayılan TR)
Kapsam

Global + tenant

Global tatiller tüm tenant'lara uygulanır; yalnız platform yöneticisi düzenler.

  • Global (tenantId=null) → yalnız PLATFORM_ADMIN
  • Tenant'a özel tatiller İK tarafından yönetilir
  • İzin gün sayımı + puantaj %100 zammına otomatik bağlanır
06

Vardiya yönetimi

Gündüz, gece, dönüşümlü ve esnek vardiyalar başlangıç/bitiş/mola ve gece primi oranıyla tanımlanır; atama, toplu atama ve rotasyonla planlanır.

Vardiya tipleriDAY · NIGHT · ROTATING · FLEX
Tanım alanlarıbaşlangıç · bitiş · mola dk.
Gece primi oranı (nightPremiumRate)0 – 2,0
Toplu atama (tek çağrı)500 satır
Rotasyon deseniWEEKLY · DAILY
  • Atama (çalışan-gün tekil) — bir çalışana aynı güne yalnız bir vardiya atanır; çift atama engellenir.
  • Toplu atama — tek transaction'da 500 atamaya kadar; mevcut kayıtlar atomik biçimde atlanır (race-safe).
  • Rotasyon — çalışan listesi × vardiya listesi, haftalık ya da günlük desende otomatik dağıtılır.
  • Vardiya takvimi — atama, puantaj ve resmi tatil tek günlük görünümde birleştirilir.
  • Güvenli silme — atanmış vardiya silinmek istenirse soft-delete (isActive=false), veri kaybolmaz.
07

Puantaj motoru

Giriş-çıkış saatinden normal / fazla / gece / tatil dakikaları otomatik kırılır. Saf, deterministik bir motor — yasal sabitler ve zam oranları koda gömülüdür; gece devri doğru hesaplanır.

Normal günlük mesai450 dk (7,5 saat)
Günlük üst sınır660 dk (11 saat)
Gece bandı20:00 – 06:00
Haftalık normal çalışma45 saat
Yıllık fazla mesai limiti270 saat (sert)
  • Fazla mesai %50 — haftalık 45 saat üstü kısım zamlı; günlük 7,5 saat aşımı haftalık aggregate ile finalize edilir.m.41
  • Hafta tatili / genel tatil %100 — bu günlerdeki çalışmanın tamamı ayrı kalem olarak %100 zamlı işlenir.m.46-47
  • Gece çalışması max 7,5 saat — 20:00–06:00 bandı izlenir; aşımda yasal uyarı verilir.m.69
  • Günlük 11 saat sınırı — aşım idari para cezası riski olarak loglanır (otomatik %100 doğurmaz).m.63
  • Yasal mola — 4 saate kadar 15 dk, 4–7,5 saat 30 dk, 7,5 saat üstü 60 dk minimum önerilir.m.68
  • 270 saat sert limiti — fazla mesai içeren kayıt yıllık 270 saati aşacaksa kabul edilmez; PATCH'te de kontrol edilir, bekleyen mesai dahil sayılır.m.41/VIII
Canlı önizleme · toplu giriş · vardiyadan hesap

Saat ve tarih girildiğinde tüm kırılım DB'ye yazmadan canlı önizlenir; aynı vardiya/tarih tek çağrıda 500 çalışana toplu girilebilir; bir çalışanın vardiya atamasından çalışılan dakika ve fazla mesai otomatik hesaplanır. Gece devreden vardiya (örn. 22:00→06:00) saat aşımı eklenerek doğru ölçülür.

08

Mobil & biyometrik PDKS

GPS geo-fence ile mobil check-in, biyometrik cihaz CSV aktarımı ve offline dayanıklı kuyruk — mesafe hesabı sunucuda yapılır, KVKK sınırları koda gömülüdür.

Folkena PDKS — geo-fence haritası ve bugünkü girişler
Konum doğrulamalı giriş-çıkış · geo-fence içi/dışı, IP loglanmaz
Mobil check-in

GPS geo-fence

İşyeri merkezi + yarıçapına göre konum sunucuda Haversine ile doğrulanır.

  • Varsayılan yarıçap 100 m, withinGeofence işareti
  • Yöntemler: GPS · QR · yüz tanıma · manuel
  • GPS spoof tespiti (düşük doğruluk → şüpheli işareti)
Dayanıklılık & KVKK

Offline kuyruk · veri minimal

Sahada bağlantı kopsa bile kayıtlar kaybolmaz; sunucu kişisel veriyi minimum tutar.

  • Offline kuyruk idempotent (clientId tekrarsız)
  • IP ASLA loglanmaz; cihaz izi minimal (UA + platform)
  • Şüpheli kayıt reddedilmez — yöneticiye raporlanır
  • Biyometrik cihaz CSV import — ZKTeco, Hikvision, Anviz, Perco ve diğer cihazların log'ları CSV ile aktarılır; TC kimlik veya sicil numarasıyla çalışana eşlenir, tekrar kayıt atlanır.
  • Cihaz tanımı — kapı/cihaz listesi tenant ayarında tutulur; içe aktarım denetim log'una yazılır.
Dürüst sınır

Donanım PDKS cihazlarından otomatik veri çekme (pull) henüz iskelet aşamasındadır. Bugün satılabilir ve gerçek çalışan yollar: mobil GPS/QR/yüz check-in ve biyometrik cihaz CSV aktarımı. "Yüz tanıma" cihazın kendisinde yapılır; sunucu yalnız hangi yöntemin kullanıldığını kaydeder — biyometrik veri (yüz/parmak izi) cihazda kalır.

İzin ve mesai, yorumla değil yasayla yürüsün.

Demoda kendi vardiya düzeninizle bir haftalık puantaj çalıştıralım — fazla mesai, gece primi ve tatil zammı kendi gözünüzle.