@php $badge = $vm['badge']; $cap = $vm['capacity']; $typeKey = $vm['type_key']; $id = $vm['id']; $updateUrl = route('agency.operations.update-field', [$typeKey, $id]); $isTerminal = in_array($badge['key'], ['cancelled', 'completed']); $isGuaranteed = in_array($badge['key'], ['auto_guaranteed', 'manual_guaranteed']); $start = $vm['start']; $end = $vm['end']; $dateLabel = $start?->translatedFormat('d F Y') ?? 'Tarih atanmadı'; if ($start && $end && $end->ne($start)) { $dateLabel = $start->isSameMonth($end) ? $start->format('d') . '–' . $end->translatedFormat('d F Y') : $start->translatedFormat('d M') . ' – ' . $end->translatedFormat('d M Y'); } @endphp
{{ $start?->format('d') ?? '—' }} {{ $start?->translatedFormat('M') }}
{{ $dateLabel }}@if($vm['start_time']) · {{ $vm['start_time'] }}@endif @if($start){{ $start->translatedFormat('l') }}@endif {{ $vm['tour_name'] }} {{ $vm['type_label'] }} @if($vm['tour_code']){{ $vm['tour_code'] }}@endif {{ $badge['label'] }}
DOLULUK %{{ $cap['occupancy'] }}
YOLCU {{ $vm['pax'] }}
CİRO {{ number_format($vm['revenue'], 0, ',', '.') }}₺
{{-- ── OPERASYON ── --}}
{{-- Kesin kalkış durumu --}}
{{ $badge['label'] }}
@if($op && $op->guaranteed_at)
{{ $op->guaranteed_mode === 'manual' ? 'Manuel olarak' : 'Otomatik (eşik dolunca)' }} kesin kalkışa alındı · {{ $op->guaranteed_at->translatedFormat('d F Y H:i') }} @if($op->guaranteedBy) · {{ $op->guaranteedBy->full_name ?? $op->guaranteedBy->name }}@endif
@elseif($op && $op->departure_status === 'cancelled')
{{ $op->cancellation_reason ?: 'İptal edildi' }}
@else
Rezervasyon toplanıyor, henüz kesin kalkışa geçmedi.
@endif
@if(!$isTerminal)
@if(!$isGuaranteed)
@csrf
@endif
@csrf
@csrf
@endif
{{-- Doluluk + finans --}}
KAPASİTE
{{ $cap['used'] }} / {{ $cap['total'] ?: '∞' }}
Kalan: {{ $cap['remaining'] }} · Rezerve: {{ $cap['reserved'] }}
REZERVASYON
{{ $vm['res_count'] }}
{{ $vm['pax'] }} yolcu
CİRO
{{ number_format($vm['revenue'], 0, ',', '.') }}₺
{{-- Atanan kaynaklar --}} @if($assignments->count())
Atanan Kaynaklar
{{ number_format($assignments->sum(fn($a) => $a->effective_cost), 0, ',', '.') }}₺
@foreach($assignments as $a) @php $rm = ['guide'=>['Rehber','fa-user-tie','#3b82f6'],'vehicle'=>['Araç','fa-bus','#10b981'],'captain'=>['Kaptan','fa-id-card','#8b5cf6']][$a->effective_role] ?? ['Kaynak','fa-cube','#64748b']; @endphp
{{ $a->resource->name ?? 'Kaynak' }} · {{ $rm[0] }}
{{ number_format($a->effective_cost, 0, ',', '.') }}₺
@endforeach Kaynakları Yönet
@else
Henüz kaynak atanmadı Kaynak Ata →
@endif {{-- Hizmet onayları (yalnızca kültür/yurt dışı) --}} @if($vm['services'])
Hizmet Onayları
@foreach(['accommodation'=>['Konaklama','fa-bed'],'meals'=>['Yemek','fa-utensils'],'transportation'=>['Ulaşım','fa-bus']] as $svc => $info) @php $on = $vm['services'][$svc]; @endphp @endforeach
@endif {{-- Operasyon notu (inline edit) --}}
Operasyon Notu
{{ $op->operation_notes ?: '—' }}
{{-- ── MANİFESTO ── --}}
@forelse($sales as $sale)
{{ mb_strtoupper(mb_substr($sale->customer->first_name ?? 'M', 0, 1)) }}
{{ $sale->customer->first_name ?? '' }} {{ $sale->customer->last_name ?? '' }}
{{ $sale->sale_code }} · {{ $sale->total_participants }} yolcu
{{ $sale->status_label }}
{{ number_format($sale->total_amount, 0, ',', '.') }}₺
@empty
Bu kalkışa bağlı yolcu kaydı yok.
@endforelse