{{-- Kültür/Yurtdışı turu tarih formu alanları (ekle/düzenle ortak).
     Opsiyonel: $d (TourDate|null), $copyDates (Collection), $suggestStart, $suggestEnd --}}
@php
    $d = $d ?? null;
    $copyDates = $copyDates ?? collect();
    $suggestStart = $suggestStart ?? null;
    $suggestEnd = $suggestEnd ?? null;
    $startVal = $d && $d->start_date ? \Carbon\Carbon::parse($d->start_date)->format('Y-m-d') : ($suggestStart ?? '');
    $endVal = $d && $d->end_date ? \Carbon\Carbon::parse($d->end_date)->format('Y-m-d') : ($suggestEnd ?? '');
    // Tarih-seviyesi (pazaryeri-dışı) kopyalanabilir alanlar
    $priceFields = ['room_capacity','child_min_age','child_max_age','infant_min_age','infant_max_age','early_booking_discount','last_minute_discount','group_discount','special_discount','min_group_size','discount_reason'];

    // Pazaryeri fiyat matrisi verileri
    $mpFields = [
        ['key' => 'adult_price',       'label' => 'Yetişkin'],
        ['key' => 'single_supplement', 'label' => 'Tek Kişi Farkı'],
        ['key' => 'extra_bed_price',   'label' => 'Ek Yatak'],
        ['key' => 'child_price_1',     'label' => '1. Çocuk'],
        ['key' => 'child_price_2',     'label' => '2. Çocuk'],
        ['key' => 'infant_price',      'label' => 'Bebek'],
    ];
    $mpList = $tour->product?->marketplaces ?? collect();
    // Mevcut fiyatlar: [marketplace_id][classKey] => satır
    $mpExisting = [];
    if ($d) {
        foreach ($d->marketplacePrices as $mpp) {
            $ck = $mpp->tour_class_id ?? 'none';
            $mpExisting[$mpp->marketplace_id][$ck] = $mpp;
        }
    }
    $mpClasses = $pricingClasses ?? collect();
    $mpUseClasses = (bool) ($tour->use_pricing_classes ?? false);
    // Seri üretim yalnızca yeni tarih eklerken anlamlı (statik dates.blade ile aynı kural).
    $isNew = !$d;

    // ── Yaş aralıkları: yeni tarihte turun genel ayarından otomatik çekilir ──
    $ageFields = ['child_min_age', 'child_max_age', 'infant_min_age', 'infant_max_age'];
    $ageVals = [];
    foreach ($ageFields as $af) {
        $ageVals[$af] = $d ? $d->{$af} : ($tour->{$af} ?? null);
    }
    $agesEmpty = collect($ageVals)->every(fn($v) => $v === null);
    $agesMatchTour = collect($ageFields)->every(fn($af) => (string) ($ageVals[$af] ?? '') === (string) ($tour->{$af} ?? ''));
    $fmtAge = fn($min, $max) => ($min === null && $max === null) ? '—' : (($min ?? '?') . '–' . ($max ?? '?') . ' yaş');
    $ageSummary = 'Çocuk ' . $fmtAge($ageVals['child_min_age'], $ageVals['child_max_age']) . ' · Bebek ' . $fmtAge($ageVals['infant_min_age'], $ageVals['infant_max_age']);
    $ageChip = $agesEmpty ? ['Tanımsız', 'empty'] : ($agesMatchTour ? ['Turun genel ayarı', 'auto'] : ['Bu tarihe özel', 'custom']);
    $cppOn = (bool) ($d?->use_custom_payment_plan);
    $stages = is_array($d?->payment_schedule ?? null) ? $d->payment_schedule : [];
    $stageTriggers = ['at_booking' => 'Rezervasyonda', 'days_before_departure' => 'Kalkıştan X gün önce', 'on_departure' => 'Kalkışta'];
@endphp

@if($copyDates->count())
    <div class="qd-copybar">
        <i class="fas fa-wand-magic-sparkles"></i>
        <label>Fiyatları başka tarihten kopyala</label>
        <select class="qd-inp" data-qd-copyfrom>
            <option value="">— Tarih seç ve otomatik doldur —</option>
            @foreach($copyDates as $cd)
                @if(!$d || $cd->id !== $d->id)
                    <option value="{{ $cd->id }}"
                            data-prices='@json(collect($priceFields)->mapWithKeys(fn($f) => [$f => $cd->$f])->toArray())'
                            data-mp-prices='@json($cd->marketplacePrices->reduce(function ($acc, $p) use ($mpFields) { $ck = $p->tour_class_id ?? 'none'; $acc[$p->marketplace_id][$ck] = collect($mpFields)->mapWithKeys(fn($f) => [$f['key'] => $p->{$f['key']}])->toArray(); return $acc; }, []))'>
                        {{ $cd->code }} · {{ $cd->start_date?->format('d.m.Y') }} · {{ $cd->adult_price !== null ? number_format($cd->adult_price, 0) . ' ' . $cd->currency : 'fiyatsız' }}
                    </option>
                @endif
            @endforeach
        </select>
    </div>
@endif

<div class="qd-fieldset">
    <div class="qd-fs-title"><i class="fas fa-calendar-day"></i> Tarih & Süre</div>
    <div class="qd-form">
        <div class="qd-fld"><label>Başlangıç</label><input type="date" name="start_date" value="{{ $startVal }}" class="qd-inp" data-qd-start required></div>
        <div class="qd-fld"><label>Bitiş <span class="qd-auto">otomatik</span></label><input type="date" name="end_date" value="{{ $endVal }}" class="qd-inp" data-qd-end required></div>
    </div>
</div>

<div class="qd-fieldset">
    <div class="qd-fs-title"><i class="fas fa-bed"></i> Oda</div>
    <div class="qd-form">
        <div class="qd-fld"><label>Oda Kapasitesi</label><input type="number" min="1" name="room_capacity" value="{{ $d?->room_capacity }}" class="qd-inp" placeholder="1 odada maks kişi"></div>
    </div>
</div>

{{-- Pazaryeri × sınıf fiyat matrisi (tek-para fiyat bloğunun yerini alır) — yer kazanmak için kapalı başlar --}}
@include('agency.products._qv-marketplace-prices', ['marketplaces' => $mpList, 'existing' => $mpExisting, 'fields' => $mpFields, 'classes' => $mpClasses, 'useClasses' => $mpUseClasses, 'collapsible' => true])

<div class="qd-fieldset">
    <div class="qd-fs-title"><i class="fas fa-users"></i> Kapasite</div>
    <div class="qd-form">
        <div class="qd-fld"><label>Toplam Kapasite</label><input type="number" name="total_capacity" value="{{ $d?->total_capacity }}" class="qd-inp" required></div>
        <div class="qd-fld"><label>Min Katılımcı</label><input type="number" name="min_participants" value="{{ $d?->min_participants }}" class="qd-inp"></div>
        <div class="qd-fld"><label>Yetişkin Kapasitesi</label><input type="number" min="0" name="adult_capacity" value="{{ $d?->adult_capacity }}" class="qd-inp"></div>
        <div class="qd-fld"><label>Çocuk Kapasitesi</label><input type="number" min="0" name="child_capacity" value="{{ $d?->child_capacity }}" class="qd-inp"></div>
        <div class="qd-fld"><label>Bebek Kapasitesi</label><input type="number" min="0" name="infant_capacity" value="{{ $d?->infant_capacity }}" class="qd-inp"></div>
    </div>
</div>

{{-- Yaş aralıkları: kapalı başlar; yeni tarihte turun genel ayarından otomatik dolar,
     kullanıcı isterse açıp bu tarihe özel değiştirir --}}
<div class="qd-fieldset qd-fold" data-qd-fold>
    <button type="button" class="qd-fold-head" data-qd-fold-toggle aria-expanded="false">
        <span class="qd-fold-ico"><i class="fas fa-child-reaching"></i></span>
        <span class="qd-fold-info">
            <b>Yaş Aralıkları</b>
            <small data-qd-ages-summary>{{ $ageSummary }}</small>
        </span>
        <span class="qd-fold-chip is-{{ $ageChip[1] }}" data-qd-ages-chip>{{ $ageChip[0] }}</span>
        <i class="fas fa-chevron-down qd-fold-chev"></i>
    </button>
    <div class="qd-fold-body" data-qd-fold-body hidden>
        <p class="qd-hint" style="margin-top:0">Boş bırakılan alanlar için turun genel ayarı geçerlidir. Buradaki değerler yalnızca bu tarihe uygulanır.</p>
        <div class="qd-form">
            <div class="qd-fld"><label>Çocuk Min Yaş</label><input type="number" name="child_min_age" value="{{ $ageVals['child_min_age'] }}" class="qd-inp" placeholder="{{ $tour->child_min_age ?? 2 }}" data-qd-age="cmin"></div>
            <div class="qd-fld"><label>Çocuk Max Yaş</label><input type="number" name="child_max_age" value="{{ $ageVals['child_max_age'] }}" class="qd-inp" placeholder="{{ $tour->child_max_age ?? 12 }}" data-qd-age="cmax"></div>
            <div class="qd-fld"><label>Bebek Min Yaş</label><input type="number" name="infant_min_age" value="{{ $ageVals['infant_min_age'] }}" class="qd-inp" placeholder="{{ $tour->infant_min_age ?? 0 }}" data-qd-age="imin"></div>
            <div class="qd-fld"><label>Bebek Max Yaş</label><input type="number" name="infant_max_age" value="{{ $ageVals['infant_max_age'] }}" class="qd-inp" placeholder="{{ $tour->infant_max_age ?? 2 }}" data-qd-age="imax"></div>
        </div>
    </div>
</div>

<div class="qd-fieldset">
    <div class="qd-fs-title"><i class="fas fa-tags"></i> İndirimler</div>
    <div class="qd-form">
        <div class="qd-fld"><label>Erken Rez. %</label><input type="number" step="0.01" name="early_booking_discount" value="{{ $d?->early_booking_discount }}" class="qd-inp"></div>
        <div class="qd-fld"><label>Son Dakika %</label><input type="number" step="0.01" name="last_minute_discount" value="{{ $d?->last_minute_discount }}" class="qd-inp"></div>
        <div class="qd-fld"><label>Grup %</label><input type="number" step="0.01" name="group_discount" value="{{ $d?->group_discount }}" class="qd-inp"></div>
        <div class="qd-fld"><label>Grup Min Kişi</label><input type="number" min="0" name="min_group_size" value="{{ $d?->min_group_size }}" class="qd-inp"></div>
        <div class="qd-fld"><label>Özel %</label><input type="number" step="0.01" name="special_discount" value="{{ $d?->special_discount }}" class="qd-inp"></div>
        <div class="qd-fld"><label>Özel İnd. Açıklama</label><input type="text" name="discount_reason" value="{{ $d?->discount_reason }}" class="qd-inp"></div>
    </div>
</div>

<div class="qd-fieldset">
    <div class="qd-fs-title"><i class="fas fa-hourglass-half"></i> Geçerlilik & Rezervasyon Zamanları</div>
    <div class="qd-form">
        @include('agency.products._qv-deadline-rule', ['name' => 'early_booking_rule', 'label' => 'Erken Rezervasyon indirimi — şu ana kadar geçerli', 'hint' => '(bu ana kadar rezervasyonda indirim)', 'rule' => $d?->early_booking_rule, 'anchors' => ['departure' => 'Kalkış', 'publish' => 'Yayın Tarihi']])
        @include('agency.products._qv-deadline-rule', ['name' => 'last_minute_rule', 'label' => 'Son Dakika indirimi — şu andan itibaren geçerli', 'hint' => '(bu andan sonra rezervasyonda indirim)', 'rule' => $d?->last_minute_rule, 'anchors' => ['departure' => 'Kalkış', 'booking_close' => 'Rez. Kapanışı']])
        @include('agency.products._qv-deadline-rule', ['name' => 'booking_deadline_rule', 'label' => 'Son Rezervasyon — rezervasyon şu ana kadar açık', 'hint' => '(bu andan sonra rezervasyon kapanır)', 'rule' => $d?->booking_deadline_rule, 'anchors' => ['departure' => 'Kalkış', 'publish' => 'Yayın Tarihi']])
    </div>
</div>

<div class="qd-fieldset">
    <div class="qd-fs-title"><i class="fas fa-toggle-on"></i> Sezon & Durum</div>
    <div class="qd-form">
        <div class="qd-fld"><label>Sezon</label><select name="season_type" class="qd-inp">@foreach(['low'=>'Düşük','medium'=>'Orta','high'=>'Yüksek','peak'=>'Zirve'] as $v => $l)<option value="{{ $v }}" @selected(($d->season_type ?? 'medium') === $v)>{{ $l }}</option>@endforeach</select></div>
        <div class="qd-fld"><label>Durum</label><select name="status" class="qd-inp">@foreach(['draft'=>'Taslak','published'=>'Yayında','booking_open'=>'Rez. Açık','booking_closed'=>'Rez. Kapalı','confirmed'=>'Onaylı','in_progress'=>'Devam Ediyor','completed'=>'Tamamlandı','cancelled'=>'İptal'] as $v => $l)<option value="{{ $v }}" @selected(($d->status ?? 'booking_open') === $v)>{{ $l }}</option>@endforeach</select></div>
    </div>
    <div class="qd-form">
        <div class="qd-fld full"><label>Notlar</label><textarea name="special_notes" class="qd-inp">{{ $d?->special_notes }}</textarea></div>
    </div>
    <label class="qd-checks">
        <span><input type="checkbox" name="is_active" value="1" {{ !$d || $d->is_active ? 'checked' : '' }}> Aktif</span>
        <span><input type="checkbox" name="is_bookable" value="1" {{ !$d || $d->is_bookable ? 'checked' : '' }}> Rezervasyona Açık</span>
        <span><input type="checkbox" name="guarantee_departure" value="1" {{ $d && $d->guarantee_departure ? 'checked' : '' }}> Kesin Kalkış</span>
        <span><input type="checkbox" name="auto_guarantee_on_min" value="1" {{ $d ? ($d->auto_guarantee_on_min ? 'checked' : '') : (($tour->auto_guarantee_on_min ?? false) ? 'checked' : '') }}> Min katılımcıda otomatik kesin kalkış</span>
    </label>
</div>

{{-- Bu tarihe özel kademeli ödeme planı (turun genel planını override eder) --}}
<div class="qd-fieldset">
    <div class="qd-fs-title"><i class="fas fa-money-check-dollar"></i> Bu Tarihe Özel Ödeme Planı</div>
    <label class="qd-checks" style="margin-top:0">
        <span><input type="checkbox" name="use_custom_payment_plan" value="1" data-qd-cpp-toggle @checked($cppOn)> Bu tarih için özel kademeli ödeme planı kullan</span>
    </label>
    <div data-qd-cpp-wrap style="{{ $cppOn ? '' : 'display:none' }}">
        <p class="qd-hint">Aşamalar toplamı %100 olmalıdır. Boş bırakılırsa turun genel ödeme planı geçerlidir.</p>
        <div class="pp-order-note"><i class="fas fa-circle-info"></i> Ödemeler, aşamaları <strong>eklediğiniz sıraya göre</strong> (1, 2, 3…) tahsil edilir. Numaralar ödeme sırasını gösterir.</div>
        <div data-qd-stage-rows>
            @foreach($stages as $i => $st)
                <div class="qd-form qd-stage-row">
                    <div class="qd-fld"><label>Etiket</label><input type="text" name="payment_schedule[{{ $i }}][label]" value="{{ $st['label'] ?? '' }}" class="qd-inp" placeholder="Ör: Kapora" @disabled(!$cppOn)></div>
                    <div class="qd-fld"><label>Yüzde %</label><input type="number" min="0" max="100" name="payment_schedule[{{ $i }}][percent]" value="{{ $st['percent'] ?? '' }}" class="qd-inp" @disabled(!$cppOn)></div>
                    <div class="qd-fld"><label>Tetikleyici</label><select name="payment_schedule[{{ $i }}][trigger]" class="qd-inp" @disabled(!$cppOn)>@foreach($stageTriggers as $v => $l)<option value="{{ $v }}" @selected(($st['trigger'] ?? '') === $v)>{{ $l }}</option>@endforeach</select></div>
                    <div class="qd-fld"><label>Gün (X)</label><input type="number" min="0" name="payment_schedule[{{ $i }}][offset_days]" value="{{ $st['offset_days'] ?? '' }}" class="qd-inp" @disabled(!$cppOn)></div>
                    <div class="qd-fld qd-stage-act"><button type="button" class="pqv-iconbtn danger" data-qd-stage-remove title="Aşamayı sil"><i class="fas fa-times"></i></button></div>
                </div>
            @endforeach
        </div>
        <button type="button" class="pqv-btn pqv-btn-soft" data-qd-stage-add><i class="fas fa-plus"></i> Aşama Ekle</button>
    </div>
</div>

@if($isNew)
    {{-- Seri tarih üretimi: işaretlenirse form dates.bulk endpoint'ine gider (bkz. data-alt-action) --}}
    <div class="qd-fieldset">
        <div class="qd-fs-title"><i class="fas fa-repeat"></i> Seri Tarih Oluştur</div>
        <label class="qd-checks" style="margin-top:0">
            <span><input type="checkbox" name="__series_enabled" value="1" data-qd-series-toggle> Seri oluştur (aynı fiyatlarla birden çok tarih)</span>
        </label>
        <div data-qd-series-wrap style="display:none">
            <div class="qd-form">
                <div class="qd-fld"><label>Tekrar Sıklığı</label><select name="repeat_frequency" class="qd-inp" disabled>@foreach(['weekly' => 'Haftalık', 'biweekly' => '2 Haftada bir', 'monthly' => 'Aylık', 'interval' => 'Her N günde bir'] as $v => $l)<option value="{{ $v }}">{{ $l }}</option>@endforeach</select></div>
                <div class="qd-fld"><label>Gün Aralığı (N)</label><input type="number" name="repeat_interval_days" min="1" max="365" class="qd-inp" placeholder="Örn: 10" disabled></div>
                <div class="qd-fld"><label>Kaç Adet Tarih?</label><input type="number" name="repeat_count" min="1" max="52" class="qd-inp" placeholder="Örn: 8" disabled></div>
            </div>
            <p class="qd-hint">İlk tarih yukarıdaki başlangıç/bitiş tarihidir; sonrakiler seçilen sıklıkla ötelenir.</p>
        </div>
    </div>
@endif
