1、先看应用
在JD等电商平台,当我们选择收货地址后,则可以看到是否有货,能否配送,甚至在什么时候能够到达等,其背后其实有一整套的业务判断,以此为背景,介绍一下系统的概念和设计。
2、订单的调拨
对于某一订单,要走向哪个仓库进行发货,经历了三个层面的处理,一是销售判定层、二是调拨判定层、三是仓库处理层。其一已经在之前《销售库存模型讲解》一文中进行概述,仓库处理层也在之前《仓库履约流程》一文中进行了概述,此文对于订单的调拨判定层面进行描述。
由3个问题引入,可以描述调拨判定层的实际价值和作用:
Q1:公司在武汉、上海、天津都有仓库,用户在合肥买了一双鞋,该谁来发货?
Q2:公司发现乌鲁木齐的线下市场发展不错,但建仓成本太高,但又想做电商,咋办?
Q3:一位武汉用户在购物车同时购买了洗衣机和洗衣液,但洗衣液在武汉没货了,咋办?
基于以上几个问题,在系统搭建层面,会通过两个环节来解决问题,一个是引入分仓模式概念,一个是引入拆单概念。
特别说明,这里的拆单特指由订单拆为不同的发货单,实际就是将用户的一个订单拆分为不同的发货任务,而不是综合电商的订单拆分为不同的子订单。订单拆子订单本质上是在履约主体上进行的拆分,不在此文中描述。
3、分仓设计
原则就一句话,保障尽可能广泛的用户能够下单的情况下,物流成本能够Hold住,决定物流成本的因素主要基于仓库距离用户的远近。
每个仓库下应该有不同的优先级履约区域,从而判定应该由哪个仓发货。举例,公司有3个仓,对每个仓库设置完成后如下,一个北京的订单,先由调拨层判定,发现在三个仓库都有货,则商城页面就显示有货,此时商城无需关心是从哪里发货的。
当用户提交订单后,调拨层判定,北京地址在天津仓是一级区域,在武汉和上海仓是二级区域,此时发货单则交由天津仓进行发货。但如果此时天津仓库没货,则在上海和武汉仓之间挑选一个更近的仓库发货以更好地保障时效。
而对于Q2,我们还会引入一个三方仓的概念,比如某供应商在乌鲁木齐有仓,我们则可以借用三方的仓库来进行发货,共同拓展市场,这种情况比较极端。但如果基于Q1,我们在山东有个三方仓库,则会在武汉天津上海都没货时,再使用三方仓库发货。
而对于Q3,我们则会进行拆单,当系统判定洗衣液在武汉没货后,就会从天津或上海仓进行发货。
网友评论