New Instant Booking
{{ $bookings->total() }} Walk-in / Manual Bookings
| # | Unit | Client | Account | Payment Plan | Amount | Mode | Date | Actions |
|---|---|---|---|---|---|---|---|---|
| {{ $b->id }} |
Unit {{ $b->plot_number }}
{{ $b->plot_type }}{{ $b->area ? ' · '.$b->area.' sqft' : '' }}
|
{{ $b->client_name ?: $b->user?->name ?: '—' }}
{{ $b->client_phone ?: $b->user?->phone }}
@if(!$b->user_id)
Walk-in
@endif
|
@if($b->user)
{{ $b->user->name }}
{{ $b->user->email }}
@else
No account
@endif
|
@if($b->paymentPlan)
{{ $b->paymentPlan->name }}
@if($hasMs)
@php
$msTotal = $ms->count();
$msPaidCnt = $msPaid->count();
$msPct = $msTotal > 0 ? round($msPaidCnt/$msTotal*100) : 0;
@endphp
{{ $msPaidCnt }}/{{ $msTotal }} paid
@if($msOverdue->isNotEmpty())
· {{ $msOverdue->count() }} overdue
@endif
|
@php
$collectedAmt = $hasMs && $msPaid->isNotEmpty()
? $msPaid->sum('amount')
: ($b->down_payment_amount ?: $b->price);
$totalAmt = $hasMs && $ms->isNotEmpty()
? $ms->sum('amount')
: ($b->total_amount ?: $b->price);
$overdueAmt = $msOverdue->sum('amount');
$pendingAmt = $msPending->sum('amount');
$outstandAmt = $pendingAmt + $overdueAmt;
@endphp
{{ $currency }}{{ number_format($collectedAmt, 0) }}
@if($collectedAmt >= $totalAmt)
✓ Paid
@endif
of {{ $currency }}{{ number_format($totalAmt, 0) }}
@if($outstandAmt > 0)
{{ $overdueAmt > 0 ? '⚠ ' : '' }}Due: {{ $currency }}{{ number_format($outstandAmt, 0) }}
@endif
|
@if($txn)
{{ $txn->mode }}
@else
—
@endif
@if($nextDue)
{{ $nextDue->status==='overdue' ? '⚠ Overdue' : '🕐 Due' }}
{{ \Carbon\Carbon::parse($nextDue->due_date)->format('d M Y') }}
@endif
|
{{ $b->created_at->format('d M Y') }} {{ $b->created_at->format('H:i') }} |
|
| No instant bookings yet. Use the form above to create one. | ||||||||