訂單系統:從0到1設計思路

來自:人人都是產品經理

作者:sleeping

http://www.woshipm.com/pd/1392102.html

概述

本文主要講述了在傳統電商企業中,訂單系統應承載的角色,就訂單系統所包含的主要功能模塊梳理了設計思路,并對訂單系統未來的發展做了一些思考。

1、訂單系統在企業中的角色

在搭建企業訂單系統之前,需要先梳理企業整體業務系統之間的關系和訂單系統上下游關系,只有劃分清業務系統邊界,才能確定訂單系統的職責與功能,進而保證各系統之間高效簡潔的工作。

2、訂單系統與各業務系統的關系

image

(1)對外系統:

所有給企業外部用戶使用的系統都在這一層,包括官網、普通用戶使用的C端,還包括給商戶使用的商家后臺和在各個銷售渠道進行分銷的系統,比如與銀行信用卡中心合作、微信合作在合作商的平臺露出本企業的產品。這類系統站在與客戶接觸的最前線,是公司實現商業模式的橋頭堡。

(2)管理中后臺:

每個C端的業務形態都會有一個對應的系統模塊,如負責管理平臺交易的訂單系統,管理優惠信息的促銷系統,管理平臺所有產品的產品系統,以及管理所有對外系統顯示內容的內容系統等。

(3)公共服務系統:

隨著企業的發展,信息化建設到達一定程度后,企業需要將通用功能服務化、平臺化,以保證應用架構的合理性,提升服務效率。這類系統主要給其他應用系統提供基礎服務能力支持。

3、訂單系統上下游關系

image

由此可見,訂單系統對上接收用戶信息,將用戶信息轉化為產品訂單,同時管理并跟蹤訂單信息和數據,承載了公司整個交易線的重要對客環節。對下則銜接產品系統、促銷系統、倉儲系統、會員系統、支付系統等,對整個電商平臺起著承上啟下的作用。

4、訂單系統的業務架構

image

(1)訂單服務

該模塊的主要功能是用戶日常使用的服務和頁面,主要有訂單列表、訂單詳情、在線下單等,還包括為公共業務模塊提供的多維度訂單數據服務。

(2)訂單邏輯

訂單系統的核心,起著至關重要的作用,在訂單系統負責管理訂單創建、訂單支付、訂單生產、訂單確認、訂單完成、取消訂單等訂單流程。還涉及到復雜的訂單狀態規則、訂單金額計算規則以及增減庫存規則等。在4節核心功能設計中會重點來說。

(3)底層服務

信息化建設達到一定程度的企業,一般會將公司公共服務模塊化,比如:產品,會構建對應的產品系統,代碼、數據庫,接口等相對獨立。但是,這也帶來了一個問題,比如:訂單創建的場景下需要獲取的信息分散在各個系統。

如果需要從各個公共服務系統調用:一是會花費大量時間,二是代碼的維護成本非常高。因此,訂單系統接入所需的公共服務模塊接口,在訂單系統即可完成對接公共系統的服務。

訂單系統核心功能

1、訂單中所包含的內容信息

image

為了使訂單系統能夠對訂單進行高效、精準的管理和跟蹤,訂單會儲存關于產品、優惠、用戶、支付信息等一系列的訂單實時數據,來和下游系統,如:促銷、倉儲、物流進行交互。

以一個通用B2C商城的訂單為例,梳理其包含的信息如下:

這里要注意的是訂單類型,隨著平臺業務的不斷發展,品類豐富、交易方式豐富后,需要對訂單進行多維度的分類管理,同時訂單類型利于訂單系統的擴展性。每種訂單類型將會對應一套流程及一套狀態,便于對訂單進行分類管理和復用。

2、流程引擎

流程是指從平臺角度出發,將訂單從創建到完成的整個流轉過程進行抽象,從而形成了一套標準流程規則。而不同的產品類型或交易類型在系統中的流程會千差萬別,因此為了方便對訂單流程進行管理,會組建流程引擎模塊。

每套訂單流程中會包含正向流程及逆向流程,正向流程可以比作一次順利的網購體驗過程中,后臺系統之間的信息流轉。逆向流程則是修改訂單、取消訂單、退款、退貨等各種動作引起的后臺系統流程,同時每個流程觸發的條件又可分為系統觸發和人工觸發兩種場景。

(1)正向流程

以一個通用B2C商城的訂單系統為例,根據其實際業務場景,其訂單流程可抽象為5大步驟:訂單創建>訂單支付>訂單生產>訂單確認>訂單完成。

而每個步驟的背后,訂單是如何在多系統之間交互流轉的,可概括如下圖:

image

訂單創建:

用戶下單后,系統需要生成訂單,此時需要先獲取下單中涉及的商品信息,然后獲取該商品所涉及到的優惠信息,如果商品不參與優惠信息,則無此環節。

接著獲取該賬戶的會員權益,這里要注意的是:優惠信息與會員權益的區別,比如:商品滿減是優惠信息,SUPER會員全場9.8折指的是會員權益,一個是針對商品,另一個是針對賬戶。其次就是優惠活動的疊加規則和優先級規則等。

增減庫存規則是指訂單中的商品,何時從倉儲系統中對相應商品庫存進行扣除,目前主流有兩種方式:

下單減庫存——即用戶下單成功時減少庫存數量

  • 優勢:用戶體驗友好,系統邏輯簡潔;

  • 缺點:會導致惡意下單或下單后卻不買,使得真正有需求的用戶無法購買,影響真實銷量;

解決辦法:

  1. 設置訂單有效時間,若訂單創建成功N分鐘不付款,則訂單取消,庫存回滾;

  2. 限購,用各種條件來限制買家的購買件數,比如一個賬號、一個ip,只能買一件;

  3. 風控,從技術角度進行判斷,屏蔽惡意賬號,禁止惡意賬號購買。

付款減庫存——即用戶支付完成并反饋給平臺后再減少庫存數量

  • 優勢:減少無效訂單帶來的資源損耗;

  • 缺點:因第三方支付返回結果存在時差,同一時間多個用戶同時付款成功,會導致下單數目超過庫存,商家庫存不足容易引發斷貨和投訴,成本增加。

解決辦法:

  1. 付款前再次校驗庫存,如確認訂單要付款時再驗證一次,并友好提示用戶庫存不足;

  2. 增加提示信息:在商品詳情頁,訂單步驟頁面提示不及時付款,不能保證有庫存等。

綜上所述,兩種方式各有優缺點,因此,需結合實際場景進行考慮,如:秒殺、搶購、促銷活動等,可使用下單減庫存的方式。而對于產品庫存量大,并發流量沒有那么強的產品使用付款減庫存的方式。

將兩種方式帶入到銷售場景中,關聯商品類型、促銷類型、供需關系等,靈活使用,以充分發揮計算機系統的優勢。

訂單支付:

用戶支付完訂單后,需要獲取訂單的支付信息,包括支付流水號、支付時間等。支付完訂單接著就是等商家發貨,但在發貨過程中,根據平臺業務模式的不同,可能會涉及到訂單的拆分。

訂單拆分一般分兩種:

  • 一種是用戶挑選的商品來自于不同渠道(自營與商家,商家與商家);

  • 另一種是在SKU層面上拆分訂單:不同倉庫,不同運輸要求的SKU,包裹重量體積限制等因素需要將訂單拆分。

訂單拆分也是一個相對獨立的模塊,這里就不詳細描述了。

訂單生產:訂單生產,是指產品從企業到用戶這一流程的概述。如電商平臺中,商家發貨過程已有一個標準化的流程,訂單內容會發送到倉庫,倉庫對商品進行打單、揀貨、包裝、交接快遞進行配送。

訂單確認:收到貨后,訂單系統需要在快遞被簽收后提醒用戶對商品做評價。這里要注意,確認收到貨不代表交易成功,相反是售后服務的開始。

訂單完成:訂單完成是指在收到貨X天的狀態,此時訂單不在售后的支持時間范圍內。到此,一個訂單的正向流程就算走完了。

(2)逆向流程

image

上面說到逆向流程是各種修改訂單、取消訂單、退款、退貨等操作,需要梳理清楚這些流程與正向流程的關系,才能理清訂單系統完整的訂單流程。

訂單修改:可梳理訂單內信息,根據信息關聯程度及業務訴求,設定訂單的可修改范圍是什么,比如:客戶下單后,想修改收貨人地址及電話。此時只需對相應數據進行更新即可。

訂單取消:用戶提交訂單后沒有進行支付操作,此時用戶原則上屬于取消訂單,因為還未付款,則比較簡單,只需要將原本提交訂單時扣減的庫存補回,促銷優惠中使用的優惠券,權益等視平臺規則,進行相應補回。

退款:用戶支付成功后,客戶發出退款的訴求后,需商戶進行退款審核,雙方達成一致后,系統應以退款單的形式完成退款,關聯原訂單數據。因商品無變化,所以不需考慮與庫存系統的交互,僅需考慮促銷系統及支付系統交互即可。

退貨:用戶支付成功后,客戶發出退貨的訴求后,需商戶進行退款審核,雙方達成一致后,需對庫存系統進行補回,支付系統、促銷系統以退款單形式完成退款。最后,在退款/退貨流程中,需結合平臺業務場景,考慮優惠分攤的邏輯,在發生退款/退貨時,優惠該如何退回的處理規則和流程。

(3)狀態機

狀態機是管理訂單狀態邏輯的工具。狀態機可歸納為3個要素,即現態、動作、次態。

  1. 現態:是指當前所處的狀態。

  2. 動作:動作執行完畢后,可以遷移到新的狀態,也可以仍舊保持原狀態。

  3. 次態:動作滿足后要遷往的新狀態,“次態”是相對于“現態”而言的,“次態”一旦被激活,就轉變成新的“現態”了。

狀態機的設計需要結合平臺實際業務場景,將狀態間的切換細化成了執行了某個動作。

以一個B2C商城的訂單系統舉例如下:

image

訂單系統為了高效的對訂單進行跟蹤和管理,會對訂單流程當中的關鍵節點,抽象出訂單狀態。而訂單狀態從不同用戶的角度可分為,系統訂單狀態、商家訂單狀態、買家訂單狀態等。

對于訂單系統來說,訂單狀態細分的顆粒度越細、越明確,訂單系統管理的精度和可靠性就越高,比如:在待付款和待發貨兩個狀態中,訂單系統后臺會細分為訂單超時取消、訂單支付失敗、訂單付款完成等。

因此,訂單狀態模塊中,通常會維護狀態映射表,以不同的用戶角色對系統訂單狀態進行重新劃分,以滿足不同用戶的需求。

除此以外,隨著電商平臺的不斷發展,不同的業務類型,所對應的訂單狀態都會有所區別。所以,訂單系統中一般會儲存多套狀態機,以滿足不同的訂單類型來使用。

訂單系統的發展

訂單系統的主體框架,和主要業務模塊已基本講完,那么隨著企業的發展,業務量和業務形式不斷變化,企業有可能形成多個訂單系統并存以滿足不同的業務需要的情況。

業務系統架構如下:

image

這種狀況的出現,將會給平臺帶來非常大的發展瓶頸,如:

三個訂單系統,每個訂單系統處理不同類型的訂單,沒有統一的訂單銷量、訂單狀態信息,網站前臺對訂單的狀態展示與控制不統一,只能是在網站前臺會員中心硬代碼維護一套面向會員的統一訂單明細與狀態數據。而無線側上線后,由于不了解前臺網站會員中心的訂單狀態管理邏輯,所以需要把前臺網站的訂單明細及狀態管理再在無線應用側再實現一遍。

三套后臺訂單系統與公共業務系統如會員中心、支付與財務、促銷工具、客戶分單等系統都需要對接一遍,公共業務處理邏輯不統一,一旦邏輯變更多個系統統一個接口都要修改一遍,接口的重復維護開發工作量大。

訂單開發目前分到事業部,各個事業部只會考慮自己的邏輯,不會考慮公共架構,只會越走越遠。碰到像無線這樣的項目,需要對接各個事業部,無線側應用上線進展慢。

因此未來的訂單系統可拆分為訂單中心與業務訂單系統兩個模塊,以管理公司所有訂單數據,并為各個模塊提供統一服務。

業務系統架構如下:

image

最后

對于企業訂單系統的搭建,并不是要做的大而全、也不是要小而精。而需要結合市場、公司、業務的實際情況來最終制定系統設計方案和產品迭代計劃。

最終,和公司整體發展相互協調,相輔相成。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,316評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,481評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,241評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,939評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,697評論 6 409
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,182評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,247評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,406評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,933評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,772評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,973評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,516評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,638評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,866評論 1 285
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,644評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,953評論 2 373

推薦閱讀更多精彩內容