All Projects — Bookings

Generated: {{ ($today ?? now())->format('Y-m-d H:i') }}
@php $groups = collect($rows)->groupBy(fn($b) => $b->project?->name ?? 'Unknown Project'); @endphp @foreach($groups as $projectName => $items) @php $totals = [ 'total' => (float) $items->sum('total_price'), 'token' => (float) $items->flatMap->payments->where('payment_category','token')->sum('amount'), 'down' => (float) $items->flatMap->payments->where('payment_category','down_payment')->sum('amount'), 'inst' => (float) $items->flatMap->payments->where('payment_category','installment')->sum('amount'), ]; $paidAll = $totals['token'] + $totals['down'] + $totals['inst']; $balanceAll = max(0, $totals['total'] - $paidAll); @endphp

{{ $projectName }}

@foreach($items as $b) @php $tokenPaid = (float) $b->payments->where('status','cleared')->where('payment_category','token')->sum('amount'); $downPaid = (float) $b->payments->where('status','cleared')->where('payment_category','down_payment')->sum('amount'); $instPaid = (float) $b->payments->where('status','cleared')->where('payment_category','installment')->sum('amount'); $paid = $tokenPaid + $downPaid + $instPaid; $balance = max(0, (float) $b->total_price - $paid); @endphp @endforeach
Booking # Customer Unit Total Token Paid Down Paid Installments Paid Balance Status
{{ $b->booking_number }} {{ $b->customer?->name }} {{ $b->unit?->unit_number }} {{ number_format($b->total_price,2) }} {{ number_format($tokenPaid,2) }} {{ number_format($downPaid,2) }} {{ number_format($instPaid,2) }} {{ number_format($balance,2) }} {{ $b->status }}
Totals {{ number_format($totals['total'],2) }} {{ number_format($totals['token'],2) }} {{ number_format($totals['down'],2) }} {{ number_format($totals['inst'],2) }} {{ number_format($balanceAll,2) }}
@endforeach