139 lines
4.6 KiB
PHP
139 lines
4.6 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use App\Models\Package;
|
|
|
|
class PackageSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
// Endcustomer Packages
|
|
Package::create([
|
|
'name' => 'Free / Test',
|
|
'type' => 'endcustomer',
|
|
'price' => 0.00,
|
|
'max_photos' => 30,
|
|
'max_guests' => 10,
|
|
'gallery_days' => 3,
|
|
'max_tasks' => 5,
|
|
'watermark_allowed' => false,
|
|
'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,
|
|
'watermark_allowed' => true,
|
|
'branding_allowed' => false,
|
|
'features' => json_encode([
|
|
'extended_gallery' => true,
|
|
'guest_sharing' => true,
|
|
'basic_analytics' => true,
|
|
]),
|
|
'description' => 'Perfekt für kleine Events wie Geburtstage oder Firmenfeiern.',
|
|
]);
|
|
|
|
Package::create([
|
|
'name' => 'Pro',
|
|
'type' => 'endcustomer',
|
|
'price' => 49.00,
|
|
'max_photos' => 1000,
|
|
'max_guests' => 200,
|
|
'gallery_days' => 30,
|
|
'max_tasks' => 50,
|
|
'watermark_allowed' => true,
|
|
'branding_allowed' => true,
|
|
'features' => json_encode([
|
|
'unlimited_sharing' => true,
|
|
'advanced_analytics' => 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,
|
|
'gallery_days' => null,
|
|
'max_tasks' => null,
|
|
'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,
|
|
'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.',
|
|
]);
|
|
}
|
|
}
|