New Planned Parcel Shipment Interface to Support Parcel Flow with OTM

OTM plans the transportation via TL/LTL or parcel (carrier is parcel). Currently, we have the prebuilt integration between WMS and OTM for externally planned OB loads where OTM plans the transportation via TL/LTL. There are times when OTM plans the transportation as parcels using various 3rd party vendors.

In 24D, we are building the infrastructure to get the planned parcel shipment numbers from the OTM and sending back the same via the outbound manifest output file. Building this flow will help us to establish the prebuilt integration of parcels between WMS and OTM in the future releases.

To support this, we have added a new input interface “Planned Parcel Shipment”, similar to the Planned OB Load interface used for TL/TL flow and also exposed the “Planned Parcel Shipment number” field on the Outbound Manifest output interface file.

For parcels, WMS generates a parcel shipment number (for each unique zip code) upon closing a Manifest and OTM creates a unique planned parcel shipment number for each distinct destination. With the “Planned Parcel Shipment” input interface, the WMS system can recognize OTM’s planned parcel shipment planning and obtain the corresponding planned parcel shipment number planned for the respective order details. If a parcel is planned in OTM for transportation, the planned parcel shipment number can be linked with a parcel shipment number generated in WMS. Additionally, the parcel shipment interface also allows you to send the box type and the carrier information so that these can be updated at the respective order details and the order header respectively.

OTM can plan multiple order details from various order headers under a single planned parcel shipment number if the orders have the same ship to destination. Hence, the order list under a planned parcel shipment may have multiple order number- order details (sequence or 4-part keys) combinations. Planned Parcel Shipment carries Order Detail OBLPN type, Planned Parcel Shipment Number, and Ship via details from OTM to WMS. Upon manifesting and shipping the OBLPNs for such planned orders, the parcel shipment numbers carry the corresponding Planned parcel shipment numbers from WMS to OTM via the Outbound Manifest output file.

We have introduced a new API to support “Planned Parcel Shipment” input interface file in JSON format. The following are the new API details.

API URL: POST .../wms/lgfapi/v10/stage/planned_parcel_shipment/

Parameters:

Parameter Name Type Values Description

async

Boolean

Yes or true

By default, the API considers the value as yes or true. If the value is yes, then API executes the interface in async mode.

No or false

If the value is no or false, then API executes the interface synchronously.

only_load_flg

Boolean

Yes or true

If the value is yes or true, then API loads the record to stage table. Then you can process the interface via a different API call (run_stage_interface).

No or false

By default, the API considers the value as no or false.

If the value is no or false, then API executes the interface (processes corresponding records in stage tables).

On successful execution of the interface, corresponding orders/order details in the order list are updated with Ship via (at order header), Parcel shipment number, and LPN type fields (at the order detail).

NOTE: You are not allowed to send quantity via the planned parcel shipment input interface. Mentioning the correct 4-part keys, you can plan for one or more order details (across multiple orders) entirely.

Planned Parcel Shipment interface file has 2 action codes, the following table explains the behavior of Planned Parcel Shipment action code versus Order Detail action code.

Planned Parcel Shipment Action Code Order Detail Action Code Behavior

Create

Blank

On successful execution of the Planned parcel Shipment interface, the system updates the Parcel shipment number on the order detail along with the LPN type and updates ship via on the Order Header.

  • If you send a new planned shipment number, the system updates the order detail with the new planned parcel shipment number.
  • If you send a new Ship via, the system replaces or updates the prepopulated Ship via details on the Order Header.
  • If you send a new order sequence number without providing the previously sent order detail sequence numbers, the system removes the planned parcel shipment number from the existing order details and updates the planned parcel shipment number to the new order details sent.

Create

Create / Update / Delete

The API displays an error message “Invalid action code <DTL ACTION CODE> for order detail with <HDR action code> at header”.

Update

Blank

On successful execution of the Planned parcel Shipment interface, the API updates the Parcel shipment number on the order detail and updates ship via on the Order Header (If ship via and carrier support parcel manifest).

  • If you send a new order sequence number without providing the previously sent order detail sequence numbers, the system keeps the existing order details and updates the planned parcel shipment number to the new order detail sent.
  • If you send a different LPN type for the same order detail, the system does not change the order detail. However, the API updates Ship via code on the Order Header
  • If you send a new planned shipment number, the API fails the interface with an error message “No planned parcel shipment found”.

Update

Create

The API displays an error message “Invalid action code <DTL ACTION CODE> for order detail with <HDR action code> at header”.

Update

Update

  • If you send Ship via, the API updates the order header with updated ship via details and updates the LPN type in the order details sent in the order list (if sent in the order detail section).
  • If you send a new order number and sequence number combination that is not planned, the API throws an error message “No order detail found with filter order_nbr + order_seq_nbr”.

Update

Delete

  • If you send Ship via, the API updates the order header with updated ship via details and deletes the order details sent in the order list.
  • If you send a new order number and sequence number combination that is not planned, the API throws an error message “No order detail found with filter order_nbr + order_seq_nbr”.

Delete

Blank / Update / Delete

On successful execution of the Planned parcel shipment interface, the system deletes the planned parcel shipment number from all order details in the order list.

  • If you send a new planned shipment number, the API fails the interface with an error message “No planned parcel shipment found”.

NOTE:

  • The system restricts Planned OB Load interface with an error message “Order planned for parcel shipping, order %- seq%” in the following cases. 

    • When an order detail is already planned with planned parcel shipment number.

    • When an order detail is already manifested.

  • You can delete the planned parcel shipment number and then process the Planned OB Load.

    • When an order is planned externally with one of the order details having planned load number, if you interface planned parcel shipment, the system displays an error message “%Order is already planned for TL/LTL. order_nbr% and Order seq%”.

Points for Consideration

  • If multiple details are sent through the planned parcel shipment interface, the system identifies and filters the order details in the following sequence to uniquely identify an order detail and update (based on the 4-part keys sent in the Planned Parcel Shipment interface file).
    • order_nbr + order_seq_nbr
    • erp_fulfillment_line_ref
    • 4-part key (erp_source_hdr_ref; erp_source_line_ref; erp_source_shipment_ref; erp_source_system_ref)
    • ship_request_line
  • If you interface multiple orders with same 4-part key, the API appends the planned parcel shipment number to all orders in the interfaced order list. If any of the order details are already shipped, the API excludes appending of planned parcel shipment number.
  • If you interface multiple planned parcel shipment numbers, the system fails the shipment that has error and processes the remaining planned shipments.

Error Conditions

The system fails the planned parcel shipment interface and API displays an error message in the following conditions.

  • If you interface an order that is marked with an externally planned and one of the order details is planned for TL/LTL with planned load number.
  • If you interface an order detail that is in loaded or shipped status.
  • If you interface an order detail with invalid or cancelled order number and order sequence combination.
  • If you pass a carrier code that is not matching with the Ship via details.
  • If you pass a carrier code that is not of parcel type.
  • If you interface an order that has lock code.
  • If you interface multiple order details that are present in an order with duplicate ERP Fulfillment number, Ship request line, and same order number sequence combination.
  • If you interface order details and one of the order details is already manifested.

UI CHANGES

To support the “Planned Parcel Shipment” interface, we have made the following changes in the UIs.

  • You can view the shared Outbound LPN Type in the following UIs.
    • “LPN Type” column in the Order Header (OrderHdrView) > Order Detail screen.
    • “Dtl OB LPN Type” column in the OB Orders (OBOrdersView_FW) UI (flattend view).
    • “LPN Type” column in the Input Interfaces (InputInterfaceView) > Stage Record button > Order Detail screen
  • To provide visibility of Planned Shipment Number, a new column “Planned Parcel Shipment Number” is added in the UIs.
    • OB Orders
    • OBLPNs (ObContainerView)
    • Order Header > Order Detail
    • Manifests (ParcelManifestView) > Parcel Shipment > Parcel Shipment detail
    • Parcel LPN Report (ParcelLpnsReportView)
  • On executing a wave, to filter the order details based on LPN type and planned parcel shipment number values for allocation, we have added the following selection fields to the Dynamic wave search selection criteria (Wave Template > Wave template searches > Dynamic Wave > Selection Criteria).
    • Order Dtl OB LPN Type
    • Order Dtl Planned Parcel Shipment nbr
  • To filter and create tasks based on the Order Detail OBLPN type and planned parcel shipment number, we have introduced the following columns in the Task Creation Template (TaskCreationView) > Details > Selection Criteria and Cubing Rules (CubingRuleView) > Details > Selection Criteria.
    • Order Dtl OB LPN Type
    • Order Dtl Planned Parcel Shipment nbr
    • From Inventory Attr H to O columns
  • To filter orders that has at least one order detail with the planned parcel shipment number populated, we have added a new filter Externally Planned Load Nbr in the Order Header UI.
  • To enhance the filter criteria on the Order Header UI and Order header detail flat view, we have added the following new filters.
    • Ship to City
    • Ship to Zip
    • Ship to State
    • Ship to country
    • Ship to contact
  • You can filter with Planned Parcel Shipment Number on the Manifests UI.
  • A new action button “Reset Planned Parcel Shipment Number” is introduced on the Order Header > Order Detail screen.

Points for Consideration

  • If parcel shipment number is populated on the order details, the system updates the “Externally Planned Load” flag as Yes on the order header for that order.
  • Using a wave template, while performing cubing (only in Cubing Mode-1 to Use Predetermined OBLPN Type), the system now considers the LPN type from the configured templates or UIs in the following sequence.
    • Wave Template
    • Order Detail screen
    • Order Header UI
    • Item UI
  • Sometimes, OTM might delay in sharing the Planned Parcel Shipment Number.
    • On the OBLPNs UI, if you click Manifest action button for a record where the corresponding order is externally planned but the Planned Parcel Shipment Number is blank, the system displays a warning message “Order associated with this OBLPN is externally planned. Proceed to manifest?”. As a failsafe, we are allowing to accept this warning message. On accepting the warning message, you can manifest.
    • On the Order Header UI, if you click Manifest action button for a record, the system displays an error message “Cannot manifest externally planned order” (even if a single order detail under the order header does not have the planned parcel shipment number populated).
    • On executing a Wave Template, the system creates and allocates OBLPNs for the order details but restricts manifesting of OBLPNs.
  • If an order with external planned load flag = yes and Planned Parcel Shipment Number is not available, the system packs order details and OBLPNs but restricts manifesting of OBLPNs in the following transactions.
    • RF Combine OBLPNs (rf.outbound.cwrfcombineoblpn)
    • RF Direct Allocation (rf.outbound.cwrfdirectallocation)
    • RF Pack OBLPN (rf.outbound.cwrfpacklpn)
    • Pack NC Active Order (rf.outbound.cwrfpackncactiveorder)
    • Repack OBLPN (rf.outbound.cwrfrepackoblpn)
    • RF Post Packing OBLPN updates and handling (rf.outbound.cwrfpostpackinglpnhandling)
    • Wave Run Allocation
    • Pack OBLPN from IBLPNs (rf.outbound.cwrfpackoblpnfromiblpn)
    • Pick Cart (rf.outbound.cwrfpickcart)
    • RF Work Order Kit Processing (rf.outbound.cwrfprocessworkorderkit) > End OBLPN or process kit
    • RF Distribute Replenishment (rf.inbound.cwrfdistlpnreplen)

RESET PLANNED PARCEL SHIPMENT NUMBER ACTION BUTTON

To remove the planned parcel shipment number from a selected order detail, you can use this action button “Reset Planned Parcel Shipment Number”. On clicking the action button and accepting the error message “Proceed with resetting Planned Parcel Shipment Nbr?”, the system removes the planned parcel shipment number from the selected order detail.

NOTE: “Reset Planned Parcel Shipment Number” action button is permission controlled. To enable this action button, you must enable the group permission “Order dtl / Reset planned parcel shipment nbr”.

Points for Consideration

  • This action button is enabled only when the selected order detail has a planned parcel shipment number populated or blank.
  • This action button is disabled when the selected order detail has a planned load populated. In the same way, the action button “Reset Externally Planned Load Nbr” is disabled when the selected order detail has a planned parcel shipment number populated.
  • If you select multiple order details with planned load and planned parcel shipment number, the system disables both “Reset Planned Parcel Shipment Number” and “Reset Externally Planned Load Nbr” action buttons.
  • If you select an order detail that is a part of either an open manifest or a closed manifest (order detail is fully shipped), on clicking the action button “Reset Planned Parcel Shipment Number”, the system displays an error message “Cannot reset Externally Planned Shipment Nbr. Order detail is part of an open manifest/fully shipped”.
  • If you select an order detail that is a part of a closed manifest (order detail is partially shipped), on clicking the action button “Reset Planned Parcel Shipment Number”, the system removes the planned parcel shipment number from the entire order detail. You can manifest the remaining order detail quantity from the OBLPNs UI.
  • If you select an order detail that is not a part of an open manifest, on clicking the action button “Reset Planned Parcel Shipment Number”, the system removes the planned parcel shipment number and updates the externally planned flag to No at the Order Header (if none of the other order details are planned under that order).

PLANNED OB LOAD INTERFACE CHANGES

To provide the flexibility to send OBLPN type on the order details, we have added a new field ob_lpn_type in the order detail section for Planned OB Load input interface (XML format).

ORDER INTERFACE CHANGES

To provide the flexibility to send OBLPN type on individual order detail, we have added a new field ob_lpn_type to the order detail section of all existing interface formats for the Order Interface.

NOTE: If you enter an invalid LPN type to update or send, the system alerts you with an error message “Invalid LPN Type”.

API CHANGES

We have made the following changes to the existing APIs.

  • GET Order Detail API supports “ob_lpn_type” and “planned_parcel_shipment_nbr” fields.
  • Order Patch API allows you to modify order header fields. If you update “externally_planned_load_flg” from “1” to “0”, the API removes respective order details Planned Parcel Shipment Number. If OBLPNs of the order details are already manifested, the API doesn’t allow to change “externally_planned_load_flg” and displays an error message “Cannot change the externally_planned_load_flg field as the OBLPNs are already manifested.”.
  • If an order with external planned load flag = yes and Planned Parcel Shipment Number is not available, the following APIs pack order details and OBLPNs but restricts manifesting of OBLPNs.
    • Repack API
    • Pack NC Active
    • Pack OBLPN

OUTPUT INTERFACE CHANGES

After closing a manifest, WMS generates parcel shipment number as per zip codes. OTM sends the planned parcel shipment for each unique delivery address. So, a single parcel shipment may have multiple externally planned shipment numbers. So, to track the planned parcel shipment, we have updated the following output interface files to include “planned_parcel_shipment_number” in the parcel manifest detail section.

  • Parcel Manifest
  • Shipped Load
  • Shipped Load-ics

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources