Add service-point routing so call-next cannot steal assigned tickets.
Deploy Ladill Queue / deploy (push) Successful in 2m17s

Counters gain destination/staff metadata; tickets can be pre-assigned to a
service point with assigned_only queues for healthcare while shared_pool
preserves generic bank/government behavior. Display and announcements expose
ticket, staff, and destination clearly for Care and public boards.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-17 17:21:56 +00:00
co-authored by Cursor
parent 2d1f8c1eff
commit 0854b431bc
17 changed files with 753 additions and 42 deletions
+16
View File
@@ -67,4 +67,20 @@ class ServiceQueue extends Model
return $this->belongsToMany(Counter::class, 'queue_counter_service_queue', 'service_queue_id', 'counter_id')
->withPivot('priority');
}
/**
* shared_pool any linked service point may pull unassigned waiting tickets.
* assigned_only call-next only returns tickets pre-assigned to that service point.
*/
public function routingMode(): string
{
$mode = (string) data_get($this->settings, 'routing_mode', 'shared_pool');
return in_array($mode, ['shared_pool', 'assigned_only'], true) ? $mode : 'shared_pool';
}
public function usesAssignedOnlyRouting(): bool
{
return $this->routingMode() === 'assigned_only';
}
}