# Eğitim planlama — tek sayfa · tasarım brief'i

*30.07.2026 · Sets'in talebi · kaynak: `planlama-spec.md` §1-§15, `docs/mevzuat-kurallari.md`, AD-27, `21 Planlamaci Sihirbaz.dc.html` (yerine geçecek)*

`21`'de beş adımlı bir sihirbaz var. **Sihirbazdan vazgeçildi** *(Sets, 30.07.2026)*: planlamacı bir kalemi seçip telefona sarılıyor, notlarına bakıyor, birine danışıyor, mailine dönüyor — beş adımlı bir akışta **ilk adımda ne yaptığını beşinci adımda unutuyor**. Sayfa **tek ekran** olacak.

Bu, tasarımdan onaylı tek sapmadır ve gerekçesi budur; `21`'in içindeki her karar (eğitmen uygunluk listesi, maliyet modalı, taslak detayı) geçerliliğini korur, sadece **beş sayfaya bölünmüş hâli** geçersizdir.

Bugün elde bir çalışan ekran var (`/egitimler/yeni`) ama kompozisyonu geliştirici kurgusu; bu brief'e göre yeniden çizilecek.

---

## 1. Planlamacı bu sayfada ne yapıyor

Bir eğitimin **doğduğu** yer. Sonuç: bir ya da birkaç `Taslak` eğitim, gerekirse bunları bir arada tutan bir **paket**.

Girdi üç yerden gelir:
- **Kuyruktan** — müşteri onaylı bir teklif ya da satıştan gelen planlama talebi (`20`)
- **Sorgulamadan** — "İskenderun'da 30 kişinin süresi doluyor" (`20`)
- **Kendiliğinden** — açık eğitim planlama kararı

⛔ **Planlamacı müşteri seçmez.** Müşteri bağlamı satıştan salt okunur gelir (`HANDOFF` kural 5). Kapalı bir eğitimde firma listesi seçilir, ama *"bu müşteriye satalım"* kararı planlamacının değildir.

---

## 2. Sayfanın ilk sorusu: hangi mevzuat

*(Sets, 30.07.2026)* Eğitim seçimi doğrudan yapılmıyor; önce **mevzuat** seçiliyor, o da eğitim listesini daraltıyor.

Sebep: 3E dört ayrı mevzuata göre eğitim veriyor (IMDG Kod, Tehlikeli Yük Deniz Gözetim, Deniz Gözetim/DGY, TMGD) ve katalogda 30'un üzerinde tanım var. Mevzuat seçilmeden gelen liste, planlamacının aradığı şeyi bulamadığı bir liste.

⚠ **Eğitim seçimi aranabilir olmalı** — "Görev 8" yazınca gelmeli, kaydırılarak bulunmamalı.

---

## 3. Bir eğitimin planlanırken taşıdığı alanlar

| Alan | Not |
|---|---|
| **Eğitim tanımı** | Katalogdan; mevzuatla daraltılmış |
| **Başlangıç–bitiş** | Tek bir tarih aralığı seçici *(iki ayrı tarih kutusu değil — Sets, 30.07.2026)* |
| **Kontenjan** | Sayı. ⚠ Mevzuatın azami sınırı **uyarı üretir, engellemez** (AD-27) |
| **Görünürlük** | Açık (herkese satılır) / kapalı (yalnız seçilen firmalara) |
| **Veriliş şekli** | Yüz yüze / uzaktan / karma |
| **Müşteriler** | Yalnız kapalı eğitimde; salt okunur bağlam |
| **İl** | Aranabilir seçim (81 il) |
| **Adres** | Serbest metin — "İskenderun Limanı, Sarıseki Mevkii, Kapı 3" |
| **Notlar** | |

⚠ **İl, adres ve notlar paketin tamamı için ortaktır**; tarih, kontenjan, görünürlük ve veriliş şekli **her eğitim için ayrı**. Bir paket, aynı haftada aynı yerde verilen üç farklı eğitimdir — biri açık, ikisi kapalı olabilir.

---

## 4. Paket — bu sayfanın en zor parçası

**Sets'in örneği:** *"İskenderun limanında eğitim alması gereken 30 kişi var; 3 farklı eğitim alacaklar — 5'i şu eğitimi, 10'u şunu, 15'i şunu. Bunları verebilen tek eğitmenle bir haftalık eğitim planlıyorlar."*

- Planlamacı **aynı sayfada birden fazla eğitim satırı** ekleyebilmeli
- İkinci satır eklendiği anda ortada bir **paket** doğar
- **Paket penceresi hesaplanır, sorulmaz** *(Sets, 30.07.2026)*: en erken başlangıç → en geç bitiş. Ayrıca sorulan bir "program penceresi" alanı vardı, kaldırıldı — aynı bilgiyi iki kez yazdırıyordu
- Paket bir **referans kodu** taşır (`PR-2026-7K4F` — ⛔ `PK` değil, AD-19'un 31.07.2026 revizyonu), altındaki her eğitim **programın son ekini + sırasını** taşır (`EG-2026-7K4F-01`); programsız eğitim düz `EG-2026-9M2X` biçimini korur
- ⚠ **Ortak maliyet paketin, kalem maliyeti eğitimin.** Bir haftalık otel paketin; her eğitimin kendi eğitmen ücreti kendisinin
- ⚠ **Paket bir eğitim değildir.** Bakanlığa **her eğitim ayrı** bildirilir, her birinin kendi KUMS ID'si olur

**Tasarlanacak asıl soru:** satırlar tek sayfada nasıl durur — tekrar eden bloklar mı, tablo satırı mı, katlanabilir kart mı? Üç eğitim yan yana dururken sayfanın hâlâ okunabilir olması gerekiyor.

---

## 5. Mevzuat sayfada nasıl görünür — **en önemli bölüm**

⛔ **Mevzuat kuralı koda gömülmez** (AD-27, kırmızı çizgi 14). Azami katılımcı, sınav eşiği, bildirim süresi, yenileme periyodu **eğitim tanımının admin-tanımlı alanlarıdır**; mevzuat kaydı bunları **madde referanslı uyarı** olarak hatırlatır, **zorlamaz**.

Yani planlamacı sınırı aşabilir; sistem onu durdurmaz, **söyler**. Sebep: mevzuat değişir, istisnası çıkar, İdare farklı yorumlar — koda gömülü bir sayı, müşteriyi İdare karşısında yükümlülük altına sokan bir yanlıştır.

Sayfada görünmesi gerekenler:

| Ne | Örnek | Nereden |
|---|---|---|
| **Seçilen mevzuatın uyarıları** | *"Azami 30 katılımcı — IMDG md. 7"* | Mevzuat kaydına bağlı **madde referanslı** uyarı metinleri |
| **Bildirim tipi ve süresi** | *"Bildirim tipi: onay gerekir — en az 15 gün önce"* / *"bildirim yeterli — en az 3 gün önce"* | Eğitim tanımından. İki model var ve UI ikisini de desteklemek zorunda |
| **Kontenjan aşımı uyarısı** | *"Tanımdaki azami 30; girilen 34"* | Uyarı, engel değil |
| **Asgari katılımcı** | *"Asgari 3 — altında eğitim iptal riski"* | |
| **Sınav zorunluluğu** | *"Bu eğitimde sınav zorunlu: en az 25 soru, 100 üzerinden 70"* | Bilgi olarak; sınav ekranı başka yerde |
| **Mevzuat dokümanları** | İlgili yönetmelik/kılavuz — tıklanır | Mevzuat kaydına bağlı dosyalar |

⚠ **Uyarı ≠ hata.** Bunlar kırmızı değil; `00 Tokenlar`'daki *uyarı* ve *dikkat* tonları. Kırmızı yalnız gerçekten yapılamayan bir şey içindir (eksik zorunlu alan gibi).

⚠ **Tarih seçilince bildirim son günü hesaplanır ve görünür**: *"Bakanlığa son bildirim: 25.08.2026 — 12 gün var"*. Süre yetmiyorsa uyarı çıkar, kayıt yine engellenmez.

---

## 6. Bu sayfada OLMAYAN şeyler

Bilinçli olarak dışarıda; tasarımın bunları bu sayfaya koymaması gerekiyor:

- **Eğitmen ataması** — kaydedilmiş eğitimin üzerinden yapılır (aday listesi, teklif, kabul). Taslak eğitime eğitmen çağrılmaz
- **Maliyet kalemleri** — aynı sebeple; kayıttan sonra eğitim ya da paket detayında
- **Katılımcı listesi** — satışın işi (`HANDOFF` kural 5)
- **KUMS ID** — eğitim `Planlandı`ya geçtikten sonra, detay sayfasında (`22`)

Sayfanın çıktısı: `Taslak` durumunda bir/birkaç eğitim. Taslak **yalnız oluşturanı görür**; `Planlandı`ya geçince satışa açılır.

---

## 7. Tasarımcıdan beklenenler

| # | Ne | Not |
|---|---|---|
| 1 | **Tek sayfa kompozisyonu** | Mevzuat → eğitim(ler) → yer → notlar akışı; sayfa üç eğitim satırıyla da okunur kalmalı |
| 2 | **Eğitim satırı** | Tekrar eden blok tasarımı; ekle/çıkar; hangi alanlar satırda, hangileri ortak |
| 3 | **Mevzuat paneli** | §5'teki uyarıların yeri: sabit bir yan sütun mu, seçilen eğitimin altında mı? Madde referansı nasıl gösterilir |
| 4 | **Paket doğuşu** | İkinci satır eklendiğinde ne değişir; hesaplanan pencere nerede görünür |
| 5 | **Kaydetme** | Tek buton mu, "taslak kaydet" + "planlandı olarak aç" ayrı mı? *(Öneri: taslak kaydet — planlandıya geçiş ayrı bir karardır)* |
| 6 | **Doğrulama** | Eksik zorunlu alan nasıl gösterilir; uyarılardan görsel olarak nasıl ayrılır |
| 7 | **Kuyruktan gelme hâli** | Sayfa bir onaylı teklifle açıldığında (müşteri, kişi sayısı, tercih dönemi hazır) neresi dolu gelir, neresi kilitli görünür |
| 8 | **375px** | Planlamacı masaüstünde çalışır ama sahadan da bakar |

**Bağlayıcı:** `00`–`06` token ve bileşen dili · aranabilir select · tarih aralığı seçici · semantik renk (mavi asla sorun anlatmaz; uyarı amber, dikkat sarı) · WCAG AA · tabular figures.

## 8. Terminoloji
Mevzuat · Eğitim tanımı · Taslak / Planlandı · Kontenjan · Görünürlük (açık/kapalı) · Veriliş şekli (yüz yüze/uzaktan/karma) · Paket · Paket penceresi · Bakanlığa bildirim / Bakanlık onayı · Asgari–azami katılımcı · Madde referansı.
