# Eğitmen kaydı — ekleme ve dosya ekranı · tasarım brief'i

*30.07.2026 · Sets'in talebi · kaynak: `egitmen-spec.md` §1-§3, §11; Y-2016 md.6, md.7, md.13/j; AD-16, AD-23, AD-24; `61 Yonetici Tanimlar.dc.html` (ekleme drawer'ı)*

`61` bir "Eğitmen ekle" drawer'ı çiziyor ama **eğitmenin en kritik yanını göstermiyor**: kişinin verebileceği eğitimlerle, o eğitimlerin gerektirdiği belgeler arasındaki **bağ**. Bu bağ backoffice'te kurulu ve çalışıyor; ekranın onu göstermesi gerekiyor, yoksa operasyon *"neden bu eğitmen aday listesinde çıkmıyor"* sorusunu cevaplayamıyor.

İstenen: **eğitmen ekleme ekranı** (drawer mı sayfa mı, kararı sizin) ve gerekiyorsa **eğitmen dosyası (detay)** ekranının bu bağı gösteren bölümü.

Bugün elde bir geçici çekmece var; bu brief'in çıktısı onun yerine geçecek.

---

## 1. Eğitmen kimdir

**Bir ofis kullanıcısıdır** — ayrı bir kimlik alanı değil. Panele girer, kendi atamalarını görür, masrafını girer. Üzerinde ayrıca bir **eğitmen dosyası** vardır: mevzuatın istediği kimlik, belge ve yetkinlik bilgileri.

⛔ **Kişi ayrılsa bile dosya kalır.** Verdiği eğitimler, imzaladığı yoklamalar, aldığı ödemeler duruyor; hesap pasifleştirilir, kayıt silinmez (AD-11, AD-23).

---

## 2. Kaydın taşıdığı alanlar

### Kimlik (ofis kullanıcısı olarak)
Ad soyad · e-posta · telefon. Kişi **davetle** gelir, şifresini kendi belirler — ekleyen kişi asla şifre görmez.

### Mevzuat dosyası
| Alan | Kural |
|---|---|
| **Bakanlık eğitmen ID** | ⛔ Zorunlu. **ID'siz eğitmen hiçbir eğitime atanamaz** — aday listesinde hiç görünmez |
| **Sertifika geçerlilik tarihi** | ⛔ Zorunlu. Uygunluk kapısı eğitim tarihinde bu belgenin geçerli olmasını arar |
| **Kategori** | Sürekli · sözleşmeli · proje bazlı (çatı §174) |
| **Yetkili olduğu kurum sayısı** | Y-2016 md.7/5 bir sınır koyar; sınır **admin ayarıdır** (bugün 2), koda gömülü değil. Aşan eğitmen uygunluk kapısından geçemez |
| **Gün/saat tarifesi** | Birim (saatlik/günlük) + tutar. Boş bırakılırsa kategori tarifesi uygulanır; girilirse **onu ezer** |
| **TCKN**, **SGK sicil no** | ⛔ Şifreli saklanır, ekranlarda **maskeli** görünür (`482•••••316`). Açık görüntüleme ayrı bir eylemdir ve **erişim loguna yazılır** (AD-16, AD-21) |

---

## 3. Asıl mesele: eğitim ↔ gereklilik ↔ belge zinciri

Bu üçlü backoffice'te tanımlı ve **ekranın anlatması gereken şey** bu.

```
Eğitim tanımı  ──ister──▶  Gereklilik  ──kanıtlanır──▶  Belge türlerinden HERHANGİ BİRİ
(IMDG Görev 4)            (CTU eğitmen             (CTU sertifikası / eşdeğer belge)
                           yeterliliği)
```

**Nasıl çalışıyor:**

1. **Eğitim tanımı** hangi gereklilikleri istediğini söyler (backoffice'te işaretli).
2. **Gereklilik** adlandırılmış bir satırdır — *"uzakyol birinci zabiti yeterliliği"*, *"CTU eğitmen belgesi"*. Bir eşik ifade eder, tek bir belge değil.
3. Bir gereklilik **birden çok belge türüyle** kanıtlanabilir. Y-2016 md.7/2 bir *eşik* koyuyor: uzakyol kaptanı ehliyeti de, uzakyol birinci zabiti ehliyeti de aynı eşiği geçer. Bu yüzden ilişki "gereklilik → kabul edilen belge türleri" şeklindedir; **herhangi biri yeterlidir**.
4. Bazı gereklilikler **belge istemez** (`requires_document = false`) — mezuniyet muafiyeti gibi. Bunlar ekranda belge satırı üretmemeli.

**Bunun sonucu:** planlamacı bir eğitime eğitmen ararken sistem şunu soruyor — *"bu kişi bu eğitimi vermeye işaretli mi, VE o eğitimin istediği her gerekliliği o tarihte geçerli bir belgeyle karşılıyor mu?"* İkisinden biri eksikse kişi **listede hiç görünmez**.

⛔ **Ekranın çözmesi gereken sorun tam burada.** Bugün bir eğitmen kaydı açılıyor, verebileceği eğitimler seçiliyor, sonra kimse *"peki bu seçim hangi belgeleri gerektiriyor"* sorusunun cevabını görmüyor. Operasyon belgeleri toplayana kadar eğitmen aday listesinde yok ve **sebebi ekranda yazmıyor**.

### Ekranın göstermesi gereken
Eğitim seçimi yapılırken, **canlı olarak**: *"Bu seçim şu belgeleri gerektiriyor"* listesi. Örnek:

> **Görev 4** ve **Görev 11** seçildi →
> gerekli: **CTU eğitmen belgesi** *(CTU sertifikası veya eşdeğeri)* · **IMDG eğitmen yeterliliği** *(bakanlık onay yazısı)*
> ayrıca her eğitmende: **kimlik**, **ehliyet/denizcilik belgesi**

Ve bir eğitim seçiminden vazgeçilince listeden düşmeli.

---

## 4. Belgeleri kim yükler, ne zaman

⛔ **Eğitmen kendi belgesini yüklemez** — yönetici yükler ve takip eder (`HANDOFF` kural 5, `61`). Bazı belge türleri istisna olarak her iki tarafa da açıktır; bu **belge türünün kendi ayarıdır**, ekranın varsayımı değil.

**Kayıt açılınca ne oluyor:**
1. Gereken her belge için **görev** açılır — görev sahibine düşer, kimse hatırlamak zorunda değil
2. **Bakanlığa bildirim görevi** açılır: Y-2016 md.13/j kadroya giriş ve çıkışı **15 gün içinde** bildirmeyi zorunlu kılıyor, aksi hâlde idari para cezası var. Süre **admin ayarıdır**
3. Belgeler tamamlanana kadar eğitmen **eksik dosyalı** görünür ve o gerekliliğe bağlı eğitimlerde aday olamaz

⚠ Ekleme ekranı bir **belge yükleme ekranı değildir** — belgelerin *isteneceğini* söyler, kendisi almaz. Yükleme eğitmen dosyasından yapılır.

---

## 5. Belge türlerinin taşıdığı değişkenler

Tasarımın sabit bir belge formu varsaymaması için: her belge türü backoffice'te tanımlıdır ve **neyi soracağı türden türe değişir** — düzenlenme tarihi · son geçerlilik · seri/belge no (etiketi bile türe özel) · veren kurum · açıklama · **iki yüzü birden** (kimlik gibi) · eğitim alanı · varsayılan geçerlilik süresi.

Ayrıca iki işaret taşır: **kritik** (silinemez) ve **özel nitelikli** (sağlık/ceza kaydı — ayrı yetki ister, her görüntüleme loglanır).

---

## 6. Eğitmenin "engelli" olması

Aşağıdakilerden **herhangi biri** eğitmeni atamaya kapatır:

| Sebep | Nasıl görünmeli |
|---|---|
| Bakanlık ID yok | Kayıt eksik — kritik |
| Sertifika süresi dolmuş / iptal edilmiş | Engelli |
| Yetkili kurum sayısı sınırı aşılmış | Engelli — mevzuat sınırı |
| Hesap pasif | Pasif kayıt |
| Gerekli belge eksik | Yalnız **o eğitimler** için engelli — diğerleri açık |
| Kişi o tarihlerde izin bildirmiş | Yalnız o tarihler |

⚠ Son iki satır önemli: engel **kısmi** olabilir. *"Bu eğitmen engelli"* demek yanlış; *"Görev 4 ve 11 için engelli, CTU belgesi dolmuş"* doğru. Tasarımın bu ayrımı taşıyabilmesi gerekiyor.

---

## 7. Tasarımcıdan beklenenler

| # | Ne | Not |
|---|---|---|
| 1 | **Ekleme ekranı** | Drawer mı sayfa mı — kararınız, gerekçesiyle. `61` drawer çiziyor ama §3'ün canlı belge listesi eklenince hacim büyüyor |
| 2 | **Eğitim seçimi + canlı gereklilik listesi** | Brief'in kalbi: seçim değiştikçe *"şu belgeler gerekecek"* listesi güncellenir. Bir gerekliliğin birden çok belgeyle karşılanabildiği nasıl anlatılır (*"şunlardan biri"*) |
| 3 | **Kayıt sonrası ne olacağının söylenmesi** | Kaydetmeden önce: "şu kadar belge görevi açılacak, Bakanlık bildirimi için 15 gün sayacı başlayacak". Sürpriz olmamalı |
| 4 | **Hassas alanlar** | TCKN/SGK girişi; sonradan **maskeli** görünecekleri ve açmanın loglandığı belli olmalı |
| 5 | **Tarife alanı** | Boşken "kategori tarifesi uygulanır", doluyken "override" — iki hâli |
| 6 | **Eğitmen dosyası — yetkinlik bölümü** | Detay ekranında: verebildiği eğitimler, her birinin gerekliliği, o gerekliliği karşılayan belge ve durumu (var / süresi doluyor / eksik / istendi). **Kısmi engel** buradan okunmalı |
| 7 | **Boş ve hata durumları** | Hiç eğitim seçilmemiş kayıt (uyarı: aday olamaz) · Bakanlık ID'siz kayıt (kritik) |
| 8 | **375px** | Operasyon sahadan da giriyor |

**Bağlayıcı:** `00`–`06` token ve bileşen dili · aranabilir/çoklu select · segmented control (kategori) · semantik renk (kritik = kırmızı; süresi yaklaşan = dikkat sarısı; eksik ama istenmiş = uyarı amber) · WCAG AA.

## 8. Terminoloji
Eğitmen dosyası · Bakanlık eğitmen ID · Kategori (sürekli / sözleşmeli / proje bazlı) · Sertifika geçerlilik · Yetkili kurum sayısı · Tarife (saatlik/günlük) · **Gereklilik** · **Kabul edilen belge türleri** · Verebildiği eğitimler · Engelli / kısmi engelli · Belge görevi · Bakanlık bildirimi (15 gün).
