烘焙预约小程序 - 业务逻辑

角色权限、预约状态流转、业务规则与校验。

1. 用户角色

角色标识说明
用户user小程序端,微信登录,提交预约、我的预约
门店账号shop_staff仅看本店订单与统计
管理员admin全部订单、门店、轮播图、权限

2. 预约状态

状态标识说明
已预约0用户已提交,待到店/配送
已完成1已核销或已完成配送
已取消2用户或后台取消

流转:已预约 → 核销/完成 → 已完成;已预约 → 取消 → 已取消。

3. 核心业务规则

4. 数据校验(预约单)

contactName 必填 1–50 字;phone 必填且手机号格式;shopId 必填且门店存在并启用;reserveDate 必填且 ≥ 当日;reserveTime 必填;type=1 配送时 address 必填。

5. 订单状态流转

状态标识说明可流转至
待付款0用户提交订单未支付制作中(1)、已关闭(7)
制作中1用户已支付,门店制作待取餐(2)、退款中(5)
待取餐2自提单完成制作,等待取餐待评价(3)、退款中(5)
待评价3用户已取餐/签收交易完成(4)
交易完成4订单完成
退款中5用户申请退款已退款(6)、交易完成(4)
已退款6退款成功
已关闭7订单超时未支付

烘焙预约简化为:已预约(0) → 已完成(1)/已取消(2)。

5.1 订单类型与取号规则

订单类型标识取号前缀说明
自取0A用户到店自取,生成 A001 取餐号
外卖1W配送到用户地址,生成 W001 取餐号
堂食2D用户在店内用餐,生成 D001 取餐号

取号规则:按 门店+日期+类型 重置,每日从 001 开始(如 A001、W001、D001)

5.2 堂食订单规则

座位号规则

规则说明
格式字母+数字(如 A5、B12)或纯数字(如 15)
必填性堂食时可选,不填则使用取餐号
长度限制最大 20 字符
扫码携带支持 URL 参数 ?seatNo=xxx(扫桌码点餐)

座位号来源:1.用户手动输入 2.扫码点餐URL携带 3.不填写使用取餐号

堂食订单流程

用户选择堂食 → 是否填座位号?
  ├─ 是 → 订单携带座位号 → 后厨显示座位号 → 送餐到桌
  └─ 否 → 仅使用取餐号 → 后厨显示取餐号 → 叫号取餐

后厨/出餐界面显示

5.3 订单创建流程

5.4 支付流程

5.5 订单超时机制

6. 用户地址管理

7. 优惠券规则

8. 会员/积分规则

9. 客服会话

10. 退款流程

状态标识说明
申请中0用户提交退款申请
已退款1退款成功,金额已退回
已拒绝2管理员拒绝退款

退款流程详情

10.1 购物车逻辑

10.2 商品规格逻辑

11. 门店数据权限

12. 意见反馈/投诉

文档版本:v2.1 · 2026-02-25(新增堂食类型、取号规则和座位号)

← 返回文档总览