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