Proje: Okul Platform · Hub: Okul Platform — Domain

SchoolOffer İş Kuralları

24 Saat Kısıtlaması

  • Aynı kullanıcı aynı okula 24 saat içinde birden fazla offer gönderemiyor.
  • Giriş yapılmışsa: user_id + school_id kombinasyonuna bakılır.
  • Giriş yapılmamışsa: email + school_id kombinasyonuna bakılır.
  • Kısıtlama iki katmanda uygulanır:
    1. Listing katmanı (matchingSchools, finderMatchingSchools): okul zaten öneri listesinde gösterilmez (whereNotIn).
    2. Submit katmanı (submitMultipleOffers): listeye eklense bile hasRecentOffer() ile çift kontrol.

approved_type Kuralları

  • Normal bilgi talebi offer’larında approved_type null beklenir — bu bir hata değil.
  • Sadece şu akışlarda set edilir: scholarship, early-registration, pending-scholarship, lgs, unofficial-lgs.
  • SchoolOfferService::create() içinde type attribute’u verilmezse approved_type otomatik set edilmez.

Çoklu Okul Lead (profiling-multiple)

  • Kullanıcı aynı anda 1–12 okula lead gönderebilir.
  • Her okul için ayrı SchoolOffer kaydı oluşturulur.
  • failed[] listesi: duplicate veya service hatası olan okulları içerir; kısmen başarılı yanıt dönebilir.
  • Giriş yapılmış kullanıcının formu ad/e-posta/telefon dolu ve KVKK işaretli açılır.