Forward Expedited LTL Web Services

API Services Home

Forward Expedited LTL Dynamic Pricing Quoting Web Service

Webservice to get a Dynamic pricing quote. You can use Rest call shown below.

Service URL

Name Service URL Additional details
Rest ${baseUrl}/ltlservices/v2/rest/waybills/dynamicquote Example test url: https://test-api.forwardair.com/ltlservices/v2/rest/waybills/dynamicquote

Rest DynamicPricingQuoting Service

Request Parameters. POST ${baseUrl}/ltlservices/v2/rest/waybills/dynamicquote
Name Type Required Description
user Header param Y Your API username. Please note this is not the same as your web username.
password Header param Y Your API password. Please note this is not the same as your web password.
customerId Header param Y Your API customerId.
Content-Type Header param Y application/json
Body Body Y Quote json. Quote json must meet the Dynamic Pricing Quote Request Schema.

Response

Response will contain the the quote and charge details.

Name Type Required Description
DynamicPriceQuoteResponse String Y Quote Response data. Schema for this is Dynamic Pricing Quote Response Schema.

Dynamic Price Quote Payload

Quote payload root object is <DynamicPriceQuoteRequest>

Name Type Required Description
BillToCustomerNumber String Y Your Forward billing account number. This will drive the negotiated rate tariff.
Example: <BillToCustomerNumber>1234567</BillToCustomerNumber>
ShipperCustomerNumber String Y Your Forward shipper account number. If you do not have separate shipping account number, you can use same value as BillToCustomerNumber.
Example: <ShipperCustomerNumber>1234567</ShipperCustomerNumber>
Origin Object Y Origin of shipment (see below for members).
OriginAirportCode String N Part of the Origin object. Use if you are shipping from FA airport code.
Example: <OriginAirportCode>DFW</OriginAirportCode>
OriginZipCode String N Part of the Origin object. Use if you are shipping from zip code.
Example: <OriginZipCode>75063</OriginZipCode>
OriginCountryCode String N Part of the Origin object. Use if you are shipping from zip code. US, MX, CA. Defaults to US.
Example: <OriginCountryCode>US</OriginCountryCode>
OriginLocationName String Y Part of Origin object. Name of location.
OriginAddress1 String Y Part of Origin object. Address1 of location.
OriginAddress2 String N Part of Origin object. Address2 of location.
OriginCity String Y Part of Origin object. City of location.
OriginState String Y Part of Origin object. State of location.
Pickup Object N Part of the Origin object. Use if you are shipping from zip code (see below for members).
AirportPickup String N Part of the Pickup object. Use in conjunction with OriginAirportCode. Values are Y/N.
Example: <AirportPickup>N</AirportPickup>
PickupAccessorials Array N Part of the Pickup object. Use if specials services are needed as part of pickup.
PickupAccessorial String N Part of the PickupAccessorials array. List of current accessorial codes can be found using the accessorials webservice.
Example: <PickupAccessorial>PJP</PickupAccessorial>
Destination Object Y Destination of shipment (see below for members)
DestinationAirportCode String N Part of the Destination object. Use if you are shipping to FA airport code.
Example: <DestinationAirportCode>ATL</DestinationAirportCode>
DestinationZipCode String N Part of the Destination object. Use if you are shipping to zip code.
Example: <DestinationZipCode>30303</DestinationZipCode>
DestinationCountryCode String N Part of the Destination object. Use if you are shipping to zip code. US, MX, CA. Defaults to US.
Example: <DestinationCountryCode>US</DestinationCountryCode>
DestinationLocationName String Y Part of Destination object. Name of location.
DestinationAddress1 String Y Part of Destination object. Address1 of location.
DestinationAddress2 String N Part of Destination object. Address2 of location.
DestinationCity String Y Part of Destination object. City of location.
DestinationState String Y Part of Destination object. State of location.
Delivery Object N Part of the Destination object. Use if you are shipping to zip code (see below for members).
AirportDelivery String N Part of the Delivery object. Use in conjunction with DestinationAirportCode. Values are Y/N.
Example: <AirportDelivery>N</AirportDelivery>
DeliveryAccessorials Array N Part of the Delivery object. Use if specials services are needed as part of delivery.
DeliveryAccessorial String N Part of the DeliveryAccessorials array. List of current accessorial codes can be found using the accessorials webservice.
Example: <DeliveryAccessorial>PJD</DeliveryAccessorial>
volume String N volume of the shipment
volumeType String N volumeType of the shipment
Example: <volumeType>US</volumeType>
FreightLineDetails Array Y Array of FreightLineDetail.
FreightLineDetail Object Y Part of the FreightLineDetails array.
FreightClass String N Part of the FreightDetail object. Freight class. Valid values are: 50, 55, 60, 70, 77.5, 85, 92.5, 100, 110, 125, 150, 200, 250, 300, 400, 500. Required if your tariff is based on freight class.
Example: <FreightClass>100</FreightClass>
Weight Number Y Part of the FreightDetail object. Weight of freight.
Example: <Weight>250.0</Weight>
WeightType String Y Part of the FreightDetail object. L for Lbs and K for Kgs.
Example: <WeightType>L</WeightType>
Pieces Number Y Part of the FreightDetail object. Handling pieces. Loose pieces or pallets. Do not send said to contain pieces in this field.
Example: <Pieces>3</Pieces>
Description String Y Part of the FreightDetail object. Freight description.
Example: <Description>GE APPLIANCES</Description>
Dimension String Y Part of the FreightDetail object. Freight dimension.
Example: <Dimension>GE APPLIANCES</Dimension>
pieces String N Part of the Dimension object. Use in calculating the no.of pieces.
Example: <pieces>N</pieces>
length String N Part of the Dimension object. Use in calculating the length of the piece.
Example: <length>N</length>
width String N Part of the Dimension object. Use in calculating the width of the piece.
Example: <width>N</width>
height String N Part of the Dimension object. Use in calculating the height of the piece.
Example: <height>N</height>
Hazmat String Y Hazmat freight. Y/N.
Example: <Hazmat>N</Hazmat>
InbondShipment String Y Inbond freight. Y/N.
Example: <Inbond>N</Inbond>
guaranteedService Number Y . Y/N.
Example:<guaranteedService>N</guaranteedService>
DeclaredValue Number Y Insurance on the shipment in US dollars.
Example: <DeclaredValue>500.00</DeclaredValue>
ShippingDate String Y Expected shipping date in YYYY-MM-DD format. Please note that shipping date will be used to lookup rates.
Example: <ShippingDate>2020-01-05</ShippingDate>
Response

Successful quote call.

Name Type Required Description
http status code 200 Y Code 200 for successful request.
DynamicPriceQuoteResponse Response body Y Quote Response data. Schema for this is Dynamic Pricing Quote Response Schema.

Dynamic Pricing Quote Response Payload. DynamicPricing Quote response has all the elements of Dynamic quote and following additional elements.

Name Type Required Description
WeightAdjusted String Y Part of the FreightDetail response element. Y/N. If weight was adjusted due to dimensional weight being higher and being used to calculate charges.
Example: <WeightAdjusted>N</WeightAdjusted>
QuoteId Number Y Total for the quote in USD.
Example: <QuoteId>300.22</QuoteId>
TotalWeight Number Y Total weight.
Example: <TotalWeight>1500.0</TotalWeight>
TransitDaysTotal Number Y Total days of transit (includes weekend). Please note that the shipping day has to be valid business day and the freight must be picked up according to market schedule.
Example: <TransitDaysTotal>5</TransitDaysTotal>
ChargeLineItems Array Y Array of ChargeLineItem.
ChargeLineItem Object Y Charge line.
Code String Y Part of ChargeLineItem. Charge line code.
Description String Y Part of ChargeLineItem. Description of charge line.
Zone String Y Part of ChargeLineItem. Zone of service. Will be returned on Code PUL, DEL and LTL only.
ServiceLevel Number Y Part of ChargeLineItem. ServiceLevel is transit days for the given service. Will be returned on Code PUL, DEL, LTL. 0 means same day service.
Amount Number Y Part of ChargeLineItem. Amount of charge line in USD. 0.00 mean no charge service.
Dynamic Price Quote Response

Unsuccessful DynamicPriceQuote call.

Name Type Required Description
http status code 400, 500 Y Code 400 for bad request, 500 for errors.
DynamicPriceQuoteError String Y Error Response data. Schema for this is Error Response Schema.


Request Samples
Sample Name Description
Zip to Zip Zip to Zip shipment where Forward will provide pickup, linehaul and delivery service. This same sample can be used for local pickup and delivery service as well. This same type of shipment is shown below as well with response data.

Zip to Zip rate request. This example shows a rest json payload.

Rest call using json body payload. Header params listed above must be present, the section below shows what the body json can look like.
{
    "billToCustomerNumber": 2498142,
    "shipperCustomerNumber": 2498142,
    "origin": {
        "originAirportCode": "ATZ",
        "originZipCode": "30277",
        "originCountryCode": "US",
        "originLocationName": "Test BUF",
        "originAddress1": "12345 Test Road",
        "originAddress2": "Suite 100",
        "originCity": "BUFFALO",
        "originState": "NY",
        "pickup": {
            "airportPickup": "N",
            "pickupAccessorials": {
                "pickupAccessorial": [
                    "LTDAP"
                ]
            }
        }
    },
    "destination": {
        "destinationAirportCode": "ORD",
        "destinationZipCode": "60606",
        "destinationCountryCode": "US",
        "destinationLocationName": "Test DTW",
        "destinationAddress1": "12345 Test SYR Road",
        "destinationAddress2": "Suite 100",
        "destinationCity": "DETROIT",
        "destinationState": "MI",
        "delivery": {
            "airportDelivery": "N",
            "deliveryAccessorials": {
                "deliveryAccessorial": [
                    "LTDAD"
                ]
            }
        }
    },
    "volume": "300",
    "volumeType": "CC",
    "freightLineDetails": {
        "freightLineDetail": [
            {
                "freightClass": "50",
                "description": "golf clubs",
                "pieces": "5",
                "weight": "60",
                "weightType": "L",
                "dimension": {
                    "pieces": "5",
                    "length": "25",
                    "width": "20",
                    "height": "25"
                }
            },
            {
                "freightClass": "100",
                "description": "desk",
                "pieces": "2",
                "weight": "80",
                "weightType": "L",
                "dimension": {
                    "pieces": "2",
                    "length": "10",
                    "width": "20",
                    "height": "35"
                }
            }
        ]
    },
    "hazmat": "N",
    "inBondShipment": "N",
    "guaranteedService": "N",
    "declaredValue": "0",
    "shippingDate": "2023-10-31"
}

Response Samples

Zip to Zip rates. Rates shown here are for sample only and do not represent any active contract.

JSON
{
    "quoteId": "DPD10EIT1",
    "billToCustomerNumber": 2498142,
    "shipperCustomerNumber": 2498142,
    "originAirportCode": "ATZ",
    "originZipCode": "30277",
    "originCountryCode": "US",
    "destinationAirportCode": "ORD",
    "destinationZipCode": "60606",
    "destinationCountryCode": "US",
    "volume": 300,
    "volumeType": "CC",
    "dimensions": {
        "dimension": [
            {
                "pieces": 5,
                "length": 25,
                "width": 20,
                "height": 25
            },
            {
                "pieces": 2,
                "length": 10,
                "width": 20,
                "height": 35
            }
        ]
    },
    "freightDetails": {
        "freightDetail": [
            {
                "description": "golf clubs",
                "pieces": 5,
                "weight": 60.0,
                "weightType": "L",
                "weightAdjusted": "N"
            },
            {
                "description": "desk",
                "pieces": 2,
                "weight": 80.0,
                "weightType": "L",
                "weightAdjusted": "N"
            }
        ]
    },
    "hazmat": "N",
    "inBondShipment": "N",
    "guaranteedService": "N",
    "declaredValue": 0.00,
    "quoteDate": "2023-10-31",
    "quoteTotal": 300.23,
    "totalWeight": 140.0,
    "transitDaysTotal": 4,
    "chargeLineItems": {
        "chargeLineItem": [
            {
                "code": "PUL",
                "description": "PICKUP",
                "zone": "D",
                "serviceLevel": "1",
                "amount": 0.00
            },
            {
                "code": "DEL",
                "description": "DELIVERY",
                "zone": "B",
                "serviceLevel": "1",
                "amount": 0.00
            },
            {
                "code": "LTL",
                "description": "LINEHAUL",
                "zone": "",
                "serviceLevel": "2",
                "amount": 0.00
            },
            {
                "code": "FSC",
                "description": "FSC",
                "zone": "",
                "serviceLevel": "0",
                "amount": 54.11
            },
            {
                "code": "LTP",
                "description": "LIMITED ACCESS PICKUP",
                "zone": "",
                "serviceLevel": "0",
                "amount": 55.00
            },
            {
                "code": "LTD",
                "description": "LIMITED ACCESS DELIVERY",
                "zone": "",
                "serviceLevel": "0",
                "amount": 55.00
            },
            {
                "code": "DPC",
                "description": "DYNAMIC PRICING CHARGES",
                "zone": "",
                "serviceLevel": "0",
                "amount": 136.12
            }
        ]
    }
}

Back to Top



Last updated 10/31/2023