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