Wire Care lists into Ladill Queue workflows instead of reception panels.
Deploy Ladill Care / deploy (push) Successful in 1m45s

When Queue integration is on, role pages issue tickets into their own
department queues and drive Call next → Serve → Complete on the native
lists. Integration off leaves existing UI unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-17 16:27:48 +00:00
co-authored by Cursor
parent 15638d1672
commit 015a4cc7fe
38 changed files with 1857 additions and 196 deletions
+39
View File
@@ -197,6 +197,45 @@ class QueueClient
return (array) ($response->json('data') ?? []);
}
/**
* @param array<string, mixed> $payload
* @return array<string, mixed>
*/
public function issueTicket(string $owner, array $payload): array
{
$response = $this->http($owner)->post($this->base().'/tickets', $payload);
$response->throw();
return (array) ($response->json('data') ?? []);
}
/**
* @return array<string, mixed>|null
*/
public function callNext(string $owner, string $queueUuid, string $counterUuid): ?array
{
$response = $this->http($owner)->post($this->base().'/queues/'.$queueUuid.'/call-next', [
'counter_id' => $counterUuid,
]);
$response->throw();
$data = $response->json('data');
return is_array($data) ? $data : null;
}
/**
* @param array<string, mixed> $payload
* @return array<string, mixed>
*/
public function ticketAction(string $owner, string $ticketUuid, array $payload): array
{
$response = $this->http($owner)->post($this->base().'/tickets/'.$ticketUuid.'/action', $payload);
$response->throw();
return (array) ($response->json('data') ?? []);
}
/**
* Create or link real Queue queues/counters for Care specialty stubs.
* Idempotent via external_key (and Queue-side name+branch fallback).