This paper mainly describes the role that the order system should carry in the traditional e-commerce enterprises, and sorts out the design ideas of the main functional modules contained in the order system, and makes some thoughts on the future development of the order system.
1. The role of order system in the enterprise
Before building the enterprise order system, the relationship between the enterprise’s overall business system and the upstream and downstream relationship of the order system should be sorted out first. Only by dividing the boundary of the business system can the responsibilities and functions of the order system be determined, so as to ensure the efficient and simple work among the systems.
2. Relationship between order system and business systems
(1) External system:
All the systems used by external users of the enterprise are in this layer, including the official website, the C terminal used by ordinary users, the merchant background used by merchants and the distribution system in various sales channels, such as cooperation with the bank credit card center, wechat cooperation and exposing the products of the enterprise on the platform of the partners. Such systems are at the forefront of customer engagement and provide a bridgehead for companies to implement their business models.
(2) Management background:
Each c-end business form has a corresponding system module, such as the order system responsible for the management of platform transactions, the promotion system for the management of preferential information, the product system for the management of all products on the platform, and the content system for the management of all external systems display content, etc.
(3) Public service system:
With the development of enterprises and the informatization construction to a certain extent, enterprises need to make general functions servitization and platformization to ensure the rationality of application architecture and improve service efficiency. These systems mainly provide basic service capability support for other application systems. Follow the public account: programmer Nannan Bai, get the 2020 latest Java interview questions manual (more than 200 pages PDF document).
3. Upstream and downstream relationship of the order system
It can be seen that the order system receives user information, converts user information into product orders, manages and tracks order information and data, and carries the important customer link of the entire transaction line of the company. For the next link product system, promotion system, storage system, membership system, payment system, etc., the entire e-commerce platform plays a link between the above and below.
4. Business architecture of the order system
(1) Order service
The main function of this module is the user’s daily use of services and pages, mainly order list, order details, online order, etc., but also includes the public business module to provide multidimensional order data services.
(2) Order logic
The core of the order system, plays a crucial role, in the order system is responsible for the management of order creation, order payment, order production, order confirmation, order completion, cancel order and other order process. It also involves complex order status rules, order amount calculation rules, and increase or decrease inventory rules. We will focus on this in section 4 of core function design.
(3) Underlying services
Enterprises with a certain degree of information construction will generally modularize their public services, such as products. They will build corresponding product systems, which are relatively independent of code, database and interface. However, this creates a problem, such as the information that needs to be captured in the order creation scenario being spread across systems.
If it needs to be called from various common service systems: one, it takes a lot of time, and two, the code is very expensive to maintain. Therefore, the public service module interface required by the order system can be completed in the order system to connect to the public system.
Core function of order system
1. Contents and information contained in the order
In order to enable the order system to manage and track orders efficiently and accurately, the order will store a series of real-time data about products, promotions, users, payment information, etc., to interact with downstream systems, such as: promotion, warehousing, logistics.
Take an order from a general B2C mall as an example, comb the information contained in it as follows:
What should be paid attention to here is the order type. With the continuous development of the platform business, with rich categories and trading methods, it is necessary to conduct multi-dimensional classification management of orders. At the same time, the order type is conducive to the expansibility of the order system. Each order type will correspond to a set of process and a set of state, which facilitates the classification management and reuse of orders.
2. Process engine
Process refers to the abstraction of the entire flow process from order creation to completion from the perspective of the platform, thus forming a set of standard process rules. Different product types or transaction types will have different processes in the system. Therefore, in order to facilitate the management of order process, a process engine module will be built.
Each order process contains forward process and reverse process. The forward process can be compared to the information flow between background systems in a smooth online shopping experience. The reverse process is the background system process caused by various actions such as order modification, order cancellation, refund, return and so on. At the same time, the triggering conditions of each process can be divided into two scenarios: system triggering and manual triggering. Follow the public account: programmer Nannan Bai, get the 2020 latest Java interview questions manual (more than 200 pages PDF document).
(1) Forward process
Take the order system of a general B2C mall as an example. According to the actual business scenario, the order process can be abstract-ed into five steps: order creation > order payment > order production > order confirmation > order completion.
Behind each step, how the order flows between multiple systems can be summarized as follows:
Order creation:
After a user places an order, the system needs to generate an order. At this time, it needs to obtain the commodity information involved in the order, and then obtain the preferential information involved in the commodity. If the commodity does not participate in the preferential information, there is no such link.
Then get the membership rights of the account, here we should pay attention to the difference between the preferential information and the membership rights, for example: the product full discount is the preferential information, SUPER member full 10% discount refers to the membership rights, one is for the goods, the other is for the account. Secondly, the superposition rules and priority rules of preferential activities.
The rule of increasing or decreasing inventory refers to when the goods in the order should be deducted from the inventory of corresponding goods in the storage system. At present, there are two mainstream ways:
Order destocking – that is, the amount of inventory is reduced when the user orders successfully
-
Advantages: friendly user experience, simple system logic;
-
Disadvantages: it will lead to malicious order or order but do not buy, so that the real demand of users can not buy, affect the real sales;
The solution:
-
Set the order validity time. If the order is successfully created and no payment is made within N minutes, the order will be cancelled and the inventory will be rolled back.
-
Purchase limit: use various conditions to limit the number of purchases by buyers, such as one account, one IP, can only buy one;
-
Risk control, judge from the technical point of view, block malicious accounts, prohibit malicious account purchase.
Payment destocking — that is, the amount of inventory is reduced after the user completes payment and feeds back to the platform
-
Advantages: Reduce the loss of resources caused by invalid orders;
-
Disadvantages: Due to the time difference in the return results of third-party payment, multiple users can pay successfully at the same time, which will lead to the number of orders exceeding the inventory. The insufficient inventory of merchants will easily lead to stock outage and complaints, which will increase the cost.
The solution:
-
Check the inventory again before payment. If the order is confirmed to be paid, check again, and kindly remind the user that the inventory is insufficient;
-
Add prompt information: in commodity details page, order step page, prompt that payment is not timely, inventory cannot be guaranteed, etc.
To sum up, the two methods have their advantages and disadvantages, therefore, need to be considered in combination with the actual scenario, such as: seckill, panic buying, promotional activities, etc., can be used to place an order to reduce inventory. For products with large inventory and less concurrent flow, payment is used to reduce inventory.
The two methods are brought into the sales scenario, related to commodity type, promotion type, supply and demand relationship, etc., flexible use, to give full play to the advantages of the computer system.
Order payment:
After the payment of the order, the user needs to obtain the payment information of the order, including the payment serial number, payment time, etc. After the payment of the order, we wait for the merchant to ship the order, but in the shipping process, depending on the business model of the platform, the order may be split.
Order splitting is generally divided into two types:
-
One is that the products selected by users come from different channels (self-run and merchant, merchant and merchant);
-
The other is to split the order at the SKU level: different warehouses, SKUs with different shipping requirements, package weight and volume limitations, and other factors require splitting the order.
Order splitting is also a relatively independent module, here will not be described in detail.
Order production: Order production is an overview of the process by which products travel from the enterprise to the user. For example, in the e-commerce platform, there is a standardized process for the delivery process of merchants, and the order content will be sent to the warehouse, which will carry out the ordering, picking up, packaging, handover and delivery of the goods.
Order confirmation: After receiving the goods, the order system needs to remind users to evaluate the goods after the express delivery has been signed. It should be noted here that confirmation of receipt of goods does not signify the success of the transaction, but rather the beginning of after-sales service.
Order completion: Order completion refers to X days after receipt of the goods. At this time, the order is not within the after-sales support time range. At this point, the forward process of an order is finished.
(2) Reverse process
As mentioned above, the reverse process is a variety of operations such as order modification, order cancellation, refund, return and so on. The relationship between these processes and the positive process needs to be clarified to clarify the complete order process of the order system.
Order modification: The information in the order can be sorted out and the modification scope of the order can be set according to the degree of information correlation and business demands. For example, the customer wants to modify the address and telephone number of the consignee after placing the order. At this point, you only need to update the corresponding data.
Order cancellation: If the user does not make payment after submitting the order, the user cancellations the order in principle. Because the payment has not been made, it is relatively simple. The user only needs to make up for the inventory deducted from the original order submission, and the coupons and rights and interests used in promotional promotions, etc. according to the rules of the platform.
Refund: After the successful payment by the user and the request for refund issued by the customer, the merchant shall conduct a refund review. After the agreement is reached between the two parties, the system shall complete the refund in the form of refund order and connect the original order data. Since the goods are unchanged, there is no need to consider the interaction with the inventory system, only the promotion system and the payment system can be considered.
Return of goods: After the successful payment by the user and the request for return of goods issued by the customer, the merchant shall review the refund. After the agreement is reached by both parties, the inventory system shall be replenishment, and the payment system and promotion system shall complete the refund in the form of refund order. Finally, in the refund/return process, the logic of discount allocation should be considered in combination with the platform business scenario, and the processing rules and procedures of how to return the discount when the refund/return occurs should be considered.
(3) State machine
A state machine is a tool for managing order state logic. The state machine can be classified into three elements: present state, action state and substate.
-
Present state: indicates the current state.
-
Action: After the action is executed, you can either migrate to a new state or remain in the original state.
-
Substate: the new state to which the action is satisfied. The “substate” is relative to the “present state”. Once the “substate” is activated, it becomes the new “present state”.
The design of the state machine needs to be combined with the actual business scenario of the platform to refine the switchover between states to the execution of an action.
Take a B2C mall order system as an example:
In order to track and manage the order efficiently, the order system abstractions the order status from the key nodes in the order process. The order state can be divided into system order state, merchant order state and buyer order state from the perspective of different users.
For the order system, the finer and clearer the granularity of the order state subdivision, the higher the accuracy and reliability of the order system management, such as: in the pending payment and pending delivery of two states, the order system background will be subdivided into order timeout cancellation, order payment failure, order payment completion.
Therefore, in order status module, state mapping table is usually maintained to reclassify system order status according to different user roles to meet the needs of different users.
In addition, with the continuous development of e-commerce platforms, different business types will have different order states. Therefore, the order system will generally store multiple sets of state machines to meet the different order types to use.
Development of order system
The main framework of the order system, and the main business modules have been basically finished, so with the development of the enterprise, business volume and business form constantly changing, the enterprise may form a number of order systems coexist to meet different business needs.
The business system architecture is as follows:
The emergence of this situation will bring a very big development bottleneck to the platform, such as:
Each of the three order systems processes different types of orders. There is no uniform order sales and order status information. The front desk of the website does not uniformly display and control the status of orders. After the wireless side goes online, it needs to implement the order details and state management of the front website in the wireless application side again because it does not understand the order state management logic of the member center of the front website.
The three sets of background order systems need to be connected to the public business systems such as member center, payment and finance, promotion tools, customer sub-order and so on. The public business processing logic is not unified. Once the logic is changed, the same interface of multiple departments needs to be modified again, and the repetitive maintenance and development workload of the interface is heavy.
Order development is now divided into divisions. Each division will only consider its own logic, not the common architecture, and will only go further and further. When encountering a project like wireless, each business division needs to be connected, and the wireless application is slow to go online.
Therefore, the future order system can be divided into two modules, order center and business order system, to manage all the order data of the company, and provide unified services for each module.
The last
For the establishment of enterprise order system, it is not to do big and complete, it is not to small and fine. The system design scheme and product iteration plan should be formulated in combination with the actual situation of the market, company and business.
In the end, and the overall development of the company to coordinate with each other, complementary.
Follow the public account: programmer Nannan Bai, get the 2020 latest Java interview questions manual (more than 200 pages PDF document).