<?php

namespace Database\Seeders;

use App\Models\Agency\Agency;
use App\Models\Product\ProductType;
use Illuminate\Database\Seeder;

class AgencySeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $agencies = [
            [
                'code' => 'TTR001',
                'name' => 'Turkish Travel Agency',
                'slug' => 'turkish-travel',
                'description' => 'Türkiye\'nin en köklü turizm acentelerinden biri olan Turkish Travel, 20 yılı aşkın deneyimi ile müşterilerine unutulmaz seyahat deneyimleri sunmaktadır.',
                'contact_person' => 'Mehmet Özkan',
                'contact_phone' => '+905551234569',
                'contact_email' => 'info@turkishtravel.com',
                'contact_address' => 'Taksim Meydanı No:15 Beyoğlu/İstanbul',
                'tax_number' => '1234567890',
                'facebook_url' => 'https://facebook.com/turkishtravel',
                'instagram_url' => 'https://instagram.com/turkishtravel',
                'website_url' => 'https://turkishtravel.com',
                'business_type' => 'full-service',
                'service_areas' => json_encode(['domestic', 'international', 'cultural-tours', 'adventure-tours']),
                'commission_rate' => 8.50,
                'is_active' => true,
                'is_approved' => true,
                'approved_at' => now(),
                'approved_by' => null,
                'theme_settings' => json_encode([
                    'primary_color' => '#2563eb',
                    'secondary_color' => '#1e40af',
                    'accent_color' => '#f59e0b',
                    'logo_position' => 'left',
                    'header_style' => 'modern'
                ]),
                'page_settings' => json_encode([
                    'show_reviews' => true,
                    'show_gallery' => true,
                    'show_contact_form' => true,
                    'show_social_media' => true
                ]),
                'created_by' => null,
            ],
            [
                'code' => 'ATR002',
                'name' => 'Anatolia Travel',
                'slug' => 'anatolia-travel',
                'description' => 'Anadolu\'nun eşsiz güzelliklerini keşfetmeniz için özel turlar düzenleyen Anatolia Travel, kültür ve doğa turlarında uzmanlaşmış bir acentedir.',
                'contact_person' => 'Can Türk',
                'contact_phone' => '+905551234573',
                'contact_email' => 'info@anatoliatravel.com',
                'contact_address' => 'Kaleiçi Mahallesi Hesapçı Sokak No:8 Muratpaşa/Antalya',
                'tax_number' => '9876543210',
                'facebook_url' => 'https://facebook.com/anatoliatravel',
                'instagram_url' => 'https://instagram.com/anatoliatravel',
                'twitter_url' => 'https://twitter.com/anatoliatravel',
                'website_url' => 'https://anatoliatravel.com',
                'business_type' => 'specialized',
                'service_areas' => json_encode(['cultural-tours', 'historical-tours', 'nature-tours', 'domestic']),
                'commission_rate' => 10.00,
                'is_active' => true,
                'is_approved' => true,
                'approved_at' => now(),
                'approved_by' => null,
                'theme_settings' => json_encode([
                    'primary_color' => '#059669',
                    'secondary_color' => '#047857',
                    'accent_color' => '#d97706',
                    'logo_position' => 'center',
                    'header_style' => 'classic'
                ]),
                'page_settings' => json_encode([
                    'show_reviews' => true,
                    'show_gallery' => true,
                    'show_contact_form' => true,
                    'show_social_media' => true,
                    'show_testimonials' => true
                ]),
                'created_by' => null,
            ],
            [
                'code' => 'MTR003',
                'name' => 'Mediterranean Tours',
                'slug' => 'mediterranean-tours',
                'description' => 'Akdeniz\'in büyülü atmosferini yaşamak isteyenler için özel olarak tasarlanmış turlar sunan Mediterranean Tours, deniz ve güneş tutkunlarının tercihi.',
                'contact_person' => 'Elif Kocaman',
                'contact_phone' => '+905551234577',
                'contact_email' => 'info@mediterraneantours.com',
                'contact_address' => 'Lara Caddesi No:45 Muratpaşa/Antalya',
                'tax_number' => '5555555555',
                'instagram_url' => 'https://instagram.com/mediterraneantours',
                'youtube_url' => 'https://youtube.com/mediterraneantours',
                'business_type' => 'specialized',
                'service_areas' => json_encode(['sea-tours', 'resort-holidays', 'luxury-tours', 'international']),
                'commission_rate' => 12.00,
                'is_active' => true,
                'is_approved' => false,
                'theme_settings' => json_encode([
                    'primary_color' => '#0ea5e9',
                    'secondary_color' => '#0284c7',
                    'accent_color' => '#f97316',
                    'logo_position' => 'left',
                    'header_style' => 'modern'
                ]),
                'page_settings' => json_encode([
                    'show_reviews' => true,
                    'show_gallery' => true,
                    'show_contact_form' => true
                ]),
                'created_by' => null,
            ],
            [
                'code' => 'CTR004',
                'name' => 'Cappadocia Dreams',
                'slug' => 'cappadocia-dreams',
                'description' => 'Kapadokya\'nın eşsiz manzaralarını ve kültürel zenginliklerini keşfetmek için özel turlar düzenleyen uzman ekibimizle unutulmaz anılar biriktirin.',
                'contact_person' => 'Ahmet Yıldız',
                'contact_phone' => '+905551234578',
                'contact_email' => 'info@cappadociadreams.com',
                'contact_address' => 'Göreme Mahallesi Müze Caddesi No:12 Nevşehir',
                'tax_number' => '7777777777',
                'facebook_url' => 'https://facebook.com/cappadociadreams',
                'instagram_url' => 'https://instagram.com/cappadociadreams',
                'business_type' => 'specialized',
                'service_areas' => json_encode(['cultural-tours', 'adventure-tours', 'balloon-tours', 'domestic']),
                'commission_rate' => 9.75,
                'is_active' => false,
                'is_approved' => true,
                'approved_at' => now(),
                'approved_by' => null,
                'theme_settings' => json_encode([
                    'primary_color' => '#dc2626',
                    'secondary_color' => '#b91c1c',
                    'accent_color' => '#fbbf24',
                    'logo_position' => 'center',
                    'header_style' => 'classic'
                ]),
                'page_settings' => json_encode([
                    'show_reviews' => true,
                    'show_gallery' => true,
                    'show_contact_form' => true,
                    'show_social_media' => true
                ]),
                'created_by' => null,
            ],
            [
                'code' => 'BTR005',
                'name' => 'Bosphorus Luxury Travel',
                'slug' => 'bosphorus-luxury',
                'description' => 'İstanbul\'un büyülü atmosferini ve Boğaz\'ın eşsiz manzaralarını lüks hizmet anlayışıyla sunan Bosphorus Luxury Travel.',
                'contact_person' => 'Selin Arslan',
                'contact_phone' => '+905551234579',
                'contact_email' => 'info@bosphorusluxury.com',
                'contact_address' => 'Bebek Mahallesi Cevdetpaşa Caddesi No:34 Beşiktaş/İstanbul',
                'tax_number' => '3333333333',
                'instagram_url' => 'https://instagram.com/bosphorusluxury',
                'website_url' => 'https://bosphorusluxury.com',
                'business_type' => 'luxury',
                'service_areas' => json_encode(['luxury-tours', 'yacht-tours', 'vip-services', 'international']),
                'commission_rate' => 15.00,
                'is_active' => true,
                'is_approved' => false,
                'theme_settings' => json_encode([
                    'primary_color' => '#7c3aed',
                    'secondary_color' => '#6d28d9',
                    'accent_color' => '#fbbf24',
                    'logo_position' => 'left',
                    'header_style' => 'luxury'
                ]),
                'page_settings' => json_encode([
                    'show_reviews' => false,
                    'show_gallery' => true,
                    'show_contact_form' => true,
                    'show_social_media' => false
                ]),
                'created_by' => null,
            ],
        ];

        foreach ($agencies as $agencyData) {
            $agency = Agency::create($agencyData);
        }

        // ID 1 olan acente için hizmet türlerini ekle
        $agency = Agency::find(1);
        if ($agency) {
            // Kültür Turu ve Günübirlik Tur hizmet türlerini bul
            $kulturTuru = ProductType::where('slug', 'kultur-turu')->first();
            $gunubirlikTur = ProductType::where('slug', 'gunubirlik-tur')->first();

            // Hizmet türlerini acente ile ilişkilendir
            if ($kulturTuru) {
                $agency->productTypes()->attach($kulturTuru->id, [
                    'is_active' => true,
                    'activated_at' => now(),
                    'settings' => json_encode([])
                ]);
                $this->command->info('✅ Kültür Turu hizmeti ID 1 acenteye eklendi!');
            }

            if ($gunubirlikTur) {
                $agency->productTypes()->attach($gunubirlikTur->id, [
                    'is_active' => true,
                    'activated_at' => now(),
                    'settings' => json_encode([])
                ]);
                $this->command->info('✅ Günübirlik Tur hizmeti ID 1 acenteye eklendi!');
            }
        }
    }
}
