1-什么是订单履约?
订单是一次交易的生命周期,交易开始生成订单,结束的时候完成订单。
在天猫或者京东上买东西,最终都会生成一张订单。其实,这个订单就是消费者与平台的一个简单的契约,而契约上的东西都是平台履约内容,包括订单上的信息:发票(增票还是普票)、运费、时效、预约、优惠等等。比如,订单预计在前端就会显示你的订单会在什么时间送达。京东现在对于时效来说,有自己的211(2011年开始)—京东在是中国第一家做出211这么一个时效的公司。
为了承载这些履约内容,如何把客户的一个诉求,最终以按时的效果交付到用户手中,就产生了一个系统—OFC(Order Fulfillment Center)简单来说,订单履约中心就是连接的用户下单,和订单在库房生产的一个系统。
2-什么是211?
211就是上午11点前下单,然后当天晚上11点前送达。晚上11点前下单,次日上午11点送达。
除了211以外,京东还有次日达,隔日达,极速达——即411。411即3小时送达,这个也是刷新业内的一个预约时效。
3-什么是预约?
预约就是约时间的一个管理,在京东买东西就会发现,京东有一个预约日历。在未来的7天内,可以选择每天3个不同时段来送达,如北京上海等的一些城市,还支持夜间配送。
4-OFC在什么环节出现?
直白一点说就是—用户在京东前台选完商品进入购物车,到结算页并点击提交订单按钮的时候,就进入了OFC这个环节,直到这个订单由京东实际发给库房(京东自有100个,协同仓+特殊仓可能将近200个)。怎么把京东每天这么多订单量,发给具体的每一个库房—就是OFC在做的事情。
其实,正常买东西都是从“网站的注册–>搜索商品–>选商品购买–>仓储生产、物流配送”。其中OFC是在购买和仓储生产这个环节之中的一个履约系统。
1、拆分维度
1-什么是订单拆分?
不知道大家在京东下单的时候,都遇到过这个情况:用户下完单后,在我的订单详情页会看到这么一句话,即‘您的订单由于不在同一部分,或者不在同一个商家需要拆分’这么一句话。而在拆分原因会显示:因为不在同一库房,或不是同一商家,订单被拆成多个子单分开配送。
这个会对客户带来什么?尤其像双11或者618等这种大促的时候,我们的购物车可能一次性会有10个甚至有若干个东西要购买。然而,为什么会拆这个订单?
2-哪些订单需要拆分,哪些不需要?
京东订单主要分为
虚拟订单
和
实物订单
实物订单:
京东自营商品,pop商家商品等都是实物订单。
实物订单是指订单中为实物商品,发货需要物流的一些商品订单,比如订单中有冰箱,笔记本,手表,那么这个订单就是实物订单。全部需要通过OCS服务和拆分系统进行处理。
虚拟订单:
商品可以是Q币,手机充值,服务产品点卡,礼品卡等。
相比实物订单,虚拟订单由于没有物流状态,所以订单流转和结算流程相对简单一些。仅通过OCS服务进行数据保存,不通过新的拆分系统处理;
2、拆分引擎
维度1:库房
首先,京东有不同品类的库房。京东的库房现在依然是以品类仓为主,就算有亚洲一号,但订单拆分最关注的还是品类仓。因为不同的品类,比如像大家电、图书、IT、3C类产品、食品母婴类产品,在仓储间要求上有不同的生产特点。比如,食品母婴类产品在京东有自己的恒温仓,诸如奶粉等此类商品要保持一定的温度,而有一些生鲜要符合保持低温仓的特点,再比如大件的摆放和图书的摆放是完全不同。
维度2:商家
另外一个维度就是商家。京东两大类业务自营和POP,而POP里边有不同的商家,京东为了让不同商家的商品由不同的商家配送,最后给不同的商家进行结算,不可能在一张订单上同时存在两个商家的商品。因而,京东会根据商家去进行拆单。
维度3:支付方式
后款订单在点击提交订单的按钮以后,立即进入拆分。而先款订单是在付款完成之后做拆分的操作。
先款订单:
先款后货,后款订单:先货后款。
后款订单两类来源:京东自营、POP有中的FBP订单。
当然,除了以上3类主要维度,还包括其他的拆分维度和规则。
3、拆分流程
1、拆分定义
在京东买过东西,基本365天都会有不同类型的促销,最简单的直降,还有满减、用自己的东卷、京豆,还有各种各样的促销。
比如买个东西,满199减 100(活动预热),大家都会凑单凑到199。用户就会买食品凑够199然后减掉100。
假如用户买了10件商品,减了100元,那么具体这100块钱怎么减呢?
对于客户来说,他们不理会京东怎么操作这个优惠折扣,只要这100块钱在自己结算的时候抵扣即可。
但对于京东来说,这100块钱并不是直接减100这样来登记的,其不在订单里,是以商品的金额订单里,商品金额的比例分拆优惠的
钱—这就是金额拆分系统在做的一个工作。
2、拆分规则
OCS的基本原则就是按SKU的金额比例去分摊并取整数。这里面不光包括优惠,还有各种运费,虚拟资产(如京豆)等。比如这次花了1000京豆来抵扣10元,这1000个京豆抵的这10块钱就会分摊到用户具体的每一个SKU上。其实,现在前台会直接显示减几块钱几块,记得不是特别细,其实在后台都是会具体的记录每行减多少钱,包括运费——像我们在北京,买自营的商品体验不是特别那个深,如果在偏远山区,在京东是要收特殊的运费,或者买商家的商品会收运费,运费怎么分摊也都是在这里计算的。
3、对外服务
1)金额包含订单上的运费、优惠、现金、用户实际支付等所有类型的金额;
2)金额拆分的基本原则是按sku金额比例分摊,优先按元取整;
3)拆分系统处理完成后,将拆分结果发送到MQ,金额拆分系统订阅消息,接收消息并将计算结果存入DB,并发送计算结果到MQ;
4)对外提供查询服务。售后、EBS、发票、广告联盟、采销、客服、数据仓库、计费、等30多个系统使用该服务;
订单转移可以理解为订单的计划。通过数据可以看到,一分钟就要接几百万万单。不同的订单通过不同的渠道下单,比如,京东有PC端,app端,微信端等等各种不同的渠道下的订单,统一都堆积在京东OFC的大池子里。京东通过怎样的方式和客户履约,其实转移是履约的一个核心环节。以什么样的方式和客户履约,而客户约定是什么,京东要分给谁都是在订单转移这个环节进行的。
说白了,它是订单的一个分发机制,或者说订单的分发一个计划,订单要给哪个库房去生产,怎么生产都是在订单转移中进行的。在订单转移环节,才实际上和库存打交道,看订单的状态,看订单库存,具体去看订单是要在哪个地方生产,这就是订单的转移。
最早就是一个一级库存—全国几个大的中心仓,北京的订单就看北京的库存,上海的订单看上海的库存。
当京东发展到一定体量的时候,会发现这种一级库存的概念无法正常的满足这么庞大的一个订单体量。
RDC是中心仓,也叫综合仓。FDC是前置仓。举个例子:济南就是一个FDC,天津也是一个FDC。
京东现在有7大区域:北上广重武沈西(北京、上海、广州、成都、武汉、西安、沈阳)。比如,济南是属于北京这个区域的。如果济南的用户下单,首先看济南本地的有没有货,如果济南本地有货,就从本地区发货,如果本地没货就从北京去查看——这样的支援关系。
京东前期最早的业务都会在一线城市,比如北上广深这些城市下单的比较多,随着现在体量的不断的增加,我们在做渠道下沉也好,我们再向下探,更多的去满足二三线城市的一些用户下单。所以,我们要有FDC——我们不是备全量的货,根据二八原则,有一些比较畅销的商品,能满足基本满足这片区域(如:济南)、这个覆盖范围的用户的下单。但是,有一些比较长尾的商品怎么办?——就从北京去发,由北京支援济南。
订单转移的主要目标是为订单做生产计划,快速转却的讲不通类别的订单,转移到对应的生产系统。核心系统分为:订单转移服务和订单计划引擎。为使用户达到快速下单的目的,对于全部现货的订单,均采用快速转移的策略,简化转移系统中的复杂流程,以尽可能快的方式,实现订单转移。
释义:订单转移系统是制定生产计划的核心为:
订单如何生产,去哪儿生产,何时生产
提供解决方案。
目标:主要为上游系统OFW提供服务,订单数据由OFW推送,订单的转移则由中间件的调用来完成。
周边依赖:OFW、配送中西配置、库存、大家电调度、中间件;
释义:订单生产计划是为了实现订单履约,而制定的生产方案。一个合理的生产计划,能在保证时效承诺的前提下,起到优化生产,降低成本的作用。
目标:主要解决非现货和预约订单的转移,对于多配、FDC、平行库存等复杂流程进行处理。
周边依赖:配送中心配置,库存,商品,大家电调度,Promise,VPR,中间件,OFW-COI;
* 转移的整个流程就是要去判断库存,因为在刚开始说到拆分环节是不看库存的,看的只是这个订单能在哪儿生产。
* 在订单转移环节,才实际上和库存打交道,看订单的状态,看订单库存,具体去看订单是要在哪个地方生产,这就是订单的转移。
这要说到一个京东有货和备货。备货就是说,这个商品备在济南这个地方了,证明在济南是可以生产的,
即可以进入济南库存,然后从济南库出,但是具体有没有货不确定。
前台库存规则和OFC库存规则是不一样的。
主要做的一个操作就是从订单管道过来以后先负责接单,然后去调用拆分服务、转移服务等下游系统的服务。(回传系统、下传系统是它的主要两块内容)
* 订单进入库房前,获取订单生产需要的数据以及控制订单业务流程
* 回传库房订单生产状态数据回传ERP系统及相关流程控制
* 提供订单promise系统和BI系统需要的下传库房订单数据
订单工作流系统的有两块内容:一块是叫做
订单信息回传
,另一个是
订单信息的下传
。
* 订单状态数据回传流程:把订单库房生产状态实时回传给ERP系统(等待打印状态、打印集合单、打包状态、出库状态);同时某状态下,判断是否需要进行调用库存服务、出管服务、全程跟踪服务以及给客户发送手机短信。
* 订单非状态业务数据回传流程:实时回传订单在库房产生过程中产生的包裹数量、包裹重量、承运商信息以及发票信息给对应的WMS(仓储管理系统)、TMS(运输管理系统)及DMS(配送管理)系统。
订单信息下传即刚才说到的OFC系统是连接上游和下游的一个中心的系统。
京东要接全国100多个将近200个库房,每一个库房是怎么接,订单是怎么推给库房,都是由OFW系统去做的。
订单工作流系统主要做的一个操作就是从订单管道过来以后先负责接单,然后去调用拆分服务、转移服务等下游系统的服务。比如,给下游系统封装数据,封装面单的数据,封装发票的数据。