SAWASDEE / ORDER方案评审首页交互原型 ↗v0.1 · 2026.10.25

扫码点餐 · 功能设计文档

v0.1 客户确认稿|2026-10-25|评审工作语言:中文

1. 产品目标与范围

面向泰国餐饮、奶茶、咖啡及酒店客房送餐提供移动端扫码点餐服务。顾客免下载、免注册,扫描桌面或房间二维码后,确认服务位置,使用熟悉的语言选购、支付并查看出餐进度。商户通过移动后台与 Android 接单端管理订单,并将全单及部门分单发送到指定打印设备。

本阶段仅确认产品、架构、界面和设备路线,不开发生产系统。原型中的支付、收单、设备状态、二维码上下文、厨房流转均为本地模拟。

范围 首期设计范围 后续扩展
国家与语言 泰国、THB;英文、泰文、简体中文、马来文 其他国家的币种、税制和支付适配;繁体菜单
场景 堂食、奶茶、咖啡、酒店房间送餐 外卖配送、排队、预订
组织 平台 → 商户/品牌 → 门店 → 服务位置;门店独立收款配置 加盟清结算、跨主体分账
点餐 分类、商品规格、加料、备注、加单、售罄、营业时间 营销、会员、积分、优惠券
收款 先付款后接单;先下单后统一结账 AA 拆账、现金混合支付、自动小费
打印 全单、按部门分单、多店共享、重打、异常告警 智能排产、厨房显示屏 KDS
酒店 房间来源识别、送达信息、即时付款或人工结账 PMS 房账挂账、入住人验证

2. 角色与权限

角色 主要能力 限制
顾客 菜单、购物车、本人提交记录、账单支付 不通过桌码直接读取其他顾客的订单与个人信息
服务员 开台、接单、上菜、申请结账、记录线下付款 不修改收款账户,不默认有退款权限
厨房人员 查看本部门菜品、开始制作、完成 不查看其他部门明细及顾客支付凭据
收银/店长 全单、结账、退款审批、打印补单、门店配置 仅授权门店;敏感动作记录原因
品牌管理员 多店菜单、设备共享和授权、报表 跨店设备不等于跨商户数据权限
平台运营 商户开通、设备支持、运营监控 受控访问、审计;不直接接触卡号

商户界面语言、顾客语言和打印语言独立设置。例:顾客中文下单、店员英文接单、厨房泰文打印。菜单多语言名称共用同一 SKU,切换语言不会改变商品、金额或部门归属。

3. 二维码与来源识别

每个服务位置生成独立二维码,映射 merchant_id、store_id、location_id、location_type(TABLE / ROOM / PICKUP)。二维码中只放随机、不透明的 locator,不暴露房客信息、设备密钥或可自行修改的桌号参数。

扫码落地页始终显示品牌、门店、桌号或房间号,要求顾客在首次提交时确认位置。二维码支持下载、批量导出、停用、轮换、失效提示。记录来源扫码与订单转化,不将浏览器语言作为国籍或支付资格判断。

静态桌码可被拍照分享,不能证明顾客在店。后付默认由店员开台并签发短期消费会话,或由店员审批首单;酒店房间需服务员确认送达位置。可选门店 Wi-Fi、动态开台口令作为辅助控制,不能只依赖定位。桌号切换须清空或明确迁移未提交购物车,禁止静默更换归属。

同一桌支持多手机独立购物车和各自下单;加单汇入同一已授权台账。首期不做实时共同编辑购物车。顾客只能看到本人订单,申请整桌结账需店员授权的账单凭证;不可凭公开桌码直接读取整桌消费。

4. 四语匹配与内容管理

优先级:本店已保存的手动选择 → 浏览器 navigator.languages / 请求 Accept-Language 的优先顺序 → 门店默认语言 → 英文。只在已启用语言中匹配。th-* → th、en-* → en、zh-* → zh-Hans、ms-* → ms;zh-Hant 当前回退简体并保留语言切换入口,不宣称有繁体翻译。

不读取设备隐私设置。Web 端以浏览器公开的语言偏好作为系统语言代理;设备与浏览器不一致时,以浏览器及手动选择为准。切换无需重载购物车、订单或支付尝试。

系统 UI 使用固定词条;商品名称、描述、规格、加料、过敏原由商户按语言维护。缺失译文按门店内容默认语 → 英文回退,后台标记缺译。机器翻译只能辅助起草,食品安全、辣度、过敏原与价格文案必须人工审核。打印优先使用厨房维护的泰文名称,可附英文。自由备注保留原文,翻译须标记辅助译文,不能替换原文。

金额 THB、泰国营业时区 Asia/Bangkok,语言不改变币种或时区。顾客显示当地营业时间;后台可切换查看时区但原始时间存 UTC。

5. 顾客端功能

5.1 菜单与选购

5.2 先付款后下单

选购 → 确认购物车 → 创建待支付订单与支付尝试 → 选择渠道 → 完成支付 → 服务端确认到账 → 推送商户并出单 → 制作/送达 → 完成。

付款完成页返回或顾客上传转账截图均不作为到账证据。状态不确定时显示“确认付款中”,提供查询与人工协助。付款失败保留购物车,允许重试;超时释放库存。迟到到账订单进入异常处理,不能无提示扣款或重复生产。

先付订单仍可能因售罄被拒收:显示原因、退款状态及预计处理说明;是否自动接单由门店配置。自动接单需库存与营业规则校验。若手动接单,支付成功后先显示“等待门店确认”,收到确认后打印生产单;收银可单独打印待确认凭证。

5.3 先下单最后结账

店员开台 → 顾客下单 → 门店接单/打印 → 多次加单 → 申请结账 → 冻结台账版本 → 支付整桌未付金额或收银记录线下收款 → 关台。

顾客明确看到“已下单,尚未付款”。结账冻结后禁止直接加单,需取消结账并重新打开台账;正在支付时不允许台账金额漂移。已付订单不能再次进入应收。关台后老会话失效,新一轮客人使用新台账。默认不支持顾客自行取消已开始制作的餐品。

门店可配置 PAY_FIRST 或 PAY_LATER,及自动/手动接单;修改仅作用于新台账/新订单,已建立会话沿用策略快照。严禁顾客前端参数决定支付策略。

5.4 支付方式呈现

设计候选:PromptPay 动态 QR、泰国银行 App 支付、TrueMoney、信用/借记卡;旅游商圈可选 Alipay / WeChat Pay 等,具体线上模式按服务商核验。详情及证据见调研文档。

同一手机扫码后无法再用相机扫屏幕,应提供“保存支付二维码 → 银行 App 从相册识别 → 返回查询”的引导;若渠道提供合适的 App 跳转则优先使用。不是所有银行、设备或内嵌浏览器都支持同样路径。失败需可回退其他付款方式或联系收银。

5.5 订单和服务

订单状态:待付款 / 等待接单 / 制作中 / 可取餐或送餐中 / 完成 / 已取消;财务状态独立显示。可查看本次订单及本人加单,不展示他人隐私。呼叫服务员生成有去重和频控的服务请求,需有“已送达商户/等待响应”的状态。

酒店页突出酒店、楼层、房间和送餐目的地;若扫码与实际房间不符必须联系酒店。酒店房码只提供来源,不证明入住身份,不自动挂房账。到房送餐可配置服务时段、配送费和预计时间;敏感门禁信息不放在通用厨房小票上。

6. 商户移动后台与接单 APP

6.1 商品和门店

门店营业时间、暂停接单、菜品售罄、分类排序、多语言内容、规格价格、销售分类与生产部门、店型、默认语言、税费、支付模式和收款账户配置。收款账户更换需管理员重新验证与审计。

商品的销售分类与生产部门分离。例如“人气推荐”中的海鲜仍送海鲜部;商品部门优先于分类默认部门。套餐可按生产组件分到不同部门,前台仍作为一套商品计价。组件映射首期可人工维护。

6.2 接单与履约

订单列表显示门店、桌/房、时长、财务状态、接单状态、异常标识。新单有声音与振动,可接单、带原因拒单、查看部门进度、标记取餐/送达。设备离线时后台展示最后在线时间。APP 推送只作提醒,打开后需从服务端重新拉单。

长连接/轮询用于在线列表,系统推送用于后台唤醒;均不能承诺 Android 永不被杀进程。默认 60 秒未确认触发升级提醒,具体 SLA 待试点确认。可配置备用设备和店长告警,不因 APP 未打开而丢单。

6.3 打印配置

配置项 行为
设备绑定 设备码一次性配对,绑定所属商户,允许门店列表;可撤销、解绑、替换
多店共用 同一商户明确授权的 A/B 店可共用前台或中央厨房打印机;小票必须显示门店和来源
业务触发 接单确认、加单、取消、退款、结账、人工重打分别配置模板与路由
前台全单 全部商品、规格、金额、支付状态、来源、订单号;可按单/结账分别打印
部门分单 仅本部门相关商品与备注;共享订单号、批次号、来源;默认不显示支付金额
部门管理 自定义凉菜、酒水、热菜、海鲜、烧烤等;可增删、停用、绑定主备设备
匹配顺序 商品/套餐组件部门覆盖 → 分类默认部门 → 未分配异常队列;不允许静默丢弃
多目的地 前台全单与多个部门任务同时生成;一部门可设置主设备及明确的备机策略
格式 58/80mm、字体大小、泰英双语、抬头、LOGO、份数、提示音、菜品排序、切纸
加单/改单 只打印本次增量;取消单醒目标记原订单和行项目,不能伪装成新单
异常 缺纸、开盖、离线、状态未知、失败任务;日志、重试、人工补打带“补打”标识

默认共享范围只限同一商户。跨不同商户共用物理设备需另行确认托管关系、数据隔离和操作权限。两门店共用一台收银打印机是排队打印两张独立票,不合并账款、不共用支付账户。

6.4 分单示例

Bangkok A 店 T12 第 2 批订单:冬阴功虾汤×1(热菜),泰式奶茶×2(酒水),烤鱿鱼×1(烧烤)。

打印是生产通知,不能直接代表厨房已接单、已制作或已送达。

7. 异常与售后规则

场景 顾客反馈 商户处理
二维码停用/店铺停业 明确原因、不可提交、联系门店 维护码牌与营业状态
售罄/改价 展示差异并重新确认 已付后缺货需拒单/部分退款流程
重复点击/支付回调 显示同一笔结果 幂等处理,不重复下单和出单
退款 退款申请、处理中、完成/失败分开 审批、通道核验、对账;不承诺所有渠道即时原路退
打印离线 顾客订单仍可正常存在 APP 告警,备用设备/人工抄单,恢复后核对补打
后付逃单/误扫 显示有效开台要求 店员开台、首单审核、台账锁定与人工结算
酒店送错房 显示来源确认 门店核对;禁止以公开房码证明入住人身份

8. 验收清单与指标建议

  1. 使用 th-TH、en-US、zh-CN、ms-MY 首访能匹配;ja-JP 回退门店默认语;手动切换后保留购物车。混合优先列表按第一种受支持语言匹配。
  2. A 店 T12 和 B 店 Room 808 进入不同上下文;篡改店号、停用码、过期会话不能越权下单。
  3. 先付未到账不进入生产;重复成功事件只生成一次订单接单事件和同批打印任务。
  4. 后付多轮加单可汇总;结账冻结期间不能增加金额;重复支付回调不会重复关台。
  5. 前台全单、三部门分单内容正确;未分配行有告警;两门店共享设备票头明确。
  6. 缺纸恢复、断网重连、补打标识、未知打印状态人工确认均可追溯;收银与厨房可独立失败恢复。
  7. 375px 移动端、泰文长文本、200% 字号、弱网与无障碍操作不遮挡主要动作。

试点指标建议:有效扫码到菜单成功率、购物车到付款转化、接单延迟、漏单投诉、打印失败率/未知率、人工补单率、退款处理时长。目标值由真实网络和样机压测确定,不在设计阶段承诺硬件 SLA。

9. 客户确认记录

决策 建议默认值 确认
首批场景 咖啡/奶茶 + 小型餐厅;酒店走送餐模式 待确认
多手机同桌 独立购物车、统一授权台账、隐私隔离 待确认
接单 饮品可自动接单;餐厅手动接单 待确认
后付安全 店员开台,结账冻结,默认不做 AA 待确认
支付 PromptPay + 卡;银行 App / TrueMoney 按合同开通 待确认
打印 同商户跨店;前台全单、厨房按部门 待确认
酒店挂账 首期不接 PMS、不自动挂账 待确认
语言内容 商户提供并人工确认泰文、过敏原和菜品译文 待确认
计费税费 THB;税、服务费和票据格式按当地顾问确认 待确认
品牌和 UI 临时品牌与暖色风格;非最终品牌资产 待确认