Summary of enhancements:

  1. Reallocate button for stock pending items/orders.
  2. Schedule retrial service to initiate automatically order allocation for 'Stock pending' and 'Not allocated' orders.
  3. Create shipment API to support bulk shipment.


Reallocate button for stock pending item/orders

Control Panel > Orders & Leads > Stock Pending 

All the stock pending orders will have a reallocate button against them, clicking on that will run the allocation rule.

Context: 

  • Stock Pending order is an order that is successfully placed, but any of the items of that order is out of stock. As a result, the items remain in Authorized-Stock Pending state
  • Not Allocated order is an order that is successfully placed but any of the items of that order is not allocated to any location 
  • In case of the above scenarios, the user will have to move the items to Authorized by selecting Move to Authorized for orders listed in Control Panel -> Orders & Leads -> Stock Pending.

Problem Statement: 

  • Move to Authorized force allocates the items that are in Authorized-Stock Pending to the already allocated location
  • Hence, due to Move to Authorized, post inventory replenishment, the items do not get allocated to the most suitable location
  • Also, Move to Authorized cannot allocate a location to Not Allocated items as there’s no existing allocated location and hence, the items cannot be moved to Authorized

Solution:

  • Reallocate button is available against each order, irrespective of whether it is a Stock Pending or Not allocated order. Clicking on the Reallocate button will run the allocation rule for that order again

Some other changes: 

  • Control Panel -> Orders & Leads -> Stock Pending now shows both Stock Pending & Not Allocated orders from the last 30 days sorted in descending order of age
  • Few columns have been included in the page such as 
    • Category:- displays if an order is not-allocated or stock pending
    • No. of Items:- displays the number of order items
    • No. of Items in Stock-Pending:- displays the number of order items that are in stock-pending
    • Quantity of items in Stock-Pending:- displays the quantity of order items that are in stock-pending i.e. stock pending items x corresponding ordered quantity)
    • Delivery Mode:- displays if the order is Home Delivery or Stock Pickup
  • Few columns have been removed from the page
    • Checkout Type
    • Order Value
    • Customer Name 
    • Quantity


Schedule retrial service to initiate automatically order allocation for 'Stock pending' and 'Not allocated' orders

(Control Panel > Orders & Leads > Stock Pending)

This feature is an extension of the first feature will list Not-Allocated and Stock Pending Orders with Option to Reallocate

Context: 

  • Stock Pending order is an order that is successfully placed, but any of the items of that order is out of stock. As a result, the items remain in Authorized-Stock Pending state
  • Not Allocated order is an order that is successfully placed but any of the items of that order is not allocated to any location 
  • In case of the above scenarios, the user will have to manually Reallocate or Move to Authorized the order to move the items to Authorized (screenshot below for reference)

Problem Statement: 

  • Hence, when the volume of orders in Stock Pending and Not Allocated is huge, which is often the case for many merchants, manually moving the order to authorize or order reallocation becomes a bottleneck in the process

Solution:

  • A retrial service has been developed that runs every 3 hours and triggers order allocation rule for not allocated and stock pending orders
  • The retrial service is triggered only for orders that are authorized in the last 2 days

 

Create Shipment API to Support Bulk Shipment

Problem Statement: 

  • Create Shipment API creates a single shipment through a single call
  • Hence, for Bulk Shipment creation, the Create Shipment API has to be called multiple times

Solution:

  • An API is created to support bulk shipment

Sample Call:

Endpoint:- http://developerapi.martjack.internal/developerapi/Order/Bulkship
Request :- InputFormat=application/json&merchantId={{Merchantid}}&InputData=
[
{
  "ShipmentType": "normal",
  "lineitems": [
    {
      "OrderLineId": "52445077",
      "Quantity": "1",
      "Weight": 3000,
      "CustomFieldValues": [
        {
          "CustomFieldName": "blabla",
          "CustomEntityValue": "shubham"
        }
      ]
    },
     {
      "OrderLineId": "52445078",
      "Quantity": "2",
      "Weight": 5000,
      "CustomFieldValues": [
        {
          "CustomFieldName": "Barcode",
          "CustomEntityValue": "123456"

        }
      ]
    }   
  ],
  "LocationRefCode": "439",
  "length": 10,
  "width": 10,
  "CourierName": "BV",
  "AWBNumber": 78,
  "ShipDate": "2019/11/21",
  "MerchantId": "{{Merchantid}}",
  "OrderId": "8993869",
  "logisticsType": "standard",
  "height": 10
},
{
  "ShipmentType": "normal",
  "lineitems": [
    {
      "OrderLineId": "52445081",
      "Quantity": "1",
      "Weight": 3000,
      "CustomFieldValues": [
        {
          "CustomFieldName": "blabla",
          "CustomEntityValue": "shubham"
        }
      ]
    }
  ],
  "LocationRefCode": "439",
  "length": 10,
  "width": 10,
  "CourierName": "BV",
  "AWBNumber": 78,
  "ShipDate": "2019/11/21",
  "MerchantId": "{{Merchantid}}",
  "OrderId": "8993873",
  "logisticsType": "standard",
  "height": 10
}
]