Load Plan
From UG
Mantis
- 0002456 [EDI to TMS] (Load_Plan) ..................... <parent>
Intro
Load Plan is a message transmitted by TMS to CT2 about finalized truck loads in the form of XML.
CT2 script is to extract some information and update CT record.
Initially only the following data will be extracted (for every CT#CT Num):
- CarrierName that will populate
- CT#Pick Up Trucker or
- CT#Delivery Trucker or both
Load No and Carrier Ref
- MasterShipmentNumber (Load No) AND BOLNo (Carrier Ref) will both be posted as a comment string into 2 places:
- Ct#Pick_Up_Comments and Comments (main) tab
- Example:
Load No: LD000015, Carrier Ref: BOL000000039
Estimated Pick Up and Delivery
- map StartDateTime to Ct#Estimated_Pick_Up_Date
- map EndDateTime to Ct#Estimated_Delivery_Date
??? Under DocLoadStop or under ShipFromInformation / ShipToInformation
Schema
See http://mantis.jaguarfreight.com/mantis/file_download.php?file_id=1707&type=bug
Message structure
<S:Envelope> <S:Header> ... </S:Header> <S:Body> <Inbound> <DocLoadPlan ... > <BillToInformation ... /> <CtyLoadAccessorial ... /> <DocLoadRate> ... </DocLoadRate> <BOLInformation ... > <ShipFromInformation ... /> <ShipToInformation ... /> <DocShipment ... /> <DocShpLineItem ... /> <DSGReferenceNumbers .../> </DocShipment> </BOLInformation> <DocLoadStop ... /> .... <DocLoadStop ... /> </DocLoadPlan> </Inbound> </S:Body> <S:Envelope>
Use Case 1 is One Load with One CT and No Pooling
In this case:
- one Load is created with one CT
- transported on one truck from pick up to delivery location
See Load Plan XML for this case below or here: http://mantis.jaguarfreight.com/mantis/file_download.php?file_id=1708&type=bug
<S:Body> − <Inbound> <DocLoadPlan BilledAsUOM="" BilledAsUnitCost="0" BilledAsValue="0" CarContract="Descartes Demo Carrier" FixedRate="" Service="1" TotalCharge="105.00" TotalDeclaredValue="0" MasterShipmentNumber="LD000000038" BillingOption="30" DistanceUOM="100" CurrencyCode="USD" TotalStops="2" TotalVolume="0" DimensionUOM="400" VolUOM="300" BaseRate="100" OtherCharges="5" TotalWeight="56" WeightUOM="200" EquipmentName="53' Trailer" CarrierCode="DSCG" CarrierName="Descartes Demo Carrier (DSCG)" ContractName="Descartes Demo Carrier" ContractAccountNo="DSCG" ConfirmationNo="111" Reason="3" Manual="True" BillingOptionDescription="Third Party" TransportMode="TL" ContractModeDesc="TL" TotalLadingQty="10" TotalOrderQuantity="1000"> <BillToInformation StreetNo="1751" Address="Blue Hills Drive" City="Roanoke" State="VA" PostalCode="24012" Country="US" LocationNo="LOC000000012" ContactFName="Jessie " ContactLName="Falls" PhoneNumber="540-983-6407" CompanyName="Elizabeth Arden" EmailAddress="jessie.falls@elizabetharden.com"/> <CtyLoadAccessorial AccessorialName="Congestion" AccCode="CONG" EDICode="CON"/> <DocLoadRate BaseRate="100" OtherCharges="5" Service="1" ContractName="Descartes Demo Carrier" TotalCharge="105.00" CurrencyCode="USD" Manual="True" ConfirmationNo="111" Reason="3"> <CtyLoadAccRate Charge="5" AccName="Congestion" CurrencyCode="USD" AccCode="CONG"/> </DocLoadRate> <BOLInformation BOLNo="BOL000000039" MethodOfPayment="30" WeightUOM="200" VolUOM="300" TotalVolume="0" TotalWeight="56" TotalLadingQty="10" TotalOrderQuantity="10"> <ShipFromInformation SeqNo="1" StopTypeCode="1" StartDateTime="2010-10-06T09:00:00" EndDateTime="2010-10-06T17:00:00" StreetNo="248-58 " Address=" Rockaway Blvd" City="Jamaica, NY (JFK)" State="NY" PostalCode="11422" Country="US" CompanyName="AIR CHINA"/> <ShipToInformation SeqNo="2" StopTypeCode="2" StartDateTime="2010-10-06T09:00:00" EndDateTime="2010-10-06T17:00:00" StreetNo="7737 " Address=" Hampton Blvd." City="Norfolk" State="VA" PostalCode="23504" Country="US" CompanyName="NORFOLK INTERNATIONAL TERMINAL"/> <DocShipment AllocatedCharges="0" CreationDate="2010-10-06T17:53:56.913000000" ShipmentNumber="300755" EarliestAvailDate="2010-10-06T09:00:00" LatestAvailDate="2010-10-06T17:00:00" TotalWeight="56" WeightUOM="200" TotalVolume="0" VolUOM="300"> <DocShpLineItem Hazardous="0" LineCreationDate="" LadingQty="10" SKUNumber="1" Description="soap" TotalWeight="56" WeightUOM="200" OrderNumber="po1" LadingQtyUOM="1130" AcntLineItemNo="1" OrderQty="1000" OrderQtyUOM="637" ContainerTypeDescription="Bag"/> <DSGReferenceNumbers RefNoType="GL Account 2" Value="Yes"/> </DocShipment> </BOLInformation> <DocLoadStop SeqNo="1" StopTypeCode="1" StartDateTime="2010-10-06T09:00:00" EndDateTime="2010-10-06T17:00:00"> <StopLocation StreetNo="248-58 " Address=" Rockaway Blvd" City="Jamaica, NY (JFK)" State="NY" PostalCode="11422" Country="US" CompanyName="AIR CHINA"/> <BOLInformation BOLNo="BOL000000039" WeightUOM="200" VolUOM="300" TotalWeight="56" TotalLadingQty="10" TotalOrderQuantity="1000"/> </DocLoadStop> <DocLoadStop SeqNo="2" StopTypeCode="2" StartDateTime="2010-10-06T09:00:00" EndDateTime="2010-10-06T17:00:00"> <StopLocation StreetNo="7737 " Address=" Hampton Blvd." City="Norfolk" State="VA" PostalCode="23504" Country="US" CompanyName="NORFOLK INTERNATIONAL TERMINAL"/> <BOLInformation BOLNo="BOL000000039" WeightUOM="200" VolUOM="300" TotalWeight="56" TotalLadingQty="10" TotalOrderQuantity="1000"/> </DocLoadStop> </DocLoadPlan> </Inbound> </S:Body> </S:Envelope>
Based on the above:
- a) <DocLoadPlan ... CarrierCode="DSCG" CarrierName="Descartes Demo Carrier (DSCG)" ... means that this load is handled by Descartes Demo Carrier (DSCG) trucking company (Pick Up or Delivery Trucker)
- b) <DocLoadStop SeqNo="1" StopTypeCode="1" ... (which is pick up object) contains BOLNo="BOL000000039"
- c) <DocLoadStop SeqNo="2" StopTypeCode="2" ... (which is delivery object) contains BOLNo="BOL000000039"
- d) <BOLInformation BOLNo="BOL000000039" ... contains <DocShipment ShipmentNumber="300755"
It means that CT#300755 got picked up and delivered without intermediate stops or transfers on one truck by Descartes Demo Carrier (DSCG) company. As a result system should:
- set:
- CT#Pick Up Trucker = Descartes Demo Carrier (DSCG)
- CT#Delivery Trucker = Descartes Demo Carrier (DSCG)
Link above through Addressbook#Company_City_Note
- post this event into CT update log
Use Case 2 is One Load with More than One CT and No Pooling
In this case:
- one Load is created with multiple CTs
- transported on one truck from pick up to delivery location
See Load Plan XML example for this case below or here: ...
- <S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:Num="Num-namespace-URI" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:ebi="http://www.myvan.descartes.com/ebi/2004/r1" xmlns:dcf="DCF-namespace-URI" xmlns:D2P="D2P-namespace-URI"> - <S:Header> - <wsa:From> <wsa:Address>urn:zz:JAFR_TM</wsa:Address> </wsa:From> <wsa:To>urn:duns:657589457</wsa:To> <wsa:Action>urn:myvan:220</wsa:Action> - <ebi:Sequence> <ebi:MessageNumber>BAT2010-10-0821-16-14Z382</ebi:MessageNumber> </ebi:Sequence> </S:Header> - <S:Body> - <Inbound> - <DocLoadPlan BilledAsUOM="100" BilledAsUnitCost="0" BilledAsValue="0" CarContract="Dick Harris Contract" FixedRate="0" Service="1" TotalCharge="432.12" TotalDeclaredValue="0" MasterShipmentNumber="LD000000206" BillingOption="30" Distance="693.788" DistanceUOM="100" CurrencyCode="USD" TotalStops="2" TransitTime="1" TotalVolume="0" DimensionUOM="400" VolUOM="300" BaseRate="432.12" OtherCharges="" TotalWeight="10600" WeightUOM="200" EquipmentName="53' Trailer" CarrierCode="HDNS" CarrierName="DICK HARRIS & SONS-Richmond" ContractName="Dick Harris Contract" ContractAccountNo="5" Reason="1" BillingOptionDescription="Third Party" TransportMode="TL" ContractModeDesc="TL" TotalLadingQty="93" TotalOrderQuantity="5088"> <BillToInformation StreetNo="1751" Address="Blue Hills Drive" City="Roanoke" State="VA" PostalCode="24012" Country="US" LocationNo="LOC000000012" ContactFName="Jessie" ContactLName="Falls" PhoneNumber="540-983-6407" CompanyName="Elizabeth Arden" EmailAddress="jessie.falls@elizabetharden.com" /> <DocLoadRate BilledAsValue="579.52477440000018" BaseRate="432.12" OtherCharges="" Service="1" ContractName="Dick Harris Contract" TotalCharge="432.12" Discount="0" MinCharge="0" BilledAsUOM="100" BilledAsQty="100" BilledAsUnitCost="0.74564543068480105" MaxCost="0" FixedRate="0" CurrencyCode="USD" TransitTime="1" Reason="1" /> <BOLInformation BOLNo="BOL000000211" MethodOfPayment="30" WeightUOM="200" VolUOM="300" TotalVolume="0" TotalWeight="10600" TotalLadingQty="93" TotalOrderQuantity="93"> <ShipFromInformation SeqNo="1" StopTypeCode="1" StartDateTime="2010-08-04T09:00:00" EndDateTime="2010-08-04T17:00:00" StreetNo="259" Address="Homestead Rd" City="Hillsborough" State="NJ" PostalCode="08844" Country="US" CompanyName="JACKEL INTERNATIONAL INC" /> <ShipToInformation SeqNo="2" StopTypeCode="2" StartDateTime="2010-08-04T15:19:00" EndDateTime="2010-08-04T17:00:00" StreetNo="4411" Address="Plantation Rd." City="Roanoke" State="VA" PostalCode="24012" Country="US" CompanyName="CEI" /> <DocShipment AllocatedCharges="216.059995" CreationDate="2010-10-07T13:00:33.823000000" ShipmentNumber="300454" EarliestAvailDate="2010-08-04T09:00:00" LatestAvailDate="2010-08-04T17:00:00" TotalWeight="8000" WeightUOM="200" TotalVolume="0" VolUOM="300"> <DocShpLineItem Hazardous="0" LineCreationDate="" LadingQty="88" SKUNumber="8" Description="nnndndjr" TotalWeight="8000" WeightUOM="200" OrderNumber="888" LadingQtyUOM="11" AcntLineItemNo="1" OrderQty="88" OrderQtyUOM="637" ContainerTypeDescription="Other" /> <DSGReferenceNumbers RefNoType="GL Account 2" Value="Yes" /> </DocShipment> <DocShipment AllocatedCharges="216.059995" CreationDate="2010-10-07T13:00:37.207000000" ShipmentNumber="300482" EarliestAvailDate="2010-08-04T09:00:00" LatestAvailDate="2010-08-04T17:00:00" TotalWeight="2600" WeightUOM="200" TotalVolume="0" VolUOM="300"> <DocShpLineItem Hazardous="0" LineCreationDate="" LadingQty="5" SKUNumber="5678" Description="britney" TotalWeight="2600" WeightUOM="200" DimensionUOM="400" OrderNumber="1234" LadingQtyUOM="11" AcntLineItemNo="1" VolUOM="300" OrderQty="5000" OrderQtyUOM="637" ContainerTypeDescription="Other" /> <DSGReferenceNumbers RefNoType="GL Account 2" Value="Yes" /> </DocShipment> </BOLInformation> - <DocLoadStop SeqNo="1" StopTypeCode="1" StartDateTime="2010-08-04T09:00:00" EndDateTime="2010-08-04T17:00:00"> <StopLocation StreetNo="259" Address="Homestead Rd" City="Hillsborough" State="NJ" PostalCode="08844" Country="US" CompanyName="JACKEL INTERNATIONAL INC" /> <BOLInformation BOLNo="BOL000000211" WeightUOM="200" VolUOM="300" TotalWeight="10600" TotalLadingQty="93" TotalOrderQuantity="5088" /> </DocLoadStop> - <DocLoadStop SeqNo="2" StopTypeCode="2" StartDateTime="2010-08-04T15:19:00" EndDateTime="2010-08-04T17:00:00"> <StopLocation StreetNo="4411" Address="Plantation Rd." City="Roanoke" State="VA" PostalCode="24012" Country="US" CompanyName="CEI" /> <BOLInformation BOLNo="BOL000000211" WeightUOM="200" VolUOM="300" TotalWeight="10600" TotalLadingQty="93" TotalOrderQuantity="5088" /> </DocLoadStop> </DocLoadPlan> </Inbound> </S:Body> </S:Envelope> Similar to Use Case 1.
Use Case 3 Pooling
In this case:
- Load#x is created at Origin with multiple CTs and transported on one truck to Pool Point
- Load#y created at Pool Point and transported to Destination
! Right now there is only one Pool Point defined in Descartes: at Jewels in Newark
Pick Up vs Delivery Trucker in case of pooling
For CTs on loads to Pool Point only CT#Pick Up Trucker should be set.
For CTs on loads from Pool Point only CT#Delivery Trucker should be set.
Use the following XML element to discover Pool Point:
<AddressType AddressType="3" AddressTypeDesc="Pool Point" />
Example XML from Origin to pool point
Example XML from pool point to destination
Use Case 4 Multistop
In Descartes system it is possible for one truck (one load) to stop several times to pick up CTs and then stop several times to drop off.
pu - pick up
do - drop off
All pickups before all drop offs in multistop
Example:
pu1, pu2, do1, do2, do3.
Limitation: last pick up must be completed before first drop off.
Mixed pick ups and drop offs in multistop
Example:
pu1, do1, pu2, do2
??? Chad said this case is not possible, but user guide has it. Need to double check.
Use Case 5 Actual Pickup & Delivery Dates set in the future
In Descartes system it is possible for truckers to confirm dates in the future.
Actual pickup date
Actual delivery date
How to avoid CT records having dates set in the future
- Put files in different folder on ftp and double-check them once a day
- if the actual pickup date = today, send update to each CT records a part of that file
- if the actual delivery date = today, send update to each CT records a part of that file
- if actual pickup date NOT = today, holds the file in the folder and check the next day
Misc
StopTypeCode
<xs:attribute name="StopTypeCode"> − <xs:simpleType> − <xs:restriction base="xs:int"> − <xs:enumeration value="1"> − <xs:annotation> <xs:documentation>Pickup</xs:documentation> </xs:annotation> </xs:enumeration> − <xs:enumeration value="2"> − <xs:annotation> <xs:documentation>Dropoff</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:attribute>
History
0002392: [EDI to TMS] (Load_Plan) Use Case 1 is One Load with One CT and No Pooling; Use Case 2 is One Load with More than One CT
0002428: [EDI to TMS] (Load_Plan) Pass Load No and Carrier Ref from TMS to CT2
0002438: [EDI to TMS] (Load_Plan) Cover Use Case 4 Multistop
0002452: [EDI to TMS] (Load_Plan) Pass Estimated Pick Up and Delivery from TMS to CT2
0002453: [EDI to TMS] (Load_Plan) Use Case 3 Pooling
0002563: [EDI to TMS] (Load_Plan) Check & Hold files on ftp server that have actual pickup date & actual delivery dates set in the future
0002498: [EDI to TMS] (Load_Plan) Pass probill no
0002935: [EDI to TMS] (Load_Plan) Change Mapping of Load & Pro # from Pick-up Comments to New DB Fields created under M2806
0002749: [EDI to TMS] (Load_Plan) Change: Pass updated changes made on CT rec to TM for any/all records that already have a load plan
0003095: [TMS (OSDS)] CT2 override/chg the est del date received on Descartes Load Plan when date is before the est pickup date
0003152: [EDI to TMS] Check both Load Plan & Status Message for Pro Bill # & update CT Pro Number Field on Gen Tab
- Mapping changes were needed by Descartes as their load plan did not contain the Pro Bill # as it should have. Therefore Descartes have implemented the following work around: put the ProbillNo in the TrackInfo attribute
WU? Y
0003204: Change/Replace "Estimated delivery date” we receive on load plan to be the same date as the Cargo Due Date
- Mapping changes are needed for the estimated delivery date to be the same date as the Cargo Due Date. The current mapping for this date on the load plans received is: XML Object Name: DocLoadPlan/DocLoadStop[@StopTypeCode = 2]/@EndDateTime But would like to use the “Requested ETA/ETD” found in TMS. Descartes confirmed unfortunately there isn't a way for us to use the Requested ETA/ETD, as they are not in the XML; those dates happen only on the code on TM, they are calculated when the screen is displayed.
- Solution: If the DocLoadPlan/DocLoadStop[@StopTypeCode = 2]/@EndDateTime is > the CT_bo#Cargo_due, the system should not accept that date AND replace it with the CT_bo#Cargo_due.
Note:
- Estimated Delivery date can be = to Cargo Due date
- Estimated delivery date can be < the Cargo Due date
- Estimated delivery date CANNOT be > the Cargo Due date
WU? Yes & updated data dic is found here, dtd 24-Oct: 2229
0003698: EDI Status Messages received from Truckers PT/DT db field changes & mapping change to receive/update Trailer Numbers
Mantis: 3698
Trailer information MUST be displayed on CT2 for internal users as well as client users.
- Client would like to see a trailer# that trucker entered for that particular shipment
- Trucker company: Lawrence
- This information is entered by trucker company to their system but currently is not available to anyone, so the goal is to get the data into 214 message and push data to TM (Descartes) then Jaguar will be able to pull data from TM.
- State of work:
- 1) Trailer ID is entered to Trucker company system. This needs to be populated into the X12 (214) to be sent to Descartes via EDI message. This information is an input to be mapped into 214. --> Done by Lawrence
- 2) Map the data to the XML TM message. This trailer # is mapped between Trucker company and Descartes --> Done by Descartes
- 3) The data is available and can be pulled from TM --> Done by Descartes
- 4) Jaguar can pull trailer ID from XML Loadplan below in order to display it on CT2.--> Jaguar's implementation
- Trucker company: Lawrence
- Display trailer # in CT2 (Internal and Client Application).
- Create a new field for Trailer ID as a text field. (Editable field, just in case edit information is needed internally) See CT_bo#Trailer_ID
- Use case 1. Pick up and deliver trucker is the same truck company (Lawrence)
- This case is happened most of the time. CTs have been created by shipper, approved by planner from ASN. Jaguar routes and tenders shipment, Lawrence receives notification then assigns trailer #, this passed through TM and send back to Jaguar in 214 XML file via EDI. So this case, trailer ID transfers and display to all CTs that have the same trailer ID.
- Use case 2. Pick up by Jewels and drop it off at Jewels warehouse to consolidate and Lawrence pick up consolidated shipment from Jewels warehouse to deliver. This use case, Jaguar creates and approve a shipment internally for this move for Lawrence in ASN portal. Jaguar routes and tenders shipment to Lawrence. Lawrence assigns Trailer ID to that particular shipment. This shipment consist of number of shipments, but it was created for a truck move (1 CT). Currently,All CTs number that associates to this truck move, does not show any where in this specific CT. And all CTs that are moved by Lawrence should show Trailer ID as well on Internal, client application, and ASN portal. In order to accomplish this use case, ability to pass Trailer ID through all the CTs that are moved by the same trailer is needed. Client will be able to see this information on client application and ASN portal.
- Use case 1. Pick up and deliver trucker is the same truck company (Lawrence)
- Provide functionality to add CTs manually to the trailer that is assigned to the CT truck move.
- CTs added to Trailer, Trailer ID should be displayed to all CTs that were added and display for users to see
- CT level internal application
- CT level client application
- CT level ASN portal
- CTs added to Trailer, Trailer ID should be displayed to all CTs that were added and display for users to see
- Create a new field for Trailer ID as a text field. (Editable field, just in case edit information is needed internally) See CT_bo#Trailer_ID
Internal Application
- Location: GenTab
- Pull information from TM to this field
- Automatically add information to Com Tab as adding comment similar to Pick up comment about BOL that has received from TM to CT2 as well as showing on Com tab
- If the Trailer ID is updated and sent to TM, Jaguar must show the new value additional to the old value for historical data.
- This could happen for a case that a shipment has used 2 Truckers to pick up then switch to a different truck at the warehouse. It would be beneficial to see both trailer IDs if this is a case.
- Add as an output list for all reports including schedules reports.
Client Application
- Shipper, planner Portal
- Add Trailer ID field on Planner/Shipper portal for read only view ????
- Location [[]]
- Shipper, planner Portal
- Client Application
- Add Trailer ID field on Client Application for Truck shipment > Trucker Info Tab> Trailer ID???
- Location [[]]
- Add as an output list for Main and In transit reports
- Client Application
Load Plan: Trailer# is added. The information is available in the EquipmentNo attribute as a child of DocTracking element.