Overview
The GET ShipmentConfirms response returns a wide range of data from completed shipments for update into your ERP or other systems. Some types of updates, such as freight price, are generally the same regardless of carriers used for shipping. Other types of data can change slightly depending on the types of carriers used and the data they return.
Carrier and Class of Service
Pacejet returns a carrier, carrierClassOfService, and ShipVia code to reflect the actual carrier used in the shipping process. As you consider updates, keep in mind that users may override in shipping and choose any carrier regardless of any carriers preset in a sales order or fulfillment. Also note the ShipVia returned from Pacejet after a shipment is the same list of cross-reference values as the ShipXRef that is sent to Pacejet when shipments are preset to a carrier and class of service.
"carrierClassOfService": "Standard",
"carrier": "Estes",
"shipVia": "ESTSTD",Shipping Prices, Costs, List Price, and Freight Terms
Pacejet returns a cost, price, list price, and freight terms to enable your application to properly transmit shipping fees into ERP billing processes and record enough detail for shipping profit and loss analysis (see example below). The best-practice for shipment billing support is to record the freightTotalPrice value into your ERP at a minimum, using freightTerms of blank or “Prepaid and Charge” as an indicator that the shipping charges should be added to customer invoices (any other freight terms should not add the freight price to customer invoices). Beyond the minimum best-practice of billing shipment prices, you may also wish to record the Cost (the shipper’s negotiated rate) and the ListPrice (the list price if a carrier provides one) for reporting purposes.
"freightTerms": "",
"rateDetail": {
"freightTotalCost": {
"currency": "USD",
"amount": 58.73
},
"freightTotalPrice": {
"currency": "USD",
"amount": 68.73
},
"freightListPrice": {
"currency": "USD",
"amount": 58.73
}
}, Parcel Tracking Numbers and Links for Each Package
Pacejet returns parcel tracking numbers uniquely for each shipping package or container. By Pacejet convention, the packingListNumber field for each container uses the Transaction ID appended with a dash and a three-digit package number. Each individual package then includes a discrete tracking number value and a carrier-specific tracking link for convenient use in the ERP.
"completedPackageDetailsList": [
{
"packingListNumber": "PackList030-001",
"trackingUrl": "http://www.fedex.com/Tracking?tracknumbers=900804315262624",
"trackingNumber": "900804315262624"
},
{
"packingListNumber": "PackList030-002",
"trackingUrl": "http://www.fedex.com/Tracking?tracknumbers=900804315262631",
"trackingNumber": "900804315262631",
}
] Freight Tracking Numbers at the Shipment Level
Pacejet returns freight tracking numbers with a slightly different structure since freight carriers provide only shipment-level tracking. As with parcel shipments, the Pacejet convention for the packingListNumber field uses the Transaction ID appended with a dash and a three-digit package number to identify containers. However, with freight carriers the trackingNumber and trackingURL for each package are the same shipment-level values repeated with each container. Also note that shipment-level values including the masterTrackingNumber are provided (set to the tracking ID of the first container in a shipment) and the ProBill value for freight shipments.
"masterTrackingNumber": "EST0534",
"proBill": "EST0534",
"completedPackageDetailsList": [
{
"packingListNumber": "PackList030-001",
"trackingUrl": "http://www.estes-express.com/cgidta/edn419.mbr/output?search_criteria=EST0534",
"trackingNumber": "EST0534"
},
{
"packingListNumber": "PackList030-002",
"trackingUrl": "http://www.estes-express.com/cgidta/edn419.mbr/output?search_criteria=EST0534",
"trackingNumber": "EST0534"
}Shipment Date-Time and Arrival Estimate
Pacejet returns the actual date and time a shipment was processed with a carrier, the transit-time (if available) for the selected class of service, and a calculated estimate of arrival date-time for a shipment (if available). Note that the arrivalEstimate and arrivalEstimateString can vary in format by carrier depending on how carriers return this detail.
"routingDetail": {
"shipTimestamp": "2017-03-09T03:14:52.41Z",
"arrivalEstimate": "2017-04-03T00:00:00",
"transitTime": 3,
"arrivalEstimateString": "Monday, April 3, 2017"
},