Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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)

...

  • Task Status → CLIENT CANCELLED

  • update display so that the only action the operator can do next is to Cancel the booking.

When Operator Cancels the booking:

  • Task Status → CANCELLED

  • update display so that the only action the operator can do next is to ‘close’ (dismiss) the booking.

...

  • Task Status → CLIENT AMENDED

  • update display so that the operator can see what has changed, during the workflow planning process

...

ASN PENDING

(Transfer Order only)

...

  • Task Status → ASN PENDING, CLIENT CANCELLED

  • update display so that the only action the operator can do next is to Cancel the booking.

When Operator Cancels the booking:

  • Task Status → CANCELLED

  • update display so that the only action the operator can do next is to ‘close’ (dismiss) the booking.

...

  • Task Status → ASN PENDING, CLIENT AMENDED

  • update display so that the operator can see what has changed and must select to re-plan whole workflow

When Operator selects to re-plan:

  • Task Status → REPLANNING

  • allow operator to make changes to the task & workflow prior to confirming the new plan

...

ASN SENT

...

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)

  • Task Status → CLIENT CANCELLED

  • update display so that the only action the operator can do next is to Cancel the booking.

When Operator Cancels the booking:

  • Task Status → CANCELLED

  • update display so that the only action the operator can do next is to ‘close’ (dismiss) the booking.

  • Task Status → CLIENT AMENDED

  • update display so that the operator can see what has changed, during the workflow planning process

ASN PENDING

(Transfer Order only)

  • Task Status → ASN PENDING, CLIENT CANCELLED

  • update display so that the only action the operator can do next is to Cancel the booking.

When Operator Cancels the booking:

  • Task Status → CANCELLED

  • update display so that the only action the operator can do next is to ‘close’ (dismiss) the booking.

  • Task Status → ASN PENDING, CLIENT AMENDED

  • update display so that the operator can see what has changed and must select to re-plan whole workflow

When Operator selects to re-plan:

  • Task Status → REPLANNING

  • allow operator to make changes to the task & workflow prior to confirming the new plan

ASN SENT

  • Task Status → ASN SENT, CLIENT CANCELLED

  • update display so that the only action the operator can do next is to Cancel the booking.

When Operator Cancels the booking:

  • Send an ASN Cancellation message to the Warehouse

  • Task Status → CANCELLED

  • update display so that the only action the operator can do next is to ‘close’ (dismiss) the booking

  • Task Status → ASN SENT, CLIENT AMENDED

  • update display so that the operator can see what has changed and must select to re-plan whole workflow

When Operator selects to re-plan:

  • Task Status → REPLANNING

  • allow operator to make changes to the task & workflow prior to confirming the new plan

Then when planning has been completed/ confirmed:

  • regenerate the ASN.

  • Compare it the previously-sent ASN. If they are the same, do nothing.

  • If they are different:

    • Send an ASN Cancellation message to the Warehouse

    • Send the new ASN to the Warehouse

GOODS RECEIVED

GOODS PUTAWAY

(ASN or Transfer Order only)

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.

Transport Task

See https://bigdigit.atlassian.net/wiki/spaces/SMH/pages/3251601441/Standard+Tasks+within+a+Workflow#Transport. 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)

  • Task Status → CLIENT CANCELLED

  • update display so that the only action the operator can do next is to Cancel the booking.

When Operator Cancels the booking:

Send an ASN Cancellation message to the Warehouse

  • Task Status → CANCELLED

  • update display so that the only action the operator can do next is to ‘close’ (dismiss) the booking.

  • Task Status →

ASN SENT,
  • CLIENT AMENDED

  • update display so that the operator can see what has changed

and must select to re-plan whole workflow

When Operator selects to re-plan:

  • Task Status → REPLANNING

  • allow operator to make changes to the task & workflow prior to confirming the new plan

Then when planning has been completed/ confirmed:

  • regenerate the ASN.

  • Compare it the previously-sent ASN. If they are the same, do nothing.

  • If they are different:

    • Send an ASN Cancellation message to the Warehouse

    • Send the new ASN to the Warehouse

GOODS RECEIVED

GOODS PUTAWAY

(ASN or Transfer Order only)

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.

Transport Task

See https://bigdigit.atlassian.net/wiki/spaces/SMH/pages/3251601441/Standard+Tasks+within+a+Workflow#Transport. 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)

  • Task Status → , during the workflow planning process

CARRIER INSTRUCTED

  • Task Status → CARRIER INSTRUCTED, CLIENT CANCELLED

  • update display so that the only action the operator can do next is to Cancel the booking.

When Operator Cancels the booking:

  • Recalculate the Carrier Instruction Consolidation across all bookings, based on the removal of this booking.

    • send an Instruction Amendment to that carrier for each Instruction that has changed

    • send an Instruction Cancellation to that carrier for each Instruction that was previously sent but no longer exists

  • Task Status → CANCELLED

  • update display so that the only action the operator can do next is to ‘close’ (dismiss) the booking

  • Task Status → CARRIER INSTRUCTED, CLIENT AMENDED

  • update display so that the operator can see what has changed and must select to re-plan whole workflow

When Operator selects to re-plan:

  • Task Status = REPLANNING

  • allow operator to make changes to the task & workflow prior to confirming the new plan

Then when planning has been completed/ confirmed:

  • Recalculate the Carrier Instruction Consolidation across all bookings, based on the amendment to this task.

    • send an Instruction Amendment to that carrier for each Instruction that has changed

    • send an Instruction Cancellation to that carrier for each Instruction that was previously sent but no longer exists

    • send a new Carrier Instruction for each new consolidated instruction that now exists

CARRIER ACCEPTED

  • Task Status → CARRIER ACCEPTED, CLIENT CANCELLED

  • update display so that the only action the operator can do next is to Cancel the booking.

When Operator Cancels the booking:

  • the operator can do next is to Cancel the booking.

When Operator Cancels the booking:

  • Recalculate the Carrier Instruction Consolidation across all bookings, based on the removal of this booking.

    • send an Instruction Amendment to that carrier for each Instruction that has changed

    • send an Instruction Cancellation to that carrier for each Instruction that was previously sent but no longer exists

  • Task Status → CANCELLED

  • update display so that the only action the operator can do next is to ‘close’ (dismiss) the booking.

  • Task Status → CLIENT AMENDED

  • update display so that the operator can see what has changed, during the workflow planning process

CARRIER INSTRUCTED
  • Task Status → CARRIER INSTRUCTEDACCEPTED, CLIENT CANCELLEDAMENDED

  • update display so that the only action the operator can do next is to Cancel the booking.

When Operator Cancels the booking
  • see what has changed and must select to re-plan whole workflow

When Operator selects to re-plan:

  • Task Status = REPLANNING

  • allow operator to make changes to the task & workflow prior to confirming the new plan

Then when planning has been completed/ confirmed:

  • Recalculate the Carrier Instruction Consolidation across all bookings, based on the removal of amendment to this bookingtask.

CARRIER ACCEPTED

  • Task Status → CARRIER ACCEPTED,
    • send an Instruction Amendment to that carrier for each Instruction that has changed

    • send an Instruction Cancellation to that carrier for each Instruction that was previously sent but no longer exists

  • Task Status → CANCELLED

  • update display so that the only action the operator can do next is to ‘close’ (dismiss) the booking

  • Task Status → CARRIER INSTRUCTED, CLIENT AMENDED

  • update display so that the operator can see what has changed and must select to re-plan whole workflow

When Operator selects to re-plan:

  • Task Status = REPLANNING

  • allow operator to make changes to the task & workflow prior to confirming the new plan

Then when planning has been completed/ confirmed:

  • Recalculate the Carrier Instruction Consolidation across all bookings, based on the amendment to this task.

    • send an Instruction Amendment to that carrier for each Instruction that has changed

    • send an Instruction Cancellation to that carrier for each Instruction that was previously sent but no longer exists

    • send a new Carrier Instruction for each new consolidated instruction that now exists

    • send a new Carrier Instruction for each new consolidated instruction that now exists

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)

  • Task Status → CLIENT CANCELLED

  • update display so that the only action the operator can do next is to Cancel the booking.

When

Operator Cancels the booking:

Recalculate the Carrier Instruction Consolidation across all bookings, based on the removal of this booking.

  • send an Instruction Amendment to that carrier for each Instruction that has changed

  • send an Instruction Cancellation to that carrier for each Instruction that was previously sent but no longer exists

    Operator Cancels the booking:

    • Task Status → CANCELLED

    • update display so that the only action the operator can do next is to ‘close’ (dismiss) the booking.

    • Task Status →

    CARRIER ACCEPTED,
    • CLIENT AMENDED

    • update display so that the operator can see what has changed

    and must select to re-plan whole workflow

    When Operator selects to re-plan:

    • Task Status = REPLANNING

    • allow operator to make changes to the task & workflow prior to confirming the new plan

    Then when planning has been completed/ confirmed:

    • Recalculate the Carrier Instruction Consolidation across all bookings, based on the amendment to this task.

      • send an Instruction Amendment to that carrier for each Instruction that has changed

      • send an Instruction Cancellation to that carrier for each Instruction that was previously sent but no longer exists

      • send a new Carrier Instruction for each new consolidated instruction that now exists

    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.

    Sales Order Cancellation

    Out

    ...

    • , during the workflow planning process

    WAREHOUSE INSTRUCTED

    • Task Status → WAREHOUSE INSTRUCTED, CLIENT CANCELLED

    • update display so that the only action the operator can do next is to Cancel the booking.

    When Operator Cancels the booking:

    • Send a WMS Sales Order Cancellation message to the Warehouse

    • Task Status → CANCELLED

    • update display so that the only action the operator can do next is to ‘close’ (dismiss) the booking

    • Task Status → WAREHOUSE INSTRUCTED, CLIENT AMENDED

    • update display so that the operator can see what has changed and must select to re-plan whole workflow

    When Operator selects to re-plan:

    • Task Status → REPLANNING

    • allow operator to make changes to the task & workflow prior to confirming the new plan

    Then when planning has been completed/ confirmed:

    • regenerate the WMS Sales Order.

    • Compare it the previously-sent WMS Sales Order. If they are the same, do nothing.

    • If they are different:

      • Send a WMS Sales Order Cancellation message to the Warehouse

      • Send the new Sales Order to the Warehouse

    PICKED & PACKED

    • Task Status → PICKED & PACKED, CLIENT CANCELLED

    • update display so that the only action the operator can do next is to Cancel the booking.

    When Operator Cancels the booking:

    • Send a ‘Hold’ message to the WMS

    • Send a WMS Sales Order Cancellation message to the Warehouse

    • Task Status → CANCELLED

    • update display so that the only action the operator can do next is to ‘close’ (dismiss) the booking

    • Task Status → PICKED & PACKED, CLIENT AMENDED

    • update display so that the operator can see what has changed and must select to re-plan whole workflow

    When Operator selects to re-plan:

    • Task Status → REPLANNING

    • allow operator to make changes to the task & workflow prior to confirming the new plan

    Then when planning has been completed/ confirmed:

    • regenerate the WMS Sales Order.

    • Compare it the previously-sent WMS Sales Order. If they are the same, do nothing.

    • If they are different:

      • Send a ‘Hold’ message to the WMS

      • Send a WMS Sales Order Cancellation message to the Warehouse

      • Send the new Sales Order to the Warehouse

    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.

    Earlier Phase Rollouts (manual processing)

    If ROOM calls up to cancel a Sales Order:*

    • If the booking is not yet in SALES ORDER SENT status (the equivalent of WAREHOUSE INSTRUCTED above); the operator needs a button to "Cancel" it which puts it into a CANCELLED state, at which point it can then be flagged as 'closed' without any further actions

    ...

    • If the booking is already in SALES ORDER SENT; operator will need to speak to the warehouse to see if it's been Picked/ Packed already (if not obvious) - or indeed already released to the carrier!

    ...

      • If not already picked/packed, then we use the "Cancel" button as above. But because this is in SALES ORDER SENT status, the back end would additionally need to send a Sales Order Cancel WMS API call to the

    ...

      • warehouse.

      • If already picked/packed, then we'd need something in the front end to allow this fact to be confirmed by the SEKO Operator. Maybe a button to transition it from SALES ORDER SENT

    ...

      • to PICKED/PACKED status. Then if cancellation occurs, the operator would click the "Cancel" button as above. But because this is now in PICKED/PACKED status, the back end would need to send a Hold stock API message to the WMS and then a Cancellation

    ...

      • message.

    • If already released to the carrier, then we'd need something in the front end to allow this fact to be confirmed by the SEKO Operator. Maybe a button to transition it from PICKED/PACKED to RELEASED status.

    ...

    • Then if cancellation occurs, the operator would click the "Cancel" button as above. But because this is now in RELEASED status, there would be no messages sent to the WMS at all. It would now merely be in CANCELLED state and the SEKO operators would have to manually untangle stuff outside the system.

    If ROOM calls up to amend a Sales Order, then we may need to introduce the concept of making bookings editable in the front end. Alternatively we support API amendments early on, and detect when amendments occur, and process things differently as above depending what status the booking is currently in.