Proje: Okul Platform · Hub: Okul Platform — Domain

Ürün Sistemi

Okulların satın aldığı ürünler (listing paketi, magnet, ek ilçe, vs.) Product ve ProductPrice modelleriyle yönetilir.

SchoolProductPrice: Bir okulun satın aldığı ürün kaydı.

  • customer_agreement_id → CustomerAgreement
  • school_id, product_id, product_price_id
  • price, discount_rate — Tutar ve indirim
  • starts_on / ends_on — Geçerlilik dönemi
  • status — StringBool cast (aktif mi)
  • renew — Yenilendi mi
  • boost_starts_on — Boost başlangıcı
  • location_level_1/2 — Lokasyon bazlı ürün

SchoolProductLimitService

Okulun ürün paketine göre içerik limitleri:

max_event_count          → Max etkinlik sayısı
max_announcement_count   → Max duyuru sayısı
max_achievement_count    → Max başarı sayısı
max_campaign_count       → Max kampanya sayısı
max_image_count          → Max görsel sayısı
max_video_count          → Max video sayısı
max_discount_count       → Max indirim sayısı
lead_access_day          → Lead erişim gün sayısı (null = sınırsız)

SchoolProductLimitDTO üzerinden servis katmanına sunulur.

UsageLimitExceededException

Okul içerik limitini aştığında fırlatılır.

ProductPrice (Fiyat Listesi)

ProductPrice — Ürün + okul tipi + lokasyon kombinasyonu fiyatı. Checkout hesaplamada kullanılır.