配送员软件

任务、路线、状态和送达确认都在一个应用里

只有两个配送员的时候,配送靠打电话和聊天撑着:地址发在即时通讯里,行车顺序口头说一说,问「订单在哪」就由最先打通配送员电话的人来回答。配送单量一上来这就不行了——任务会丢、状态跟不上现实,「到底送没送」的争执也没有依据可查。配送员软件把这种工作方式去掉:任务进到执行人的应用里,状态由送货的人在动作发生的那一刻来标记,交付事实连同时间和操作者一并记录。以下讲解它是怎么运作的——从派单到收班。

面向配送员的程序

是什么

配送员软件 — 执行人的作业工具:它把当班任务送到配送员手上,显示地址和订单内容,带着他从一个站点走到下一个,并记录每个站点上发生了什么。从公司这一侧看,这就是 配送管理:调度员不必挨个打电话,就能看到谁在哪里、什么已经完成。

一个例子就能看出区别。没有程序时,配送员在聊天里拿到地址,打电话给客户问哪个单元门,晚上再向调度员口述今天送了什么。调度员把这些抄进表格——前提是他记得,而且配送员没记乱。到了一天结束,谁也说不出某个订单确切的交付时间。

在程序里,这一切都是记录。一单配送有一张卡片,卡片上有地址、内容、时间窗和当前状态,每一次变更都有时间和操作者。回答「订单在哪、它身上发生过什么」只要几秒钟,而且不取决于配送员接不接电话。

举个例子。 早上订单在仓库拣好并派给了配送员——任务连同地址和配送时间窗一起出现在他的应用里。配送员取了货、标记了领取、按站点跑起来,每到一站就改一次状态。第三个地址上客户不在家——配送员填了原因,这一单没有「消失」,而是进入调度员的排查队列。傍晚业务员按系统里的记录答复客户,而不是按配送员的记忆。

配送自动化 的起点,是当三个问题的答案再也装不进调度员的脑子时:这个订单派给了谁、它此刻处于什么状态,以及有什么能证明它已经交付。

完整的工作流程从订单到关闭任务
  • 1订单
  • 2分配
  • 3取货
  • 4路线
  • 5配送
  • 6确认
  • 7结束

这是一单配送走的路,而不是程序界面的清单。每一次流转都由人、在动作发生的那一刻完成:调度员派单,取货和交付由配送员标记。因此系统显示的是配送的状态,而不是排单那个人的意图。

配送员在车和备好的订单旁用智能手机查看任务

配送员在每项任务上看到什么

  • 运什么 — 订单号、内容、件数,以及在重要时给出的重量或尺寸
  • 到哪去 — 送货地址及备注:单元门、楼层、门禁、从院子进
  • 什么时候 — 配送日期和时间窗,或订单必须交付的最后期限
  • 给谁 — 收货人姓名和联系方式(在完成任务确实需要时提供)
  • 要注意什么 — 订单备注:易碎、需要电梯、提前 15 分钟来电
  • 付款 — 订单是已预付,还是交付时要收钱、收多少
  • 处于什么状态 — 当前配送状态,以及配送员接下来该做什么

程序自己不做什么

它不送货,也不替代配送员。它去掉的是动作周围的手工活:不用打电话就把任务送到、把地址连同备注保存下来、不允许没有结果就关闭一单配送、并记录每一次变更。改期或退回订单的决定仍然由人来做——只是依据的是记录,而不是口头约定。

同样,系统本身并不「看见」配送员:它知道的恰好是他用动作在里面记下的那些。因此数据质量取决于的不是功能有多少,而是标记是不是在事件发生的那一刻打上去的。

通常从哪里开始

最先做的是两件事:一份有限的状态清单,以及每一单配送都必须有结果。原因很简单:只要「处理中」人人理解不同、没有原因就关闭的配送还算成功,报表就无从谈起——不管应用里有多少个界面。

哪些问题 由程序解决

下面列的不是功能清单,而是让配送被自动化的六个问题。每一个的表述方式都一样:没有程序时会发生什么,有了程序又会怎样。

任务不再丢

没有程序时,地址从即时通讯里来,一部分靠电话口述,一部分是表格里的清单。配送员要从三个来源拼出自己的一天,难免漏掉点什么。在程序里,任务是一条带编号和执行人的记录:它要么在处理中,要么已带结果关闭。

状态由送货的人来打

只要状态还是由调度员听着电话代填,它就比现实晚一个小时,还要占掉他半个班次。配送员在动作发生的那一刻做标记,给出的是实际时间:什么时候取的、什么时候到的、什么时候交的。

地址不必打电话确认

单元门、楼层、门禁和「从院子进」都保存在配送卡片里,而不是在上次去过的人的记忆里。新来的配送员第一次就能把这个地址搞定,而不是给客户打两个电话、再给调度员打一个之后才行。

交付有据可查

谁收的订单、什么时候收的、依据是什么,都是系统里的记录,而不是回忆。确认方式按项目选择,但结果只有一个:「到底送没送」的争执,靠打开一张卡片就能了结,不必再让业务员和配送员对质。

不用打电话也能看清当班情况

调度员看一个屏幕:谁在路线上、关闭了多少站点、哪一单落后于时间窗。「我的订单在哪」不再是三个人的工作量——业务员自己就能答复客户。

有争议的按日志复盘

每一次变更都签着操作者和时间。这不是盯梢配送员,而是能够复盘某个具体案例:配送卡在了哪一步、为什么卡住。顺带也能看到工作量——一个班次关闭了多少站点、由谁关闭的。

程序 由什么构成

系统由模块拼装而成。并不是每家公司都需要全部模块:只有三名配送员、地址又很固定的服务,不需要十种异常场景的处理;而送餐离不开时间窗和给客户的通知。具体组合由需求决定,但模块之间是事先就能对接好的,而不是事后从旁边硬加。

取订单、配送员穿城而过和向收货人交付,呈现为完整的一个工作日

任务清单

配送员的一天用一个屏幕呈现:本班派了什么、按什么顺序、哪些已经关闭、还剩什么。这是程序的入口——配送员从这里开始一天,每跑完一站也回到这里。

配送卡片

一个订单的全部信息:内容和件数、地址及备注、时间窗、收货人、付款和当前状态。恰好是完成任务所需的那些——没有公司的台账和报表。

站点与路线

当班地址在地图上和清单里、行车顺序、从当前站点前往下一站。路线和任务一样是业务对象:它有日期、执行人,以及当天的变更历史。

配送状态

一组有限的状态,以及它们之间的流转规则。配送员一步就能改状态,而不是从一长串列表里挑:已派单、已取货、在途、已到达、已送达。

交付确认

在站点上记录结果:改变状态,加上按项目选定的确认方式。没有结果,任务就关不掉——「大概送到了」不是一种配送状态。

接收货物

在仓库或发货点标记领到订单。从这一刻起,货物的责任在配送员身上,系统里也能看到订单已经不在仓库、而在途中。

通知

发给配送员和收货人的消息:派了新订单、任务有变、时间窗临近、配送已取消。发送渠道在落地时选定,并通过对接接入。

任务历史

配送员一天、一周、一个月完成了什么:已关闭的配送、完成用时、有问题的站点。他的产出就从同一批记录里汇总出来——为此不需要另做一套核算。

与调度员联络

直接从任务卡片联系调度员,不必在手机里翻号码。调度员看得到问题是就哪一单配送提出的,直接就此答复,而不是再重新弄清说的是哪个地址。

离线可用

在信号覆盖之外做的标记——地下室里、电梯里、平房区里——会存在设备上,等有网络时补传。重发不会生成第二单配送。

调度面板

公司这一侧的工作台:在岗配送员、已派订单、状态、已完成和有问题的配送、人员负荷。在浏览器里打开,无需安装任何东西。

API 与系统对接

系统对外的接口:创建一单配送、指派执行人、获取状态、拉取确认凭据和日志。网店、仓库、物流和财务系统都通过它接入。

领取任务

订单是怎么到配送员手上的

配送单生成之后,订单会 指派给某位具体的配送员。指派不是群里的一条消息,而是一项操作:这单配送有了执行人,执行人也有了一项带编号、下发时间和当前状态的任务。

任务立刻进到配送员的应用里,不用打电话,也不用转发地址。配送员打开清单,看到的是完整的一个班次:派了多少站点、哪些已经关闭、下一单是哪个。

谁来指派。 通常是调度员——手工指派,或者按公司设定的规则:按城市片区、按订单类型、按配送员空闲时间。自动分配 可以实现 ,按某家具体服务商的流程来做;我们不会事先把它当成现成功能来宣称——每家的分配规则都不一样,也不能替公司去凭空设想。

配送员对一项任务能做什么:

  • 接受 — 确认任务已收到,并由他接手处理
  • 打开卡片 — 查看内容、地址、时间窗、备注和付款方式
  • 改变状态 — 标记取货、出发、抵达站点和交付
  • 留下备注 — 记下下次用得上的信息,或者能解释延误的原因
  • 标记问题 — 记录这单配送没能完成的原因
  • 给调度员发消息 — 不用离开任务界面,就能就某一单配送提问

任务里不该有的,是多余的东西。配送员不需要订单成本、客户历史和公司报表:屏幕上留下的是把货送到并交出去所需要的内容。其余的用访问权限挡住,而不是用小字。

配送员在一袋备好的订单旁查看当班任务清单

重新指派时会发生什么

配送员生病、迟到或没来上班——这是常见情况,不是故障。调度员撤下任务并指派给另一位执行人;配送历史里会同时保留两次指派及其时间,而不只是最后一次。

这在实践中很要紧:没有重新指派的记录,「订单为什么迟到」的复盘就会卡在一个事实上——系统显示的是现任配送员,而他是在时间窗结束前一小时才接手的。

收货人的联系方式

收货人的电话只在完成任务确实需要时显示,而且只显示给送这一单的人。访问个人数据是一项单独的权限,而不是打包成一个「员工」:公司全部客户的名单绝不会对配送员开放。

联系方式具体怎么显示——完整显示、部分显示,还是通过中间号码呼叫——在调研时决定:这取决于公司处理哪些数据、以及它有义务保护什么。

当班任务,配送员 Azamat应用界面截图,数据为演示用
时间窗地址件数付款状态
110:00—12:00Akhunbaeva 97,2 号单元1已付款已送达
211:00—14:00Toktogula 125,4 号办公室3已付款已送达
312:00—15:00Baitik Baatyra 5312 400 索姆已到达
414:00—17:00Chuy 219,从院子进2已付款在途
516:00—19:00Ibraimova 42,7 楼11 150 索姆已派单

清单按时间窗排序,而不是按派单时间:对配送员来说要紧的是一天的先后,而不是调度员发单的先后。付款那一列紧挨着地址不是偶然——应收金额得在配送员爬上七楼之前就看到。

移动应用

配送员的

配送员应用 — 不是调度面板的缩小版,而是按执行人作业条件专门做的界面:一手拿手机,一手抱箱子,屏幕在太阳底下,网络时有时无,到傍晚电量还很低。

它的实际意义只有一个: 全部作业信息集中在一处。配送员不该同时开着三个聊天、一张地址表格和通话记录——任务、地址、订单内容、状态和联系调度员的方式,都在同一个界面里。

界面按「当前站点和下一站」的原则来搭。此刻不需要的都收进更深处:往日的清单、台账、与交付无关的细节。屏幕上的元素越少,当班出错就越少,新人上手也越快。

比功能多少更重要的几项要求:

  • 大号元素 — 状态一按就改,而不是从下拉列表里挑
  • 尽量少打字 — 凡是能从配送卡片自动带出来的,配送员就不手工输入
  • 断网时行为可预期 — 标记会被接受并稍后补传,而不是报个错就丢了
  • 省电 — 应用不该让人在半个班次之后就得找充电宝
  • 户外可读 — 对比度是按日光设计的,而不是按办公室显示器

去算这种集中能省多少时间没有意义——那取决于现在配送员的工作被搞成了什么样。看得见的是另一个效果:有一整类错误消失了,就是那种把货送到昨天消息里的地址上、只因为新地址发在了另一个聊天里的错误。

配送员在收货人门口用移动应用改变当前配送的状态

应用还是网页界面

具体形态按需求选择:可以是面向 Android 和 iOS 的移动应用,也可以是在手机浏览器里打开的适配网页。

后者更便宜、上线更快;前者用在离线运行、推送通知和调用摄像头很重要的场合。哪种适合某家具体公司,在调研时确定,而不是事先就定死。

网络不好时怎么办

信号掉线是有规律的:地下室、电梯、平房区、地下停车场。如果标记在那种时刻打不上去,配送员要么站着等,要么干脆不再标记——于是状态又回到了电话里。

因此标记先存在设备上,等连接恢复后补传。与此同时重发不会生成第二单配送:每个标记都带一个键,系统只接受一次。这与外部系统数据交换所遵循的是同一条规则。

配送员的作业界面整合了什么具体内容由项目细化
  • 进行中的订单主界面配送员已经接手的配送——每一单都带当前状态
  • 站点清单主界面当班地址按行车顺序排列:已关闭的、当前的,以及后面的
  • 地图取决于项目城市地图上的配送站点——通过与地图服务的对接接入
  • 路线取决于项目行车顺序和前往下一站;路径规划是一种可能性,而不是现成功能
  • 配送信息主界面订单内容、件数、时间窗、备注、收货人和付款
  • 状态主界面一步改变配送状态,不用从一长串列表里挑
  • 完成确认主界面在站点上以项目选定的方式记录结果
  • 任务历史第二层级配送员往日班次完成了什么——收进更深处,免得干扰当天
  • 通知取决于项目新任务、路线变更、时间窗临近、订单取消
  • 与调度员联络主界面直接从任务卡片就当前站点提问,不必在手机里翻号码

标着「取决于项目」的地方,是指该能力依赖接入外部服务,或依赖某家具体服务商的作业条件。其余都是可用的最低限度:少了它们,执行人的界面就不是取代聊天,而是变成第十个派任务的来源。

路线

与配送站点

配送站点 — 一个地址加一单配送。配送员的一个班次由这些站点构成,应用同时用两种方式展示它们:按行车顺序排列的清单,以及地图上的标记。清单回答的是「接下来做什么」,地图回答的是「离这儿有多远」。

先后顺序 事先排定并对配送员可见:哪一站是当前的、哪些已关闭、哪些在后面。关闭一站之后,下一站自动成为当前站——配送员不用在清单里找,也不用每次重新决定去哪。

顺序在当天可以调整。 调度员挪动站点、插入急单或撤下已取消的——变更会推送给配送员,路线历史里也留下改了什么、什么时候改的。系统绝不该悄无声息地把计划换成另一份:一个事后才知道变更的配送员,只能把一天重新排一遍。

自动生成最优行车顺序 — 是一种能力,它 可以自行实现,也可以通过对接接入 某个地图服务。我们不会把它当成现成功能来宣称:这种优化的质量取决于交通数据,也取决于某家具体服务商的约束——收货方的时间窗、片区、包或车的容量。

实践中,很多服务商用手工排序就够了:调度员比算法更懂这座城市,而收货方的时间窗本来就把一天框得很死。

骑行配送员在城市环境中用智能手机查看路线的下一站

地址不只是街道和门牌

配送员损耗的时间有一半不是花在路上,而是花在找入口上。因此站点带有备注:单元门、楼层、门禁密码、「从院子进」、「有道闸,给保安打电话」、「二号楼,灰色门」。

备注由配送员在送完之后自行补充,并留在这个地址的卡片里。下一个去那里的人不必再把同样的事情摸索一遍——这是把关于这座城市的知识积累在系统里、而不是积累在当班人脑子里的唯一办法。

跑线过程中会有什么变化

状态不是一天结束时一批一批地改,而是每个站点在动作发生的那一刻改。到了地址——「已到达」;交出去了——「已送达」;没碰到收货人——填原因并改期。实际送达时间和在站点停留的时长都取自这些标记;否则这两项指标都要靠记忆还原,也就是根本还原不了。

下半天的路线应用界面截图,数据为演示用
顺序地址时间窗运的是什么站点备注状态
1Baitik Baatyra 5312:00—15:001 件有道闸,给保安打电话已关闭
2Chuy 21914:00—17:002 件从院子进,灰色门当前
3Ibraimova 4216:00—19:001 件7 楼,电梯只到 6 楼后面
4Moskovskaya 18017:00—20:003 件办公楼,前台领通行证后面
5Akhunbaeva 9720:00 前1 件退回:收货人拒收当天新增

第五站是当天加进路线的——这是一单因拒收而需要带回去的退货。退货作为一个有地址和状态的独立站点存在,而不是一句「明天顺路捎回来」的口头约定:否则订单恰恰会在没人对它负责的那一刻从账上消失。

配送的 状态

状态不是屏幕上的一行字,而是一种状态,由它决定哪些动作是被允许的。这个集合有限而简短:只要没有把它明确列出来,每个员工对「处理中」的理解都不一样;而一旦有十来个长得差不多的状态,配送员就会开始随手乱选。

骑摩托的配送员沿城市路线前往下一个配送站点
主要的状态链一单配送的正常路径
  • 已派单这单配送有了执行人,任务已送到配送员手上。货还在仓库或发货点,责任尚未转移
  • 配送员已取货配送员实际取走了订单并做了标记。责任在这里从仓库转移到执行人——这是唯一一次有双方参与的流转
  • 在途配送员正前往收货人处。在这一段会出现中间事件:在上一站被耽误、行车顺序有调整
  • 已到达配送员已到达该地址。这个标记不是为了管控,而是为了计时:交付本身花了多长时间,就是从它开始算的
  • 已送达收货人接收了订单,确认凭据已附在这一单配送上。到这一刻任务才关闭——而不是配送员走出单元门的那一刻

五个状态是可用的最低限度,不是完整清单。中间状态(「已交分拣」「已转交另一名配送员」)可以按公司流程添加,但集合始终是有限且明确的:每个状态都必须回答一个问题——配送员接下来被允许做什么。

当配送没按计划走时默认行为,具体在项目中细化
发生了什么系统会做什么状态
联系不上客户:不开门、不接电话记录一次失败尝试,附原因和配送员备注,订单仍留在他名下,并把是否再送一次提上日程待排查
应收货人要求改期记录新的日期或时间窗,同时记下是谁、什么时候同意改期的;该站点从今天的路线中移除正常
收货人拒收了订单以拒收原因关闭这单配送,并新增一个返程站点——把订单退回仓库或发货点待排查
收货人只接收了一部分把这单配送拆开:接收的货件关闭,拒收的作为一条单独记录转入退回,而不是跟其余一起注销待排查
地址有问题:找不到这栋楼、找不到入口生成一个带配送员备注的事件,并把该站点转给调度员去核实,同时不把这单配送按已完成关闭待排查
配送员已在途中,订单被取消把该站点从路线中撤下,并把这单配送转为退回:订单不会「化掉」,仍然有人对它负责正常
配送员没来上班释放他的任务以便重新指派,并把受影响的全部配送用一份清单呈现给调度员提醒

总原则:失败的结果不会消失,也不会变成成功。这单配送保持打开状态并进入排查队列——这比一份「没有问题」的报表要便宜,因为那份报表之所以没有问题,只是因为问题无处记录。

公司需要哪些异常处理,在调研时决定。送餐需要短时间窗和快速改期;送电器需要部分拒收和退回;送文件需要收件人身份验证。这个集合可以配置,但规则不变:任何一单配送的结束都有一个原因,而这个原因会进入报表。

确认

取货与送达的

一单配送有两个责任人更换的节点,而且两个都会被记录。第一个是 配送员取货:订单离开仓库,从这一刻起由执行人负责。第二个是 交付给收货人:配送关闭,公司的义务履行完毕。

没有这两个时刻的记录,任何一次丢失都会变成挨个问当班的人:仓库认为自己交出去了,配送员说不是他拿的,业务员则跟客户解释「我们在查」。做标记只要几秒,没有标记的排查却要花掉一天的工作量和客户的信任。

交付时系统记录什么:

  • 结果 — 配送已完成、部分完成,或者没有完成并附原因
  • 什么时候 — 实际交付时间,而不是配送员腾出手来汇报的时间
  • 谁交付的 — 该时刻任务记在谁名下的那位执行人
  • 给谁 — 收货人,或者在规则允许的情况下代他签收的人
  • 有什么凭据 — 项目选定的确认方式,以及结果本身
  • 付款 — 若订单为货到付款:金额、方式,以及收到款项的事实

确认方式按项目选择。 下面列出的是可选方案——它不是一份现成功能清单,也不是「这些都已经做好了」的承诺。哪种适合某家具体服务商,取决于送的是什么、送给谁,以及公司自身提出什么要求。

配送员把订单交给收货人,并在智能手机上确认配送完成

没有结果,任务就关不掉

这条规则比确认方式本身更重要。在结果被记录之前,这单配送保持打开状态并对调度员可见。否则到了月底,所有配送都是「已完成」,而有争议的情况照旧要靠打电话去查。

货到付款

在现场付款的场合,送达确认和收款确认是两条不同的记录。应收金额随任务一起下发,收到钱这件事另外标记:否则一个班次结束时,根本算不出配送员手里有多少现金。

刷卡或转账收款 可以通过对接实现 ,接入支付服务或执行人手里的终端——具体范围取决于服务商,并在调研时确认。

退回与未送达

没能交付的订单一直记在配送员名下,直到他把它交回去为止:交回仓库、交回发货点,或者交给另一位执行人。交回与取货一样,由第二方共同办理。在此之前,未送达的订单单独列一份清单可见,而不会消融在当班的总体统计里。

可选的确认方式实现方案,按项目选择
  • 改变状态基础方案配送员在应用里标记交付——记录时间、操作者和结果。它任何时候都能用,适合争议不多的场合
  • 确认码可选收货人报出短信里的一个短码——证明订单确实交到了他手上,而不是放在门口
  • 二维码可选配送员扫订单上的码,或者由收货人扫配送员屏幕上的码。适合在同一个站点连续交付多个订单的场合
  • 照片可选交付时的订单照片,或者按约定放置位置的照片。附在这单配送上并与它一起保存
  • 收货人电子签收可选在配送员设备屏幕上签名或确认——纸质送货单的常见替代方式
  • 单据可选在纸质送货单或交接单上签收(在纸质单据流转为强制要求时使用)。它不取代系统里的记录,而是作为补充

这些方案没有一个是强制的,也没有一个被宣称为「已经做好」:具体组合在调研时确定——按送的是什么、最常出现哪类争议、公司自身提出什么要求来定。确认越严格,配送员在站点停留得越久,因此只有在确实存在争议的地方才值得把它加严。

与仓库的衔接

把订单交给配送员

仓库和配送不是两个共用一个群聊的部门,而是同一个流程的两段。「已拣配但未交接」的订单和「已交接但未标记」的订单,是两种不同的状态,混起来代价很高:前者要去仓库找,后者要去配送员那里找。

这个接缝很简单: 仓库员工标记交出,配送员标记接收。在两个标记都打上之前,订单挂在一个中间状态里,双方都能看到。这样一来,丢失的货件总能定位到它是在哪一段丢的,排查也就不会变成挨个问当班的人。

完整的仓储核算——收货、库位存储、库存、拣配和盘点——是另一个页面的主题, 「仓储解决方案」。这里只讲接缝:仓库交给配送员什么,又从他那里拿回什么。

如果仓库跑在另一个程序里 — 这是常见情况:仓储核算已经在既有系统里做了,没有人打算换掉它。这时接缝以数据交换的方式搭建:配送员软件取到订单是否备好和货件构成,回传状态、确认和退货。

交换的内容取决于外部系统能对外提供什么,并在调研时确认。事先宣称已有现成的对接,就等于替别人的产品做承诺。

同一条原则在反方向上同样成立——在退货上。没有交回的标记,未送达的订单就一直躺在配送员的后备箱里直到下个班次,并且恰恰在没人对它负责的那一刻从账上消失。

仓库员工把备好的订单交给配送员,配送员确认接收

配送员取货时确认什么

  • 哪些订单 — 这一趟他要带走的配送单号
  • 多少件 — 每个订单的箱数或袋数
  • 包装状态 — 完好还是破损;有疑问的当场标记,而不是到了客户门口才说
  • 什么时候、谁做的 — 交接时间,以及双方员工:谁交出的、谁接收的

什么会退回仓库

反向的流同样重要:未送达的订单、拒收和部分退回都会带着退回原因回来。仓库以一项操作接收它们——和接收一批到货一样——订单于是重新成为仓库的责任。

从拣好的订单到配送开始四次流转,每一次都是一个员工动作
  • 1订单已拣配
  • 2已复核
  • 3已交给配送员
  • 4配送已开始

第三次流转是唯一一次订单更换责任人的地方,因此它由双方共同办理:仓库交出、配送员接收。少了这一步,货件丢失时就说不清是哪一段丢的,责任分配也就取决于谁在复盘会上嗓门大。

配送员应用

路线与站点

送达确认

调度面板

调度面板

公司看到什么

调度面板 — 系统的另一半:配送员在应用里干活时,公司看到的东西。它的任务不是「把所有数据显示出来」,而是把此刻需要做决定的内容集中到一个屏幕上,其余的收进更深处。

这里的核心想法只有一个: 公司不必不停地给每个配送员打电话,也能明白配送正在发生什么。调度员看的是一个屏幕,而不是挨个拨五个人,去问谁把哪个地址关掉了。

面板里能看到什么:

  • 在岗配送员 — 谁在班上、谁在路线上、谁已经空出来、谁的工作时间快到了
  • 已派订单 — 哪些配送挂在谁名下,每个人还剩多少站点
  • 当前状态 — 配送在各状态上的分布,一张清单看完,不必手工统计
  • 已完成的配送 — 本班关闭了什么,含交付时间和确认凭据
  • 有问题的配送 — 失败尝试、拒收、退回,以及时间窗即将到期的站点
  • 未分配 — 还没有派给任何配送员的订单
  • 人员负荷 — 每个人派了多少站点,以及他一个班次实际关闭了多少
  • 操作历史 — 任何一单配送身上发生过什么,含每一次变更的操作者和时间

访问权限 把面板按角色区分开:配送员只看到自己当天的任务,调度员看到自己的班次或片区,负责人看到所有方向和报表。访问收货人联系方式和取消配送,都是各自独立的权限,而不是打包成一个「员工」。

调度员在两块工作屏幕上管控进行中的路线和配送状态

当班概览

当天,9 名配送员面板界面截图
146单配送 已派单
7个站点 有超时风险
3配送的 待排查
11笔订单 未派单

系统界面截图,数字为演示用。磁贴的顺序不是随手排的:排在最前的是本班的总量,接着是需要做决定的事。未分配的订单排在最后,因为那是调度员唯一能自己彻底做完的一块。

与配送员联络

消息到调度员那里时是绑定在某一单配送上的:一眼就能看出问题是就哪个地址提的、它处于什么状态。这省掉了对话的一半——那一半原本用来弄清说的是哪个订单。

反向也一样:调度员的消息进到配送员的任务卡片里,而不是变成一通他在六楼和七楼之间的楼梯上才听到的电话。

用角色,而不是勾一堆复选框

这种区分由角色设定,而不是给每个人单独配权限。否则半年之后,新员工的访问权就是「照着 Ivanov 那样配」,再也没人说得清他到底能看到什么。

与物流的 衔接

物流系统管理的是整个配送流程:申请、货物、车辆、当天的规划和工作分配。配送员软件是这个流程内部执行人的作业工具。它们不是两个互相竞争的产品,而是同一件事的不同层级:一个回答「配送怎么组织」,另一个回答「怎么执行并把它记录下来」。

仓库、调度室、配送员和收货人构成一套完整的数字化配送系统
订单穿过四个环节的路径每一次流转都是一个员工动作
  • 1仓库
  • 2物流
  • 3配送员
  • 4客户

仓库负责订单被拣好并交出。物流负责它派给了谁、排在哪一天。配送员负责它送到并交付。客户以签收为这条链收尾。任何两个环节之间的断裂,看上去都是一样的:订单在一个系统里有、在另一个系统里没有,而对它负责的是第一个接起电话的人。

从物流那里来的是什么

一单已经生成好的配送,含地址、时间窗、订单内容和收货人,以及指派信息——派给了哪位配送员、排在哪一天。当天的规划和工作分配仍留在物流系统一侧。

配送员软件做什么

把任务送到执行人手上、带他跑完各站点、记录状态和交付确认。这是配送实际数据的唯一来源:其余一切都是计划,不是事实。

回传的是什么

带时间的实际状态、每个站点的结果、配送失败的原因、退回和配送员的备注。物流据此生成跨周期报表,业务员也不用给执行人打电话就能答复客户。

如果物流已经有自己的一套

配送员软件可以作为一个独立应用运行,通过 API 接到既有系统上:接收任务,回传状态和确认。这种方案用在没有打算更换物流体系的场合。

物流侧的详细解析——运输申请、货物台账、路线规划和车辆作业——见 物流软件页面。这里要紧的是另一件事:配送员的标记是实际状态的唯一来源,因此他的工作台是最先设计的,而不是最后。

通知

通知只用在不发就得打电话的地方。它们数量不多而且很具体:每一条报告的都是一个之后有人得做点什么的事件。其余的都留在任务清单里,不会在楼梯上打扰配送员。

派了新订单

配送员收到一项任务:地址、时间窗和内容。他立刻就能看到,而不是等当前这单送完才知道——于是可以趁还没开去城市另一头,把这个站点插进行车顺序里。

任务或路线有变

调度员挪了站点、插了急单,或者撤下了已取消的单。没有通知,配送员会在按旧地址跑到之后才发现——然后花一小时折返。

配送时间临近

针对时间窗快到期的站点发出提醒。它提前送达,而不是在已经超时的那一刻才发:意义不在于记录迟到,而在于让迟到不发生。

订单已取消

取消要在配送员爬上七楼之前就送到他手上。如果订单已经在他手里,通知会连同下一步该怎么办一起给出:退回仓库,还是转交另一位执行人。

需要配送员处理

任务一直没有标记、配送没有以结果关闭、调度员就某个站点提了问题。这不是为了管控而管控:一单到傍晚还没关闭的配送,第二天就会变成一次排查。

发给收货人的消息

对客户也有话要说:订单已交给配送员、配送员已出发、配送已改期。这能减掉一部分打进公司的电话——知道状态的人不会再打电话来问。

发送渠道——应用内消息、短信、即时通讯、电子邮件——在落地时选定,并通过对接接入。我们不会事先承诺已经接好了某些具体服务:具体组合取决于公司的客户在用什么,以及所在国家有什么可用。

操作 历史

历史不是「以防万一」的存档,而是复盘工具。记录不做编辑:更正以一个带原因的新事件写入。因此「订单为什么晚上七点才到」这个问题有答案,而不是有几个版本。

订单派给了谁

执行人、派单时间和操作者——如果任务当天在配送员之间转过手,那么每一次重新指派也都在。

配送员什么时候取的货

双方共同确认的交接事实:谁交出的、谁接收的、什么时候、多少件。责任从这一刻起落在执行人身上。

状态什么时候变的

每一次流转都带精确时间和操作者:已出发、已抵达站点、已交付。配送的实际时长就是从这些标记里汇总出来的。

最后是怎么了结的

配送结果和确认方式;如果没有完成——原因、配送员的备注,以及之后决定怎么办。

配送 № 4417 的日志系统界面截图,数据为演示用
时间事件记录了什么
09:12已派单调度员执行人 — 配送员 Azamat,时间窗 12:00—15:00
10:05配送员已取货仓库 + 配送员1 件,包装完好,交接由双方确认
12:41已到达配送员抵达 Baitik Baatyra 53
12:58尝试失败配送员收货人不应答;备注:「道闸关着,保安不让进」
13:20已改期调度员与收货人约定改到当天 17:00—19:00
17:34已送达配送员确认码已通过,2 400 索姆现金已收

从这条记录里不仅能看到订单已送达,还能看到它为什么比时间窗晚了五个小时。值得排查的正是这样的链条:它能看出流程的哪一步是绕过系统在做的——本例中,这个地址上从来没有记录过怎么通过保安。

配送 数据分析

报表就是从配送员在班次中打下的那些记录里汇总出来的——分析不需要另外录一遍数据。指标不多,每一个都回答一个会据此做决定的问题:明天需要几名配送员、流程最常在哪里断掉、该给谁减负。

配送单量

一天、一周或一个月派了多少订单——按公司、按片区、按配送员统计。这是其余一切指标的计算基数。

已完成的配送

有多少以结果关闭,其中又有多少落在约定的时间窗内。后者比前者更重要:迟到送达和送达不是一回事。

取消与退回

有多少订单退了回来、原因是什么:收货人拒收、公司取消、未送达。原因是必填的——没有它,这个数字什么也解释不了。

完成用时

从取货到交付一单配送要多久,以及在站点本身停留多久。这两个数字能看出时间损耗在哪里:路上还是现场。

配送员负荷

每人摊到多少站点,以及他实际关闭了多少。「是不是还需要再招一名配送员,还是工作分配有问题」的答案就出自这里。

问题订单

需要排查的配送清单及其原因。到月底看到的不是一句「难免的」,而是一份具体的、反复出现的问题清单。

工作历史

一段时间内按员工和按方向统计的产出。它从已关闭的任务里汇总而来,因此不需要另做一套工时核算。

导出

报表可导出为文件、按计划生成,也可以由外部系统通过 API 取走——适用于公司的汇总报表放在另一个程序里的情况。

本周,9 名配送员的团队面板界面截图,数据为演示用
  • 在时间窗内送达612
  • 迟到送达74
  • 应收货人要求改期39
  • 退回与拒收21

条形显示的是占第一行的比例,而不是占订单总数的比例:有意义的对比对象是正常结果,而不是平均数。这样一张表里该细查的是第二行——一周七十四次迟到不是「排得紧」,而是一批具体的地址和一批具体的时段,当班在那里应付不过来。

系统对接 与数据交换

配送很少独自存在:订单来自一个程序,客户在第二个程序里维护,仓库在第三个。以下是最常搭建交换的几个方向。具体范围取决于外部系统能对外提供什么,并在调研时确认——我们不会事先承诺现成的连接器。

电子商务

已生成的订单可以自动传给配送,状态可以回传到顾客的个人中心。橱窗本身和订单核算是怎么做的,见 电子商务.

仓储系统

订单是否备好和货件构成从仓库进来,交给配送员的事实和退货回传过去。仓储这条链路的详解见 「仓储解决方案」.

物流

它可以与物流系统协同:物流负责规划当天和分配订单,配送员软件回传实际状态。详见 物流的.

CRM

可以与客户台账和成交历史对接:从客户卡片创建一单配送,其结果回传给业务员。交换按客户标识进行,以免产生重复联系人。

ERP 与财务系统

它可以与公司的账务体系协同:订单、送货单、往来结算、货到付款。交换方向取决于哪一套账被认定为主账。

地图服务

地图、地址地理编码和站点之间的路径规划,通过与外部服务的对接接入。选哪一家,按所需城市的覆盖情况和使用条款来定。

通知与外部服务

发给配送员和收货人的消息、用于货到付款的支付服务、外包承运商。每一项接入都是一个独立的交换模块,而不是设置里的一个复选框。

API

系统自己的接口:创建一单配送、指派执行人、获取状态和确认、拉取事件日志。凡是没有专门模块的,都通过它接入。

交换规则到哪里都一样:每个操作都带一个键,因此重复传输不会生成第二单配送;失败的结果不会消失,而是进入排查队列;每一次发送和每一次应答都写入数据交换日志。没有这三条规则,对接能撑到的正好是第一次断网。

落地实施的 顺序

配送不会在一天之内整体搬进系统:只要还有一部分任务绕开程序在走,里面的状态就毫无意义。因此上线是分段推进的,后一段建立在已经跑通的前一段之上。

1. 调研

现在配送员是怎么领任务的、谁在维护状态、交付靠什么确认、最常出现哪些异常,以及已经装了哪些程序。产出是一份流程描述,以及一份「优先自动化什么」的清单。

2. 状态与结果

一份有限的状态清单、它们之间的流转规则,以及每一单配送都必须有结果。这是最被低估的一步:没有它,应用只会变成又一个用来聊天的地方。

3. 小组试点

一个片区、一个班次,或者两三名执行人,在真实配送上跑完整整一圈:派单、取货、路线、状态、确认、问题站点的排查。

4. 推广与对接

其余配送员按已跑通的方案铺开,然后是角色与权限,再把各项对接作为独立的交换模块接入。此后历史逐渐积累,跨周期的报表和用于排班的数据也就有了。

聊聊贵公司的配送

立即联系我们

请写明有多少名配送员、每天发出多少单配送、现在任务是怎么分派的、交付靠什么确认,以及订单和客户放在哪些程序里。我们会回答:优先自动化什么、有哪些可以接到现有系统上,以及试点从哪里开始比较合理。