# Tasarım brief'i — Müşteri portalı: "Açık Eğitimler" + satıştaki paketler

*03.08.2026 · Sets kararı · Bir yeni sayfa (ve mevcut bir vitrinin ona bağlanması)*

## Neden

Müşteri portalında bugün müşterinin **kendi personelinin kayıtlı olduğu** eğitimler var (`/portal/egitimler`, tasarım `15`). Eksik olan şu: müşteri, **3E'nin açtığı ve yer olan eğitimleri** göremiyor.

⛔ Bu bir "iyi olur" değil, akışta duran bir boşluk. Tasarım `11` ve `15`'in kendi menülerinde **"Açık Eğitimler"** maddesi çizili; tıklanacak sayfa yok. Aynı boşluk üç yerden daha görünüyor:

- **Satışçı kokpitinde** (`30`) "düşük doluluk" sinyali var: *"Görev 4 — 4 boş kontenjan, bölgede 9 firmada süresi yaklaşan personel var, duyuru hazır."* Duyuru gönderilecek ama **müşterinin ineceği sayfa yok**.
- **Uyum sinyali** müşteriye de gösteriliyor (*"9 personelin süresi yaklaşıyor"*); müşteri "peki ne zaman eğitim var" diye sorduğunda cevap veremiyor, teklif isteği formuna gitmek zorunda kalıyor.
- **İçerik paketleri vitrini** (`/portal/icerik/katalog`, tasarım `35`) yazıldı ve tek başına duruyor. Müşteri için "satın alınabilecek şeyler" tek bir yerde olmalı: **açık eğitim kontenjanı** ve **paket**.

⚠ Bu sayfa bir **mağaza değildir**: fiyat yazmaz, sepet yoktur, hiçbir şey satın alınmaz. Çıkışı tektir — **kontenjan/teklif isteği**. Sistemdeki kural değişmiyor: *teklif, müşteri talep ettikten sonra doğar.*

---

## Sayfa: "Açık Eğitimler"

**Kim görür:** portal yetkisi olan müşteri kullanıcıları (eğitim koordinatörü, çatı yönetici). **Adres:** `/portal/acik-egitimler` (öneri). **Menüdeki yeri:** tasarım `11`'in çizdiği yer — "EĞİTİM & TEKLİF" grubunda, "Eğitimler"in hemen altında.

### İki şey, tek sayfa

Sayfa iki bölüm taşır. Tasarımcının kararı: **iki sekme mi, alt alta iki blok mu**. İki blok öneriyoruz çünkü ikisi de kısa listelerdir ve müşteri ikisini birden tarar.

**A · Açık eğitimler** — 3E'nin planlayıp herkese açtığı, henüz yapılmamış ve **yeri olan** eğitimler.
**B · İçerik paketleri** — bugün `/portal/icerik/katalog`'da duran vitrin. Ya bu sayfaya taşınır ya buradan bağlanır; tasarımcı hangisinin doğru olduğunu söylesin.

---

### A · Açık eğitim kartı / satırı

Her kayıt için elimizde **kesin olarak** şunlar var:

| Alan | Kaynak | Not |
|---|---|---|
| Eğitim adı | `training_definitions.name` | |
| Referans kodu | `reference_codes.code` | örn. `EGT-2026-0341` |
| Tarih(ler) | `starts_on` – `ends_on` | çok günlü olabilir |
| Saat / oturum sayısı | `training_sessions` | "09:00–15:00 · 3 oturum" |
| İl | `trainings.city` | |
| Adres | `trainings.address` | ⚠ 3E merkezi ya da bir liman tesisi olabilir |
| **Kalan kontenjan** | `capacity − confirmed_seats` | ⛔ sayfanın en önemli sayısı |
| Statü | Planlandı · Bakanlık Onaylı | mevzuat kapısı geçilmiş mi |
| Eğitmen | atanmışsa adı | ⚠ atanmamışsa **yazılmaz**, boş bırakılır |
| Sertifika/geçerlilik | eğitim tanımından | "2 yıl geçerli", kapsanan görevler |

⛔ **Fiyat yazmaz.** Sebep, paket vitrinine yazdığımızın aynısı: fiyat firmadan firmaya değişir, liste fiyatı hem pazarlığı bozar hem "benimki neden pahalı" sorusunu doğurur. Sayfa bunu **açıkça söyler** ve teklif isteğine yönlendirir.

⛔ **Doluluk oranı gösterilmez, KALAN gösterilir.** "%80 dolu" bir baskı cümlesidir; "4 kişilik yer var" bir bilgidir. Müşteri kaç kişi göndereceğine kalan yere bakarak karar verir.

### Süzme ve sıralama

- **İl** (müşterinin kendi lokasyonlarının illeri en üstte önerilir)
- **Eğitim türü**
- **Tarih aralığı**
- Varsayılan sıralama: **en yakın tarih önce**.

⚠ Bir kolaylık isteniyor: **"Personelimin ihtiyacı olanlar"** süzgeci. Sistem firmanın hangi personelinin hangi eğitime ihtiyacı olduğunu zaten biliyor (uyum verisi). Bu süzgeç açıldığında yalnız o eğitim türlerindeki açık eğitimler kalır. ⛔ **Kişi adı gösterilmez** — yalnız süzme yapar; kim olduğu sorusunun yeri personel ekranıdır.

### Tek çıkış: "Kontenjan iste"

Her satırda tek eylem: **"Kontenjan İste"**. Tıklayınca teklif isteği formu **o eğitimle dolu** açılır:

- eğitim seçili ve kilitli (tarih/il/eğitim türü oradan gelir),
- müşteri yalnız **kaç kişi** ve isterse not yazar,
- gönderince mevcut teklif isteği akışı işler (iç onay ayarı açıksa önce firma içi onaya gider — bu kural değişmez).

⛔ **Doğrudan kayıt yok.** Müşteri kendi personelini bir açık eğitime tek tıkla yazamaz: yer parayla alınır, teklif ve onay zinciri atlanamaz. Katılımcı listesini kurma hakkı **onaylı teklif sonrası** doğar (bu kural yazıldı ve çalışıyor).

### Uç hâller — tasarımcı bunları da çizsin

1. **Hiç açık eğitim yok.** Boş ekran cümlesi ve tek çıkış: "İhtiyacınızı yazın, planlayalım" → teklif isteği. Bu boş hâl sık görülecek, ciddiye alınmalı.
2. **Kontenjan bitmiş eğitim.** Listede kalır mı, düşer mi? Öneri: **kalır ama "yer kalmadı" rozetiyle** ve "yedek listesine yaz" yerine yine teklif isteğine yönlendirir — çünkü 3E aynı eğitimi ikinci kez açabilir. Tasarımcı karar versin.
3. **Bakanlık onayı bekleyen eğitim.** Statü rozetiyle gösterilir; müşteri kontenjan isteyebilir, ama satırda "bakanlık onayı bekleniyor" notu durur.
4. **Eğitmeni atanmamış eğitim.** Eğitmen alanı **boş** kalır; "atanmadı" yazmak müşteriye bizim iç işimizi anlatmaktır.
5. **375px.** Kart listesi; kalan kontenjan ve tarih küçük ekranda da ilk okunan iki şey olmalı.

---

### B · İçerik paketleri bloğu

Bugün `/portal/icerik/katalog`'daki vitrin **çalışıyor**: paketler, örnek doküman açma (filigranlı ve loglu), lisanslı olanların işareti. Karar gereken tek şey **yerleşim**:

- (a) Vitrin bu sayfaya taşınır, "İçerik Paketleri" menü maddesi buraya bakar; ya da
- (b) Bu sayfada **kısa bir şerit** durur (3 paket + "tümü →") ve vitrin kendi adresinde kalır.

⚠ Not: paket vitrininde de fiyat yok, aynı gerekçeyle. İki blok bu konuda **aynı dili konuşmalı** — müşteri iki farklı kural görmemeli.

---

## Bu sayfanın bağlandığı diğer iş

⚠ **Açık eğitim duyurusu** (satışçı tarafında yazılacak): satışçı bir açık eğitimi seçili müşterilere duyurduğunda, gelen bildirimdeki bağlantı **tam da bu sayfaya** düşecek. Duyurunun kendisi ayrı bir iştir; bu sayfa onun ineceği zemindir.

⚠ Portal panosunda (`11`) bugün boş duran **"bölgemdeki açık eğitimler"** alanı da buradan beslenecek: pano 2–3 satır gösterir, "tümü →" bu sayfaya gider.

---

## Tasarımcıya sorular

1. İki bölüm **sekme mi, alt alta blok mu**?
2. Kontenjanı dolmuş eğitim listede **kalsın mı**?
3. Paket vitrini **taşınsın mı**, yoksa şerit + kendi sayfası mı?
4. "Personelimin ihtiyacı olanlar" süzgeci **varsayılan açık mı** gelsin, kapalı mı?

⛔ Fiyat, sepet, doğrudan kayıt ve doluluk yüzdesi konularında karar verilmiştir; bunlar soru değildir.
