Forward Expedited LTL Web Services

API Services Home

Forward Expedited LTL Dynamic Price Booking Web Service

Webservice to DynamicPriceBook LTL shipment. You can use Rest calls shown below.

Service URL

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

Rest Booking Service

Request Parameters. POST ${baseUrl}/ltlservices/v2/rest/waybills/dynamicbook
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/xml. Json payload is not supported.
Body Body Y Booking xml. Booking xml must meet the Dynamic price Booking Request Schema.

Response

Response will contain the the dynamic price booking result.

Name Type Required Description
DynamicPriceBookingResponse String Y Dynamic Price Book Response xml data. Schema for this is Dynamic Price Book Response Schema.

Booking Payload root object is <DynamicPriceBookingRequest>

tr>
Name Type Required Description
testmode String Y Attribute of DynamicPriceBookingRequest element. Y/N. Set to Y for test shipments and N when you go live. You will also need to update the url to live url when going live.
Example: <DynamicPriceBookingRequest testmode="Y">
OrderDetails Element Y Part of DynamicPriceBookingRequest element.
OrderAction String Y Part of OrderDetails element. Create, Update, Cancel.
quoteId String Y Part of OrderDetails element. Create, Update, Cancel.
AirbillNumber Number N Send empty value unless you have a pre-assigned block of PRO numbers. If this is empty, the API call will auto assign the PRO number value.
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>
customerReferenceNumber String Y Your Forward shipper reference number. This is for reference of shipments.
Dimensions Array Y Array of Dimension.
Dimension Object Y Part of Dimensions. Elements below.
Pieces Number Y Part of Dimension. Number of 'handling' pieces with this dimension not 'said to contain' pieces. For example if you have 1 pallet with 50 pieces, please send 1 piece here with the dimensions of the pallet.
Length Number Y Part of Dimension. Length in inches.
Width Number Y Part of Dimension. Width in inches.
Height Number Y Part of Dimension. Height in inches.
FreightLineDetails Array Y Array of FreightLineDetail.
FreightLineDetail Object Y Part of FreightLineDetails.
FreightClass Number Y Part of FreightDetail. 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>
Description String Y Part of FreightDetail. Freight description.
Pieces Number Y Part of FreightDetail. Handling pieces.
Weight Number Y Part of FreightDetail. Freight weight.
WeightType String Y Part of FreightDetail. Freight weight type, L for lb or K for Kgs.
Hazmat String Y Hazmat freight. Y/N.
Example: <Hazmat>N</Hazmat>
InbondShipment String Y Inbond freight. Y/N.
Example: <Inbond>N</Inbond>
guaranteedService String Y guaranteedService freight. Y/N.
Example: <guaranteedService>N</guaranteedService>
DeclaredValue Number Y Insurance on the shipment in US dollars.
Example: <DeclaredValue>500.00</DeclaredValue>
ReferenceNumbers Array Y Array of ReferenceNumber elements.
ReferenceNumber String Y Part of ReferenceNumbers. Please use your unique shipment ID as the first reference number and list out all possible reference numbers that could help service this shipment. (BOL, PO, MAWB, HAWB, etc).
SpecialInstructions String Y Any special instructions for this shipment.
OriginAirportCode String N Origin airport code. Use this field if freight is getting dropped at Forward terminal.
DestinationAirportCode String N Destination airport code. Use this field if is getting picked up from Forward terminal.
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>
EmergencyContact Object N Emergency contact for this shipment.
Name String Y Part of EmergencyContact. Name for this contact.
Phone String Y Part of EmergencyContact. Phone for this contact.
Email String Y Part of EmergencyContact. Email for this contact.
Pickup Object N Use if you are shipping from shipper zip code or need pickup at OriginAirportCode (see below for members).
AirportPickup String Y Part of the Pickup object. Set to Y and use in conjunction with OriginAirportCode.
Example: <AirportPickup>N</AirportPickup>
pickupReadyTime String Y Part of the Pickup object. Gives the ready time of the pickup.
PickupAccessorials Array Y 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>
Delivery Object N Part of the Destination object. Use if you are shipping to consignee zip code or need drop at DestinationAirportCode (see below for members).
AirportDelivery String Y Part of the Delivery object. Use in conjunction with DestinationAirportCode. Values are Y/N.
Example: <AirportDelivery>N</AirportDelivery>
deliveryReadyTime String Y Part of the delivery object. Gives the ready time of the delivery.
DeliveryAccessorials Array Y 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>
Shipper Object Y Shipper of this shipment.
ShipperLocationName String Y Part of Shipper object. Name of location.
ShipperAddress1 String Y Part of Shipper object. Address1 of location.
ShipperAddress2 String N Part of Shipper object. Address2 of location.
ShipperCity String Y Part of Shipper object. City of location.
ShipperState String Y Part of Shipper object. State of location.
ShipperZipCode String Y Part of Shipper object. Zip of location.
ShipperCountry String Y Part of Shipper object. Country of location, US, CA, MX.
ShipperContactName String Y Part of Shipper object. Contact name.
ShipperContactPhone String Y Part of Shipper object. Contact phone.
ShipperContactEmail String Y Part of Shipper object. Contact email.
ShipperOpenTime String Y Part of Shipper object. Open time, example <ShipperOpenTime>09:00:00</ShipperOpenTime>
ShipperCloseTime String Y Part of Shipper object. Close time, example <ShipperCloseTime>17:00:00</ShipperCloseTime>
Consignee Object Y Consignee of this shipment.
ConsigneeLocationName String Y Part of Consignee object. Name of location.
ConsigneeAddress1 String Y Part of Consignee object. Address1 of location.
ConsigneeAddress2 String N Part of Consignee object. Address2 of location.
ConsigneeCity String Y Part of Consignee object. City of location.
ConsigneeState String Y Part of Consignee object. State of location.
ConsigneeZipCode String Y Part of Consignee object. Zip of location.
ConsigneeCountry String Y Part of Consignee object. Country of location, US, CA, MX.
ConsigneeContactName String Y Part of Consignee object. Contact name.
ConsigneeContactPhone String Y Part of Consignee object. Contact phone.
ConsigneeContactEmail String Y Part of Consignee object. Contact email.
ConsigneeOpenTime String Y Part of Consignee object. Open time, example <ConsigneeOpenTime>09:00:00</ConsigneeOpenTime>
ConsigneeCloseTime String Y Part of Consignee object. Close time, example <ConsigneeCloseTime>17:00:00</ConsigneeCloseTime>
Response

Successful dynamic price booking call.

Name Type Required Description
http status code 200 Y Code 200 for successful request.
DynamicPriceBookingResponse Response body Y DynamicPriceBookingResponse Response xml data. Schema for this is Dynamic Price Booking Response Schema.

Booking Payload root object is <DynamicPriceBookingRequest>

Name Type Required Description
DynamicPriceBookingResponse Object Y Successful response object
AirbillNumber String Y Part of DynamicPriceBookingResponse. Airbill number for booking.
Booking Response

Unsuccessful dynamic price booking call.

Name Type Required Description
http status code 400, 500 Y Code 400 for bad request, 500 for errors.
DynamicPriceBookingError Object Y Error Response xml data. Schema for this is Error Response Schema.
ErrorMessage String Y Part of FAError. Error message.


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 shipment booking request. This example shows a rest xml payload. Response data for all scenarios follows the same layout.

Rest call using xml body payload. Header params listed above must be present, the section below shows what the body xml can look like.
{
    "testmode": "Y",
    "orderDetails": {
        "orderAction": "CREATE",
        "quoteId": "DPD1002SW",
        "airbillNumber": "0",
        "billToCustomerNumber": "{{billToNumber}}",
        "shipperCustomerNumber": "{{billToNumber}}",
        "customerReferenceNumber": "20220307-REF1230",
        "freightLineDetails": {
            "freightLineDetail": [
                {
                    "freightClass": "50",
                    "description": "golf clubs",
                    "pieces": "1",
                    "weight": "60",
                    "weightType": "L",
                    "dimension": {
                        "pieces": "1",
                        "length": "15",
                        "width": "20",
                        "height": "25"
                    }
                },
                {
                    "freightClass": "100",
                    "description": "desk",
                    "pieces": "1",
                    "weight": "80",
                    "weightType": "L",
                    "dimension": {
                        "pieces": "1",
                        "length": "10",
                        "width": "20",
                        "height": "35"
                    }
                }
            ]
        },
        "declaredValue": "0",
        "hazmat": "N",
        "inBondShipment": "N",
        "guaranteedService": "N",
        "referenceNumbers": {
            "referenceNumber": [
                "ref1",
                "ref2",
                "ref3"
            ]
        },
        "specialInstructions": "open the door",
        "description": "junk",
        "originAirportCode": "DFW",
        "destinationAirportCode": "SYR",
        "shippingDate": "2023-05-06",
        "emergencyContact": {
            "name": "test",
            "phone": "9004700256",
            "email": "testmay13@test.com"
        },
        "pickup": {
            "airportPickup": "N",
            "pickupReadyTime": "10:00:00",
            "pickupAccessorials": {
                "pickupAccessorial": [
                    "LTDAP"
                ]
            }
        },
        "delivery": {
            "airportDelivery": "N",
            "deliveryAccessorials": {
                "deliveryAccessorial": [
                    "LTDAD"
                ]
            }
        }
    },
    "shipper": {
        "shipperLocationName": "Test DFW",
        "shipperAddress1": "12345 Test Road",
        "shipperAddress2": "Suite 100",
        "shipperCity": "Flower Mound",
        "shipperState": "TX",
        "shipperZipCode": "75028",
        "shipperCountry": "US",
        "shipperContactName": "Eric",
        "shipperContactPhone": "1111111111",
        "shipperContactEmail": "eric@eric.com",
        "shipperOpenTime": "08:00:00",
        "shipperCloseTime": "15:30:00"
    },
    "consignee": {
        "consigneeLocationName": "Test SYR",
        "consigneeAddress1": "12345 Test SYR Road",
        "consigneeAddress2": "Suite 100",
        "consigneeCity": "Manlius",
        "consigneeState": "NY",
        "consigneeZipCode": "13104",
        "consigneeCountry": "US",
        "consigneeContactName": "None",
        "consigneeContactPhone": "2222222222",
        "consigneeContactEmail": "none@none.com",
        "consigneeOpenTime": "07:00:00",
        "consigneeCloseTime": "14:30:00"
    }
}
	

Response Samples

Successful return will have AirbillNumber.

JSON
{
    "airbillNumber": "85034833",
    "errorMessage": "",
    "comment": ""
}

Response Samples

Unsuccessful return will have ErrorMessage.

JSON
{
    "errorMessage": "Error: Location 99999 is not serviced"
}

Back to Top



Last updated 06/01/2023