物流系统设计之《物流状态与轨迹》
- 发表于
- 后端
物流运单签收状态(state)
默认状态下,在推送时我们提供了ischeck字段表示快递单是否签收(含正常签收,退回签收两种情况),通过state字段提供签收的具体状态,state具体如下:
物流状态值 | 物流状态名称 | 高级物流状态值 | 高级物流状态名称 | 含义 |
---|
1 | 揽收 | 1 | 揽收 | 快件揽件 |
101 | 已下单 | 已经下快件单 | ||
102 | 待揽收 | 待快递公司揽收 | ||
103 | 已揽收 | 快递公司已经揽收 | ||
0 | 在途 | 0 | 在途 | 快件在途中 |
1001 | 到达派件城市 | 快件到达收件人城市 | ||
1002 | 干线 | 快件处于运输过程中 | ||
1003 | 转递 | 快件发往到新的收件地址 | ||
5 | 派件 | 5 | 派件 | 快件正在派件 |
501 | 投柜或驿站 | 快件已经投递到快递柜或者快递驿站 | ||
3 | 签收 | 3 | 签收 | 快件已签收 |
301 | 本人签收 | 收件人正常签收 | ||
302 | 派件异常后签收 | 快件显示派件异常,但后续正常签收 | ||
303 | 代签 | 快件已被代签 | ||
304 | 投柜或站签收 | 快件已从快递柜或者驿站取出签收 | ||
6 | 退回 | 6 | 退回 | 快件正处于返回发货人的途中 |
4 | 退签 | 4 | 退签 | 此快件单已退签 |
401 | 已销单 | 此快件单已撤销 | ||
14 | 拒签 | 收件人拒签快件 | ||
7 | 转投 | 7 | 转投 | 快件转给其他快递公司邮寄 |
2 | 疑难 | 2 | 疑难 | 快件存在疑难 |
201 | 超时未签收 | 快件长时间派件后未签收 | ||
202 | 超时未更新 | 快件长时间没有派件或签收 | ||
203 | 拒收 | 收件人发起拒收快递,待发货方确认 | ||
204 | 派件异常 | 快件派件时遇到异常情况 | ||
205 | 柜或驿站超时未取 | 快件在快递柜或者驿站长时间未取 | ||
206 | 无法联系 | 无法联系到收件人 | ||
207 | 超区 | 超出快递公司的服务区范围 | ||
208 | 滞留 | 快件滞留在网点,没有派送 | ||
209 | 破损 | 快件破损 | ||
210 | 销单 | 寄件人申请撤销寄件 | ||
8 | 清关 | 8 | 清关 | 快件清关 |
10 | 待清关 | 快件等待清关 | ||
11 | 清关中 | 快件正在清关流程中 | ||
12 | 已清关 | 快件已完成清关流程 | ||
13 | 清关异常 | 货物在清关过程中出现异常 | ||
14 | 拒签 | \ | \ | 收件人拒签快件 |
上面这个表是基于kd100状态结构,毕竟向专业事看齐没错。
SQL如
1 2 3 4 5 6 7 8 |
CREATE TABLE shipments_status ( tracking_number VARCHAR(20) NOT NULL COMMENT '运单号码', status VARCHAR(20) NOT NULL COMMENT '物流状态', status_code INT NOT NULL COMMENT '状态码', timestamp DATETIME NOT NULL COMMENT '状态更新时间', location VARCHAR(50) NOT NULL COMMENT '状态更新地点', current_position VARCHAR(40) COMMENT '当前位置经纬度' ); |
又或者这样
1 2 3 4 5 6 7 8 |
CREATE TABLE logistics_status ( mail_number VARCHAR(255) NOT NULL COMMENT '邮件号', status_value INT NOT NULL COMMENT '物流状态值', status_name VARCHAR(255) NOT NULL COMMENT '物流状态名称', advanced_status_value VARCHAR(255) NOT NULL COMMENT '高级物流状态值', advanced_status_name VARCHAR(255) NOT NULL COMMENT '高级物流状态名称', meaning VARCHAR(255) NOT NULL COMMENT '含义' ); |
状态设计可能需要根据你的场景进行改变,有了状态表,再进行状态关联与操作即可。
状态机的设计
1、正向物流状态机设计
正向物流包含了三条主要流程:
a、创建->发货->签收/拒签
这种是最简单的流程,也是用户最关心的流程,如果公司使用的是第三方物流系统,那么只要这条状态流就足够了。
b、创建->发货->配送接单->配送揽收->配送派送->签收/拒签
这条状态流对接了配送的物流流转状态,一般对接第三方物流详情后,会得到物流配送的信息。
c、创建->发货->仓库接单->仓库出库->配送揽收->配送派送->签收/拒签
这条状态流是最复杂的,包含了仓库和配送,一般只有大公司才会考虑这么细致的状态流转。
2、逆向物流状态机设计
由上面的状态机可以看出来,取消物流的时机有4种:
1、创建后取消
2、发货后取消
3、仓库接单后出库前取消
4、配送接单后签收前取消
上面第三种和第四种状况也叫仓截单和配截单,需要配合WMS系统和TMS系统进行特别开发。
关于状态机更多部分可看这里。
原文连接:物流系统设计之《物流状态与轨迹》
所有媒体,可在保留署名、
原文连接
的情况下转载,若非则不得使用我方内容。