Recued
Menu
← Back to recipes

Call the next number

by recued-core v1 14 views

Use “Call the next number” in Recued. Takes the person who has waited longest in one service type and puts them at your counter. Two positions pressing it at the same instant cannot both take the same person — the second gets a conflict and calls again.

Complete workflow

Queue Desk 18 pinned recipes

Use Queue Desk in Recued to run a take-a-number line. A visitor picks a service type on your public Reception form, gets a number and a link that shows how many are still ahead, and staff call the next person from any paired device. It includes 17 built-in actions and 13 ready-to-run workflows. Actions that change data use Recued's approval controls.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Call the next number
This recipe

Use “Call the next number” in Recued. Takes the person who has waited longest in one service type and puts them at your counter. Two positions pressing it at the same instant cannot both take the same person — the second gets a conflict and calls again.

pack:queue-deskqueuecounter
by recued-core pinned v1

Use “Add a service type to the desk” in Recued. Creates one queue a visitor can pick on your Reception form — its ticket prefix, the answer value that routes to it, and the serving session numbering starts from.

pack:queue-deskqueuesetup
by recued-core pinned v1

Use “Service types on the desk” in Recued. Lists every queue with its prefix, session, and status, and gives each row the actions that operate on it — the list is how you reach a queue, since no screen here is addressable by a record id.

pack:queue-deskqueueboard
by recued-core pinned v1

Use “Start a new serving session” in Recued. Rolls one service type onto a fresh session key and opens it, so numbering restarts at 1 without deleting a single ticket — yesterday's line stays readable, it just stops counting.

pack:queue-deskqueuesession
by recued-core pinned v1

Use “Reset the whole desk for a new shift” in Recued. Rolls every open service type onto a fresh session in one act, so numbering restarts at 1 across the floor. Optionally closes out anyone still in line from the shift that just ended.

pack:queue-deskqueuesessionshift
by recued-core pinned v1
Show all 18 recipes

Use “Stop issuing numbers for a service type” in Recued. Closes one queue so the sweep stops turning submissions into tickets. People already in line keep their numbers and can still be called.

pack:queue-deskqueuesession
by recued-core pinned v1

Use “Register a serving counter” in Recued. Adds one position that can take people off the line. Its name is the exact text written onto a ticket when it calls the next number.

pack:queue-deskcountersetup
by recued-core pinned v1

Use “Serving positions on the floor” in Recued. Lists every position with what it serves and whether it is open, and gives each row the actions that operate on it — the only way to reach a position without already knowing its id.

pack:queue-deskcounterboard
by recued-core pinned v1

Use “One number, in full” in Recued. Opens a single ticket — its number, its place in the line, everything the visitor told you, and every timestamp — with the actions that move it. This is the screen that settles “I was here before them”.

pack:queue-deskqueueticketdetail
by recued-core pinned v1

Use “Open or close a serving counter” in Recued. Both directions live here, so a counter you close at lunch is one you can open again.

pack:queue-deskcounter
by recued-core pinned v1

Use “Turn new form submissions into queue numbers” in Recued. Reads the submissions your Reception form has taken but not yet placed, routes each to the service type its answer names, and issues one ticket per person. Re-running is safe — a person already in line converges on the number they already hold.

pack:queue-deskqueueintakesweep
by recued-core pinned v1

Use “Give someone a number” in Recued. Puts one person in a line without them filling in the form — the walk-in at the counter, the caller on the phone, the name your assistant was just given. Answers with the number and how many are ahead of them.

pack:queue-deskqueuedeskwalk-in
by recued-core pinned v1

Use “Your place in the line” in Recued. It is the viewback page behind the link on a visitor's receipt, and it reads only — the number that was issued, how many are still ahead, and which counter has been called. It can be refreshed as often as they like.

pack:queue-deskqueueviewbackreception
by recued-core pinned v1

Use “The line for one service type” in Recued. Shows who is waiting in a queue's current session, who is at which counter right now, and gives every row the actions that move it.

pack:queue-deskqueueboardcounter
by recued-core pinned v1

Use “Finish serving a number” in Recued. Closes one ticket as served and stamps when. It stays in the session so the day's line can be read back.

pack:queue-deskqueuecounter
by recued-core pinned v1

Use “Pass a number that did not turn up” in Recued. Marks one ticket skipped rather than deleting it, so a no-show stays visible and can be recalled if they reappear.

pack:queue-deskqueuecounterno-show
by recued-core pinned v1

Use “Put a passed number back in line” in Recued. Returns a skipped ticket to waiting and clears the counter it was called to. Its original join time is untouched, so it goes back to the place it had earned, not to the end.

pack:queue-deskqueuecounterno-show
by recued-core pinned v1
View pack details, dependencies, and permissions →

⛔ A POSITION IS A RECORD, NOT A TYPED STRING. Register your positions once with add-service-counter — Teller 1-3, Counter 1-3, whatever your floor calls them — then each staff member saves THIS recipe as their own dish with counter_id pre-filled. That is what 'assume the counter role' means here: you pick your position once, and from then on you just consume the next number. Nobody retypes who they are per customer, and the ticket carries the position's registered name rather than whatever was typed.

A position scoped to one line (serves_queue_ref) takes its line from that scope — a cash teller never has to pick 'cash'. A position that serves any line is told which one per call. A scoped position asked for a DIFFERENT line refuses rather than serving the wrong queue.

The head of the line is the oldest taken_at still waiting, and the move to called is a compare-and-set against the revision that read said. That is deliberate: a conflict here is the CORRECT outcome — it means someone else took that person a moment before you, and the right answer is to call again, not to serve them twice.

How it works 33 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Process (33 steps)
counter_id trim
Trim whitespace from setting counter id
has_position compare
Check if counter id has data
counter ?
skip: step.has_position equal false
counter_missing all
Check if all conditions are true
counter_missing_guard guard
Stop if counter missing equals
counter_closed all
Check if all conditions are true
counter_closed_guard guard
Stop if counter closed equals
counter_name trim
Trim whitespace from counter record name
scoped_ref replace
Replace text in counter record serves queue ref
scoped_queue_id trim
Trim whitespace from scoped ref
typed_queue_id trim
Trim whitespace from setting queue id
queue_id default
Apply default
queue_id_guard guard
Stop if queue id is empty
line_conflict all
Check if all conditions are true
line_conflict_guard guard
Stop if line conflict equals
queue ?
queue_found compare
Check if queue record id has data
queue_missing_guard guard
Stop if queue found equals
queue_ref template
Generate text from a template
head_page ?
head find
Find first match in
line_is_empty compare
Check if head id is empty
empty_guard guard
Stop if line is empty equals
now_iso date_add
Add 0 seconds to
call_at_position ?
skip: step.has_position equal false
call_plain ?
skip: step.has_position equal true
call coalesce
Use the first available value from: call at position record, call plain record
still_waiting ?
position ?
number template
Generate text from a template
card to_summary
Format results as a summary card
next_actions map
Extract from each item
next_table to_table
Format results as a data table
Settings 2 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

queue id setting =
counter id setting =

About

Tags

pack:queue-deskqueuecounter

Details

33 steps 2 configurable settings recipe_id: call-next-in-queue