Feature PRD — Guest List
Durum: Taslak v1
Amaç
Çiftin tüm misafirlerini davet birimleri halinde yönetmesi: ekleme, link üretme/dağıtma, RSVP durumunu izleme, fallback yanıtlarını onay kuyruğundan işleme.
RSVP misafir akışları → rsvp.md.
Veri Modeli
Davet Birimi (invite)
- 1+ misafir içerir (aile, çift, tek kişi). Ör: "Yılmaz Ailesi" (4 kişi).
- Unique davet linki/QR taşır; link birime kesilir, kimlik taşır.
- Alanlar: birim adı · taraf (gelin / damat / ortak) · not.
Misafir (guest)
- Davet birimine bağlı kişi kaydı; masa planı kişi bazlı çalışır (seating-chart.md).
- Alanlar: ad · RSVP durumu (katılıyor / katılmıyor / yanıtsız) · masa · kaynak (çift ekledi / misafir ekledi / fallback) · not.
Misafir hesabı yoktur; kayıt düğüne (event'e) bağlıdır. Bkz. data-privacy.md.
Panel Görünümleri
- Birim görünümü (varsayılan): davet birimleri → altında kişiler.
- Düz kişi listesi: tüm misafirler tek listede.
- Filtre/arama: RSVP durumu · taraf · masa atanmış/atanmamış · isim arama.
- Özet sayaçlar: toplam misafir · katılıyor · katılmıyor · yanıtsız.
Link Yönetimi
- Birim başına: link üret · kopyala · QR göster · WhatsApp paylaş kısayolu.
- Ortak düğün linki ayrıca tek yerden erişilebilir (fallback dağıtımı için).
Onay Kuyruğu (fallback yanıtları)
Ortak linkten gelen RSVP yanıtları burada işlenir:
- Yanıt listelenir: ad soyad, kişi sayısı, katılım, not.
- Sistem isim benzerliğine göre mevcut misafirlerden eşleştirme önerir.
- Aksiyonlar:
- Eşleştir: yanıt mevcut misafire bağlanır, RSVP durumu güncellenir.
- Yeni misafir kabul et: yeni davet birimi + misafir kaydı oluşur (kaynak = fallback).
- Reddet: kayıt listeye ve sayaçlara girmez.
- Aynı kişiden gelen ikinci fallback yanıtı kuyruğa ayrı düşer; çift birleştirir.
İş Kuralları
- Misafir eklemek RSVP'nin ön koşuludur (davet linki ancak birim varsa üretilir); ortak link her zaman çalışır.
- "Beklemede" misafir durumu değildir; onay kuyruğundaki işlenmemiş yanıtları ifade eder. Filtrelerde ayrı sekme/rozet olarak gösterilir.
- Misafirin "misafir ekledi" kaynaklı kayıtları çift tarafından düzenlenebilir/silinebilir.
- Birim silinince altındaki misafirler ve linki de silinir; çift uyarılır.
- Serbest etiket sistemi MVP dışı; tek gruplama ekseni taraf alanıdır.
- Excel/CSV içe aktarma MVP dışı; dışa aktarma (misafir listesi) V1 adayı.
Acceptance Criteria
- Çift davet birimi oluşturup içine birden fazla misafir ekleyebilir.
- Her birim için unique link/QR üretilip kopyalanabilir.
- RSVP yanıtları misafir kayıtlarına gerçek zamanlı yansır.
- Onay kuyruğunda eşleştir / kabul / reddet aksiyonları çalışır; eşleştirme önerisi gösterilir.
- Filtre ve arama; durum, taraf ve masa ataması üzerinden çalışır.
- Özet sayaçlar RSVP durumuyla tutarlıdır (reddedilen fallback yanıtları hariç).
Açık Sorular
- İsim benzerliği eşleştirme önerisinin eşiği/algoritması — implementasyonda netleşir.
- Toplu link paylaşımı (çok birime tek seferde WhatsApp) MVP'ye girer mi?