276283 (AS-84PEHM) - (Consignment interface to Zetes)
DHL C-TMS
Dunelm Consignment Interface to Zetes
FUNCTIONAL SPECIFICATION - 10.6
- 1.0
Reference: 276283 AS-84PEHM
Client Requirement
Create a new integration flow to allow planned and manifested delivery consignments to be interfaced to the Zetes in store receipting system.
Interface to Zetes Dunelm system to provide manifest data for receipt and POD back to C-TMS
Solution
As each delivery trip is updated to EN-ROUTE status in C-TMS by DHL, an XML message containing all the relevant trip and consignment data will be generated, ftp pushed to ESI message hub and transmitted onward to the Zetes server for upload.
The XML message content will provide sufficient information for the Zetes system used in each Dunelm store to pre-advise the consignments, number and type of delivery units and a unique identifier for each consignment label. Every delivery unit will be individually labelled with a unique bar code by Dunelm’s suppliers.
The XML format will conform to the OBS TripOrder Schema format and it is anticipated ESI will validate and push the same format onward to the Zetes server.
Once the store receipt POD is complete, Zetes will send the same XML file format back to ESI supplemented with the received quantity, any discrepancies supported by non-conformance clause codes and reason text. ESI will forward this message to C-TMS. C-TMS will upload the POD information and update the trip and consignment details accordingly.
Scope
This change will be applied to C-TMS system version 10.5
Set-up
Delivery Manifest Flow
Message flow
Connectivity details between ESI and Zetes to be defined.
Connectivity details between C-TMS and ESI are defined below, C-TMS will push the generated XML files to a designated folder on the ESI ftp server;
ESI Input
DESCRIPTION | QA ENVIRONMENT | LIVE ENVIRONMENT |
INPUT MESSAGECODE | To be defined by ESI | To be defined by ESI |
INPUT FILE | TMS_ZETES_DUNTST_YYYYMMDDHHMMSS_II.XML | TMS_ZETES_DUNPRD_YYYYMMDDHHMMSS_II.XML |
NODE | ESI | ESI |
DIRECTORY | To be defined by ESI | To be defined by ESI |
DESTINATION APPLICATION | Zetes | Zetes |
INPUT FORMAT | XML | |
BUSINESS FLOW NAME | Manifested delivery consignments from C-TMS to Zetes |
Store Receipt POD Flow
Message flow
Connectivity details between Zetes and ESI to be defined.
Connectivity details between ESI and C-TMS are defined below;
C-TMS Server Details | |||
Name | DHLTEST | Name | DHLUK |
Domain Name | Domain Name | ||
IP Address | 10.162.132.67 | IP Address | 10.162.132.64 |
Nat’d IP Address | If applicable | Nat’d IP Address | If applicable |
External system to DHL | No | External system to DHL | No |
UserID | eih_ftp | UserID | eih_ftp |
Password | Will be issued as reqd | Password | Will be issued as reqd |
ESI Output
DESCRIPTION | QA ENVIRONMENT | LIVE ENVIRONMENT |
OUTPUT MESSAGECODE | To be defined by ESI | To be defined by ESI |
OUTPUT FILE | ZETES_TMS_NUC_DEL_YYYYMMDDHHMM_999.XML | ZETES_TMS_NUC_DEL_YYYYMMDDHHMM_999.XML |
NODE | ESI | ESI |
DIRECTORY | /webint/duntst/interface/ZETES/IN | /webint/dunprd/interface/ZETES/IN |
DESTINATION APPLICATION | C-TMS(MTS) | C-TMS(MTS) |
OUTPUT FORMAT | XML | |
BUSINESS FLOW NAME | POD from Zetes to C-TMS |
Note the output files are made unique using date time and a generated 3 digit sequence number.
Data & Mapping Delivery Manifest
Note that the output file from C-TMS will represent a trip (can be though of as a driver’s route) and consequently might contain deliveries for more than one store if planned for multiple drops. The format of the XML message does segregate each delivery stop and each consignment to be delivered at the stop.
ESI are expected to validate but not transform the message. Zetes will upload the data in the format C-TMS creates.
Field | Example | Comment |
<EVENT_HEADER> | One segment per file – message identifier data | |
<EVENT_PROCESSED> | N | Processed flag |
<EVENT_SOURCE_TYPE> | TMS | From system type |
<EVENT_SOURCE_NAME> | DUNTST | Database name so DUNTST for QA and DUNPRD for Live |
<EVENT_DATE> | 2010-05-04T16:59:00 | Date time file created |
<EVENT_TYPE> | TRP | Means Trip Message |
<EVENT_ACTION> | R | C create, A amend, R replace, D delete |
<EVENT_DETAIL> | One segment per file – message details | |
<TRIP_HEADER> | One segment per trip, can repeat but only 1 trip will included in each file for this message flow | |
<TRIP_IDENTIFIER> | T | Trip Flag |
<TRIP_TRANSACTION_DATE> | 2010-05-04T16:57:53 | Date time trip message released |
<TRIP_ID> | MAN-00472979 | Unique identifier for the trip / manifest number |
<TRIP_DETAIL> | One segment per trip, can repeat but only 1 trip will included in each file for this message flow | |
<HAULIER> | DHLDUN | Haulier code |
<HAULIER_NAME> | DHL DUNELM COLLECTION & DELIVERY | Haulier name |
<TRACKING> | Y | Tracked on supporting execution enabling system |
<TRIP_SCHEDULE> | 100504 | Planning schedule day |
<DRIVER_NAME> | David Smith | Driver Name |
<TRACTOR> | DM10DEM | Truck Reg |
<TRIP_TRAILER_ID> | 110 | Trailer id |
<TRIP_TRAILER_TYPE> | DD | Trailer type |
<STOPS> | One segment per trip detail, can repeat but only 1 list of stops per trip will included in each file for this message flow | |
<STOP> | Repeating segment, appears for each delivery stop on the trip – each store delivery on the trip will be a unique stop | |
<STOP_HEADER> | One segment per stop | |
<STOP_IDENTIFIER> | S | Stop Flag |
<STOP_SEQ> | 2 | Sequence of stop on trip – may not be sequential as C-TMS will only include the delivery stops on the trip |
<STOP_DETAIL> | One segment per stop | |
<STOP_TYPE> | DL | Stop type DL is delivery |
<STOP_LOCATION_ID> | 0904 | Store code |
<STOP_LOCATION_NAME> | BOLTON DUNELM MILL | Store name |
<STOP_COUNTRY_CODE> | GB | Country |
<STOP_POSTCODE> | BL1 2SL | Postcode |
<STOP_PLANNED_ARRIVAL_DATE> | 2010-05-04T08:00:00 | Trip planned arrival |
<STOP_PLANNED_DEPARTURE_DATE> | 2010-05-04T08:54:00 | Trip planned depart |
<ORDERS> | One segment per stop | |
<ORDER> | Repeating orders for stop | |
<ORDER_HEADER> | One order header segment per stop | |
<ORDER_TRANSACTION_DATE> | 2010-05-04T16:59:01 | Date order raised |
<WMS_OWNER> | LOV01 | Supplier |
<SO_REF> | 3010000100 | SAP Order number |
<TMS_REF> | 1004728 | C-TMS order ref |
<BOOK_REF> | 1000034 | Supplier manifest number |
<SPECIAL_INSTR> | Instructions | |
<ORDER_COMMENTS> | Comments | |
<ORDER_HEADER_TMS> | One segment per order | |
<EARLY_AVAIL_DATE> | 2010-04-30T08:00:00 | Supplier collection planned |
<LATE_AVAIL_DATE> | 2010-04-30T17:00:00 | |
<EARLY_DEL_DATE> | 2010-05-04T08:00:00 | Store Delivery planned |
<LATE_DEL_DATE> | 2010-05-04T17:00:00 | |
<ORDER_DETAILS> | Order details once for each order | |
<ORDER_DETAIL> | Repeating order detail for each delivery unit | |
<DETAIL_TYPE> | S | (ignore) |
<PRODUCT_TYPE_DESC> | AMBIENT | Product Type |
<ITEM_IDENTIFIER> | 1755 | Unique label number |
<ITEM_DESCRIPTION> | PALLET | DU type |
<ITEM_AKA_CODE> | 000100120012 | Counter of DU type + total count of DU type + total item count for consignment. Concatenation of three 4 digit fields |
<ORDERED> | 1 | Ordered qty 1 |
<TO_DELIVER> | 1 | To Deliver qty 1 |
XSD Schema
Delivery Manifest Example file
Associated Consignment Labels
Label file 1000033 is product from supplier FOG01 with deliveries to Bolton and Trafford stores, the delivery manifest data in the XML example above is only for the delivery to Bolton Store.
Label file 1000034 is product from supplier LOV01 with deliveries to Bolton and Trafford stores, the delivery manifest data in the XML example above is only for the delivery to Bolton Store.
Data & Mapping Store Receipt POD
The POD message will be the same structure as the electronic delivery manifest supplemented with actual arrival and depart times, actual delivered quantity and any discrepancy clause codes.
Differences from the above delivery manifest definition are highlighted in yellow below.
Field | Example | Comment |
<EVENT_HEADER> | One segment per file – message identifier data | |
<EVENT_PROCESSED> | N | Processed flag |
<EVENT_SOURCE_TYPE> | ZETE | From system type |
<EVENT_SOURCE_NAME> | NUC | From system name |
<EVENT_DATE> | 2010-05-04T18:32:00 | Date time file created |
<EVENT_TYPE> | DEL | Means Delivered Message |
<EVENT_ACTION> | C | C create, A amend, R replace, D delete |
<EVENT_DETAIL> | One segment per file – message details | |
<TRIP_HEADER> | One segment per trip, can repeat but only 1 trip will included in each file for this message flow | |
<TRIP_IDENTIFIER> | T | Trip Flag |
<TRIP_TRANSACTION_DATE> | 2010-05-04T16:57:53 | Date time trip message released |
<TRIP_ID> | MAN-00472979 | Unique identifier for the trip / manifest number |
<TRIP_DETAIL> | One segment per trip, can repeat but only 1 trip will included in each file for this message flow | |
<HAULIER> | DHLDUN | Haulier code |
<HAULIER_NAME> | DHL DUNELM COLLECTION & DELIVERY | Haulier name |
<TRACKING> | Y | Tracked on supporting execution enabling system |
<TRIP_SCHEDULE> | 100504 | Planning schedule day |
<DRIVER_NAME> | David Smith | Driver Name |
<TRACTOR> | DM10DEM | Truck Reg |
<TRIP_TRAILER_ID> | 110 | Trailer id |
<TRIP_TRAILER_TYPE> | DD | Trailer type |
<STOPS> | One segment per trip detail, can repeat but only 1 list of stops per trip will included in each file for this message flow | |
<STOP> | Repeating segment, appears for each delivery stop on the trip – each store delivery on the trip will be a unique stop | |
<STOP_HEADER> | One segment per stop | |
<STOP_IDENTIFIER> | S | Stop Flag |
<STOP_SEQ> | 2 | Sequence of stop on trip – may not be sequential as C-TMS will only include the delivery stops on the trip |
<STOP_DETAIL> | One segment per stop | |
<STOP_TYPE> | DL | Stop type DL is delivery |
<STOP_LOCATION_ID> | 0904 | Store code |
<STOP_LOCATION_NAME> | BOLTON DUNELM MILL | Store name |
<STOP_COUNTRY_CODE> | GB | Country |
<STOP_POSTCODE> | BL1 2SL | Postcode |
<STOP_PLANNED_ARRIVAL_DATE> | 2010-05-04T08:00:00 | Trip planned arrival |
<STOP_PLANNED_DEPARTURE_DATE> | 2010-05-04T08:54:00 | Trip planned depart |
<STOP_ACTUAL_ARRIVAL_DATE> | 2010-05-04T08:16:00 | Trip actual arrive |
STOP_ACTUAL_DEPARTURE_DATE> | 2010-05-04T09:05:00 | Trip actual depart |
<ORDERS> | One segment per stop | |
<ORDER> | Repeating orders for stop | |
<ORDER_HEADER> | One order header segment per stop | |
<ORDER_TRANSACTION_DATE> | 2010-05-04T16:59:01 | Date order raised |
<WMS_OWNER> | LOV01 | Supplier |
<SO_REF> | 3010000100 | SAP Order number |
<TMS_REF> | 1004728 | C-TMS order ref |
<BOOK_REF> | 1000034 | Supplier manifest number |
<SPECIAL_INSTR> | Instructions | |
<ORDER_COMMENTS> | Comments | |
<ORDER_HEADER_TMS> | One segment per order | |
<EARLY_AVAIL_DATE> | 2010-04-30T08:00:00 | Supplier collection planned |
<LATE_AVAIL_DATE> | 2010-04-30T17:00:00 | |
<EARLY_DEL_DATE> | 2010-05-04T08:00:00 | Store Delivery planned |
<LATE_DEL_DATE> | 2010-05-04T17:00:00 | |
<ORDER_DETAILS> | Order details once for each order | |
<ORDER_DETAIL> | Repeating order detail for each delivery unit | |
<DETAIL_TYPE> | S | (ignore) |
<PRODUCT_TYPE_DESC> | AMBIENT | Product Type |
<ITEM_IDENTIFIER> | 1755 | Unique label number |
<ITEM_DESCRIPTION> | PALLET | DU type |
<ITEM_AKA_CODE> | 000100120012 | Counter of DU type + total count of DU type + total item count for consignment. Concatenation of three 4 digit fields |
<ORDERED> | 1 | Ordered qty 1 |
<TO_DELIVER> | 1 | To Deliver qty 1 |
<DELIVERED> | 0 | Actual delivered |
<REASON_CODES> | One reason codes segment per order detail | |
<REASON_CODE> | Repeating reason code but usually only one | |
<RC_CODE> | 01 | Reason code |
<RC_DESCRIPTION> | Short | Reason Text |
<RC_CASE> | -1 | -ve if short +ve if over |
Store Receipt POD Example File
Document History
Initial version | ||||
Reviewed with ESI | ||||
Reviewed and Issued | ||||
AUTHORISED BY
Matt Crisford | Development Manager | |
Dave Meir | C-TMS Product Manager |