Issue cashier booth tickets when financial gates block service.
Deploy Ladill Care / deploy (push) Successful in 41s

Pay-before-service holds now create a billing queue ticket (via an open bill) so cashiers can Call next / Serve; clearance completes the ticket and releases the clinical line as before.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-18 19:29:29 +00:00
co-authored by Cursor
parent c3219a1bf1
commit 131ccd6edb
9 changed files with 405 additions and 23 deletions
+1 -1
View File
@@ -71,7 +71,7 @@
<td class="px-4 py-3">{{ $statuses[$bill->status] ?? $bill->status }}</td>
<td class="px-4 py-3 text-right">
<div class="flex items-center justify-end gap-2">
@if (! empty($queueIntegration['enabled']) && $bill->queue_ticket_uuid && ($bill->queue_ticket_status ?? '') !== 'serving' && $bill->balance_minor > 0)
@if (! empty($queueIntegration['enabled']) && $bill->queue_ticket_uuid && ! in_array($bill->queue_ticket_status ?? '', ['serving', 'completed', 'cancelled'], true) && $bill->balance_minor > 0)
<form method="POST" action="{{ route('care.bills.serve', $bill) }}">
@csrf
<button type="submit" class="rounded-lg bg-sky-600 px-2.5 py-1 text-xs font-medium text-white hover:bg-sky-700">Serve</button>
@@ -5,7 +5,19 @@
<h1 class="text-xl font-semibold text-slate-900">Financial gates</h1>
<p class="mt-1 text-sm text-slate-500">Clear payment or authorization before patients enter gated service queues.</p>
</div>
<a href="{{ route('care.bills.index') }}" class="rounded-lg border border-slate-200 px-4 py-2 text-sm text-slate-700">Bills & invoices</a>
<div class="flex flex-wrap items-center gap-2">
@if (! empty($canManageQueue) && ! empty($queueIntegration['enabled']))
<div class="w-full sm:w-auto">
@include('care.partials.queue-ops', [
'queueIntegration' => $queueIntegration,
'queueCallNextRoute' => 'care.bills.call-next',
'queueCallNextParams' => [],
'branchId' => $branchId ?? null,
])
</div>
@endif
<a href="{{ route('care.bills.index', ['view' => 'list']) }}" class="rounded-lg border border-slate-200 px-4 py-2 text-sm text-slate-700">Bills & invoices</a>
</div>
</div>
<form method="GET" class="mt-4 flex flex-wrap gap-3 rounded-2xl border border-slate-200 bg-white p-4">
@@ -37,6 +49,12 @@
<p class="mt-1 text-xs text-slate-400">
Created {{ $obligation->created_at->format('d M Y H:i') }}
@if ($obligation->bill) · Invoice {{ $obligation->bill->invoice_number }} @endif
@if ($obligation->bill?->queue_ticket_number)
· Ticket {{ $obligation->bill->queue_ticket_number }}
@if ($obligation->bill->queue_ticket_status)
({{ $obligation->bill->queue_ticket_status }})
@endif
@endif
</p>
</div>
<p class="text-lg font-semibold text-slate-900">{{ $money($obligation->amount_minor) }}</p>