# 婷美小屋 卡项管理与预约系统 — 三期规划 PRD

> 版本: v1.0
> 日期: 2026-05-13
> 基于现有原型分析 + 三期规划

---

## 一、项目背景与目标

### 业务背景
婷美小屋作为护肤连锁品牌，已构建次卡（预付费护理卡）管理体系。当前已有完整的总部端配置、门店端核销、小程序兑换预约的流程原型，但缺少：
1. **门店主动销售卡项套餐**的能力（当前只能录入服务订单，不能"卖卡"）
2. **用户自助查看卡项余额**的完整体验
3. **员工主动触达用户**的回访提醒机制
4. **美团/抖音团购券**的实际对接

### 产品目标
1. 打通"门店卖卡 → 生成次卡 → 用户使用 → 核销消耗"的完整闭环
2. 降低用户失联率，通过企微提醒提升到店复购
3. 接入美团/抖音流量，统一核销体系

### 约束与原则
- 三期线性推进，每期完成后才进入下一期
- 统一核销API，source字段区分渠道（门店自售/小程序自助/抖音/美团）
- 前端保持现有 Tailwind CSS 设计风格

---

## 二、用户角色

| 角色 | 说明 | 使用端 |
|------|------|--------|
| 总部管理员 | 配置卡项模板、护理项目、门店管理、全局数据查看 | HQ后台 |
| 门店店长 | 门店运营管理、核销审核、卡项购买操作 | 门店端 |
| 门店护理师 | 录入订单、执行核销 | 门店端 |
| 消费者 | 兑换券码、查看卡项、预约护理 | 微信小程序 |
| 企微员工 | 查看用户套餐、发送提醒 | 企业微信端 |

---

## 三、现有进度对照

### 已实现（P0 — 系统骨架）

| 模块 | 页面 | 状态 |
|------|------|------|
| HQ-卡项模板 | hq-templates.html | ✅ 完整，含CRUD+筛选 |
| HQ-团购商品关联 | hq-product-mapping.html | ✅ 完整，抖音/美团关联 |
| HQ-会员卡项 | hq-service-verification-cards.html | ✅ 完整，含来源/状态筛选 |
| HQ-核销记录 | hq-service-verification.html | ✅ 完整 |
| HQ-护理项目管理 | hq-project-management.html | ✅ 完整 |
| HQ-护理项目订单 | hq-care-order.html | ✅ 完整 |
| HQ-门店列表 | hq-store-list.html | ✅ 完整 |
| 门店-护理项目订单 | store-care-order.html | ✅ 完整（含新增弹窗） |
| 门店-会员卡项管理 | store-service-verification.html | ✅ 完整 |
| 门店-核销记录 | store-verification-history.html | ✅ 完整（含审核流程） |
| 小程序-首页 | miniapp/index.html | ✅ 完整 |
| 小程序-兑换套餐 | redeem.html → confirm → success | ✅ 完整流程 |
| 小程序-我的卡项 | my-cards.html | ✅ 基本进度显示 |
| 小程序-卡项订单 | card-orders.html | ✅ 完整 |
| 小程序-次数明细 | card-flow.html | ✅ 完整 |
| 小程序-预约流程 | booking.html → booking-time.html | ✅ 完整 |
| 小程序-我的预约 | my-appointments.html | ✅ 完整 |
| 小程序-个人中心 | profile.html | ✅ 完整 |
| 企微-首页 | wecom/index.html | ✅ 完整 |
| 企微-预约报表 | daily-report.html | ✅ 完整（含概览卡片） |
| 企微-群发任务 | mass-send.html | ✅ 基本模板预览 |

### 各期范围

| 阶段 | 内容 | 当前状态 |
|------|------|---------|
| P0 | 系统骨架（总部+门店+小程序+企微） | ✅ 已完成 |
| P1 | 门店卡项套餐购买 | ⏳ 待实现 |
| P2 | 小程序余额查看 + 企微套餐查询 + 7天提醒 | ⏳ 待实现 |
| P3 | 美团/抖音团购对接核销 | ⏳ 待实现 |

---

## 四、P1 — 门店卡项套餐购买

### 4.1 业务场景

顾客到店咨询后，门店店员/店长在门店端系统为顾客选购卡项套餐（次卡），完成购买后系统自动生成次卡实例，顾客可立即开始使用或后续通过小程序查看。

### 4.2 核心流程

```
店员选择顾客 → 选购卡项套餐 → 确认购买信息 → 生成次卡实例 → 顾客收到小程序通知
```

### 4.3 功能需求清单

#### 门店端 — 卡项套餐购买（新增页面）

| 功能 | 详细说明 | 优先级 |
|------|---------|--------|
| 顾客选择 | 搜索/选择已有会员，或快速新建临时顾客 | P1 |
| 套餐列表展示 | 展示总部配置的可用卡项模板（名称、次数、价格、有效期） | P1 |
| 套餐详情 | 点击套餐查看详情：包含项目、次数、价格、有效期说明 | P1 |
| 购买确认 | 确认顾客、套餐、价格，支持修改次数/价格（如果模板允许编辑） | P1 |
| 支付记录 | 记录支付方式（现金/微信/支付宝/挂账），金额 | P1 |
| 生成次卡 | 购买成功后自动创建次卡实例，关联顾客和门店 | P1 |
| 购买记录 | 查看该门店的卡项套餐购买历史 | P1 |
| 套餐推荐 | 根据顾客历史消费推荐适合的套餐 | P2 |

#### 门店端 — 侧边栏更新

| 功能 | 详细说明 | 优先级 |
|------|---------|--------|
| 新增"卡项套餐购买"菜单 | sidebar.js 中 store 端增加菜单项 | P1 |

#### 小程序 — 购买记录查看（增强）

| 功能 | 详细说明 | 优先级 |
|------|---------|--------|
| 门店购买卡项显示 | 在小程序"我的卡项"中展示门店购买的套餐 | P1 |

### 4.4 新增页面清单

| 页面 | 路径 | 说明 |
|------|------|------|
| 卡项套餐选购 | store/store-package-purchase.html | 套餐列表 + 详情 + 购买 |
| 购买确认页 | (合并到选购页弹窗) | 确认信息 + 支付方式 |
| 购买成功 | (toast提示) | 成功生成次卡 |

---

## 五、P2 — 余额查看 + 企微查询 + 7天提醒

### 5.1 业务场景

**场景A**：顾客在小程序查看自己名下所有次卡的剩余次数、有效期、使用记录。
**场景B**：企微员工搜索顾客，查看该顾客的套餐持有情况（剩余次数、即将过期提醒）。
**场景C**：系统自动检测购买超过7天未到店使用的顾客，通过企微提醒店员联系顾客来店。

### 5.2 核心流程

```
场景A: 打开小程序 → 我的卡项 → 查看余额/进度 → 查看使用记录
场景B: 企微搜索顾客 → 查看套餐详情 → 查看使用历史
场景C: 定时任务 → 检测7天未到店 → 推送给店员 → 店员联系顾客
```

### 5.3 功能需求清单

#### 小程序 — 余额查看（增强现有页面）

| 功能 | 详细说明 | 优先级 |
|------|---------|--------|
| 卡项余额概览 | 首页/我的卡项页显示总持有卡项数、即将过期数 | P2 |
| 余额进度增强 | 每张卡显示：已用/总数、有效期倒计时、来源渠道标签 | P2 |
| 卡项详情页 | 点击单张卡进入详情：使用记录（时间/门店/护理师）、剩余次数 | P2 |
| 即将过期提醒 | 首页banner提醒30天内过期的卡项 | P2 |
| 卡项分享 | 分享卡项给家人（次卡多人共用场景） | P3 |

#### 企微端 — 员工查看用户套餐（新增页面）

| 功能 | 详细说明 | 优先级 |
|------|---------|--------|
| 顾客搜索 | 按姓名/手机号搜索顾客 | P2 |
| 顾客套餐概览 | 展示该顾客名下所有卡项（总数、有效/过期/已用完数量） | P2 |
| 套餐详情 | 每张卡的名称、剩余次数、有效期、来源渠道、最近使用时间 | P2 |
| 使用记录 | 按时间倒序展示核销记录（时间、项目、护理师） | P2 |
| 一键联系 | 点击可唤起企微聊天/拨号 | P2 |

#### 企微端 — 7天到期提醒（新增功能）

| 功能 | 详细说明 | 优先级 |
|------|---------|--------|
| 7天未到店检测 | 购买卡项后7天内无核销记录 → 标记为"待跟进" | P2 |
| 提醒推送 | 每天定时推送给对应门店店员/店长 | P2 |
| 跟进记录 | 店员填写跟进结果（已联系/已预约/无意向） | P2 |
| 跟进看板 | 门店端/企微端查看待跟进列表 | P2 |

#### 企微端 — 侧边栏更新

| 功能 | 详细说明 | 优先级 |
|------|---------|--------|
| 新增"顾客卡项查询"菜单 | wecom 端增加菜单项 | P2 |
| 新增"跟进任务"菜单 | wecom 端增加待跟进列表入口 | P2 |

### 5.4 新增页面清单

| 页面 | 路径 | 说明 |
|------|------|------|
| 顾客套餐查询 | wecom/wecom-member-cards.html | 搜索+列表+详情 |
| 跟进任务列表 | wecom/wecom-follow-up.html | 7天待跟进列表 |
| 小程序卡项详情 | miniapp/card-detail.html | 单张卡完整详情 |

---

## 六、P3 — 美团/抖音团购对接

### 6.1 业务场景

顾客在美团/抖音购买团购券 → 到店出示券码 → 门店扫码核销 → 系统匹配卡项模板 → 生成次卡 → 顾客使用/预约。

### 6.2 核心流程

```
顾客在抖音/美团购买团购券 → 到店出示券码
  → 方式A（门店扫码）：店员在门店端扫码核销 → 匹配模板 → 生成次卡
  → 方式B（小程序自助）：顾客在小程序输入券码 → 自动核销 → 生成次卡
```

### 6.3 当前已实现

| 功能 | 页面 | 状态 |
|------|------|------|
| 团购商品关联配置 | hq-product-mapping.html | ✅ 已实现 |
| 小程序券码兑换 | redeem.html → confirm → success | ✅ 已实现 |
| 门店核销 | store-service-verification.html | ✅ 已实现 |
| 来源渠道字段 | 卡项管理筛选含"抖音/美团/门店自售" | ✅ 已设计 |

### 6.4 P3 新增功能

| 功能 | 详细说明 | 优先级 |
|------|---------|--------|
| 抖音API对接 | 抖音生活服务券码核销API、退款回调 | P3 |
| 美团API对接 | 美团核销API、退款回调 | P3 |
| 统一核销接口 | 同一套核销API，source字段区分抖音/美团/门店自售/小程序自助 | P3 |
| 券码自动校验 | 对接平台API自动校验券码有效性 | P3 |
| 退款处理 | 平台退款通知 → 系统自动冻结/撤销对应次卡 | P3 |
| 核销失败处理 | 券码无效/已过期/已核销等异常处理 | P3 |
| 对账报表 | 每日团购核销对账，区分平台 | P3 |

---

## 七、数据模型（核心补充）

### 卡项套餐购买记录 (card_purchase_orders)

| 字段 | 类型 | 说明 |
|------|------|------|
| id | int | 主键 |
| store_id | int | 所属门店 |
| member_id | int | 顾客会员ID |
| template_id | int | 卡项模板ID |
| total_count | int | 购买总次数 |
| total_price | decimal | 实付金额 |
| payment_method | string | 支付方式(现金/微信/支付宝/挂账) |
| operator_id | int | 操作员工ID |
| source | string | 来源: 'store_self' |
| created_at | datetime | 购买时间 |

### 跟进记录 (follow_up_records)

| 字段 | 类型 | 说明 |
|------|------|------|
| id | int | 主键 |
| card_instance_id | int | 关联的次卡实例 |
| store_id | int | 所属门店 |
| staff_id | int | 跟进员工ID |
| status | string | 待跟进/已联系/已预约/无意向 |
| note | text | 跟进备注 |
| contacted_at | datetime | 联系时间 |
| created_at | datetime | 创建时间 |

---

## 八、实施路线

| 阶段 | 内容 | 预估工作量 | 前置依赖 |
|------|------|-----------|---------|
| P1 | 门店卡项套餐购买（新增2页 + 修改sidebar） | 3-5天 | 无 |
| P2 | 小程序余额增强（新增1页 + 修改2页） | 3-4天 | P1完成 |
| P2 | 企微顾客查询（新增2页） | 2-3天 | P1完成 |
| P2 | 7天提醒机制（新增1页 + 定时逻辑） | 3-4天 | P1完成 |
| P3 | 团购API对接（代码对接 + 配置） | 5-7天 | P1+P2完成 |

---

## 九、风险与开放问题

| 风险 | 影响 | 缓解措施 |
|------|------|---------|
| 门店"卖卡"是否需要收款能力 | 支付流程复杂度 | P1先支持记录支付方式，不做实际支付对接 |
| 7天提醒的触发时机 | 可能打扰顾客 | 配置化，门店可调天数 |
| 美团/抖音API文档变更 | 对接不稳定 | 抽象核销适配层，平台变更只改适配器 |
| 小程序提交审核周期 | 发版延迟 | 提前准备审核材料 |