@extends('layouts.app') @section('title', 'Revenue Report') @section('nav_reports', 'bg-teal-50 text-teal-700 font-semibold') @section('page_title', 'Reports') @section('page_subtitle', 'Revenue — ' . \Carbon\Carbon::parse($from)->format('M j') . ' – ' . \Carbon\Carbon::parse($to)->format('M j, Y')) @section('content') {{-- ===== TABS + DATE PICKER ===== --}} @include('reports._toolbar', ['active' => 'revenue', 'from' => $from, 'to' => $to, 'date' => $from]) {{-- ===== SUMMARY TILES ===== --}}

Total Revenue

₱{{ number_format($totalRevenue, 0) }}

from check-ins in period

Reservations

{{ number_format($totalCount) }}

checked in during period

Avg Revenue / Booking

₱{{ $totalCount > 0 ? number_format($totalRevenue / $totalCount, 0) : '—' }}

per reservation

Total Collected

₱{{ number_format($totalPaid, 0) }}

payments on record

{{-- ===== BY ROOM TYPE ===== --}}

By Room Type

Revenue contribution per room category

@if($byRoomType->isEmpty())

No data for this period.

@else
@foreach($byRoomType as $type => $row) @endforeach
Room Type Bookings ADR Revenue

{{ $type }}

{{ $row['share'] }}%

{{ $row['count'] }}

{{ $row['avg_nights'] }}n avg

₱{{ number_format($row['adr'], 0) }} ₱{{ number_format($row['revenue'], 0) }}
@endif
{{-- ===== BY BOOKING SOURCE ===== --}}

By Booking Source

Revenue and bookings by channel

@if($bySource->isEmpty())

No data for this period.

@else
@foreach($bySource as $source => $row) @php $icons = ['Booking.com'=>'🔵','Agoda'=>'🟠','Airbnb'=>'🔴','Expedia'=>'🟡','Walk-in'=>'🚶','Direct'=>'📞','Direct (Phone)'=>'📞','Website'=>'🌐','Travel Agent'=>'✈️','Corporate'=>'🏢']; @endphp @endforeach
Source Bookings Avg Stay Revenue
{{ $icons[$source] ?? '📋' }}

{{ $source }}

{{ $row['share'] }}%
{{ $row['count'] }} {{ $row['avg_nights'] }}n ₱{{ number_format($row['revenue'], 0) }}
@endif
{{-- ===== BY RATE PLAN ===== --}}

By Rate Plan

Which rate plans guests are booking on

@if($byRatePlan->isEmpty())

No data for this period.

@else
@foreach($byRatePlan as $row) @endforeach
Rate Plan Bookings Share Revenue
{{ $row['code'] }} {{ $row['name'] }}
{{ $row['count'] }}
{{ $row['share'] }}%
₱{{ number_format($row['revenue'], 0) }}
@endif
{{-- ===== PAYMENT METHODS ===== --}}

Payment Methods

Collected payments for reservations checked in during period

@if($byPaymentMethod->isEmpty())

No payment records for this period.

@else @php $pmTotal = (float) $byPaymentMethod->sum('total'); @endphp @foreach($byPaymentMethod as $pm) @php $pmShare = $pmTotal > 0 ? round($pm->total / $pmTotal * 100, 1) : 0; @endphp @endforeach
Method Transactions Share Amount
{{ $pm->method }} {{ $pm->cnt }}
{{ $pmShare }}%
₱{{ number_format($pm->total, 0) }}
Total {{ $byPaymentMethod->sum('cnt') }} ₱{{ number_format($pmTotal, 0) }}
@endif
@endsection