新零售SaaS架构:订单履约系统架构设计(万字图文总结)
什么是订单履约系统?
订单履约系统用来管理从接收客户订单到将商品送达客户手中的全过程。
它连接了上游交易(客户在销售平台下单环)和下游仓储配送(如库存管理、物流配送),确保信息流顺畅、操作协同,提升整个供应链的效率和响应速度。
系统定位
订单履约系统的目标是让订单处理更快、更清晰,提高客户体验。
履约过程需要快速处理订单,同时为客户提供订单、物流信息的实时更新。保证每个订单都能准时、正确地完成,不仅要提高库存和物流配送的效率,降低成本,还要提升客户对履约服务的满意度。
业务流程
订单履约过程是一系列步骤,从客户下单到商品交给客户,包含很多步骤,例如客户在销售平台下订单,订单履约系统接收订单,仓库或门店备货和发货,配送小哥交付给客户。每一步都必须顺利进行,确保整个过程高效。
履约流程的关键是协同顺畅,只有各系统相互配合,订单能从头到尾顺利完成各个环节,才能确保在客户约定的时间内完成履约。任何一个环节出问题都会导致履约时间延长,降低客户满意度。
- 接收订单:当客户在销售平台下单后,第一步是收订单。这个步骤需要收集和确认订单信息,包括销售店铺信息、客户信息、商品信息、收发货地址、交付信息、支付信息等。在这个阶段,系统会检查订单是否有效,确保所有的订单信息都是完整的。
- 订单拆单:此环节的目标是把复杂的订单分解成更好管理的子订单。通常根据订单类型、商品类型、存放位置、履约要求等因素来分解。比如,需要从不同地方发货的商品、预售商品。拆分子订单可以提高我们处理的速度,减少物流的费用,每个小订单都可以根据最佳的履约流程来处理。
- 派单:该步骤会基于物流配送的因素进行决策,比如物流公司对包裹的重量和体积有限制、客户需分批送达或特定时间送达,在派单环节,可能会进一步拆单,分配给合适的仓库或门店。
- 预占库存:该环节可以防止在处理订单时,库存被其他订单占用,防止超卖情况发生,是库存管理的关键环节,确保了库存的准确性。
- 改派:在履约过程中,可能会因为库存不足、配送地址问题或其他突发情况,需要把订单转给另一个仓库或门店。改派环节允许订单根据实际情况进行调整。这个过程有助于更好地利用资源,确保订单能快速准确地完成。
- 拣货:指根据订单信息从库存中挑选出下单商品的过程。这个环节要求高度的准确性和效率,拣选错误,会直接影响客户满意度。仓库工作人员通常会使用手持终端设备,确保按照订单作业的准确性。
- 打包:拣货后商品会被妥善包装,保证运输安全。包装时会贴上运输标签和配送信息,确保商品能顺利送达。
- 出库:打包好的商品被快递员或配送小哥揽收后,会被记录为已出库,这就意味着商品已经离开门店/仓库。
- 物流配送:商品出库后,将通过快递或同城配送方式进行运送。这一阶段,物流公司或配送公司负责将商品运送到客户指定的收货地址。
- 确认收货:当客户收到并确认商品没有问题后,订单就算完成了。客户通常在网上确认收货。这个环节是记录服务时间、收集客户反馈的时机。
核心概念模型
在整个订单履约过程中,订单是起始,子订单是订单拆分的结果,用于处理更细粒度的履约逻辑。
发货单则是具体的执行单据,指导商品从仓库到客户手中的具体操作任务。
这三个模型层层递进,确保整个履约链条的高效管理。
- 订单:客户提交购物请求后,生成的买卖合同,通常包含客户信息、下单日期、所购买的商品或服务明细、价格、数量、收货地址以及支付方式等详细信息。
- 子订单:为了更高效地进行履约,大订单可能会被拆分成多个子订单,子订单会根据商品类型、配送地址、仓库位置或供应商等因素进行拆分。
- 发货单:根据子订单生成,指导完成订单的具体履约任务,如商品的拣选、包装、出库、配送等。
订单拆分场景
单门店履约场景
在连锁模式下,系统会自动根据用户的收货地址匹配最近的门店。
如果匹配到某个门店,且门店库存充足,能完成履约服务。在这种情况下,不会对订单进行拆分,直接分配给门店进行发货。
多仓库履约场景
有些商家有多个仓库,不同的商品存放在不同的门店或仓库里。
当用户下单时,如果订单内的商品在不同的仓库,就需要拆分订单,把拆分后的子订单匹配到对应的仓库中,然后根据商品的数量进行备货和出库。
按订单类型、商品类型拆分
由于订单和商品类型的差异,我们需要将其拆分成不同类型的子订单。
商品中包括跨境商品、分销商品等,我们会根据不同的商品类型自动拆分。
对于生鲜水果、冷链食品以及其他易碎物品,由于它们对快递的保护性和及时性有较高的要求,我们需要单独包装并发货。如果订单中包含这类商品,会对订单进行拆分处理。
按物流场景拆分
物流公司通常对包裹的重量和体积有限制。如果订单中的商品超过这些限制,就需要将订单拆分为多个发货单来发货。
从成本的角度考虑,在某些情况下,将大量商品分成多个发货单可能会比一个大包裹发货更省钱。
客户可能会有特殊的物流要求,如分批送达或特定时间送达,需要将订单拆分为多个发货单。例如预售商品与其他商品一起下单,需要等到预售商品到货后再发货。
系统的核心能力
通过分析订单履约的全流程和各个业务活动,我们可以梳理出订单履约流程所需的核心业务能力,分别为履约服务表达、履约调度和物流配送。
- 履约服务表达:负责清楚、准确地向客户传递履约服务的能力,包括订单处理时间、配送时间、费用计算和服务范围。确保客户下单时有明确的期待,并在整个订单过程中保持透明和一致。
- 履约调度:涉及订单的接收、处理、门店/仓库分配。这一能力确保订单根据预定的规则和优先级,有效地分配给门店/仓库。提升内部操作的效率,减少履约时间,同时最大限度地减少延期情况。
- 物流配送:确保下单商品从门店/仓库准时地运送到客户手中,这包括与第三方运力服务商的合作、配送管理、配送路径的优化以及送货执行。这部分能力由配送系统提供。
应用架构设计
应用层定义软件的应用功能,它负责接收用户请求,协调领域层能力来执行任务,并将结果返回给用户,核心模块包括:
- C端履约服务
- 预计送达时间:为消费者提供订单的预计处理时间、配送时效等,通常基于订单处理时间、配送情况、配送距离等多种因素计算。
- 实时订单状态查询:允许消费者实时查看他们的订单所处阶段。包括订单待接单、拣货、打包、已发货、配送中等状态。
- 配送轨迹跟踪:提供订单从出库到最终送达的完整路径跟踪,消费者可以查看订单的当前位置和过往的配送节点,了解配送进度。
- 配送信息修改:在订单还未最终发出之前,消费者可能需要更改配送信息,如地址或配送时间。
- 配送费用明细:显示消费者的订单配送费用的详细分解,包括配送费、包装费、服务费等。
- 确认收货:消费者可以通过系统确认收货,是完成订单流程的最后一步。
- B端管理模块:
- 订单派单:接收来自销售平台的订单,并按照既定规则自动分配给对应的门店/仓库。
- 订单管理:全面管理订单的生命周期,包括订单的确认、处理、状态跟踪、修改和取消等管理操作。
- 拣货管理:管理仓库内的拣货操作,确保商品被准确无误地从货架上拣选出来,并进行打包和发货。
- 发货管理:全面管理发货单的生命周期,根据订单的地址、商品大小、重量和客户选择的履约方式,匹配合适的发货方式,并对发货流程进行跟踪。
- 逆向履约:当客户不满意或需退换商品时,逆向履约模块负责处理退货请求,并管理退货退款和换货流程。
领域层是业务逻辑的核心,专注于表示业务概念、业务状态流转和业务规则,沉淀可复用的服务能力,模块包括:
- 履约服务表达:负责向客户提供履约服务的明确信息。包括预计的送货时间、费用计算、服务选项(如定时达、次日达等)以及履约可达性要求。
- 订单履约调度:提供订单履约调度的核心能力,确保订单被高效地处理和执行。它涉及订单从接收到最终准备配送的所有调度和处理过程,包括订单拆分、分配、拣货、包装、发货等。
订单履约系统与其他系统的依赖关系:
- 商品管理系统:提供的商品信息,包括价格、规格、描述、分类、SKU等。
- 中央库存系统:需要访问中央库存系统来确认下单商品的实物库存情况,包括库存数量和库存位置。
- 配送系统:一旦商品打包完成,将依赖配送系统来处理商品的实际配送工作,包括配送安排、跟踪和状态更新。配送系统提供的配送状态和时间信息,对于订单履约系统中订单状态的更新至关重要。
- 基础数据系统:提供组织机构信息、用户权限信息、服务商信息等基础数据。这些标准化的数据确保各个系统数据的一致性
- 数据分析系统:订单履约系统将产生大量数据,包括订单数据、履约过程数据、配送时效数据等,这些数据需传输到数据分析系统。数据分析系统基于采集到的数据,提供分析与洞察,帮助优化订单履约流程,提升客户满意度,并提供预测分析,来辅助库存管理和需求预测。
写在最后
订单履约系统负责管理从接收客户订单到将商品送达客户手中的全过程。它连接上游交易和下游仓储配送,以提高供应链效率。
该系统的核心业务能力包括履约服务表达、履约调度和物流配送。
根据物流和商品类型等因素,订单会被拆分成子订单。这样做可以提高处理速度并减少物流费用。
在订单履约系统的应用架构中,应用层定义了软件的应用功能,包括C端履约服务和B端管理模块。领域层是业务逻辑的核心,专注于表示业务概念、业务状态流转和业务规则。
订单履约系统与商品管理系统、中央库存系统、配送系统、基础数据系统和数据分析系统等其他系统存在依赖关系。各系统通过相互协作来完成订单履约流程。
新零售SaaS架构:订单履约系统架构设计(万字图文总结)的更多相关文章
- 新零售SaaS架构:商品系统架构设计
SaaS产品就像一座冰山,冰山以上的部分是功能.数据(可见部分).用户界面,冰山以下是系统架构.完整的数据模型.开放体系.非功能性需求(扩展性.可维护性.性能.安全等). 短期内想要快速上线产品,可能 ...
- 新零售SaaS架构:中央库存系统架构设计
近年来,越来越多的零售企业大力发展全渠道业务.在销售额增长上,通过线上的小程序.直播.平台渠道等方式,拓展流量变现渠道.在会员增长方面,通过多样的互动方式,全渠道触达消费者,扩大会员规模.而全渠道的库 ...
- 新零售SaaS架构:多租户系统架构设计
什么是多租户? 多租户是SaaS领域的特有产物,在SaaS服务中,租户是指使用SaaS系统的客户,租户不同于用户,例如,B端SaaS产品,用户可能是某个组织下的员工,但整个企业组织是SaaS系统的租户 ...
- 新零售SaaS架构:组织管理的底层逻辑与架构设计
想要深入理解零售企业的组织架构,是非常困难的一件事.因为大部分人都没有实际经营过一家零售企业,更没有参与设计过零售企业的组织架构. 调研商家时,我们只能了解商家组织架构的现状,我们也很难和企业高层直接 ...
- 向架构师进军--->系统架构设计基础知识
如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 在讲解系统架构设计之前,有必要补充一下架构相关的概念,因此本博文主要讲述架构.架构师 ...
- Kubernetes的系统架构与设计理念
Kubernetes与云原生应用简介 随着Docker技术的发展和广泛流行,云原生应用和容器调度管理系统也成为IT领域大热的词汇.事实上,云原生应用的思想,在Docker技术火爆之前,已经由云计算技术 ...
- 【PaPaPa】系统架构搭建浅析 - 人人可以搭架构
声明 [PaPaPa]这个项目是以技术分享与研究为目的而做的,并非商业项目,所以更多的是提供一种思路,请勿直接在项目中使用. 上一篇隐藏开源项目地址实属无奈,为了寻找一起做这件事的同伴不得已刷了一天推 ...
- HBase 系统架构及数据结构
一.基本概念 2.1 Row Key (行键) 2.2 Column Family(列族) 2.3 Column Qualifier (列限定符) 2.4 Column ...
- HBase 学习之路(二)—— HBase系统架构及数据结构
一.基本概念 一个典型的Hbase Table 表如下: 1.1 Row Key (行键) Row Key是用来检索记录的主键.想要访问HBase Table中的数据,只有以下三种方式: 通过指定的R ...
- HBase 系列(二)—— HBase 系统架构及数据结构
一.基本概念 一个典型的 Hbase Table 表如下: 1.1 Row Key (行键) Row Key 是用来检索记录的主键.想要访问 HBase Table 中的数据,只有以下三种方式: 通过 ...
随机推荐
- GPT大语言模型引爆强化学习与语言生成模型的热潮、带你了解RLHF。
GPT大语言模型引爆强化学习与语言生成模型的热潮.带你了解RLHF. 随着 ChatGPT 的爆火,强化学习(Reinforcement Learning)和语言生成模型(Language Model ...
- Centos8 配置IP地址与阿里YUM源
Centos8 系统中无法找到network.service网络服务,默认已经被nmcli替换了,所以修改方式略微变化,在/etc/sysconfig/network-scripts/里也看不到任何脚 ...
- C/C++ Npcap包实现数据嗅探
npcap 是Nmap自带的一个数据包处理工具,Nmap底层就是使用这个包进行收发包的,该库,是可以进行二次开发的,不过使用C语言开发费劲,在进行渗透任务时,还是使用Python构建数据包高效,这东西 ...
- 时间工具类-Java
1.根据传入时间获取该时间所在季度的第一天 /** * 根据传入时间获取传入日期所在季度的第一天的日期 * * @param startDate * @return */ public static ...
- C++11之函数对象
目录 1.使用场景 2.函数对象 3.std::bind 4.总结 1.使用场景 在没有C++11的时候,我们通常使用回调函数来完成某些特定的功能,使用回调函数就需要先声明函数指针 示例: typed ...
- 【学习笔记】Python 环境隔离
目录 前言 venv venv 环境管理 venv 包管理 virtualenv 以及 virtualenvwrapper 安装 virtualenvwrapper 环境管理 virtualenvwr ...
- Hive-安装和部署(Hive3.1.2)
(一)安装前提 (1) 安装JDK1.8及以上版本 (2) 已经安装MySQL,推荐5.7. (3) 已经安装Hadoop. JDK.MySQL.Hadoop的安装,本文不再介绍. (二)安装Hive ...
- React axios 使用 http-proxy-middleware 解决跨域问题小记
壹 ❀ 引 在上篇bug分析的记录文中,提到axios可做到取消接口请求,所以想写一篇关于axios.CancelToken使用以及原理分析的文章(主要是自己好奇到底如何做到的取消).在准备工作阶段, ...
- NC53370 Forsaken的三维数点
题目链接 题目 题目描述 Forsaken现在在一个三维空间中,空间中每个点都可以用 \((x,y,z)\) 表示.突然,三维空间的主人出现了,如果Forsaken想要继续在三维空间中呆下去,他就 ...
- 【OpenGL ES】绘制圆形
1 前言 [OpenGL ES]绘制三角形 中介绍了绘制三角形的方法,[OpenGL ES]绘制正方形中介绍了绘制正方形的方法,本文将介绍绘制圆形的方法. OpenGL 以点.线段.三角形为图 ...