Care needs POST /tickets on the service-auth stack so check-in and
department handoffs can create queue tickets without Sanctum.
Co-authored-by: Cursor <cursoragent@cursor.com>
Specialty module activation needs idempotent queue/counter upserts
(by external_key or name+branch) plus soft deactivate, without
opening Queue admin for each Care specialty.
Co-authored-by: Cursor <cursoragent@cursor.com>
Filter now-serving to the latest called/serving ticket per destination so historical calls no longer crowd the public board, and scale ticket cards so numbers no longer clip destination text.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use count-aware ticket grids and complete service destinations so active calls stay legible without clipping across TV and mobile layouts.
Co-authored-by: Cursor <cursoragent@cursor.com>
Org name, branches, ticket customers, and staff Members now come from
DemoWorld so Queue continuity matches Care/Frontdesk across the suite.
Also resolve organization by owner_ref when metadata.queue.organization_id
is missing, and skip reseed-on-login for DemoWorld staff emails.
Co-authored-by: Cursor <cursoragent@cursor.com>
act_runner v0.2.x does not expose gitea.run_attempt, so release archive and
workspace paths rendered with a trailing dash. Use gitea.run_id only, matching
the Meet/CRM deploy workflows.
Demo Free/Pro/Enterprise accounts wipe and reload sample data on
authorization-code SSO callbacks so every sales walkthrough starts clean.
Co-authored-by: Cursor <cursoragent@cursor.com>
Handoff now frees the counter, ends the service session, and requeues
the same ticket for the next department — critical for hospital flows
like doctor → lab.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the once-per-session sessionStorage guard (which suppressed the loading
screen after its first appearance) with entry-aware logic: show on app entry
and reloads, suppress on internal link navigations and back/forward.
Match Analytics and Reports styling with shadow panels on the filter bar
and audit table instead of bordered card wrappers.
Co-authored-by: Cursor <cursoragent@cursor.com>
Analytics, Reports, Feedback, and Branches use simple headers again;
report and related show views use shadow panels instead of card borders.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce shared x-qms.page-hero with summary stats across queues,
tickets, counters, admin pages, and insights; remove bordered cards on
Analytics, Reports, Feedback, and Branches list views.
Co-authored-by: Cursor <cursoragent@cursor.com>
Route model binding fell back to numeric id after route:cache; models now
resolve by uuid so Care and Frontdesk counter consoles work in production.
Co-authored-by: Cursor <cursoragent@cursor.com>
Queue orgs were created with care_enabled false, blocking counters API;
provision now syncs the caller integration flag automatically.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace local member UUID invites with platform email invites, SSO post-auth
redirect, and provisioner-backed pending access until accept.
Co-authored-by: Cursor <cursoragent@cursor.com>
Extract the Pro upsell into a shared partial so free orgs see View plans on the dashboard, not only in the sidebar.
Co-authored-by: Cursor <cursoragent@cursor.com>
When 6/12/24 month Paystack is selected, Pro and Business prices display the full term amount instead of /mo.
Co-authored-by: Cursor <cursoragent@cursor.com>
Enterprise charges per active branch (GHS 299+) with wallet subscribe/renew; sidebar and dashboard upsell no longer gated behind settings.view.
Co-authored-by: Cursor <cursoragent@cursor.com>
Welcome screen, choice cards, form progress, and success state now follow the same lobby-tablet visual language with idle reset.
Co-authored-by: Cursor <cursoragent@cursor.com>