京东后台:订单履约系统设计(上)

15天0基础极速入门数据分析,掌握一套数据分析流程和方法,学完就能写一份数据报告!了解一下>>

笔者以京东为例,详述了订单履约和订单拆分系统以及相关流程。

一、订单履约概述

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. 拆分维度

什么是订单拆分?

不知道大家在京东下单的时候,都遇到过这个情况:用户下完单后,在我的订单详情页会看到这么一句话,即‘您的订单由于不在同一部分,或者不在同一个商家需要拆分’这么一句话。

而在拆分原因会显示:因为不在同一库房,或不是同一商家,订单被拆成多个子单分开配送。

这个会对客户带来什么?尤其像双11或者618等这种大促的时候,我们的购物车可能一次性会有10个甚至有若干个东西要购买。然而,为什么会拆这个订单?

哪些订单需要拆分,哪些不需要?

京东订单主要分为虚拟订单和实物订单。

实物订单:京东自营商品,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多个系统使用该服务;

 

作者:接蒜君 ,微信公众号:接蒜君。一个专注结算方向的互联网产品。

本文由 @接蒜君 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash,基于CC0协议。

给作者打赏,鼓励TA抓紧创作!
2人打赏
评论
欢迎留言讨论~!
  1. 文章写的确实不错,可是有没有想过一个问题,可以讲文中的专业术语加一个注释,可以很大程度的降低阅读难度增加阅读量,毕竟不是所有人都像作者一样连哦接一些术语

    回复
  2. 期待中篇和下篇

    回复
  3. 赞期待下集

    回复
  4. 错别字❌ 要注意哈

    回复