Order Hopping & Accept/Reject in Increff Omni

Overview

Order Hopping refers to re-splitting and routing the items of a sub-order that a fulfilment location is not able to fulfil due to some reason.

Scope of Work

  1. Hopping of Orders among Increff-managed Fulfillment Systems (SFS,USP and WMS) for the orders that are routed and Split by Increff Omni.

  2. Capturing and considering the store holidays, opening and closing time in Routing, Splitting and Hopping of Orders. 

  3. Accept / Reject Orders at SKU Qty level in SFS for an Order.

  4. Auto Hopping the orders after a certain time threshold Maximum Acceptance Time(MAT) for non-responsive stores.

Trigger Points

Following are the trigger points when hopping of an order is expected to happen:

  • Order not getting accepted by the store initially.

  • Rejection during picking/packing in stores.

  • At the scheduled closure of the store.

Terminology

Store Schedule

Store schedule is a predefined time window defined by the Stores in SFS when the Stores are open and operational. Increff SFS always considers the Store schedule before doing the Hopping of a Splitted or routed order to ensure that the Sub Order which needs to hopped should not reach to a non-operational store.

A user can define two types of store schedules in SFS as mentioned below.

  • Daily Store Schedule- This Store Schedule will be defined with the Opening and Closing time of the store for all 7 days of the week.

    • For example:

      Daily Store Schedule
  • Ad-Hoc Store Schedule- This Store Schedule will be defined with the Opening and Closing of the store for the occasions like National holidays or Extended Store Operation time due to some festive season.

    • For example:

Date

Opening Time

Closing Time

Date

Opening Time

Closing Time

26-01-2023

10:00

19:00

15-08-2023

10:00

19:00

31-12-2023

00:00

00:00

 Note:

  1. If Daily schedule is not defined on any day, the store scheduled is marked as Unscheduled for that day.

  2. The Store Schedule needs to be defined by Store initially or else the Ad-Hoc Schedule will also not be considered even if it is defined for that day.

  3. If the Store is marked as Closed in Store schedule screen or if the current time has passed from the Store Closing time defined in store schedule, then the store will be marked as OFFLINE and the store will not be eligible to get new orders.

  4. Ad-Hoc store schedule will take precedence over daily store schedule every time.

Store Daily Schedule
Store Ad-Hoc Schedule Search
Store Add Ad-Hoc Schedule

MAT - Maximum Acceptance Time

MAT is the maximum time that can be taken by a store to Accept / Reject the order, after which Auto-Hopping Logic of a Sub Order will be triggered.

  • The time will be taken in hours from SFS UI. 

  • The time will be stored at the Store level masters in SFS as every store can have a different MAT.

Maximum Acceptance Time consideration on Active time of Stores 

MAT consideration will be on Active time of stores. SFS will be computing that if a store is eligible to fulfil Sub Order or not with help of RequiredBy Time (SLA) of a Sub Order.

Please keep note of below mentioned things related to Order allocation to a Store location and Hopping process to other store

Note:

Active Hrs and Store Allocation

  • Active Hrs are defined as the Total time where the store is operational

  • If Active Hrs of store is greater than MAT configured, then store is eligible to take orders or otherwise not. 

Order Hopping will Happen in below cases

  • If the Active Hrs of store between the Current Time and Order Creation Time is more than MAT configured

  • If anytime the Active Hrs of Store between Order Creation Time and Required By Time (SLA) is less than the MAT configured

  • For Example: For a store S1 with the configured MAT as 4 hours and Store schedule is set from 8AM-8PM. If an order is created at 10PM on Day 1 and allocated to Store S1 will be hopped to another store in case if it is not Accepted/Rejected untill 12PM on Day 2

 

Acceptance Status 

Every Sub Order in OMS will have a new status field known as Acceptance Status. Following can be the possible values of Acceptance Status:

  1. REQUESTED - The location has been requested to fulfill the sub-order.

  2. ACCEPTED - The location has ACCEPTED to fulfill the entire sub-order.

  3. REJECTED - The location has REJECTED to fulfill the entire order

  4. PARTIALLY_ACCEPTED - The location has accepted to fulfill one or more Qty but not all the Qty of the SKU line item of sub-order.

  5. AUTO_REJECTED -  The store did not accept to fulfill the sub-order within the MAT time and sub-order got auto-hopped by OMS.

Spit Threshold Breached Status

  • In Outward Orders section, there is a new status SPLIT_THRESHOLD_BREACHED added.

  • If an Outward order is retried 20 times to be hopped to various fulfillment locations but either all locations are disabled or all stores are not eligible for hopping(due to MAT breach or store being non-operational) with Splitting Allowed in CIMS, then the status of Outward Order will be marked as SPLIT_THRESHOLD_BREACHED.

  1. For Sub Orders being fulfilled from  WMS, 

    1. Sub Order Acceptance will be AUTO. This means WMS need not give the explicit acceptance for the Sub Order to OMS. 

  2. For Sub Orders being fulfilled from SFS, 

    1. Sub Order Acceptance will be MANUAL. This means SFS need to give explicit acceptance/rejection for the Sub Order to OMS within the expected MAT. 

Order Acceptance/Rejection Workflow

Order Acceptance/Rejection when Increff Omni does the Splitting / Routing

When Increff OMS does the Splitting and Routing:

  • INCREFF OMS doesn’t need to communicate the acceptance and rejection to the channel.

  • Acceptance Status is PARTIALLY_REJECTED/REJECTED when:

    • The Sub Order is in the UNFULFILLABLE state on rejection.

    • The Sub Order is tried to hop to some other fulfillment location.

    • The Qty remaining that INCREFF OMS is not able to hop in the end is still associated with the original Sub Order and Sub Order remains in UNFULFILLABLE status.

  • In this scenario, automatic seller cancellation does not occur. Additionally, even after hopping, if the quantity of an order line item remains unfulfillable, the seller can manually cancel the quantity from the OMS UI if necessary.

In OMS Search Orders Screen,

  • User can view the Hopped Qty in SKU line item details for any order.

  • User can also view the Accept and Reject Qty in Fulfillment Items details for any order.

 

Hopped Qty at Line Item level and Accepted/Rejected Qty at Fulfilment Item Level

Order Acceptance/Rejection when Channel does the Splitting / Routing

When Channel/Marketplace does the Splitting and Routing:

  • INCREFF OMS needs to communicate the acceptance and rejection to the Order source (Channel/Marketplace).

  • For Sub Orders to be fulfilled by WMS:

    • Acceptance will not be communicated to the Channel/Marketplace.

  • For Sub Orders to be fulfilled by Store:

    • Acceptance and Rejection will be communicated to the Channel explicitly through Order Notification API.

    • Acceptance and Rejection will always be communicated to the Channel on the Outward Order level.

Acceptance and Rejection of Sub Orders in SFS

Acceptance and Rejection of a sub-order can happen at 3 places in SFS:

  • Operator checks if the inventory is available or not and Accepts/Rejects the order before picking.

  • During Picking process

  • During Packing process

Acceptance and Rejection Flow before Picking

Below mentioned workflow carries out in SFS.

  1. Outward Order gets created in OMS.

  2. Sub Orders get created in OMS after splitting of Outward Orders.

  3. Sub Orders get synced to SFS.

  4. SFS Accepts / Rejects the Sub Order. In order to Accept/Reject, user can follow below mentioned steps.

    1. Go to Accept Orders under Inventory & Order section in Increff SFS.

    2. User can apply different filters like:

      1. From Date/To Date

      2. Channel

      3. Status (ACCEPTED, REJECTED, PARTIALLY_ACCEPTED)

      4. Sort By (Order ID, ORDER_TIME,REQUIRED_TIME)

      5. Sort Order (Ascending/Descending)

      6. Page Size to check all the orders which needs to be Accepted/Rejected by Store.

    3. All Orders which are eligible to be Accepted / Rejected for that Store will be displayed with the Order Status next to it.

    4. Click on Accept button which will open an overlaying screen having +/- Sign buttons and SKU details on right side of the screen.

    5. Enter the Qty you want to Accept and Click on Accept button at the bottom. If Qty entered is 0, then the complete order will be considered as Rejected

  5. Available Inventory gets allocated to Sub Order which is Accepted by store in OMS.

  6. QTP is reduced for the Qty being rejected in OMS and deallocation happens accordingly.

  7. The following cases happen afterward:

    1. If OMS is splitting routing source:

      1. Qty that is getting rejected also gets increased in REJECTED inventory bucket to under-expose the inventory for OMS Hopping logic so that two stores do not get stuck in an infinite loop for hopping the same sub orders again and again.

      2. Seller Cancellation won’t be allowed from OMS UI until the Sub Order is in UNFULFILLABLE status.

      3. Rejection will lead to a hopping trigger but not Auto seller cancellation.

      4. Acceptance and Rejection are not communicated to the channel.

    2. If OMS is not splitting and routing source:

      1. Rejection done by the store will lead to Auto seller cancellation.

      2. Acceptance and Rejection are not communicated to channel.

      3. Seller Cancellation won’t be allowed from OMS UI until the Sub Order is in UNFULFILLABLE status.

      4. Accept/Reject notification trigger should come from the store first before the order has moved to UNFULFILLABLE status.

  8. OMS communicates the current Accepted Quantity, Rejected Quantity, Seller Cancelled Quantity, and Customer Cancelled Quantity to CIMS.

 

Order Accept/Reject flow in Accept Orders screen

Acceptance and Rejection Flow during Picking

During Picking process of Accepted Orders,

  • If the store can fulfil a SKU in an order, the SKU can be picked.

    • Picked SKU’s can be rejected after picking till completing the order.

  • Like wise, if the store can't fulfil a SKU in an order, the SKU can be rejected.

    • Rejected SKU’s cannot be picked if AUTO_HOP flag is ON, since they are hopped to a different store.

    • Rejected SKU’s can be picked if AUTO_HOP flag is OFF before order packing is completed.

  • Virtual Combo’s must be picked/rejected together.

Picking with Picklist ID
Picking a specific SKU

Acceptance and Rejection Flow during Packing

During Packing process of Accepted Orders, store can reject the order if store doesn't want to do fulfill the order and the order status will be marked as REJECTED.

Defining MAT (Maximum Acceptance Time) in SFS

In Configurations screen of SFS a new tab MAT is added to define the Maximum Acceptance Time by the store to Accept/Reject any order which is being hopped by Channel or Increff system.

MAT tab also has configuration of Warning time.

  • Warning time is the time which will inform the Store operator that the MAT is about to breach.

  • Once Warning time has crossed, a warning sign will start appearing for the orders in Accept Orders screen of SFS.

Warning before MAT breach

Steps to be followed to define Maximum Acceptance Time are listed below

  1. Go to Configurations Screen under Sundry section in SFS.

  2. Navigate to MAT tab.

  3. User can define the values of MAT and Warning time which will be considered for all orders which are in REQUESTED status in Accept Orders screen

  1. Warning time should always be defined less than or equal to MAT

  2. Once MAT is breached, the Order status will be marked as MAT_BREACHED, the same can be checked in Search Order Screen in SFS.

Configure MAT and Warning Time in Configurations Screen
MAT_BREACHED Orders in Search Orders

Location Level Splitting Configuration in CIMS

In CIMS, for any fulfillment location a user can enable/disable the location to be eligible for
Splitting-Routing of an Outward order by changing Splitting Allowed value in CIMS Client Channel pair for that fulfillment location.

Steps to be followed to Enable/Disable Splitting

  1. Go to View Client/Channel.

  2. Select a channel for which the fulfillment location Splitting Allowed should be changed.

  3. Go to Associated Locations section for this channel.

    Fulfillment Locations in CIMS Client Channel

  4. Select Edit Location button on the right side of any fulfillment location.

    Setting Splitting Allowed Flag in Update Client Channel Location Screen

  5. Select YES in Splitting Allowed value if the fulfillment location is eligible for Splitting or else select FALSE .

  6. Click on Update to save the changes for that fulfillment location.

If a Fulfillment Location is marked with Splitting allowed as FALSE but there was some free inventory available in the fulfillment location but later on if the Splitting Allowed flag is marked as YES then the Outward Orders needs to be retried manually from Search Orders screen to be marked as ACCEPTED

Things to be noted after Sprint 70 release changes

  • Creation of UOM Definition that contains an SKU which is already a part of Virtual SKU definition will not be supported if any splittable Open Outward order is present in Omni system from Sprint 70 onwards

  • For any Outward Order that needs to be splitted by INCREFF OMS and contains a Virtual Combo SKU whose child SKUs are also part of some UOM definition will move to FAILED order state in CIMS as the case is not supported from Sprint 70 onwards.

 

Â