LastMile 配送与退货:签收、追踪与取回
最后更新 2026-10-14
LMD- 配送单 + POD 签收(签名/照片/条码/取货码)、客户凭公开链接追踪、失败件重派、LRT- 退货。
配送单(单号 LMD- 开头)就是“把这件货送到某个人手里”的任务;退货单(LRT- 开头)是反过来的“去客户那里把货拿回来”。每天的送货用配送单,客户拒收/退货要上门取时用退货单。

一张配送单的旅程#
- 新建配送单:收件人、地址、电话、件数/托盘数、件型(parcel/pallet/bulky)。任务类型一般是 delivery;退货取件会用 pickup_delivery。
- 派单到路线或司机(pending → assigned)。司机在手机端一键流转:出发点 in_transit,到门口点 arrived(只写一条轨迹事件,状态本身不变)。
- 在门口收 POD 签收凭证(见下)→ 配送单变成 delivered,记下送达时间并写一条 delivered 轨迹事件。
POD:证明货送到了#
POD 就是“签收凭证”,证明货送到了。四种方式:signature(客户在手机上签名)、photo(拍包裹或门牌照片)、barcode(扫包裹条码)、otp(客户报取货码,必须和配送单上存的 otp_code 对上)。司机在手机端点“已送达”时,签名/照片/条码三选一必填。
客户自己查:公开追踪链接#
每张配送单都有一个 128 位的 tracking_token(长到猜不出来)。把追踪链接发给客户,打开不用登录。客户只能看到非敏感信息:单号、状态、收件人、预计到达(取路线站点的 planned ETA)、轨迹时间线——看不到电话和详细地址。
送失败与退货#
- 配送失败(in_transit → failed):必须写原因,比如“家中无人”。失败件可以重派给别的司机(failed → assigned)。轨迹时间线记 created / assigned / in_transit / arrived / delivered / failed / note——取消用 note 事件记。
- 建退货单(LRT-):必须关联一张配送单或取件单,再写原因。勾“需要上门取货”,系统会自动生成一张取件单(或一个 pickup_delivery 取货任务),退货状态直接变成 pickup_scheduled(已安排取货)。
- 司机取回(picked_up)→ 货回到集货点(received_at_hub)→ 退款(refunded),退货完结。pending 或 cancelled 的退货单还可以删除。
客户通知(短信/邮件)P1 起真发:短信走租户配置的 Twilio,邮件走 Resend。先用预览接口看文案再发;每次发送(成功/失败)都会记入通知日志。
司机手机端还能上报异常、自动上报 GPS 位置(调度大屏能看到)。不是派给自己的单子点不动——接口会返回 403 NOT_YOUR_TASK。