运输计划功能优化PRD【客户成功专项】

网络货运平台 · 货主端 + 司机端 · 运输计划校验规则优化
目录
1. 文档信息
2. 需求背景与目标 优化需求
2.1 需求背景
2.2 需求目标
2.3 需求范围
3. 用户角色与使用场景
4. 名词解释
5. 现有业务规则 现有规则
5.1 车数数据模型
5.2 抢单与报号机制
5.3 修改计划约束
5.4 运单状态计数
5.5 两种计划模式
6. 业务流程图(优化前后对比)
6.1 优化1:创建运输计划
6.2 优化2:修改运输计划
7. 功能清单
8. 详细功能说明
8.1 交互说明
8.2 业务规则(优化后)
8.3 异常与边界处理
9. 附录

1. 文档信息 必填

项目内容
文档名称运输计划功能优化 - 创建/修改运输计划校验规则优化
需求编号RR20260623274028
需求名称【客户成功专项】运输计划功能优化
所属端货主端PC/APP + 司机端APP/小程序
版本号V1.1
编写人刘宁宁
编写日期2026-06-25
修订日期2026-07-22

修订记录

版本日期修订内容修订人
V1.02026-07-16①规则修正:已计划=0时司机端货源大厅不可见(原为可见但无法抢单);剩余可抢单=0时同样不可见,且再来一单/扫码抢单均不可用;②补充APP端文件说明刘宁宁
V1.12026-07-22①补充"运输计划不影响订单状态"总则;②优化1补充:已计划=0时不影响订单状态,货主可正常发货;③优化2补充:明确已计划≥已抢单约束,剩余可抢单=0时司机端不可见、扫码和再来一单均不可用;④名词解释新增"订单状态"术语;⑤修正剩余可抢单公式:区分每日维度(每日剩余=当日已计划−当日已抢单)和总维度(总剩余=今日及未来各天每日剩余之和),明确总剩余≠总已计划−总已抢单,过去日期名额不结转;⑥区分按日期计划/每日不限量模式下已计划的计算方式刘宁宁

2. 需求背景与目标 优化需求

2.1 需求背景

当前运输计划在创建和修改环节存在以下校验限制,影响了货主的业务灵活性:

2.2 需求目标

优化点场景原规则新规则涉及文件
优化1创建运输计划已计划=0 → 拦截已计划=0 → 允许创建ship.html
优化2修改运输计划剩余可抢单=0 → 拦截剩余可抢单=0 → 允许保存ship.html + order-detail.html
核心业务逻辑:
  • 优化1:已计划=0时,司机端货源大厅不可见;货主后续将已计划调整为>0时,司机才能抢单
  • 优化2:剩余可抢单=0(已计划=已抢单)时,司机端货源大厅不可见,同时再来一单、扫码抢单等均不可抢单;但已抢单的运单正常执行
📌 运输计划与订单状态的关系(重要):
运输计划中的数值变化(无论已计划车数是否为0、剩余可抢单车数是否为0)只是运输计划层面的数值,不影响订单整体状态
真正影响订单状态的是订单车数(总车数)和订单总吨数
因此:
- 货主发单时已计划=0 → 不影响订单状态,货主可以正常发货,发货成功后正常进入后续流程
- 货主修改计划后剩余可抢单=0 → 不改变订单状态,仅影响司机端可见性和抢单能力

2.3 需求范围

⚠️ 跨业务线协同(重要):
除货主端外,成丰货运中台、成丰助手(内部CRM)也有修改运输计划的入口。本次优化涉及的校验规则变更(优化1、优化2),需要其他业务线产品配合,确保中台和CRM侧的修改入口同步适配新的校验逻辑,各入口行为保持一致。
(来源:用户2026-07-06补充确认)

3. 用户角色与使用场景 必填

3.1 用户角色

角色说明涉及优化使用端
货主创建和修改运输计划,设定订单车数和已计划车数优化1 + 优化2PC / APP
司机查看运输计划并抢单(报号)间接影响:已计划=0时货源大厅不可见APP / 小程序
平台审核司机报号,审核通过后生成运单间接影响:优化后报号占位机制不变系统运营中台

3.2 核心使用场景

场景1(创建运输计划,已计划车数为0):
货主发布一条从长沙到广州的货源,订单车数设为50车(总需求),但目前运力计划尚未确定,先填已计划车数为0,点击创建。系统允许创建,货源订单发布成功。司机端货源大厅不可见该货源信息。待货主确认运力后,在订单详情页将已计划车数调整为20车,剩余可抢单变为20车,司机端货源大厅即可看到该货源并可抢单。

场景2(修改运输计划,剩余可抢单为0):
货主有一个已计划20车的运输计划,已抢单10车,剩余可抢单10车。因业务变化,货主将已计划从20车修改为10车,此时剩余可抢单=已计划−已抢单=10−10=0。系统允许保存,不再拦截。修改后,司机端货源大厅不可见该货源,同时再来一单、扫码抢单等均不可抢单,但已抢单的10车运单正常执行。

4. 名词解释 必填

术语说明备注
货源订单货主发布的货源信息,包含线路、货物、订单车数等
订单车数货主发布货源时填写的预计总需求车数(如50车)。订单车数是货源的整体需求量不受本次优化影响
运输计划货主对货源订单的运输安排,包含已计划车数等信息,发布后开放给司机抢单
已计划车数货主当前已安排运输计划的车数(属于订单车数内的部分)。本次优化后,创建时已计划车数可以为0如订单50车,已计划20车,还有30车未计划
报号司机抢单后,系统将司机报号信息推送至企业微信、系统中台,由系统中台进行审核。审核通过后才生成运单审核期间占位,防止超抢
报号单数当前处于"审核中"状态的司机报号数量(车数)属于已抢单的一部分
已生成运单数报号审核通过后生成的运单数量(车数)属于已抢单的一部分
已抢单车数= 报号单数 + 已生成运单数。运输计划中已被司机抢单(含审核中+已生成运单)的车数属于已计划内的
剩余可抢单车数已计划内尚未被抢单的车数。
【每日维度】每日剩余可抢单 = 当日已计划 − 当日已抢单(司机抢单时按日维度校验)
【总维度(页面展示)】总的剩余可抢单 = 今天及未来各天的每日剩余可抢单之和(过去日期的每日剩余视为0)。
注意 总的剩余可抢单 ≠ 总已计划 − 总已抢单,因为过去日期的名额不可结转到未来。本次优化2后,修改时剩余可抢单可以为0
当剩余=0时,司机端货源大厅不可见,同时再来一单、扫码抢单等均不可抢单
剩余还未计划车数订单车数中尚未安排运输计划的车数。公式:剩余还未计划 = 订单车数 − 已生成运单数注意:此"剩余"与"剩余可抢单"含义不同
成丰派车通过成丰平台(网络货运平台)进行派车的部分修改计划时的派车方式之一
自己派车货主自行安排派车的部分(不通过成丰平台)修改计划时的派车方式之一
待装车数当前处于"待装货"状态的运单数量(车数)独立于其他数据,仅表示运单状态对应数量
待卸车数当前处于"待卸货"状态的运单数量(车数)独立于其他数据,仅表示运单状态对应数量
待收货审核车数当前处于"待收货审核"状态的运单数量(车数)独立于其他数据,仅表示运单状态对应数量
按日期计划货主制定每日的运输计划,司机按当日车数抢单。当日车数=0时司机不可抢当日,但可抢明日、后天的计划模式之一
每日不限量司机可随意抢单,不受每日车数限制。剩余司机可抢 = 订单车数 − 已抢单车数计划模式之一
订单状态货源订单的整体状态(如待接单、运输中、已完成等)。订单状态由订单车数(总车数)和订单总吨数驱动,不受运输计划中的已计划车数或剩余可抢单车数影响本次优化明确:运输计划数值变化不改变订单状态

5. 现有业务规则 现有规则

说明:以下9条为运输计划功能的现有业务规则,经当前负责测试的同学和前任产品经理确认(2026-07-06)。这些规则描述的是产品当前的运行逻辑,不是本次优化需求的内容。供研发、测试等所有相关需求迭代同学作为信息同步和参考依据。后续如有变化会更新。

5.1 车数数据模型

📌 重要理解前提:操作维度 vs 展示维度
本系统的运输计划在设置和修改时,是按日期维度操作的——货主设置的是每日的计划车数(如今天10车、明天10车),系统自动累加得出汇总数据。
页面中的数据展示分为两种
· 三个汇总卡片(已计划、已抢单、剩余可抢单)→ 展示总数据(各日累加结果)
· 日历/日期视图 → 展示对应日期的每日数据(如日历上今天显示今日已计划10车、已抢单8车、剩余2车)
司机抢单时也是按日操作——选择抢单日期,系统校验当日的剩余可抢单。
📌 车数数据模型(理解运输计划的前提)
术语含义示例归属
订单车数货主发布货源时的预计总需求车数50车货源订单
已计划车数货主当前已安排运输计划的车数(属于订单车数内的)20车运输计划
已抢单车数= 报号单数 + 已生成运单数(审核中占位 + 已生成运单)10车运输计划
剩余可抢单车数已计划内尚未被抢单的车数10车运输计划
每日公式:每日剩余可抢单 = 当日已计划 − 当日已抢单
总公式(页面卡片展示):总的剩余可抢单 = 今日及未来各天的每日剩余可抢单之和
另一公式:剩余还未计划 = 订单车数 − 已生成运单数
示例:订单车数50,已计划20 → 还有30车未计划;已计划20中,已抢单10 → 剩余可抢单10
注意1:"剩余还未计划"与"剩余可抢单"含义不同:"剩余还未计划"是订单层面(还有多少车没做计划),"剩余可抢单"是计划层面(已做的计划中还有多少车没被抢)
注意2:总剩余可抢单 ≠ 总已计划 − 总已抢单。过去日期的每日剩余可抢单在当日后系统视为0(司机不能抢过期日子的单),因此总剩余计算时不包含过去日期。
1 已抢单 = 报号单数 + 已生成运单数
已抢单车数包含两部分:司机报号后处于"审核中"的报号单数,以及审核通过后已生成的运单数。两者相加构成已抢单车数。

5.2 抢单与报号机制

2 报号占位机制
司机抢单后,系统将司机报号信息推送至企业微信、系统中台,由系统中台进行审核。审核通过后才生成运单。在审核过程中,已抢单被占位,防止司机超抢。因此,已抢单车数有可能大于已计划车数(因为审核中的报号也占位计入已抢单)。

5.3 修改计划约束

3 "剩余XX车还未计划" = 订单车数 − 已生成运单数
修改计划区块中展示的"(剩余XX车还未计划)",此处的车数 = 订单车数 − 已生成运单数。注意:此处用的是"已生成运单数",而非已计划或已抢单。
4 成丰派车 + 自己派车 ≤ 剩余还未计划车数
货主修改计划时,成丰派车数量与自己派车数量的总和,不得超过"剩余还未计划车数"(即订单车数 − 已生成运单数)。
5 已计划与已抢单关系
按日期计划模式:总的已计划 = 每日计划之和,每日已计划 = 货主为该日设定的计划车数。
每日不限量模式:每日已计划 = 上一日的结余(第一天 = 订单车数,第二天 = 第一天的结余),总的已计划 = 各日不限量额度之和。
通用约束:已计划车数不得小于已抢单车数(已计划 ≥ 已抢单)—— 这是现有约束,本次优化不改动此规则。
(关于总/每日维度的详细区分,参见业务规则文档)

5.4 运单状态计数

6 已计划、已抢单、剩余可抢单指的都是车数
7 待装车、待卸货、待收货审核指的都是车数,但不受其他数据影响
这三个数独立于已计划、已抢单等数据,仅表示当前运单状态对应的运单数量(车数)。如:待装车3车表示当前有3个运单处于"待装货"状态。

5.5 两种计划模式

8 按日期计划模式
货主制定每日的运输计划。每日维度:司机抢单时选择日期,系统校验当日剩余可抢单 = 当日已计划 − 当日已抢单总维度:总的已计划 = 每日计划之和,总的剩余可抢单 = 今天及未来各天的每日剩余之和。
当日车数=0时,司机不可以抢当日,但司机可以抢明日、后天的计划车数(最远2个月)。
过去日期的剩余可抢单视为0(名额不可过日结转)。
9 每日不限量模式
没有货主设定的"每日计划",司机可以随意抢单。每日已计划由系统按结余自动计算:第一天 = 订单车数,第二天 = 第一天的结余,以此类推。
总的剩余可抢 = 订单车数 − 已抢单车数(订单层面)。
(详见业务规则文档)
⚠️ 以上9条规则为现有业务规则,描述的是产品当前的运行逻辑。本次优化需求只改动2个校验规则(详见第2章),不改动上述现有规则。9条规则记录于此,供研发、测试等所有相关同学作为信息同步和参考依据。

6. 业务流程图(优化前后对比) 优化需求

6.1 优化1:创建运输计划流程(已计划可为0)

货主创建运输计划时,系统允许已计划车数为0,不再强制拦截。此时为新订单,不存在已抢单车数(已抢单=0)。

货主 系统 结果 创建运输计划 填写货源信息:订单车数(如50车)、线路、货物等 已计划车数可填0或任意正整数(≤订单车数) 校验已计划车数 原规则:已计划=0 → 拦截;新规则:已计划=0 → 允许 已计划车数 = 0? 否(>0) ✅ 创建成功 已计划 > 0 剩余可抢单 = 已计划 司机可正常抢单 ✅ 创建成功 已计划 = 0 剩余可抢单 = 0 司机端货源大厅不可见 说明:创建时为新订单,此时不存在已抢单车数。优化后已计划车数可以为0。

6.2 优化2:修改运输计划流程(剩余可抢单可为0)

货主修改运输计划的已计划车数时,系统允许剩余可抢单车数为0(即已计划=已抢单),不再拦截。

货主 系统 结果 修改运输计划的已计划车数 当前:已计划20车,已抢单10车,剩余可抢单10车 修改已计划为任意值(可=已抢单,可=0) 计算:剩余可抢单 = 修改后已计划 − 已抢单车数 原规则:剩余=0 → 拦截;新规则:剩余=0 → 允许保存 修改后已计划 < 已抢单? ❌ 拦截保存 提示:已计划不能小于已抢单数 ✅ 允许保存 剩余可抢单 > 0:司机可继续抢单 剩余可抢单 = 0:司机端货源大厅不可见 再来一单、扫码抢单等均不可用 (已计划=已抢单 或 已计划=0且已抢单=0) 说明:优化后剩余可抢单可以为0(已计划=已抢单),但仍不允许已计划 < 已抢单数

7. 功能清单 必填

序号功能模块功能点适用端优先级说明
1创建计划校验优化创建运输计划时允许已计划车数为0货主PC / 货主APPP0原规则拦截已计划=0,优化后允许创建。已计划=0时司机端货源大厅不可见
2修改计划校验优化修改运输计划时允许剩余可抢单车数为0货主PC / 货主APPP0原规则拦截剩余可抢单=0,优化后允许保存。剩余=0时司机端货源大厅不可见,同时再来一单、扫码抢单等均不可抢单
3司机端展示适配已计划为0 / 剩余可抢单为0时的司机端展示司机APP / 小程序P0已计划=0或剩余可抢单=0时,该货源在司机端货源大厅均不展示

优先级说明:P0=必须有(MVP),P1=重要(本期),P2=锦上添花(后续迭代)

8. 详细功能说明 必填

8.1 交互说明

8.1.1 优化1:创建运输计划(已计划可为0)交互

触发条件用户操作系统响应
已计划车数 > 0货主填写货源信息(订单车数如50车),已计划车数设为正整数(如20车),点击"创建"创建成功,运输计划发布,剩余可抢单=已计划,司机端可正常抢单
已计划车数 = 0货主填写货源信息(订单车数如50车),已计划车数设为0,点击"创建"创建成功,运输计划发布,剩余可抢单=0,司机端货源大厅不可见该货源
创建页面提示规则:
  • 已计划车数输入为0时,输入框下方提示"已计划车数为0,司机端货源大厅不可见,请后续调整车数后开放抢单"
  • 提示为信息性质(非警告),不阻止提交
  • 已计划车数不应超过订单车数(如订单50车,已计划不应超过50车)

8.1.2 优化2:修改运输计划(剩余可抢单可为0)交互

触发条件用户操作系统响应
修改后剩余可抢单 > 0货主修改已计划车数并点击"保存"保存成功,提示"修改成功",司机端可继续抢单
修改后剩余可抢单 = 0(即已计划 = 已抢单)货主修改已计划车数并点击"保存"保存成功,提示"修改成功,剩余可抢单为0,司机端货源大厅不可见,同时再来一单、扫码抢单等均不可抢单"
修改后已计划 < 已抢单货主修改已计划车数并点击"保存"系统拦截保存,提示"已计划车数不能小于已抢单车数(当前已抢单X车)",已计划恢复为修改前值
修改计划页面实时提示:
  • 货主修改已计划车数时,输入框下方实时展示"当前已抢单:X车,修改后剩余可抢单:Y车"(Y = 新已计划 − 已抢单)
  • 当 Y = 0 时,输入框下方提示"剩余可抢单为0,司机端货源大厅不可见,同时再来一单、扫码抢单等均不可抢单"(信息提示,非拦截)
  • 当 新已计划 < 已抢单 时,输入框下方标红提示"已计划车数不能小于已抢单车数",保存按钮置灰

8.2 业务规则(优化后)

8.2.1 创建运输计划规则(优化后)

8.2.2 修改运输计划规则(优化后)

校验逻辑汇总(优化前后对比):
场景条件原规则结果新规则结果
创建计划已计划 = 0❌ 拦截,提示不能为0✅ 允许创建,司机端货源大厅不可见
创建计划已计划 > 0✅ 正常创建✅ 正常创建(无变化)
修改计划剩余可抢单 = 0(已计划=已抢单)❌ 拦截,提示剩余不能为0✅ 允许保存,司机端货源大厅不可见,同时再来一单、扫码抢单等均不可抢单
修改计划剩余可抢单 > 0✅ 正常保存✅ 正常保存(无变化)
修改计划已计划 < 已抢单❌ 拦截❌ 拦截(无变化)

8.3 异常与边界处理

异常场景处理方式
创建计划时已计划为0允许创建,司机端货源大厅不可见该货源
修改后剩余可抢单为0(已计划=已抢单)允许保存,司机端货源大厅不可见该货源,再来一单、扫码抢单均不可用
创建/修改时网络异常提示"网络异常,请重试",不改变已有数据
已计划为0但有司机试图抢单服务端校验拦截,返回"已计划车数为0,暂不可抢单"
修改后已计划 < 已抢单仍然拦截,提示"已计划车数不能小于已抢单车数"
货主将已计划从0调整为>0后司机端货源大厅可见该货源,司机可正常抢单
已抢单为0时修改计划无限制,修改已计划为任意值(含0)均可,剩余可抢单 = 已计划
已计划超过订单车数提示"已计划车数不能超过订单车数(当前订单X车)"
报号审核期间占位导致已抢单>已计划此为现有机制(规则2),本次不改动。审核拒绝后报号释放,已抢单回落

9. 附录 选填

需求来源

【客户成功专项】运输计划功能优化

现有业务规则确认来源

当前负责运输计划测试的同学 + 前任产品经理(2026-07-06确认),后续如有变化会更新

原型文件

说明:本PRD为【客户成功专项】运输计划功能优化需求,V1.1版本。
优化需求(2点):①创建运输计划时已计划车数可为0;②修改运输计划时剩余可抢单车数可为0。
运输计划与订单状态:运输计划数值变化(已计划/剩余可抢单是否为0)不影响订单状态,订单状态由订单车数和订单总吨数驱动。
现有业务规则(9条):第5章记录了经测试+前产品经理确认的运输计划现有运行逻辑,供所有相关同学参考,与优化需求明确区分。