👥 Kullanıcı Durumları

FINAL

Guest, Trial, Premium, Expired - Tüm Durumlar

📅 2025-12-05 🎯 4 Durum Tanımlandı ✅ Basit & Net

🎯 4 Kullanıcı Durumu

👤

GUEST (Misafir)

Kayıt olmamış, siteyi gezinen kullanıcı

📋 Özellikler

  • ✅ Site gezintisi yapabilir
  • ✅ Müzikleri görebilir (liste)
  • ⏱️ 30 saniye preview dinleyebilir
  • ❌ Tam şarkı DİNLEYEMEZ
  • ❌ Playlist OLUŞTURAMAZ
  • ❌ Favori EKLEYEMEZ

🔐 Teknik Kontrol

if (!auth()->check()) {
  // GUEST
  return 30; // saniye
}

💡 CTA (Call-to-Action):

"Sınırsız dinlemek için üye ol!" butonu göster

🆓

TRIAL (Deneme Üyesi)

Yeni kayıt olmuş, 7 günlük deneme süresi aktif

📋 Özellikler

  • SİNİRSİZ müzik dinleme
  • 7 GÜN süre
  • ✅ Playlist oluşturabilir
  • ✅ Favori ekleyebilir
  • ✅ Tam premium özellikler
  • ⏱️ Süre bitince → EXPIRED

🔐 Teknik Kontrol

$sub = Subscription::where('user_id', $user->id)
  ->where('status', 'active')
  ->where('current_period_end', '>', now())
  ->first();

if ($sub && $sub->plan->is_trial) {
  // TRIAL
  return INF; // sınırsız
}

💡 CTA:

"Deneme süreniz: X gün kaldı. Premium'a geç!" banner göster

✅ Nasıl Olunur?

  • 1️⃣ Kayıt ol (auth_subscription=1 ise)
  • 2️⃣ Otomatik trial subscription oluşturulur
  • 3️⃣ has_used_trial = TRUE yapılır
  • 4️⃣ 7 gün süre başlar
👑

PREMIUM (Ücretli Üye)

Ödeme yapmış, aktif premium aboneliği var

📋 Özellikler

  • SİNİRSİZ müzik dinleme
  • ÖMÜR BOYU (ödeme devam ettiği sürece)
  • ✅ Tüm premium özellikler
  • ✅ Playlist, favori, offline vb.
  • ✅ Cihaz limiti (plan'a göre)
  • ⏱️ Ödeme kesilince → EXPIRED

🔐 Teknik Kontrol

$sub = Subscription::where('user_id', $user->id)
  ->where('status', 'active')
  ->where('current_period_end', '>', now())
  ->first();

if ($sub && !$sub->plan->is_trial) {
  // PREMIUM
  return INF; // sınırsız
}

💡 CTA:

"Premium üyesiniz! Keyifle dinleyin." mesajı

✅ Nasıl Olunur?

  • 1️⃣ Trial bitince veya direkt premium seç
  • 2️⃣ Ödeme yap (Stripe, iyzico vb.)
  • 3️⃣ Premium subscription oluşturulur
  • 4️⃣ Otomatik yenileme (aylık/yıllık)

EXPIRED (Süresi Bitmiş)

Trial veya Premium süresi dolmuş, ödeme yapılmamış

📋 Özellikler

  • ✅ Site gezintisi yapabilir
  • ⏱️ 30 saniye preview dinleyebilir
  • ❌ Tam şarkı DİNLEYEMEZ
  • ❌ Playlist KULLANAMAZ (kaydedilemez)
  • ❌ Favori EKLEYEMEZ
  • 🔔 Yenile mesajı sürekli gösterilir

🔐 Teknik Kontrol

$sub = Subscription::where('user_id', $user->id)
  ->where('status', 'active')
  ->where('current_period_end', '>', now())
  ->first();

if (!$sub && auth()->check()) {
  // EXPIRED (veya hiç abonelik olmamış)
  return 30; // saniye
}

🚨 CTA (Agresif):

"Aboneliğiniz sona erdi! Sınırsız dinlemek için hemen yenile!" banner (her sayfada)

💡 Nasıl Olur?

  • 1️⃣ Trial 7 gün bitti → EXPIRED
  • 2️⃣ Premium ödeme yapılmadı → EXPIRED
  • 3️⃣ Premium iptal edildi → EXPIRED
  • 4️⃣ current_period_end < now() → EXPIRED

🔄 Kullanıcı Akışı

GUEST
Site geziniyor, 30 saniye dinliyor
GUEST
TRIAL
Kayıt ol → 7 gün trial (otomatik)
TRIAL
PREMIUM
Ödeme yap → Premium oldu
TRIAL
EXPIRED
7 gün bitti, ödeme yapılmadı
PREMIUM
EXPIRED
Ödeme kesildi/iptal edildi
EXPIRED
PREMIUM
Yeniden ödeme yap → Premium

📊 Hızlı Özet Tablosu

Durum Dinleme Süre Playlist CTA
👤 GUEST 30 saniye - Üye ol
🆓 TRIAL Sınırsız 7 gün Premium'a geç
👑 PREMIUM Sınırsız Ömür boyu Keyifle dinle
⏰ EXPIRED 30 saniye - HEMEN YENİLE!