@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)
| {{ $h }} |
@endforeach
@foreach($chartData['labels'] as $i => $date)
| {{ $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) }}
ج.م
|
@endforeach
@endif
@endsection
@section('scripts')
@endsection