...
...
...
...
...
...
Background
Client Orders may be cancelled or amended at any time, but this will mean the system needs to perform certain actions to ‘unwind’ previously-completed actions in respect of that booking.
For example SKUs may already have been picked at the warehouse ready for releasing outbound to the carrier, but the client cancels or reallocates goods to other sales orders, which means goods need to be put back into stock. In some cases the goods may already have been released to the outbound carrier and be en-route to Final Mile Facility but the client cancels the order due to a cancellation by their end-customer.
Ideal Solution (for later phases)
For later phases we should build the system so that if the client e.g. ROOM wants us to change something, it should be done by an UPDATE to a previously-created booking via the API -which may involve the total cancellation of a sales order. Note that the current Booking API has a section for cancellation/ amendments including which scenario is it and the ‘reason’.
Clearly for phase 1 we are not supporting anything regarding this but we will need to use the principles of the fully-electronic signalling and flow to allow manual signals from operators in earlier phases.
Receive & Putaway Task
See https://bigdigit.atlassian.net/wiki/spaces/SMH/pages/3251601441/Standard+Tasks+within+a+Workflow#Receive-%26-Put-Away task status flow. The following table shows the ideal processing that would need to occur depending on the possible statuses of this task when a Client ASN or Inbound Client TRANSFER ORDER is Cancelled or Amended:
Current Task Status | On Client Booking API Cancellation | On Client Booking API Amendment |
---|---|---|
CREATED REPLANNING (task has yet to be confirmed as planned) |
When Operator Cancels the booking:
|
|
ASN PENDING (Transfer Order only) |
When Operator Cancels the booking:
|
When Operator selects to re-plan:
|
ASN SENT |
When Operator Cancels the booking:
|
When Operator selects to re-plan: Send an ASN Cancellation message to the Warehouse
Then when planning has been completed/ confirmed:
|
GOODS RECEIVED GOODS PUTAWAY (ASN or Transfer Order only) | These scenarios are extremely unlikely and will probably be a client error. It should probably be flagged with an error message / alert condition, for the SEKO operator to call up the client and ask what is going on. |
Transport Task
...
Sales Order Cancellation
Out
If a Sales Order Cancellation is received:If our internal status of the SO is such that we know it hasn't yet been picked (Question: does the Warehouse have an electronic API signal that tells an external system that stuff has been Picked?) then we just send a cancellation of the sales order to the warehouse API.If our internal status of the SO is such that we know it HAS BEEN PICKED (same question as above) then we would need to send a Hold request to the warehouse API and then a Cancellation of the sales order to the warehouse APIIf our internal status of the SO is such that we know it HAS BEEN RELEASED TO THE CARRIER (Question: does the Warehouse have an electronic API signal that tells an external system that stuff has been Released?) then we would do nothing with the warehouse; instead we would send an instruction update to the White Glove partner effectively removing this SO job from their instruction. The carrier would send the goods to the FMF but then the WGP would no longer take action on the job in respect of that SO. (ROOM may then need to send a Transfer Order booking to request movement of those goods back from that FMF to our WH.)If a Sales Order AMENDMENT is received, and that SO now says that these goods are NO LONGER to be fed from a given inbound TO, AND/OR that SO now says that the estimated ship date needs to be later than before; this could also be a signal to hold. (I think we'd also need to analyse the other fields in the SO to identify which other value changes would also constitute such a signal.)If this situation arises:If our internal status of the SO is such that we know it hasn't yet been picked (see question above) then we just send an AMENDMENT of that sales order to the warehouse API.If our internal status of the SO is such that we know it HAS BEEN PICKED (see question as above) then we would need to send a Hold request to the warehouse API and then an Amendment to the warehouse APIIf our internal status of the SO is such that we know it HAS BEEN RELEASED TO THE CARRIER (see question above) then we would do nothing with regard to the warehouse; we'd probably need to speak to ROOM to ask them what they want to do. The following table shows the ideal processing that would need to occur depending on the possible statuses of this task when any booking is Cancelled or Amended but it has a workflow which includes any Transport task:
Task Status | On Client Booking API Cancellation | On Client Booking API Amendment |
---|---|---|
CREATED REPLANNING (task has yet to be confirmed as planned) |
When Operator Cancels the booking:
|
|
CARRIER INSTRUCTED |
When Operator Cancels the booking:
|
When Operator selects to re-plan:
Then when planning has been completed/ confirmed:
|
CARRIER ACCEPTED |
When Operator Cancels the booking:
|
When Operator selects to re-plan:
Then when planning has been completed/ confirmed:
|
IN TRANSIT DELIVERED | These scenarios are extremely unlikely and will probably be a client error. It should be flagged with an error message / alert condition, for the SEKO operator to call up the client and ask what is going on. |
Pick Pack & Release
See https://bigdigit.atlassian.net/wiki/spaces/SMH/pages/3251601441/Standard+Tasks+within+a+Workflow#Pick%2C-Pack-%26-Release. The following table shows the ideal processing that would need to occur depending on the possible statuses of this task when any Sales Order booking is Cancelled or Amended but it has a workflow which includes any Pick Pack & Release task:
Task Status | On Client Booking API Cancellation | On Client Booking API Amendment |
---|---|---|
CREATED REPLANNING (task has yet to be confirmed as planned) |
When Operator Cancels the booking:
|
|
WAREHOUSE INSTRUCTED |
When Operator Cancels the booking:
|
When Operator selects to re-plan:
Then when planning has been completed/ confirmed:
|
PICKED & PACKED |
When Operator Cancels the booking:
|
When Operator selects to re-plan:
Then when planning has been completed/ confirmed:
|
PICK PACK NOTIFICATION SENT (to Carrier) | We need to re-think Pick/Pack Notifications in the context of Carrier Instructions which contain multiple consolidated goods from multiple Sales Orders | |
GOODS RELEASED | These scenarios are extremely unlikely and will probably be a client error. It should be flagged with an error message / alert condition, for the SEKO operator to call up the client and ask what is going on. In most situations these goods would have to still arrive at the FMF and then get moved somewhere else via another TO from ROOM, unless there's another SO that ROOM has prioritised higher which happens to also require the same FMF, in which case it would need an amended White Glove Partner instruction. |
...
White Glove Partner Instruction
See https://bigdigit.atlassian.net/wiki/spaces/SMH/pages/3251601441/Standard+Tasks+within+a+Workflow#White-Glove-Partner-Instruction state diagram. A similar analysis to the Transit Task above, in respect of White Glove Partner consolidations, will need to be carried out, in order determine what the system needs to do when Sales Order Cancellations / Amendments are received via the Booking API.
There may also need to be changes to https://bigdigit.atlassian.net/wiki/spaces/SMH/pages/3251601441/Standard+Tasks+within+a+Workflow#End-Customer-Schedule task when Sales Orders are cancelled or amended.