diff --git a/app/Http/Controllers/Care/BillController.php b/app/Http/Controllers/Care/BillController.php
index 00b3a24..460ef39 100644
--- a/app/Http/Controllers/Care/BillController.php
+++ b/app/Http/Controllers/Care/BillController.php
@@ -89,7 +89,10 @@ class BillController extends Controller
$result = $this->queueBridge->callNext($organization, CareQueueContexts::BILLING, $branchId, $member);
$ticket = $result['ticket'] ?? null;
if (! $ticket) {
- return back()->with('info', 'No bills waiting at your billing service point.');
+ return back()->with(
+ 'info',
+ 'No patients waiting at the billing booth. Open an unpaid invoice below to record a walk-up payment.',
+ );
}
return back()->with('success', 'Called '.$ticket['ticket_number'].'.');
diff --git a/resources/views/care/bills/index.blade.php b/resources/views/care/bills/index.blade.php
index c553a72..8f434b7 100644
--- a/resources/views/care/bills/index.blade.php
+++ b/resources/views/care/bills/index.blade.php
@@ -29,17 +29,20 @@
-
- @include('care.partials.queue-ops', [
- 'queueIntegration' => $queueIntegration ?? null,
- 'queueCallNextRoute' => 'care.bills.call-next',
- 'queueCallNextParams' => [],
- 'branchId' => $branchId ?? null,
- 'variant' => 'bar',
- ])
-
+ @if (! empty($canManageQueue) && ! empty($queueIntegration['enabled']))
+
+ @include('care.partials.queue-ops', [
+ 'queueIntegration' => $queueIntegration,
+ 'queueCallNextRoute' => 'care.bills.call-next',
+ 'queueCallNextParams' => [],
+ 'queueCallNextDescription' => 'Call the next patient waiting at the billing booth. Unpaid invoices below stay open for walk-up payment.',
+ 'branchId' => $branchId ?? null,
+ 'variant' => 'bar',
+ ])
+
+ @endif
-
+
@@ -49,12 +52,25 @@
| Total |
Balance |
Status |
- |
+ Actions |
@forelse ($bills as $bill)
-
+ @php
+ $billUrl = route('care.bills.show', $bill);
+ $canServe = ! empty($queueIntegration['enabled'])
+ && $bill->queue_ticket_uuid
+ && ! in_array($bill->queue_ticket_status ?? '', ['serving', 'completed', 'cancelled'], true)
+ && $bill->balance_minor > 0;
+ $actionLabel = $bill->balance_minor > 0 && $bill->status !== \App\Models\Bill::STATUS_VOID
+ ? 'Pay'
+ : 'View';
+ @endphp
+
|
@if (! empty($queueIntegration['enabled']) && $bill->queue_ticket_number)
@include('care.partials.queue-ticket', [
@@ -65,20 +81,22 @@
—
@endif
|
- {{ $bill->invoice_number }} |
+
+ {{ $bill->invoice_number }}
+ |
{{ $bill->patient->fullName() }} |
{{ $money($bill->total_minor) }} |
{{ $money($bill->balance_minor) }} |
{{ $statuses[$bill->status] ?? $bill->status }} |
-
+ |
- @if (! empty($queueIntegration['enabled']) && $bill->queue_ticket_uuid && ! in_array($bill->queue_ticket_status ?? '', ['serving', 'completed', 'cancelled'], true) && $bill->balance_minor > 0)
+ @if ($canServe)
@endif
- View
+ {{ $actionLabel }}
|
diff --git a/resources/views/care/partials/queue-ops.blade.php b/resources/views/care/partials/queue-ops.blade.php
index 6f4f1d1..84af63c 100644
--- a/resources/views/care/partials/queue-ops.blade.php
+++ b/resources/views/care/partials/queue-ops.blade.php
@@ -3,6 +3,7 @@
$qi = $queueIntegration ?? null;
$callNextRoute = $queueCallNextRoute ?? null;
$callNextParams = $queueCallNextParams ?? [];
+ $callNextDescription = $queueCallNextDescription ?? 'Bring the next waiting patient to your desk';
$currentAppointmentId = $currentAppointmentId ?? null;
$variant = $variant ?? 'bar'; // bar | button
@endphp
@@ -24,7 +25,7 @@