HandyCafe Docs
owner cashier

订单

订单标签页是客户下达的每个餐厅订单的实时控制台。它每3秒轮询一次云端,并通过桌面通知、音频提醒和标签页标题上的待处理计数徽章显示新活动。

布局

订单页面有两个区域:

区域 目的
状态标签 按订单状态筛选:全部、已下单、已确认、准备中、已准备、已送达。取消和退款的订单默认被过滤掉。
订单列表 每个订单一个卡片,按最新排序。每个卡片显示桌号、客户电话(如果提供)、项目、总计和操作按钮。

实时轮询

订单控制台每3秒轮询一次/v1/cafeteria/admin/orders/poll。每个新订单会触发:

  1. 包含桌号和项目数量的桌面通知。
  2. 如果在设置 > 餐厅中启用了声音通知,服务器扬声器会发出音频提醒。
  3. 订单标签页上的待处理计数徽章增加。
  4. 如果打印机配置了新订单自动打印,则自动打印收据。

徽章会一直显示,直到所有已下单已确认状态的订单被推进到后续状态或被忽略。徽章在侧边栏的餐厅部分全局可见,无需打开订单标签页即可查看。

订单生命周期

每个订单都会经历一系列定义好的状态。

状态 含义
已下单 客户提交了订单。尚未有员工操作。
已确认 员工已确认订单。
准备中 厨房正在准备订单。
已准备 订单已准备好可服务或取走。
已送达 订单已送达客户。
已取消 员工取消了订单。它会从实时视图中移除,但会保留在历史记录中。
已退款 已发出付款后的退款。

每个订单卡片上的操作栏显示下一个可用状态。推进只需点击一次。UI使用乐观更新模式:新状态会立即显示。如果服务器拒绝更改,状态会恢复并出现错误通知。

单项状态

某些订单包含多个项目,完成时间不同。例如,汉堡比披萨先准备好。单项状态允许您独立跟踪每个项目。

每个项目都有自己的下拉菜单,提供五个选项:已下单、准备中、已准备、已送达、已取消。每个项目还包含三个时间戳:

  • created_at在订单到达时设置。
  • ready_at在项目首次进入已准备时设置。
  • served_at在项目进入已送达时设置。

客户菜单在每行旁显示一个徽章,以便客户查看哪些项目已准备好或正在路上。

取消订单

  1. 打开订单卡片。
  2. 点击取消
  3. 在出现的对话框中确认。
  4. 订单转为已取消。它保留在历史记录中,但从默认实时视图中消失。

取消是全订单操作。要取消单个项目,请将该项目的单项状态更改为已取消

结算(结账)

结算一步关闭桌上的所有未结订单。当客户离开并想支付整个账单时使用此功能。

  1. 从桌子页面或平面图操作菜单打开桌子。
  2. 点击结账
  3. 模态框列出桌上所有未已送达的订单。
  4. 选择一种支付方式。选项有:现金、卡、在线、其他。
  5. 确认。

服务器执行以下原子操作:

  • 桌上的每个未结订单转为已送达,并设置payment_status=paid
  • 创建一个cafeteria_settlements记录,包含总金额、支付方式和创建时间。
  • 结算订单审计记录哪些订单属于此次结算。
  • 桌子安全码失效,二维码失效。
  • 桌子返回空闲状态。

如果选择在线作为支付方式,结算记录标记为在线支付。此操作不会触发Stripe扣款。客户侧的在线支付在下订单时处理;结算操作记录现金流以便记账。

开台时间计时器

每个桌子都有一个opened_at时间戳,在客户入座时设置。平面图和桌子页面显示自那一刻起的实时计时器。这有助于员工识别长时间未点单的桌子,或可能接近会话结束的桌子。

在关闭桌子或结账时,计时器重置为零。

动态准备时间显示

当产品启用动态准备时间时,订单卡片在项目名称旁显示估算时间。即使客户的菜单上关闭了显示准备时间,员工仍能看到估算时间。

每次下新订单和订单完成时,估算时间都会更新。系统从实际厨房节奏中学习。

新订单通知行为

通知在整个应用中触发,而不是按标签页。这意味着即使您在浏览HandyCafe服务器的其他部分(例如管理面板或设置),也会收到提醒。音频提醒可以在设置 > 餐厅 > 声音通知中启用或禁用。

桌面通知需要操作系统授予HandyCafe通知权限。如果在新订单后未看到通知,请检查操作系统的通知设置。

提示

  • 使用状态标签分配工作量。一个屏幕过滤到准备中显示厨房队列。另一个屏幕在已准备显示需要送达的订单。
  • 结账是关闭桌子的最快方式。仅对明确错误的订单使用取消。
  • 培训员工一致地推进状态。动态准备时间估算器从这些信号中学习,因此跳过状态会降低其准确性。
  • 定期从管理端点审核已取消和已退款订单,以发现员工错误模式。