我的预约(兽医)— 功能需求
1. 文档说明
| 项 |
说明 |
| 模块名称 |
我的预约(兽医)(牧业疫病诊疗服务) |
| 目标 |
为已绑定兽医身份的登录用户提供「面向本人的诊疗预约」查询与处置能力:筛选预约单、查看详情、对待确认预约执行确认接诊或拒绝接诊 |
| 使用端 |
业务后台(若依管理端);登录用户须为「畜牧医疗资源管理」中为该兽医已分配账号的专家端角色用户 |
| 修订依据 |
同目录 我的预约(兽医)功能需求-草稿.md、界面原型;并关联分析 我的预约(机构)、我的预约(专家) 草稿与原型 |
本文档仅描述功能需求与业务规则,不涉及数据库表结构、接口路径、请求体字段命名、HTTP 报文、权限标识命名及技术栈选型。
2. 术语与业务对象
2.1 兽医预约单(一条记录)
- 表示牧民/用户在移动端「预约服务」中选择某位已发布兽医后提交的一条预约申请。
- 预约单在业务上归属该兽医(与当前登录账号所绑定的兽医资源一一对应);本模块仅展示并操作「属于当前登录兽医」的单据。
- 一条预约单包含:预约人、预约日期、预约时段、联系方式、服务地址、服务需求、状态及(若已拒绝)拒绝理由等。
2.2 当前登录人(服务提供方视角)
- 指通过「畜牧医疗资源管理」分配账号(专家端角色,草稿约定角色编号 100)登录后台的兽医本人。
- 列表与操作的数据范围:自动限定为当前账号绑定的兽医资源 ID 下的预约记录;不得查看或操作其他兽医的预约。
2.3 预约人(需求方)
- 在移动端填写预约信息的用户(姓名、电话、地址、需求等);本模块只读展示,不在此维护预约人档案。
3. 关联需求分析(兽医 / 机构 / 专家)
三模块同属「我的预约」产品族:均为服务提供方在后台查看「指向自己的预约」。差异来自预约对象类型与状态机复杂度。
3.1 三端定位对照
| 维度 |
我的预约(兽医) |
我的预约(机构) |
我的预约(专家) |
| 所属业务 |
牧业疫病诊疗服务 |
牧业疫病诊疗服务 |
牧业养殖科技服务 |
| 预约对象 |
兽医人员(移动端「预约服务-兽医」) |
诊疗机构(「预约服务-诊疗机构」) |
科技专家(「预约服务-专家」) |
| 账号来源 |
医疗资源管理-兽医分配账号 |
医疗资源管理-机构分配账号 |
科技资源管理-专家分配账号 |
| 移动端提交后 |
进入 待确认,待兽医处置 |
进入 已预约(无待确认环节) |
进入 待确认,待专家处置 |
| 提供方处置 |
确认接诊 / 拒绝接诊 |
仅查看(无确认/拒绝) |
确认接诊 / 拒绝接诊 |
| 拒绝理由 |
拒绝时必填(≤100 字) |
无 |
拒绝时必填(≤100 字) |
| 服务评价 |
本期不做「查看评价」(见 §3.3) |
无 |
已完成可「查看评价」及详情星级 |
3.2 状态模型对照
flowchart LR
subgraph 兽医与专家["兽医 / 专家(需接单)"]
A1[待确认] -->|确认接诊| B1[已确认]
A1 -->|拒绝接诊| C1[已拒绝]
A1 -->|用户取消| D1[已取消]
B1 -->|业务闭环| E1[已完成]
B1 -->|用户取消| D1
end
subgraph 机构["机构(登记制)"]
A2[已预约] -->|用户取消| D2[已取消]
A2 -->|业务闭环| E2[已完成]
end
| 状态 |
兽医本模块 |
机构模块 |
专家模块 |
说明 |
| 待确认 |
✓ |
— |
✓ |
用户已提交,等待服务方确认或拒绝 |
| 已预约 |
— |
✓ |
— |
机构预约提交后即为此态(无接单动作) |
| 已确认 |
✓ |
— |
✓ |
服务方已确认接诊;兽医/专家可 完成接诊 |
| 已拒绝 |
✓ |
— |
✓ |
服务方拒绝,须展示拒绝理由 |
| 已取消 |
✓ |
✓ |
✓ |
用户取消(或业务规则允许的取消) |
| 已完成 |
✓ |
✓ |
✓ |
服务已结束;专家端可延伸评价能力 |
本期约定(兽医): 状态取值与草稿一致,共 五种:待确认、已取消、已确认、已拒绝、已完成。不出现机构的「已预约」枚举,避免与「已确认」语义混淆。
3.3 与专家模块的差异(本期范围)
| 能力 |
兽医(本文档) |
专家(关联文档) |
| 列表字段 |
含预约时段、服务地址、服务需求、拒绝理由 |
同左 |
| 待确认操作 |
查看、确认接诊、拒绝接诊 |
同左 |
| 已确认操作 |
查看、完成接诊 |
查看、完成接诊 |
| 已完成操作 |
仅查看 |
查看、查看评价 |
| 详情-评价信息 |
不展示星级与综合评价 |
已完成展示到场准时/服务态度/指导效果/综合评价 |
| 评价列表弹窗 |
无 |
有(评价人、评价时间、综合评价) |
若产品要求三端「已完成」体验一致,须单独立项将评价能力扩展到兽医端;本期以兽医草稿为准,不实现评价相关功能。
3.4 与机构模块的差异(本期范围)
| 能力 |
兽医(本文档) |
机构(关联文档) |
| 列表字段 |
完整(含时段、地址、需求、拒绝理由) |
精简(预约人、日期、电话、状态) |
| 详情字段 |
同列表业务字段 |
含时段、地址、需求(详情比列表全) |
| 接单 |
有 |
无 |
| 状态筛选 |
五种 |
三种(已预约/已取消/已完成) |
机构侧为登记查看型;兽医侧为接单处置型,与专家侧处置逻辑对齐。
3.5 与上下游模块关系
| 上游/平行模块 |
关系 |
| 畜牧医疗资源管理 |
兽医须已发布且已分配账号,本模块才有数据与菜单入口;服务时段、服务周日、接诊方式等由资源管理维护,在用户提交预约时校验,本模块展示结果即可(单日最大接诊人数仅诊疗机构资源维护,不适用于兽医) |
| 移动端预约服务 |
用户选择兽医、填写预约信息并提交 → 生成 待确认 预约单;用户可在待确认/已确认等态取消 → 本模块见 已取消 |
| 我的预约(机构) |
同一「预约服务」产品不同 Tab;数据隔离,不交叉列表 |
| 我的预约(专家) |
同属预约服务族但业务域与资源表不同;数据隔离 |
| 在线接诊(兽医)(若实施) |
可与 已确认 预约衔接现场服务;完成服务后由业务规则将状态置为 已完成(具体触发方式由整体方案约定,本模块负责展示与只读) |
4. 预约状态与状态机(兽医)
4.1 状态定义
| 状态 |
含义 |
本模块可执行操作 |
| 待确认 |
用户已提交,等待兽医确认或拒绝 |
查看、确认接诊、拒绝接诊 |
| 已确认 |
兽医已确认,待履约 |
查看、完成接诊 |
| 已拒绝 |
兽医已拒绝 |
仅查看(须能看拒绝理由) |
| 已取消 |
预约已取消(通常为用户侧) |
仅查看 |
| 已完成 |
服务已结束 |
仅查看 |
4.2 状态迁移(兽医侧动作与用户侧)
stateDiagram-v2
[*] --> 待确认: 用户提交预约
待确认 --> 已确认: 兽医确认接诊
待确认 --> 已拒绝: 兽医拒绝接诊(必填理由)
待确认 --> 已取消: 用户取消
已确认 --> 已完成: 服务完成(业务闭环)
已确认 --> 已取消: 用户取消(若规则允许)
兽医侧不得将状态改为「已取消」或「已完成」;不得对已确认/已拒绝/已取消/已完成记录再次确认或拒绝。
4.3 并发与幂等
- 对同一条 待确认 记录,确认接诊与拒绝接诊互斥;成功后状态变更,重复点击应提示「当前状态不允许该操作」。
- 若用户同时将预约取消为 已取消,兽医侧确认/拒绝应失败并提示状态已变更。
5. 功能范围
5.1 本期实现
| 能力 |
说明 |
| 分页列表 |
筛选 + 默认仅当前兽医预约;§6.1 |
| 查看详情 |
全字段只读;§6.2 |
| 确认接诊 |
仅 待确认;§6.3 |
| 拒绝接诊 |
仅 待确认;必填拒绝理由;§6.4 |
5.2 本期不实现
- 查看评价、详情内星级与综合评价(见 §3.3,专家模块已有)
- 兽医主动取消预约、代用户改期、改地址
- 导出、批量确认/拒绝、消息推送配置
- 机构/专家预约的跨类型查询
6. 详细功能需求
6.1 预约记录列表
| 项 |
规则 |
| 数据范围 |
仅当前登录账号绑定兽医的预约记录 |
| 分页 |
默认每页 20 条 |
| 排序 |
默认 预约日期倒序,同日按 创建时间倒序(或预约时段开始时间倒序,以实现为准,须稳定) |
| 工具栏 |
搜索、重置 |
筛选条件
| 筛选项 |
规则 |
| 预约人 |
选填;对预约人姓名 模糊匹配 |
| 预约日期 |
选填;起止日期 startDate、endDate(yyyy-MM-dd);含起止日当天;startDate 不得晚于 endDate |
| 状态 |
选填;精确匹配五种状态之一;空则不过滤 |
列表列(展示)
| 列名 |
说明 |
| 预约人 |
— |
| 预约日期 |
yyyy-MM-dd |
| 预约时段 |
HH:mm~HH:mm(开始~结束) |
| 联系电话 |
— |
| 服务地址 |
过长可截断,详情看全文 |
| 服务需求 |
过长可截断 |
| 状态 |
标签展示,五种枚举 |
| 拒绝理由 |
已拒绝时展示;其他状态可为空或「—」 |
| 操作 |
见 §7 |
6.2 查看预约详情
| 项 |
规则 |
| 入口 |
任意状态均可「查看」 |
| 形式 |
弹窗或详情页,只读 |
| 字段 |
预约人、预约日期(yyyy-MM-dd)、预约时段(HH:mm~HH:mm)、联系电话、服务地址、服务需求、状态 |
| 拒绝理由 |
当状态为 已拒绝 时必须展示;其他状态不展示或展示为空 |
| 评价相关 |
本期不展示(与专家模块区分) |
6.3 确认接诊
| 项 |
规则 |
| 前置 |
状态为 待确认;记录属于当前登录兽医 |
| 操作 |
用户点击「确认接诊」;宜二次确认(「确定接受该预约?」) |
| 结果 |
状态变为 已确认;记录操作人、操作时间(审计,若平台统一要求) |
| 拒绝 |
非待确认、已取消等 → 「当前状态不允许确认接诊」 |
| 成功后 |
列表刷新;移动端用户侧应同步为已确认(由整体预约服务保证) |
6.4 拒绝接诊
| 项 |
规则 |
| 前置 |
状态为 待确认;记录属于当前登录兽医 |
| 操作 |
用户点击「拒绝接诊」→ 弹出表单 |
| 拒绝理由 |
必填;trim 后 1~100 字(字符计);空或超长校验失败 |
| 结果 |
状态变为 已拒绝;拒绝理由落库并回显于列表/详情 |
| 取消弹窗 |
不提交则状态不变 |
| 拒绝 |
非待确认 → 「当前状态不允许拒绝接诊」 |
7. 操作与权限矩阵
| 操作 |
待确认 |
已确认 |
已拒绝 |
已取消 |
已完成 |
| 查看 |
✓ |
✓ |
✓ |
✓ |
✓ |
| 确认接诊 |
✓ |
— |
— |
— |
— |
| 拒绝接诊 |
✓ |
— |
— |
— |
— |
| 完成接诊 |
— |
✓ |
— |
— |
— |
- 模块级:列表查询、详情、确认、拒绝 须按按钮粒度授权(具体标识由技术方案定义)。
- 无「兽医」绑定关系的账号不应看到本菜单或列表为空。
8. 业务流程
8.1 模块总览
flowchart TD
A[兽医登录后台] --> B[进入我的预约兽医]
B --> C[列表筛选]
C --> D{选择记录}
D --> E[查看详情]
D --> F{状态?}
F -->|待确认| G[确认接诊]
F -->|待确认| H[拒绝接诊+理由]
F -->|其他| E
G --> I[已确认]
H --> J[已拒绝]
8.2 与移动端协同(牧民侧摘要)
- 用户在「预约服务」选择兽医、日期时段并提交 → 兽医侧出现 待确认。
- 兽医 确认 → 用户侧 已确认;兽医 拒绝 → 用户侧 已拒绝并可见理由。
- 用户在允许状态下 取消 → 兽医侧 已取消,确认/拒绝按钮消失。
- 服务完成后业务置 已完成 → 兽医侧仅可查看(本期无评价入口)。
9. 提示约定(示例)
| 场景 |
示例文案 |
| 筛选 |
「结束日期不能早于开始日期」 |
| 拒绝理由 |
「请填写拒绝理由」「拒绝理由不能超过 100 字」 |
| 状态 |
「当前状态不允许确认接诊」「当前状态不允许拒绝接诊」「该预约已取消,无法操作」 |
| 范围 |
「未绑定兽医资源,无法查询预约」 |
| 成功 |
「确认接诊成功」「拒绝接诊成功」 |
10. 非功能建议
- 列表查询须带当前兽医 ID 条件,防止越权。
- 确认/拒绝写操作日志。
- 日期、时段展示格式与移动端、机构/专家模块保持一致。
- 界面支持 i18n;状态标签颜色可与原型一致(待确认/已确认/已拒绝/已取消/已完成)。
11. 修订记录
| 版本 |
说明 |
| 2.0 |
依据兽医草稿与原型重写;补充与机构、专家关联分析;状态机与操作矩阵;明确本期不做评价;剔除技术栈与接口表述 |