İzin — İşlemler
Çift görünümün “nasıl yapılır” tarafı. Kavram/referans için →
modul-izin.md. Dil: TR. Kanıt: Ekrandaki etiket/buton — kod adı yok.
1. İzin talep etme (çalışan)
Bölüm başlığı “1. İzin talep etme (çalışan)”Nerede: İzin Yönetimi → İzin Talep Et (veya İzinler listesinde sağ üst).

Adımlar:
- İzin Türü seç → seçilen türün bakiyesi ve kuralları (blok izin, minimum bildirim, maksimum gün, belge gereksinimi) otomatik görünür.
- Başlangıç Tarihi + Bitiş Tarihi seç → sistem çalışma günü sayısını otomatik hesaplar (hafta sonu/tatil hariç).
- Tek günse: Yarım Gün (Sabah/Öğleden Sonra) veya Saatlik İzin (başlangıç–bitiş saati) seçebilirsin.
- (Gerekiyorsa) Sebep yaz ve Destekleyici Belge yükle (uzun/raporlu izinlerde zorunlu olabilir).
- Gözden Geçir kartında özeti + “bu talepten sonra kalan bakiye”yi gör → Talebi Gönder.
🔗 Sonuç: Talep oluşturulur (ör. talep numarası verilir) ve onay zincirine girer (“Onay Bekliyor”). Bakiyede “Bekleyen”e yazılır.
Dikkat (ekranda çıkan kurallar):
- Yetersiz bakiye → “Eksi Bakiye” uyarısı.
- Blok izin / minimum bildirim / maksimum gün ihlali → talep engellenir (kuralın gereği).
- Mutabakat tarihinden önceki güne talep → engellenir (
modul-ayarlar-izin.md). - Çalışma günü yok (tümü tatil/hafta sonu) → talep edilemez.
2. HR: başka çalışan adına izin girme
Bölüm başlığı “2. HR: başka çalışan adına izin girme”Nerede: İzinler → Çalışan İçin İzin Gir (HR/Owner). Talep formunda üstte “Başka Bir Çalışan İçin Giriş” kartı açılır.
Adımlar: Çalışan ara → seç (bakiyesi otomatik yüklenir) → kalan adımlar normal talep akışı gibi. “Seçimi temizle (kendim için)” ile kendi adına döner.
3. İzin onaylama (yönetici / HR)
Bölüm başlığı “3. İzin onaylama (yönetici / HR)”Nerede: İzinler → Bekleyen Onaylar sekmesi (veya talep detayında).

Adımlar: Talebi aç → Onayla → (isteğe bağlı) Yorum ekle → Onayla.
🔗 Sonuç: Onay zincirindeki adımın tamamlanır. Tüm adımlar bitince izin Onaylandı olur ve bakiyeden düşülür.
Sistemde ayrı “Yönetici” rolü yoktur; onayı, çalışanın bağlı olduğu yönetici (ekip bağlamı) veya İK verir.
4. İzin reddetme
Bölüm başlığı “4. İzin reddetme”Nerede: Talep detayı → Reddet.
Adımlar: Reddet → Gerekçe gir (zorunlu — boşken buton pasif) → Reddet.
🔗 Sonuç: Talep Reddedildi olur; rezerve edilen bakiye geri döner. Gerekçe talep sahibine görünür.
5. İzin iptal etme (çalışan)
Bölüm başlığı “5. İzin iptal etme (çalışan)”Nerede: İzinler → İzinlerim → bekleyen/devam eden talepte İptal (veya detayda).
Adımlar: İptal → (isteğe bağlı) İptal Sebebi → İzni İptal Et.
🔗 Sonuç: Talep İptal Edildi; bakiyedeki “Bekleyen” geri döner.
Dikkat: Mutabakat tarihinden önceki döneme ait izin iptal edilemez (kilidin gereği, hata değil). Ayrıca yalnız bekleyen/devam eden talepler iptal edilebilir; onaylanmış izinde durum farklıdır.
6. İzin takvimini görüntüleme
Bölüm başlığı “6. İzin takvimini görüntüleme”Nerede: İzin Yönetimi → İzin Takvimi.
Adımlar: Ay/Hafta görünümü seç → Departman ve İzin Tipi ile filtrele → bir güne tıklayıp o günün izinli çalışanlar + tatiller detayını gör. Renk açıklaması (legend) her izin türünün rengini gösterir.
🔗 Etki: Ekip planlaması — aynı gün çok kişi izinliyse önceden görülür.
İşlem → sonuç köprü özeti
Bölüm başlığı “İşlem → sonuç köprü özeti”| İşlem | Sonuç |
|---|---|
| Talep gönderdin | Onay zincirine girer (Onay Bekliyor), bakiyede “Bekleyen” |
| Onaylandı (tüm adımlar) | Bakiyeden düşülür, takvimde görünür |
| Reddedildi | Bekleyen bakiye geri döner (gerekçeli) |
| İptal ettin | Bekleyen bakiye geri döner |
| HR başka adına girdi | Talep o çalışan için oluşur |
QA — SS notu
Bölüm başlığı “QA — SS notu”Harness: scripts/scenarios/izin-screenshots.spec.mjs → screenshots/izin/{talep,detay,liste,takvim}/. Rol: HR/Owner (rekor demo tenant). Salt-okuma (form/dialog aç-kapa, talep göndermeden). Onay/ret dialogları için yetkili görünüm.