跳转到内容

排队号

排队号是顾客在排队队列中的记录。顾客屏幕、显示屏和服务台都使用排队号信息。

  • 排队号编号——顾客可见的顺序编号,显示在打印的排队号、显示屏和服务台等待列表上。每个队列有自己的编号序列,编号不断增加且不会重置。
  • 排队号哈希——随机生成的 22 字符字符串,让顾客可以匿名访问自己的排队号。详见下文。
  • 状态——六个值之一(见下文)。
  • 排队队列——排队号所属的队列。
  • 时间戳——排队号创建、呼叫、完成等的时间。
  • 备注(可选)——工作人员输入的元数据:顾客姓名、人数和自由文本备注。参见排队号备注。

排队号可以在以下状态间流转:

状态终态?含义
WAITING否顾客在队列中,等待被呼叫。
CALLED否服务台已呼叫该排队号;顾客应前往柜台。
SKIPPED否服务台跳过了该排队号。可召回——工作人员可以将其移回 WAITING。
COMPLETED是服务台已标记服务完成。
CANCELED是顾客取消了自己的队列位置。
NO_SHOW是服务台确认顾客不在场。在分析中与 SKIPPED 分开统计。
WAITING → CALLED → COMPLETED
↘ SKIPPED → WAITING (desk recalls the customer)
↘ NO_SHOW (desk confirms absence)
↘ CANCELED (customer cancels their deferred spot)
WAITING → CANCELED (customer-initiated)
CALLED → CANCELED (customer-initiated)
SKIPPED → CANCELED (customer-initiated — removes from recallable pool)

SKIPPED 表示工作人员暂时跳过顾客,但稍后仍可叫号。工作人员可以在服务台查询视图中按 放回队列,或在跳过后的 5 秒内按 撤销。被跳过排队号的推送订阅仍然有效,因此即使顾客关闭了页面,召回并再次叫号后仍会收到通知。

NO_SHOW 表示工作人员已经确认顾客不在场。它是终态,在分析中单独统计,但工作人员仍可从最近叫号列表再次呼叫。仅在确定顾客已经离开时使用。

完整的服务台工作流参见处理未到场。

工作人员可以通过服务台上的添加备注操作,为排队号添加以下信息:

  • 顾客姓名——在服务台上始终显示。仅当队列的 按姓名叫号 设置开启时才在显示屏上显示,且仅以简化形式(“Alice S.”)显示——绝不显示全名。
  • 人数——始终在服务台显示,并广播到显示屏(低敏感度的计数)。
  • 备注——自由文本的后台备注。仅服务台可见;绝不发送到显示屏或顾客。

跳过原因(在跳过排队号时在 跳过原因(可选) 字段中输入)存储在排队号的备注字段中,并显示在服务台查询视图中。

在排队号处于非终态期间,可以随时添加或更新备注。

WAITING 状态的排队号可以使用服务台上的 转移 按钮转移到同一门店内的其他队列。当顾客加入了错误的队列,或分诊后发现其需要其他服务时,这很有用。

转移规则:

  • 只有 WAITING 状态的排队号可以转移。CALLED 状态的排队号必须先完成、跳过或标记未到场。
  • 源队列和目标队列必须在同一门店。
  • 目标队列必须为 ACTIVE。
  • 服务台必须同时被分配到源队列和目标队列。
  • 需要有效的订阅。

转移后的排位——Jonot 使用原始取号时间加 5 分钟,在新队列中确定位置。顾客可以保留大部分已等待时间,但不会排到在新队列中等待更久的顾客前面。

排队号哈希被保留——顾客的排队号页面 URL 仍然有效。排队号在目标队列中获得新的顺序编号。实时更新立即广播到两个队列。

逐步操作说明参见服务台指南的将排队号转移到其他队列部分。

顾客是匿名的——加入排队不需要登录或账户。相反,22 个字符的排队号哈希充当顾客的所有权证明。它嵌入在排队号页面 URL 中:

https://customer.jonot.io/{org}/{location}/{queue}/{ticket-hash}/

API 通过哈希确认顾客有权访问该排队号,并允许以下操作:

  • ticketByHash——查询您的排队号和位置
  • cancelTicket——取消您自己的排队号(适用于 WAITING、CALLED 和 SKIPPED 排队号)

顾客只需要这个 URL,不需要账号、应用或密码。

该哈希包含 128 位随机信息,与 UUID v4 相同。现有计算机实际上无法猜出其他顾客的排队号哈希。

顾客通常无需验证即可加入。如果一个队列在短时间内收到异常多的加入请求,通过二维码或链接加入的顾客可能需要先完成简短的真人验证。大多数正常访问会自动通过。只有流量异常时才会显示验证。现场自助终端使用受信任的设备凭证,因此不会要求验证。

当排队号处于 WAITING 状态时,顾客的排队号页面显示估算的等待时间。同样的估算值也显示在自助终端加入后的确认屏幕上,以便顾客离开自助终端时记住一个数字。该时间只是估算值,不是保证。

服务器根据该队列最近的服务时长计算估算值。如果最近 90 分钟内完成了足够多的排队号,服务器会使用中位数。将服务时长排序后,中位数是中间的值;如果有两个中间值,则取两者的平均值。服务器再将中位数乘以顾客在队列中的位置(people ahead + 0.5,即前面的人数加 0.5)。前面无人时,估算值为零。如果近期数据不足,服务器会改用队列配置的预计服务时长。估算值还包含置信度:使用近期数据或顾客是下一位时为 high,使用配置的时长时为 low。

估算值仅对 ACTIVE 队列中 WAITING 状态的排队号显示。排队暂停时不显示,排队号被呼叫后消失。

  1. 顾客通过二维码或自助终端加入 → 签发 WAITING 状态的排队号。
  2. 顾客打开排队号页面 → 看到自己在队列中的位置,以及在可用时的实时估算等待时间。
  3. 服务台呼叫其编号时,排队号移入 CALLED → 顾客的页面立即更新。
  4. 顾客前往柜台。服务完成后,服务台标记为 COMPLETED。
  5. 如果顾客没有回应,服务台可以:
    • 跳过 → 排队号移入 SKIPPED(可召回的暂缓)。顾客屏幕显示其被跳过,可选择继续等待或重新加入。
    • 未到场 → 排队号移入 NO_SHOW(终态)。分析中将其与跳过的排队号分开统计。
  6. 被跳过的顾客可以被工作人员召回(在队列前端移回 WAITING),或取消自己的位置并从队尾重新加入。