@extends('layouts.app') @section('title', __('dashboard.stats_reservations_title')) @section('page_heading', __('dashboard.stats_reservations_title')) @section('content') @php $formattedStart = $startDate->format('Y-m-d'); $formattedEnd = $endDate->format('Y-m-d'); $totalCount = collect($chartData['reservations'])->sum(); $totalCanceled = collect($chartData['canceled_reservations'])->sum(); $totalGross = collect($chartData['amount'])->sum(); $totalNet = collect($chartData['net_amount'])->sum(); $totalRefunded = collect($chartData['refunded'])->sum(); $cancelRate = $totalCount > 0 ? ($totalCanceled / $totalCount * 100) : 0; @endphp @include('dashboard.statistics.partials.nav') @include('dashboard.statistics.partials.filter', [ 'filterAction' => route('dashboard.statistics.reservations'), 'range' => $range, 'formattedStart' => $formattedStart, 'formattedEnd' => $formattedEnd, 'exportRoute' => route('dashboard.statistics.reservations.export', ['custom_start'=>$formattedStart,'custom_end'=>$formattedEnd,'range'=>$range]), 'exportXlsRoute' => route('dashboard.statistics.reservations.export', ['custom_start'=>$formattedStart,'custom_end'=>$formattedEnd,'range'=>$range,'format'=>'xls']), ]) {{-- KPIs --}}
@foreach([ ['fa-solid fa-calendar-check','#eff6ff','#2563eb',number_format($totalCount),'إجمالي الحجوزات',$formattedStart.' — '.$formattedEnd], ['fa-solid fa-ban','#fef2f2','#dc2626',number_format($totalCanceled),__('dashboard.canceled_reservations_label'),number_format($cancelRate,1).'% من الإجمالي'], ['fa-solid fa-money-bills','#f0fdf4','#16a34a',number_format($totalGross,2),'الإيراد الإجمالي','قبل المسترد'], ['fa-solid fa-coins','#fffbeb','#d97706',number_format($totalNet,2),'صافي الإيراد','بعد خصم المسترد'], ['fa-solid fa-rotate-left','#faf5ff','#7c3aed',number_format($totalRefunded,2),'المبالغ المستردة','من الحجوزات الملغاة'], ] as [$ic,$bg,$cl,$val,$lbl,$meta])
{{ $val }}
{{ $lbl }}
{{ $meta }}
@endforeach
@if(empty($chartData['labels']))
لا توجد بيانات حجوزات
لا توجد حجوزات في الفترة المحددة
@else {{-- Charts --}}
{{-- Count Chart --}}
عدد الحجوزات مقابل الملغاة
{{ count($chartData['labels']) }} يوم
{{-- Amount Chart --}}
الإيراد الإجمالي / الصافي / المسترد
بالجنيه المصري
{{-- Table --}}
تفاصيل البيانات اليومية
@foreach(['#','التاريخ','عدد الحجوزات',__('dashboard.canceled_reservations_label'),'الإيراد الإجمالي','صافي الإيراد','المبالغ المستردة'] as $h) @endforeach @foreach($chartData['labels'] as $i => $date) @endforeach
{{ $h }}
{{ $i+1 }} {{ $date }} {{ number_format($chartData['reservations'][$i]) }} {{ number_format($chartData['canceled_reservations'][$i]) }}
{{ number_format($chartData['amount'][$i],2) }}
ج.م
{{ number_format($chartData['net_amount'][$i],2) }}
ج.م
{{ number_format($chartData['refunded'][$i],2) }}
ج.م
@endif @endsection @section('scripts') @endsection