{{-- resources/views/dashboard.blade.php --}} @extends('layouts.app') @section('title', 'Dashboard') @section('page_title', 'Dashboard') @section('page_subtitle', today()->format('l, d F Y')) @section('content') {{-- Top Stats --}}
{{ $arrivalsToday }}
Arrivals Today
{{ $departuresToday }}
Departures Today
{{ $inHouse }}
In House
{{ $occupancyRate }}%
Occupancy {{ $availableRooms }}/{{ $totalRooms }} available
${{ number_format($revenueThisMonth, 0) }}
Revenue ({{ now()->format('M') }}) @if($revenueLastMonth > 0) @php $change = $revenueLastMonth > 0 ? (($revenueThisMonth - $revenueLastMonth) / $revenueLastMonth) * 100 : 0; @endphp {{ $change >= 0 ? '↑' : '↓' }} {{ abs(round($change)) }}% vs last month @endif
${{ number_format($outstandingAmount, 0) }}
Outstanding @if($overdueCount > 0) {{ $overdueCount }} overdue @endif
{{-- Revenue Chart --}}
Revenue — Last 7 Days Full report →
{{-- Room Status --}}
Room Status Board →
@php $statusConfig = [ 'available' => ['label' => 'Available', 'class' => 'rd-available'], 'occupied' => ['label' => 'Occupied', 'class' => 'rd-occupied'], 'dirty' => ['label' => 'Dirty', 'class' => 'rd-dirty'], 'clean' => ['label' => 'Clean', 'class' => 'rd-clean'], 'maintenance' => ['label' => 'Maintenance', 'class' => 'rd-maintenance'], 'out_of_order'=> ['label' => 'Out of Order', 'class' => 'rd-maintenance'], ]; @endphp @forelse($statusConfig as $status => $config) @if(isset($roomStatus[$status]) && $roomStatus[$status] > 0)
{{ $config['label'] }}
{{ $roomStatus[$status] }}
@endif @empty

No rooms configured yet. Add rooms →

@endforelse @if($totalRooms === 0)

No rooms configured yet. Add rooms →

@endif
{{-- Today's Arrivals --}}
Arrivals Today @if($arrivalsToday > 0) {{ $arrivalsToday }} guests @endif View all →
@if($arrivals->isEmpty())

No arrivals today

@else
@foreach($arrivals as $res) @endforeach
Guest Room Nights Balance Status
{{ $res->guest?->first_name }} {{ $res->guest?->last_name }}
{{ $res->reference }}
{{ $res->rooms->first()?->room?->number ?? '—' }} {{ $res->nights }} @if($res->balance_due > 0) ${{ number_format($res->balance_due, 0) }} @else Paid @endif {{ $res->status }}
@endif
{{-- Today's Departures --}}
Departures Today @if($departuresToday > 0) {{ $departuresToday }} guests @endif View all →
@if($departures->isEmpty())

No departures today

@else
@foreach($departures as $res) @endforeach
Guest Room Balance Action
{{ $res->guest?->first_name }} {{ $res->guest?->last_name }}
{{ $res->reference }}
{{ $res->rooms->first()?->room?->number ?? '—' }} @if($res->balance_due > 0) ${{ number_format($res->balance_due, 0) }} @else Settled @endif @if($res->balance_due > 0) Pay & Out @else
@csrf
@endif
@endif
{{-- Recent Payments --}}
Recent Payments View all →
@if($recentPayments->isEmpty())

No payments yet

@else
@foreach($recentPayments as $payment) @endforeach
Reference Method Amount When
{{ $payment->reference }}
{{ $payment->invoice?->invoice_number ?? '—' }}
{{ ucfirst(str_replace('_', ' ', $payment->payment_method)) }} {{ $payment->currency }} {{ number_format($payment->amount, 2) }} {{ $payment->paid_at?->diffForHumans() ?? '—' }}
@endif
{{-- Quick Actions --}}
Quick Actions
New Reservation Add Guest New Invoice Record Payment Add Expense Room Board Reports Settings
{{-- Open shift info --}} @if($openShift)
Shift open since {{ $openShift->opened_at->format('H:i') }} View →
@elseif(has_feature('cashing_up'))
No shift open
@csrf
@endif
@endsection @push('scripts') @endpush