HandyCafe Docs
owner

顾客菜单

顾客菜单是位于 handy.cafe/{your-slug} 的面向公众的网页。顾客通过扫描桌面上的二维码访问此页面。本文描述了顾客的完整流程,以便您向员工解释并计划推出。

URL 结构

每个桌子都有一个唯一的 URL,格式为 handy.cafe/{cafe-slug}/{table-code}。二维码编码了此 URL 以及一个短期有效的令牌,以证明贴纸的真实性。当顾客扫描二维码时:

  1. 他们的手机在默认浏览器中打开 URL。
  2. 页面通过云 API 解析 slug 和桌子代码。
  3. 如果桌子状态为 out_of_order,页面显示不可用通知。
  4. 如果桌子状态为 idle,页面解释员工尚未安排顾客入座,并请他们呼叫服务。
  5. 如果桌子状态为 in_use,页面提示输入6位安全码。

安全码验证

安全码确保只有当前坐在桌子上的顾客才能下单。它防止看到二维码照片或在咖啡馆外的人下假订单。

顾客输入代码后:

  1. API 验证代码与桌子上存储的哈希值。
  2. 如果有效,则创建会话并返回令牌。
  3. 令牌存储在 cookie (hc_menu_session) 中。Bearer 令牌后备也保存在设备的本地存储中。这在某些配置下可能阻止第三方 cookie 的 iPhone Safari 上是必要的。
  4. 顾客被重定向到菜单。

会话自发出后有效期为24小时。如果顾客关闭浏览器并在同一设备上返回,会话仍然有效,他们可以重新进入而无需重新验证。

语言

菜单支持24种语言:阿拉伯语、德语、希腊语、英语、西班牙语、波斯语、法语、印地语、印度尼西亚语、意大利语、日语、韩语、马来语、波兰语、葡萄牙语、罗马尼亚语、俄语、泰语、他加禄语、土耳其语、乌克兰语、乌尔都语、越南语和中文。

首次访问时,页面会检查浏览器的 Accept-Language 头并选择最佳匹配。顾客可以随时使用菜单顶部的选择器更改语言。选择的语言会在会话中记住。

产品名称、描述和成分不会自动翻译;它们以您在菜单编辑器中输入的语言显示。UI 标签如“添加到购物车”、“结账”和支付流程消息完全本地化。

主题

菜单支持浅色主题和深色主题。默认是设备感知的:如果顾客的操作系统设置为深色模式,菜单将以深色模式打开。顶部的主题切换器允许顾客切换。

品牌化页眉

菜单顶部的页眉显示:

元素 来源
页眉图片 从设置 > 咖啡馆上传(可选)
标志 从设置 > 咖啡馆上传
显示名称 来自您的商业资料
地址 来自您的商业资料(显示在页脚)
电话 来自您的商业资料(显示在页脚)

自定义这些字段以获得最佳顾客印象。当菜单看起来像您场所的实体标牌时,顾客会认出品牌。

菜单浏览

菜单按类别分组。在一个类别中,产品以缩略图、名称、简短描述和价格显示。

点击产品会打开产品详情页。详情页显示:

  • 完整照片。
  • Markdown 描述。
  • 成分行。
  • 准备时间标记(仅在菜单上显示准备时间启用时)。
  • 如果配置了单位标签(例如“250 ml”)。
  • 产品附带的任何变体组的变体选择器。
  • 数量步进器。
  • 添加到购物车按钮。

必需的变体组会阻止添加到购物车按钮,直到顾客选择一个选项。

购物车

购物车图标位于固定位置,顾客可以从任何屏幕访问。购物车内容在站点内导航时保持不变;从购物车浏览到菜单再返回不会丢失项目。

购物车允许顾客:

  • 调整每行的数量。
  • 移除一行。
  • 添加可选备注。
  • 提供电话号码(可选)。

小计、增值税和总计实时显示。

下单

结账步骤根据您的配置提供一种或两种支付方式:

现金

如果您的设置中禁用了在线支付,则仅显示现金。顾客确认订单后立即提交。订单到达时顾客向收银员付款。

在线(Stripe 结账)

如果启用了在线支付,在线将作为选项出现。提交时:

  1. 订单以待处理状态创建。
  2. 返回 Stripe 结账客户端密钥。
  3. Stripe 嵌入式 UI 内联打开。顾客输入卡信息。
  4. 成功授权后,Stripe 确认扣款,订单变为已支付。
  5. 顾客看到成功页面。

失败或放弃的支付会使订单保持在待处理状态。可以从同一会话进行第二次尝试,或者员工可以从订单仪表板取消订单。

成功页面

成功提交后,顾客进入显示以下内容的收据页面:

  • 订单号和时间。
  • 每行的数量、变体和行总计。
  • 小计、增值税和总计。
  • 支付方式。
  • 支付状态图标(现金为待处理;在线为已支付)。
  • “再下单”按钮,返回菜单并保持会话。
  • “返回菜单”链接。

订单状态轮询

提交后,顾客的订单视图轮询状态端点以反映厨房的更新。如果您的员工将项目从 preparing 更新为 ready,顾客会在几秒钟内自动看到行上的徽章更新。

这对于在柜台自助取餐非常有用。顾客可以在桌子上放松,直到菜单通知他们订单已准备好。

顾客不能做的事情

  • 顾客不能在没有安全码的情况下浏览菜单。验证步骤始终是必需的。
  • 顾客不能为空闲或故障的桌子下单。
  • 顾客不能在订单提交后编辑或取消订单。取消是订单仪表板上的员工操作。

提供清晰顾客体验的建议

  • 打印带有咖啡馆名称和明确指示的二维码贴纸,如“扫描下单。向员工索取代码。”否则顾客有时会错过验证步骤。
  • 保持类别和产品名称简短。长名称在移动设备上会换行并将图像推到折叠以下。
  • 为每个产品上传至少一张照片。图像丰富的菜单比仅文本菜单转换率更高。
  • 仅在动态估算训练完成后启用菜单上显示准备时间。前30天静态值可能过于宽松或过于紧张,顾客会注意到。
  • 在向顾客开放之前,自己用手机测试完整流程。扫描真实二维码,输入代码,下测试订单,并验证订单是否出现在您的仪表板上。