/
Order Routing Implementation Document

Order Routing Implementation Document

What is the purpose of this article?

The purpose of this article is to provide an option to our clients to decide whether to split the order or not while creating its shipment and if the order is to be split then on which conditions.

Splitting the order means shipments can be made from more than one warehouse if inventory is not available at one warehouse.

In this article, we will thoroughly discuss how we can implement APIs to provide this option to our clients, the tables required in WMS DB, and its infrastructure diagram.

Order Routing Figma?

https://www.figma.com/proto/OisG6xsgcr90cUUe2wUZjw/WIP-August-2023-%5B-NS%2BJW%5D?page-id=300%3A107006&type=design&node-id=1001-7726&viewport=252%2C311%2C0.04&t=EpnT4CZXRmTtr2lK-1&scaling=min-zoom

Components :

  • Frontend (UI):

    • Developed using HTML, CSS, JavaScript, and Angular.

    • Provides a web-based interface for authorized users to access Order Routing functionality.

    • Communicates with the backend through RESTful APIs.

  • Backend:

    • Developed using Java 11 and Google Cloud Endpoints framework.

    • Involves other modules within the Eshopbox platform, such as activities.

    • Uses taskqueues and pub sub topics of GCP App Engine service

    • Exposes APIs for frontend communication.

    • Implements error handling and logging.

  • Database:

    • Utilizes relational (e.g., MySQL) databases for storing order routing data.

DB related Changes and APIs to be developed

  1. DB related changes :-

    1. In WMS DB, two new tables will be added - order_routing_rule_fileds, order_routing_rules

    2. In the account_additional_config table, a new column will be added - isOrderSplittingEnabled

  2. Get Api to return the rule fields, auperator, values to prepare an order routing rule

  3. POST API to save a new Rule /duplicate a rule/ update an existing rule for an account

  4. PUT API to Move up/ Move Down/Move to top/Move to bottom/delete a Rule (This will be achieved by a single api )

  5. POST API to matches the requested rule of a particular account from rules saved in DB priority-wise and returns that matched rule's details

 

Add label

Related content