übergang auf pakete, integration von stripe und paypal, blog hinzugefügt.
This commit is contained in:
@@ -4,6 +4,7 @@ namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
use App\Models\Package;
|
||||
use App\Enums\PackageType;
|
||||
|
||||
class PackageSeeder extends Seeder
|
||||
{
|
||||
@@ -15,124 +16,98 @@ class PackageSeeder extends Seeder
|
||||
// Endcustomer Packages
|
||||
Package::create([
|
||||
'name' => 'Free / Test',
|
||||
'type' => 'endcustomer',
|
||||
'type' => PackageType::ENDCUSTOMER,
|
||||
'price' => 0.00,
|
||||
'max_photos' => 30,
|
||||
'max_guests' => 10,
|
||||
'gallery_days' => 3,
|
||||
'max_guests' => 50,
|
||||
'gallery_days' => 7,
|
||||
'max_tasks' => 5,
|
||||
'watermark_allowed' => false,
|
||||
'watermark_allowed' => true,
|
||||
'branding_allowed' => false,
|
||||
'features' => json_encode([
|
||||
'basic_uploads' => true,
|
||||
'limited_sharing' => true,
|
||||
'no_branding' => true,
|
||||
]),
|
||||
'description' => 'Ideal für kleine Test-Events oder erste Erfahrungen.',
|
||||
]);
|
||||
|
||||
Package::create([
|
||||
'name' => 'Starter',
|
||||
'type' => 'endcustomer',
|
||||
'price' => 19.00,
|
||||
'max_photos' => 300,
|
||||
'max_guests' => 50,
|
||||
'gallery_days' => 14,
|
||||
'max_tasks' => 20,
|
||||
'type' => PackageType::ENDCUSTOMER,
|
||||
'price' => 29.00,
|
||||
'max_photos' => 200,
|
||||
'max_guests' => 100,
|
||||
'gallery_days' => 30,
|
||||
'max_tasks' => 10,
|
||||
'watermark_allowed' => true,
|
||||
'branding_allowed' => false,
|
||||
'features' => json_encode([
|
||||
'extended_gallery' => true,
|
||||
'guest_sharing' => true,
|
||||
'basic_analytics' => true,
|
||||
'basic_uploads' => true,
|
||||
'unlimited_sharing' => true,
|
||||
'no_watermark' => true,
|
||||
'custom_tasks' => true,
|
||||
]),
|
||||
'description' => 'Perfekt für kleine Events wie Geburtstage oder Firmenfeiern.',
|
||||
]);
|
||||
|
||||
Package::create([
|
||||
'name' => 'Pro',
|
||||
'type' => 'endcustomer',
|
||||
'price' => 49.00,
|
||||
'type' => PackageType::ENDCUSTOMER,
|
||||
'price' => 79.00,
|
||||
'max_photos' => 1000,
|
||||
'max_guests' => 200,
|
||||
'gallery_days' => 30,
|
||||
'max_tasks' => 50,
|
||||
'max_guests' => 500,
|
||||
'gallery_days' => 90,
|
||||
'max_tasks' => 20,
|
||||
'watermark_allowed' => false,
|
||||
'branding_allowed' => false,
|
||||
'features' => json_encode([
|
||||
'basic_uploads' => true,
|
||||
'unlimited_sharing' => true,
|
||||
'no_watermark' => true,
|
||||
'custom_tasks' => true,
|
||||
'advanced_analytics' => true,
|
||||
'priority_support' => true,
|
||||
]),
|
||||
]);
|
||||
|
||||
// Reseller Packages
|
||||
Package::create([
|
||||
'name' => 'S (Small Reseller)',
|
||||
'type' => PackageType::RESELLER,
|
||||
'price' => 199.00,
|
||||
'max_photos' => 500, // per event limit
|
||||
'max_guests' => null, // unlimited
|
||||
'gallery_days' => null,
|
||||
'max_tasks' => null, // unlimited
|
||||
'watermark_allowed' => true,
|
||||
'branding_allowed' => true,
|
||||
'max_events_per_year' => 5,
|
||||
'expires_after' => now()->addYear(),
|
||||
'features' => json_encode([
|
||||
'unlimited_sharing' => true,
|
||||
'advanced_analytics' => true,
|
||||
'reseller_dashboard' => true,
|
||||
'custom_branding' => true,
|
||||
'priority_support' => true,
|
||||
]),
|
||||
'description' => 'Für große Events wie Hochzeiten oder Konferenzen.',
|
||||
]);
|
||||
|
||||
// Reseller Packages (jährliche Subscriptions)
|
||||
Package::create([
|
||||
'name' => 'Reseller S',
|
||||
'type' => 'reseller',
|
||||
'price' => 149.00,
|
||||
'max_events_per_year' => 5,
|
||||
'max_photos' => null, // Kein globales Limit, pro Event
|
||||
'max_guests' => null,
|
||||
'name' => 'M (Medium Reseller)',
|
||||
'type' => PackageType::RESELLER,
|
||||
'price' => 399.00,
|
||||
'max_photos' => 1000, // per event limit
|
||||
'max_guests' => null, // unlimited
|
||||
'gallery_days' => null,
|
||||
'max_tasks' => null,
|
||||
'max_tasks' => null, // unlimited
|
||||
'watermark_allowed' => true,
|
||||
'branding_allowed' => true,
|
||||
'expires_after' => now()->addYear(), // Jährlich
|
||||
'features' => json_encode([
|
||||
'event_management' => true,
|
||||
'reseller_dashboard' => true,
|
||||
'bulk_event_creation' => true,
|
||||
'5_events_included' => true,
|
||||
]),
|
||||
'description' => 'Einstieg für kleine Agenturen: 5 Events pro Jahr.',
|
||||
]);
|
||||
|
||||
Package::create([
|
||||
'name' => 'Reseller M',
|
||||
'type' => 'reseller',
|
||||
'price' => 299.00,
|
||||
'max_events_per_year' => 15,
|
||||
'max_photos' => null,
|
||||
'max_guests' => null,
|
||||
'gallery_days' => null,
|
||||
'max_tasks' => null,
|
||||
'watermark_allowed' => true,
|
||||
'branding_allowed' => true,
|
||||
'expires_after' => now()->addYear(),
|
||||
'features' => json_encode([
|
||||
'event_management' => true,
|
||||
'reseller_dashboard' => true,
|
||||
'bulk_event_creation' => true,
|
||||
'custom_branding' => true,
|
||||
'priority_support' => true,
|
||||
'advanced_reporting' => true,
|
||||
'15_events_included' => true,
|
||||
]),
|
||||
'description' => 'Für wachsende Agenturen: 15 Events pro Jahr.',
|
||||
]);
|
||||
|
||||
Package::create([
|
||||
'name' => 'Reseller L',
|
||||
'type' => 'reseller',
|
||||
'price' => 499.00,
|
||||
'max_events_per_year' => 30,
|
||||
'max_photos' => null,
|
||||
'max_guests' => null,
|
||||
'gallery_days' => null,
|
||||
'max_tasks' => null,
|
||||
'watermark_allowed' => true,
|
||||
'branding_allowed' => true,
|
||||
'expires_after' => now()->addYear(),
|
||||
'features' => json_encode([
|
||||
'event_management' => true,
|
||||
'reseller_dashboard' => true,
|
||||
'bulk_event_creation' => true,
|
||||
'priority_support' => true,
|
||||
'custom_integration' => true,
|
||||
'30_events_included' => true,
|
||||
]),
|
||||
'description' => 'Für große Agenturen: 30 Events pro Jahr mit Premium-Features.',
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user