# 02 V1.0 产品需求文档(PRD) ## 1. V1.0 目标 交付可真实投入公益服务的第一版: - 群众能找到服务、提交申请、看进度、给反馈; - 家属/社区/志愿者能代申请; - 工作人员能受理、建档、派单、留痕、回访; - 志愿者能注册、报名活动; - 管理员能管理项目、内容、人员、权限和统计。 --- ## 2. 用户角色 ### 2.1 PUBLIC 普通公众。浏览公益项目、活动、组织介绍、参与入口。 ### 2.2 APPLICANT 申请人。可以是服务对象本人,也可以是代申请人。 ### 2.3 BENEFICIARY 服务对象。老人、困境妇女、困境儿童、残疾人及其他困难群体。 ### 2.4 VOLUNTEER 志愿者。 ### 2.5 STAFF 公益工作人员。 ### 2.6 PROJECT_MANAGER 公益项目负责人。 ### 2.7 ADMIN 系统管理员。 ### 2.8 SUPER_ADMIN 仅限极少数技术/管理人员,用于系统级配置,日常不使用。 --- ## 3. 小程序信息架构 底部 Tab 建议: 1. 首页 2. 服务 3. 公益 4. 我的 ### 首页 - Logo/品牌语 - 我需要帮助 - 帮他人申请 - 为老服务 - 妇女帮扶 - 儿童关爱 - 残疾人帮扶 - 最新公益项目 - 最新活动 - 我要做公益 ### 服务 - 服务分类 - 帮扶服务(原“服务申请”的公众端名称) - 我的帮扶服务 - 服务进度 - 我的反馈 - 联系乐活 ### 公益 - 公益项目 - 公益动态 - 公益活动 - 志愿者招募 - 企业/资源合作 - 乐活公益介绍 ### 我的 根据身份动态显示: - 微信登录/绑定手机号 - 我的资料 - 我的服务申请 - 我的活动 - 志愿者资料 - 我的志愿服务 - 消息 - 隐私设置 - 联系客服 --- ## 4. 服务申请 > 公众端统一使用“帮扶服务/帮扶需求”文案;本节“服务申请”是内部业务模型名称,不修改既有 API、状态机和数据口径。 ### 4.1 申请类型 - OLD_AGE:老年关爱/为老服务 - WOMEN:困境妇女 - CHILD:困境儿童 - DISABILITY:残疾人帮扶 - LIFE_DIFFICULTY:生活困难 - OTHER:其他 ### 4.2 申请身份 - SELF:本人申请 - FAMILY:家属代申请 - COMMUNITY:社区/机构代申请 - VOLUNTEER:志愿者代申请 - OTHER:其他 ### 4.3 最小字段 - 服务类别 - 申请人与服务对象关系 - 服务对象姓名或称呼 - 联系方式 - 所在区域(不默认要求精确门牌) - 需求描述 - 隐私授权确认 ### 4.4 可选字段 - 图片/附件 - 期望联系时间 - 是否行动不便 - 是否需要上门 - 紧急程度(用户只能表达,最终等级由工作人员评估) - 语音描述(二期可增强) ### 4.5 提交 提交后: - 生成不可预测的业务编号; - 显示“已收到”; - 明确说明后续由工作人员联系; - 不承诺超出机构能力的即时救援; - 若用户选择明显紧急风险,应提示联系 110/120 等适当公共紧急服务,但具体文案由运营审核。 --- ## 5. 服务申请状态机 ```text SUBMITTED ↓ PENDING_CONTACT ↓ ASSESSING ├─→ REJECTED/OUT_OF_SCOPE ├─→ REFERRED ↓ ACCEPTED ↓ SERVICE_PLANNED ↓ IN_SERVICE ↓ SERVICE_COMPLETED ↓ FOLLOW_UP_PENDING ↓ CLOSED ``` 可增加: - CANCELLED - SUSPENDED 规则: - 状态变化必须记录历史; - 不可跳过关键节点,除管理员执行带原因的纠正操作; - 关闭后再次产生需求,应创建新申请/跟进记录,而不是覆盖旧记录。 --- ## 6. 服务对象档案 每个 Beneficiary 一人一档。 核心字段: - 基础身份 - 联系信息 - 联系人/监护人 - 所属服务类别 - 地址分级信息 - 风险/关爱标签 - 备注 - 是否重点关爱 - 档案状态 严禁把所有信息塞入一个 JSON 字段。 儿童、残疾、健康、家庭困难等敏感字段应按实际必要性分表/分域并控制权限。 --- ## 7. 工单 服务申请被接受后创建 Service Case / Work Order。 字段: - 工单编号 - beneficiary_id - application_id - project_id(可空) - 服务类别 - 负责人 - 计划日期 - 服务地点 - 服务说明 - 当前状态 - 优先级 - 完成时间 - 结果摘要 - 后续计划 工单可关联多个执行人/志愿者,但只有一个责任负责人。 --- ## 8. 服务记录 一次工单可有多次服务记录。 记录: - 服务时间 - 服务类型 - 服务人员 - 服务内容 - 服务结果 - 图片附件 - 服务对象确认情况 - 后续建议 - 创建人 服务记录创建后若修改,必须保留修订痕迹或审计日志。 --- ## 9. 回访 回访任务来源: - 服务完成自动创建; - 重点关爱对象周期任务; - 工作人员手工创建。 回访结果: - SATISFIED - GENERALLY_SATISFIED - UNSATISFIED - NEED_MORE_HELP - UNREACHABLE - OTHER 若 `NEED_MORE_HELP`: - 必须支持一键创建后续申请/工单; - 不能只保存文字然后无人处理。 --- ## 10. 志愿者 注册字段遵循最小必要: - 姓名 - 手机 - 所在区域 - 可服务时间 - 技能标签 - 感兴趣领域 - 紧急联系人(仅确有管理需要时) - 志愿者状态 状态: - APPLIED - APPROVED - REJECTED - SUSPENDED - INACTIVE 志愿者默认不能查看完整服务对象档案。 --- ## 11. 公益活动 活动: - 标题 - 封面 - 项目 - 时间 - 地点 - 招募人数 - 报名截止时间 - 说明 - 状态 状态: - DRAFT - PUBLISHED - REGISTRATION_CLOSED - IN_PROGRESS - COMPLETED - CANCELLED 报名: - 用户 - 志愿者身份 - 报名时间 - 审核状态 - 签到状态 - 服务时长 --- ## 12. 公益项目 项目用于: - 展示; - 归集服务工单; - 统计服务成果; - 后续政府购买服务项目管理。 V1 字段: - 项目名称 - 项目类别 - 简介 - 详细介绍 - 封面 - 项目周期 - 状态 - 是否公开 - 负责人 - 目标人数(可空) - 排序 --- ## 13. 内容管理 内容类型: - 机构介绍 - 公益动态 - 服务故事 - 通知公告 - 常见问题 内容必须支持草稿和发布,不允许编辑即立即对外。 涉及服务对象故事: - 必须有内容审核流程; - 展示前脱敏; - 未授权不得公开身份性信息。 --- ## 14. 消息通知 V1: - 站内消息 - 微信订阅消息(按微信平台能力和用户授权使用) 事件: - 申请提交 - 申请状态变化 - 服务安排 - 服务完成 - 待评价/回访 - 活动报名结果 通知失败不能回滚主交易。 --- ## 15. Web 后台 一级菜单: - 工作台 - 服务申请 - 服务工单 - 服务对象 - 回访管理 - 公益项目 - 公益活动 - 志愿者 - 内容管理 - 数据统计 - 用户与权限 - 系统设置 - 审计日志(高权限) 工作台至少展示: - 新申请 - 待联系 - 评估中 - 服务中 - 待回访 - 今日服务 - 超期任务 - 重点关爱提醒 --- ## 16. 数据统计 V1 统计以真实业务数据计算: - 申请数 - 受理数 - 完成服务数 - 服务人次 - 去重服务对象数 - 各服务类别数量 - 志愿者数量 - 活动数量 - 志愿服务时长 不得用手工填写数字覆盖真实统计结果。 --- ## 17. 财务公开文档 经用户批准,财务公开采用文档发布方式,不建设财务核算或在线募捐系统。工作人员在本地完成文档后,可在管理后台导入 `.docx`、继续编辑基础富文本排版、预览并发布;公众在小程序“公益”页查看已发布文档列表和详情。 最小字段为标题、可选摘要、富文本正文、草稿/已发布/已归档状态、置顶、排序、revision、发布时间和创建/更新人员。首版不包含支付、捐赠订单、银行流水同步、结构化收支录入、金额统计或复杂审批。