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]