<?php

namespace Database\Seeders;

use App\Models\Agency\Agency;
use App\Models\Customer\CustomerDocumentType;
use Illuminate\Database\Seeder;

class CustomerDocumentSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $agencies = Agency::all();

        $defaultTypes = [
            [
                'name' => 'Tur Sözleşmesi',
                'code' => 'tour_contract',
                'description' => 'Hizmet satış ve tur sözleşmesi fotokopisi/aslı',
                'is_required' => true,
                'sort_order' => 10,
            ],
            [
                'name' => 'Seyahat Sigortası',
                'code' => 'insurance',
                'description' => 'Zorunlu seyahat sigortası poliçesi',
                'is_required' => true,
                'sort_order' => 20,
            ],
            [
                'name' => 'Pasaport Fotokopisi',
                'code' => 'passport',
                'description' => 'Müşterinin pasaport resimli sayfası',
                'is_required' => false,
                'sort_order' => 30,
            ],
            [
                'name' => 'Kimlik Fotokopisi',
                'code' => 'id_card',
                'description' => 'TC Kimlik kartı ön/arka fotokopisi',
                'is_required' => false,
                'sort_order' => 40,
            ],
            [
                'name' => 'Vize Belgesi',
                'code' => 'visa',
                'description' => 'Vize onay veya başvuru belgesi',
                'is_required' => false,
                'sort_order' => 50,
            ],
            [
                'name' => 'Ödeme Dekontu',
                'code' => 'payment_receipt',
                'description' => 'Banka havalesi veya ödeme makbuzu',
                'is_required' => false,
                'sort_order' => 60,
            ],
            [
                'name' => 'Diğer Belge',
                'code' => 'other',
                'description' => 'Diğer ek dökümanlar',
                'is_required' => false,
                'sort_order' => 99,
            ],
        ];

        foreach ($agencies as $agency) {
            foreach ($defaultTypes as $type) {
                CustomerDocumentType::updateOrCreate(
                    [
                        'agency_id' => $agency->id,
                        'code' => $type['code'],
                    ],
                    [
                        'name' => $type['name'],
                        'description' => $type['description'],
                        'is_required' => $type['is_required'],
                        'sort_order' => $type['sort_order'],
                        'is_active' => true,
                    ]
                );
            }
        }
    }
}
