现有履约能力
- 餐厅、档口、菜品、菜谱和餐次
- 手机端选餐入口与购物车
- 成团后的正式消费订单
- 取餐、核销、订单查询
- 满足适用条件的取消和退款能力
假设方案上线后失败,从结果倒推支付、订单、关团、退款和通知中真正需要提前解决的问题。
复用现有菜单、点餐入口和正式订单,但必须增加“拼团活动 + 报名聚合层”。补齐关键决策后再进入原型和技术设计。
这不是第二套订单系统。 拼团活动与报名记录只负责正式消费订单形成前的意向聚合;成团后的备餐、取餐、结算和售后仍走现有系统。
报名不付款会造成成团后不支付、备餐人数失真;报名即付款则必须处理未成团批量退款;余额冻结体验最好,但若现有账务没有冻结能力,改造量最大。
行动:先确认报名、成团、扣款、退款四个时点,以及报名人数是否必须已经付款。现有订餐提交在校验菜品和时间后直接创建正式订单,与“先报名、截止后成团”的流程不同。直接套用会让未成团报名进入订单和备餐统计。
行动:增加独立报名层,正式消费订单只接收已成团且满足结算条件的数据。最后报名、用户取消、定时关团和人工操作可能同时发生,导致重复成团、人数越界、重复生成订单或重复退款。
行动:建立活动状态机,使用数据库事务、条件更新和唯一业务号保证关团、转单、退款可安全重试。需要明确按人、份、订单、菜品还是套餐成团;一人买多份、不同员工选不同菜品时,统计结论完全不同。
行动:首期限定一场活动对应一个固定套餐,按去重员工数判断成团。未成团可能发生在正式订单形成前,不能默认直接走现有退款订单;成团后取消还涉及报名截止、备餐开始和退款截止。
行动:分开定义撤销报名、未成团释放或退款、正式订单取消退款三类动作。报名如果不占用现有已售数量,成团时集中转单可能超出限量;有严格限量时应升级为上线阻塞项。
行动:固定套餐试点使用活动配额;通用菜品拼团再设计预占量。小程序消息需要授权,短信有成本和模板,企业微信依赖身份映射与应用权限。
行动:手机端结果页作为必达通道,外部消息只做提醒,通知失败不得改变成团状态。活动与报名只做聚合,成团后的履约继续复用消费订单。
食堂管理员发起、员工报名已经能够完成试点闭环。
首期不支持跨餐厅、跨餐次、多菜单混拼和高频实时推送。
| 动作 | 建议责任方 | 完成条件 |
|---|---|---|
| 确认支付与结算模式 | 产品、客户、财务 | 写清报名、成团、扣款、退款四个时点 |
| 确认成团统计粒度 | 产品、客户、食堂运营 | 明确按人、份或套餐,以及重复报名规则 |
| 输出状态机和异常矩阵 | 产品、后端、测试 | 覆盖报名、取消、关团、转单、退款、通知失败 |
| 确认数据模型 | 后端、DBA | 明确活动、报名、报名项、任务记录和唯一键 |
| 验证订单退款边界 | 后端、测试、财务 | 选定支付方式后完成真实测试环境闭环 |
| 小范围试运行 | 项目、食堂运营 | 一个餐厅、一个餐段、一个固定套餐运行一周 |
原始方案:拼团用餐方案|客户评审版