@extends('layouts.print') @section('title', 'Occupancy Report — ' . \Carbon\Carbon::parse($from)->format('M j') . '–' . \Carbon\Carbon::parse($to)->format('M j, Y')) @section('content') @php $periodLabel = \Carbon\Carbon::parse($from)->format('M j') . ' – ' . \Carbon\Carbon::parse($to)->format('M j, Y'); $propName = \App\Models\Setting::get('property_name', config('app.name', 'Parkview Hotel')); @endphp
@include('reports.print._letterhead', [ 'reportTitle' => 'Occupancy Report', 'periodLabel' => $periodLabel, 'backUrl' => route('reports.occupancy', ['from' => $from, 'to' => $to]), ])
{{-- Summary --}}

Summary

@foreach([ ['Avg Occupancy', number_format($avgOcc, 1) . '%', $totalOccupiedNights . ' of ' . $availableRoomNights . ' room-nights'], ['Total Revenue', '₱' . number_format($totalRevenue, 2), 'over ' . $daysCount . ' day' . ($daysCount !== 1 ? 's' : '')], ['ADR', '₱' . number_format($avgAdr, 2), 'avg daily rate'], ['RevPAR', '₱' . number_format($avgRevpar, 2), $totalRooms . ' rooms'], ] as [$label, $value, $sub])

{{ $label }}

{{ $value }}

{{ $sub }}

@endforeach
{{-- Daily breakdown --}}

Daily Breakdown · revenue distributed evenly across each night of stay

@if(empty($rows))

No data for this period.

@else @foreach($rows as $row) @endforeach
Date Occupied Occ % Revenue ADR RevPAR
{{ $row['date']->format('D, M j') }} {{ $row['occupied'] }} / {{ $totalRooms }} {{ number_format($row['occ_pct'], 1) }}% {{ $row['revenue'] > 0 ? '₱' . number_format($row['revenue'], 2) : '—' }} {{ $row['adr'] > 0 ? '₱' . number_format($row['adr'], 2) : '—' }} {{ $row['revpar'] > 0 ? '₱' . number_format($row['revpar'], 2) : '—' }}
Period Total / Avg {{ $totalOccupiedNights }} nts {{ number_format($avgOcc, 1) }}% ₱{{ number_format($totalRevenue, 2) }} ₱{{ number_format($avgAdr, 2) }} ₱{{ number_format($avgRevpar, 2) }}
@endif
{{-- Footer --}}
{{ $propName }} · Occupancy Report Printed {{ now()->format('M j, Y g:i A') }}
@endsection