@extends('layouts.app') @section('content')

All Projects — Bookings

Export Excel Export PDF
@php $groups = $rows->getCollection()->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 }}
Total: {{ number_format($totals['total'],2) }} · Paid: {{ number_format($paidAll,2) }} · Balance: {{ number_format($balanceAll,2) }}
@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 Actions
{{ $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 }} Open
@endforeach
{{ $rows->links() }}
Balance = Total Price − Cleared Payments (token, down payment, installments).
@endsection