顾客菜单
顾客菜单是位于 handy.cafe/{your-slug} 的面向公众的网页。顾客通过扫描桌面上的二维码访问此页面。本文描述了顾客的完整流程,以便您向员工解释并计划推出。
URL 结构
每个桌子都有一个唯一的 URL,格式为 handy.cafe/{cafe-slug}/{table-code}。二维码编码了此 URL 以及一个短期有效的令牌,以证明贴纸的真实性。当顾客扫描二维码时:
- 他们的手机在默认浏览器中打开 URL。
- 页面通过云 API 解析 slug 和桌子代码。
- 如果桌子状态为
out_of_order,页面显示不可用通知。 - 如果桌子状态为
idle,页面解释员工尚未安排顾客入座,并请他们呼叫服务。 - 如果桌子状态为
in_use,页面提示输入6位安全码。
安全码验证
安全码确保只有当前坐在桌子上的顾客才能下单。它防止看到二维码照片或在咖啡馆外的人下假订单。
顾客输入代码后:
- API 验证代码与桌子上存储的哈希值。
- 如果有效,则创建会话并返回令牌。
- 令牌存储在 cookie (
hc_menu_session) 中。Bearer 令牌后备也保存在设备的本地存储中。这在某些配置下可能阻止第三方 cookie 的 iPhone Safari 上是必要的。 - 顾客被重定向到菜单。
会话自发出后有效期为24小时。如果顾客关闭浏览器并在同一设备上返回,会话仍然有效,他们可以重新进入而无需重新验证。
语言
菜单支持24种语言:阿拉伯语、德语、希腊语、英语、西班牙语、波斯语、法语、印地语、印度尼西亚语、意大利语、日语、韩语、马来语、波兰语、葡萄牙语、罗马尼亚语、俄语、泰语、他加禄语、土耳其语、乌克兰语、乌尔都语、越南语和中文。
首次访问时,页面会检查浏览器的 Accept-Language 头并选择最佳匹配。顾客可以随时使用菜单顶部的选择器更改语言。选择的语言会在会话中记住。
产品名称、描述和成分不会自动翻译;它们以您在菜单编辑器中输入的语言显示。UI 标签如“添加到购物车”、“结账”和支付流程消息完全本地化。
主题
菜单支持浅色主题和深色主题。默认是设备感知的:如果顾客的操作系统设置为深色模式,菜单将以深色模式打开。顶部的主题切换器允许顾客切换。
品牌化页眉
菜单顶部的页眉显示:
| 元素 | 来源 |
|---|---|
| 页眉图片 | 从设置 > 咖啡馆上传(可选) |
| 标志 | 从设置 > 咖啡馆上传 |
| 显示名称 | 来自您的商业资料 |
| 地址 | 来自您的商业资料(显示在页脚) |
| 电话 | 来自您的商业资料(显示在页脚) |
自定义这些字段以获得最佳顾客印象。当菜单看起来像您场所的实体标牌时,顾客会认出品牌。
菜单浏览
菜单按类别分组。在一个类别中,产品以缩略图、名称、简短描述和价格显示。
点击产品会打开产品详情页。详情页显示:
- 完整照片。
- Markdown 描述。
- 成分行。
- 准备时间标记(仅在菜单上显示准备时间启用时)。
- 如果配置了单位标签(例如“250 ml”)。
- 产品附带的任何变体组的变体选择器。
- 数量步进器。
- 添加到购物车按钮。
必需的变体组会阻止添加到购物车按钮,直到顾客选择一个选项。
购物车
购物车图标位于固定位置,顾客可以从任何屏幕访问。购物车内容在站点内导航时保持不变;从购物车浏览到菜单再返回不会丢失项目。
购物车允许顾客:
- 调整每行的数量。
- 移除一行。
- 添加可选备注。
- 提供电话号码(可选)。
小计、增值税和总计实时显示。
下单
结账步骤根据您的配置提供一种或两种支付方式:
现金
如果您的设置中禁用了在线支付,则仅显示现金。顾客确认订单后立即提交。订单到达时顾客向收银员付款。
在线(Stripe 结账)
如果启用了在线支付,在线将作为选项出现。提交时:
- 订单以待处理状态创建。
- 返回 Stripe 结账客户端密钥。
- Stripe 嵌入式 UI 内联打开。顾客输入卡信息。
- 成功授权后,Stripe 确认扣款,订单变为已支付。
- 顾客看到成功页面。
失败或放弃的支付会使订单保持在待处理状态。可以从同一会话进行第二次尝试,或者员工可以从订单仪表板取消订单。
成功页面
成功提交后,顾客进入显示以下内容的收据页面:
- 订单号和时间。
- 每行的数量、变体和行总计。
- 小计、增值税和总计。
- 支付方式。
- 支付状态图标(现金为待处理;在线为已支付)。
- “再下单”按钮,返回菜单并保持会话。
- “返回菜单”链接。
订单状态轮询
提交后,顾客的订单视图轮询状态端点以反映厨房的更新。如果您的员工将项目从 preparing 更新为 ready,顾客会在几秒钟内自动看到行上的徽章更新。
这对于在柜台自助取餐非常有用。顾客可以在桌子上放松,直到菜单通知他们订单已准备好。
顾客不能做的事情
- 顾客不能在没有安全码的情况下浏览菜单。验证步骤始终是必需的。
- 顾客不能为空闲或故障的桌子下单。
- 顾客不能在订单提交后编辑或取消订单。取消是订单仪表板上的员工操作。
提供清晰顾客体验的建议
- 打印带有咖啡馆名称和明确指示的二维码贴纸,如“扫描下单。向员工索取代码。”否则顾客有时会错过验证步骤。
- 保持类别和产品名称简短。长名称在移动设备上会换行并将图像推到折叠以下。
- 为每个产品上传至少一张照片。图像丰富的菜单比仅文本菜单转换率更高。
- 仅在动态估算训练完成后启用菜单上显示准备时间。前30天静态值可能过于宽松或过于紧张,顾客会注意到。
- 在向顾客开放之前,自己用手机测试完整流程。扫描真实二维码,输入代码,下测试订单,并验证订单是否出现在您的仪表板上。