Saia Web Services require secure information. You must be registered for Saia Secure and the account must have
a valid Contact Name, Local Phone Number. To register please by click the Login/Register Link on the top right of the Saia Home Page
and complete required information. To update account information please login to SaiaSecure and click the
Update Account Information link on the SaiaSecure home page.
All Request Documents have a required element called <TestMode>. TestMode must be set to Yes, this allows the exchange of generic information
for testing applications without issuing live data. Once testing is complete switch to No to initiate live data.
All Response Documents contain 4 error handling elements <Code>, <Element>, <Fault>,
and <Message>. Verification is required for each response. If the <Code> element contains a value
then an error has occurred. Proceed to other elements for description information about the specific failure.
All Elements are case sensitive to ensure compatibility with existing programming languages. If casing is not
correct the system will assume the element is missing and the action will fail during validation.
Adding the <?xml version="1.0" encoding="utf-8"?> prefix on the first line of the XML document is not mandatory
within our Request Documents, however it is common practice. All Response XML Documents will contain this prefix.
When programming against Saia's XML Documents do not access the elements based on their position
within the document. Access the element by name only. Saia reserves the right to
add new elements into this document at any location based on customer requests and
requirements.
Below is a list of the elements and descriptions used to build a <Create> document/object to create a Bill of Lading.
Element / Parameter |
Type |
Required |
MaxLength |
Description |
<Create> |
Array |
Yes |
1 |
Document Name |
<UserID> |
String |
Yes |
20 |
Saia Secure User ID |
<Password> |
String |
Yes |
14 |
Saia Secure Password |
<TestMode> |
String |
Yes |
1 |
Testing Flag
Y = Yes (Testing)
N = No (Not Testing)
Note: This element is used to verify your request document is formatted correctly and contains valid data, once testing is complete switch to <TestMode>N</TestMode>.
|
<ShipmentDate> |
String |
Yes |
10 |
Shipment Date
Format: YYYY-MM-DD, Local Date
|
<BillingTerms> |
String |
Yes |
10 |
Billing Terms
Prepaid
Collect
|
<BLNumber> |
String |
No |
20 |
Bill of Lading Number |
<ShipperNumber> |
String |
No |
20 |
Shipper Reference Number
Note: Not applicable when VICS flag set to Yes
|
<StoreNumber> |
String |
No |
20 |
Store/Location Number |
<TrailerNumber> |
String |
No |
15 |
Trailer Number |
<PONumber> |
String |
No |
20 |
Purchase Order Number
Note: Not applicable when VICS flag set to Yes
|
<DepartmentNumber> |
String |
No |
10 |
Department Number
Note: Not applicable when VICS flag set to Yes
|
<QuoteNumber> |
Decimal |
No |
7, 0 |
Quote Number
Note: This will add the Quote Number specified into the Special Instructions area.
|
<Email> |
String |
No |
No Limit |
Send PDF Document to specified Email Addresses
Note: This option will accept a comma delimited list of email addresses and will automatically send
an attachment with a copy of the PDF document generated.
|
<PrintRates> |
String |
Yes |
1 |
Print Rates Flag
Y = Yes
N = No
Note: Not applicable when VICS flag set to Yes
|
<Customs> |
String |
Yes |
1 |
Customs Flag
Y = Yes
N = No
Note: Specifying Yes on this flag indicates this shipment is an international shipment which would involve Customs.
|
<GuaranteedDelivery> |
String |
No |
6 |
Saia Guaranteed Delivery Options
GSS12 = Delivery by 12pm (noon) - Saia Guaranteed 12
GSS5 = Delivery by 5pm - Saia Guaranteed 5
* Exemptions are as follows: Excessive length (over 16ft), sort and segregate requirements, appointment, poisonous shipments, residential deliveries, truckload moves, and collect (COD) shipments.
|
<EmergencyPhone> |
Decimal |
No |
10, 0 |
Hazardous Emergency Phone Number
Note: If you do not specify a hazardous emergency contact number the system will default to 8004249300 for any hazardous shipments. This is the 24-hour CHEMTREC Emergency Phone Number.
|
<SpecialInstructions> |
String |
No |
No Limit |
Special Instructions
|
<VICS> |
String |
Yes |
1 |
VICS Standard Bill of Lading Flag
Y = Yes (use VICS format)
N = No (use SAIA format)
|
<FullValueCoverage> |
Decimal |
No See note |
9, 2 |
Full Value Coverage of shipment to be covered.
Note: Full Value Coverage is the entire covered amount being requested by you for carrier liability on the shipment.
The amount that you request for Full Value Coverage replaces in its entirety all other carrier cargo liability limitations, including any 'per pound' limitations.
Unless special arrangements are made with Saia in advance of shipment, Full Value Coverage request cannot exceed $250,000.00 for new commodities, or
$1000.00 per package for household Goods and Personal Effects, $50,000.00 on shipments originating in Mexico and is not available for certain prohibited
commodities. See Saia Rules Tariff Item 108 for all terms and conditions applicable to full value coverage.
|
<WeightUnits> |
String |
See Note |
3 |
Weight Units of Measurement
Note: The default of LBS is used if element is not specified.
LBS = Pounds
KGS = Kilograms
|
<TotalCube> |
Decimal |
See Note |
7, 2 |
Total Cube
Note: Total Cube is only required when calculating cube based rates. For example to our Offshore Markets such as
Hawaii, Alaska, Mexico, Puerto Rico, etc... The Dimensions array below can also be specified
and the system will auto calculate the Total Cube element.
|
<TotalCubeUnits> |
String |
See Note |
4 |
Total Cube Units of Measurement
Note: The default of CUFT is used if element is not specified.
CUFT = Cubic Feet
CM = Cubic Meters
|
<DeclaredValue> |
Decimal |
See Note |
9, 2 |
Declared Value
Note: Declared Value is only required when calculating cube based rates.
|
<ExcessiveLengthTotalInches> |
string |
No. See Note |
3 |
ExcessiveLengthTotalInches
If using the accessorial ExcessiveLength, this is a required field. Excessive Length Total Inches is the length in inches.
|
<BorderLocation> |
String |
See Note |
6 |
U.S. Border Crossing Location Zipcode
Note: This element is only useful for quotes with a Destination State outside the Continental United States.
The default U.S. Border Crossing Location Zipcode for the Destination State is used if element is not specified.
The purpose of this element is to set the zipcode which the freight will cross the U.S. border for
rating purposes.
98424 = Destination State: AK via Fife, Wa (Default for AK) 32201 = Destination State: DR via Jacksonville, Fl (Default for DR) 92833 = Destination State: GU via Orange, Ca (Default for GU) 92831 = Destination State: HI via Orange, Ca (Default for HI) 78040 = Destination State: MX via Laredo, Tx (Default for MX) 79905 = Destination State: MX via El Paso, Tx 32201 = Destination State: PR via Jacksonville, Fl (Default for PR) 32201 = Destination State: VI via Jacksonville, Fl (Default for VI)
|
<Shipper> |
Array |
Yes |
1 |
Details about the Shipper |
<AccountNumber> |
String |
No |
7 |
Shipper Account Number
Note: The shipper location information is not required if you specify an Account Number as it will auto populate that
information from the account. If you specify both then the shipper location information will override the Account Number
specified if they are different and the Account Number will not be used. Only account numbers attached to your Saia
Secure UserID can be specified.
|
<ContactName> |
String |
Yes |
30 |
Shipper Contact Name / Company Name |
<Address1> |
String |
Yes |
30 |
Shipper Address 1 |
<Address2> |
String |
No |
30 |
Shipper Address 2 |
<City> |
String |
Yes |
20 |
Shipper City |
<State> |
String |
Yes |
2 |
Shipper State |
<Zipcode> |
String |
Yes |
6 |
Shipper Zipcode |
<Zipcode4> |
String |
No |
4 |
Shipper Zipcode 4 |
</Shipper> |
Array |
Yes |
1 |
|
<Consignee> |
Array |
Yes |
1 |
Details about the Consignee |
<AccountNumber> |
String |
No |
7 |
Consignee Account Number
Note: The consignee location information is not required if you specify an Account Number as it will auto populate that
information from the account. If you specify both then the consignee location information will override the Account Number
specified if they are different and the Account Number will not be used. Only account numbers attached to your Saia
Secure UserID can be specified.
|
<ContactName> |
String |
Yes |
30 |
Consignee Contact Name / Company Name |
<Address1> |
String |
Yes |
30 |
Consignee Address 1 |
<Address2> |
String |
No |
30 |
Consignee Address 2 |
<City> |
String |
Yes |
20 |
Consignee City |
<State> |
String |
Yes |
2 |
Consignee State
Note: Use a state of MX if the City and Zipcode are for Mexico.
|
<Zipcode> |
String |
Yes |
6 |
Consignee Zipcode |
<Zipcode4> |
String |
No |
4 |
Consignee Zipcode 4 |
</Consignee> |
Array |
Yes |
1 |
|
<BillTo> |
Array |
No |
1 |
Details about the Bill-To. This section is only required if Billing information is different from the Shipper/Consignee information. |
<AccountNumber> |
String |
No |
7 |
Bill-To Account Number
Note: The bill-to location information is not required if you specify an Account Number as it will auto populate that
information from the account. If you specify both then the bill-to location information will override the Account Number
specified if they are different and the Account Number will not be used. Only account numbers attached to your Saia
Secure UserID can be specified.
|
<ContactName> |
String |
Yes |
30 |
Bill-To Contact Name / Company Name |
<Address1> |
String |
Yes |
30 |
Bill-To Address 1 |
<Address2> |
String |
No |
30 |
Bill-To Address 2 |
<City> |
String |
Yes |
20 |
Bill-To City |
<State> |
String |
Yes |
2 |
Bill-To State |
<Zipcode> |
String |
Yes |
6 |
Bill-To Zipcode |
<Zipcode4> |
String |
No |
4 |
Bill-To Zipcode 4 |
</BillTo> |
Array |
No |
1 |
|
<Broker> |
Array |
See Note |
1 |
Details about the US/MX Custom House Broker.
Note: This information is only required for Mexico shipments. If you do not have this information please contact [email protected] for assistance. |
<CompanyName> |
String |
Yes |
24 |
Broker Company Name |
<Address1> |
String |
Yes |
24 |
Broker Address 1 |
<Address2> |
String |
No |
24 |
Broker Address 2 |
<Phone> |
String |
Yes |
24 |
Broker Phone Number |
<ContactName> |
String |
Yes |
24 |
Broker Contact Name |
</Broker> |
Array |
See Note |
1 |
|
<COD> |
Array |
No |
1 |
Details about COD information if needed. |
<CompanyCheck> |
String |
Yes |
1 |
C.O.D. Company Check Acceptable Flag
Y = Yes
N = No
|
<BillingTerms> |
String |
Yes |
10 |
C.O.D. Fee Billing Terms
Prepaid
Collect
|
<Amount> |
Decimal |
Yes |
7, 2 |
C.O.D. Amount |
</COD> |
Array |
No |
1 |
|
<Details> |
Array |
Yes |
1 |
Collection of Commodities |
<DetailItem> |
Array |
Yes |
No Limit |
Details describing each Commodity. You must specify at least one. |
<PONumber> |
String |
No |
20 |
Purchase Order Number (Package)
Note: Not applicable when VICS flag set to No
|
<Class> |
String |
Yes |
6 |
NMFC Class Code
Please contact your Traffic Department concerning NMFC class codes.
50
55
60
65
70
77.5
85
92.5
100
110
125
150
175
200
250
300
400
500
|
<Package> |
String |
Yes |
2 |
Package Type
BD = Bundles BG = Bags BK = Buckets BL = Bales BR = Barrels BS = Baskets BX = Boxes CN = Cans CO = Coils CR = Crates CS = Cases CT = Cartons CY = Cylinders DR = Drums EA = Each EN = Envelopes JT = Joints KT = Kits LS = Loose PC = Pieces PK = Packages PL = Pails PT = Pallets RE = Reels RL = Rolls SK = Skids SP = Spools SW = Shrink Wrapped Pallet TB = Tote Bins TK = Tanks TU = Tubes UT = Units
|
<Pieces> |
Decimal |
Yes |
5, 0 |
Pieces |
<Weight> |
Decimal |
Yes |
7, 0 |
Weight
Note: The units of measurement are based on the value specified in the WeightUnits element.
|
<FoodItem> |
String |
Yes |
1 |
Food Item Flag
Y = Yes
N = No
Note: This flag cannot be set to Yes on a Hazardous shipment.
|
<Hazardous> |
String |
Yes |
1 |
Hazardous
Y = Yes
N = No
|
<UNHazmatID> |
String |
No |
6 |
UN Hazmat ID
Note: This is required if Hazardous is set to Yes. This ID typically starts with the letters UN or NA then followed by 4 numbers.
|
<UNPackageGroup> |
String |
No |
4 |
UN Package Group
Note: This is required if Hazardous is set to Yes unless the UN Hazmat ID specified has no UN Package Group assigned. This is typically set to I, II, III, or an empty value depending on the commodity being shipped.
|
<UNBulk> |
String |
No |
1 |
UN Bulk
Y = Yes
N = No
Note: This is required if Hazardous is set to Yes.
|
<Description> |
String |
Yes |
No Limit |
Commodity Item Description
Note: If Hazardous is set to Yes this field will be auto populated with the first description attached to the supplied UN Hazmat ID and UN Package Group. If you specify a new description in this element it will override the auto populated hazmat description entirely.
|
</DetailItem> |
Array |
Yes |
No Limit |
|
</Details> |
Array |
Yes |
1 |
|
<Accessorials> |
Array |
No |
1 |
Collection of Accessorial Items
Note: Not applicable when VICS flag set to Yes
|
<AccessorialItem> |
Array |
Yes |
No Limit |
Accessorial Item describing the specific accessorial to be added to the shipment.
|
<Code> |
String |
Yes |
50 |
Accessorial Code
Note: This list does not contain all Saia Standard Charges only the most frequently used.
For all charges please refer to the current Saia 170 Rules & Special Charges. Please click
the link for each code to view specific accessorial details.
SingleShipment
ArrivalNotice/Appointment
Marking/Tagging
LimitedAccessLocationPU
LimitedAccessLocation
LiftgateServicePU
LiftgateService
InBond
InsidePickup
InsideDelivery
ExcessiveLength
Hazardous
ResidentialPickup
ResidentialDelivery
RoomOfChoice
WhiteGlove
Sorting/Segregating
BorderCrossing
TradeShowPickup
TradeShowDelivery
GroceryWarehouse
|
</AccessorialItem> |
Array |
Yes |
No Limit |
|
</Accessorials> |
Array |
No |
1 |
|
<Dimensions> |
Array |
See Note |
1 |
Collection of Dimension Items
Note: Dimensions are only required when calculating cube based rates. However if the TotalCube element is specified the individual
dimensions are not required. If the individual dimensions are specified the TotalCube element will be auto calculated.
|
<DimensionItem> |
Array |
Yes |
10 |
Dimension Item describing the specific rate quote cube information.
Note: Saia's rate quote system currently only supports 10 dimension items max.
|
<Length> |
Decimal |
Yes |
7, 2 |
Length
|
<Width> |
Decimal |
Yes |
7, 2 |
Width
|
<Height> |
Decimal |
Yes |
7, 2 |
Height
|
<Type> |
String |
See Note |
2 |
Type of Measurement
Note: The default of IN is used if element is not specified.
IN = Inches
FT = Feet
M = Meters
CM = Centimeters
|
<Units> |
Decimal |
Yes |
2, 0 |
# of Units
|
</DimensionItem> |
Array |
Yes |
10 |
|
</Dimensions> |
Array |
See Note |
1 |
|
</Create> |
Array |
Yes |
1 |
|
Below is a list of the elements and descriptions used to read a <Response> document/object returned by
our system to verify your request document/object has been processed successfully and retrieve
an auto generated freight bill pro number.
AK | Rates are based on the options you entered. Total charges are estimated based on information provided and may NOT include all applicable accessorial charges from the Saia 170 D Rules Tariff. Guaranteed or Expedited options are not available on non-direct shipments. Cargo liability may be subject to limitations as outlined in the Saia 170 D Rules Tariff. Please review Item 108 of the Saia 170 D Rules tariff for more information. |
DR | Rates are based on the options you entered. Total charges are estimated based on information provided and may NOT include all applicable accessorial charges from the Saia 170 D Rules Tariff. Guaranteed or Expedited options are not available on non-direct shipments. Cargo liability may be subject to limitations as outlined in the Saia 170 D Rules Tariff. Please review Item 108 of the Saia 170 D Rules tariff for more information. |
GU | Rates are based on the options you entered. Total charges are estimated based on information provided and may NOT include all applicable accessorial charges from the Saia 170 D Rules Tariff. Guaranteed or Expedited options are not available on non-direct shipments. Cargo liability may be subject to limitations as outlined in the Saia 170 D Rules Tariff. Please review Item 108 of the Saia 170 D Rules tariff for more information. |
HI | Rates are based on the options you entered. Total charges are estimated based on information provided and may NOT include all applicable accessorial charges from the Saia 170 D Rules Tariff. Guaranteed or Expedited options are not available on non-direct shipments. Cargo liability may be subject to limitations as outlined in the Saia 170 D Rules Tariff. Please review Item 108 of the Saia 170 D Rules tariff for more information. |
MX | Unless otherwise mentioned, the Rate is based on pallets/units being stackable. If pallets/units are not stackable per bill of lading instructions, a W&R will be issued and the height will be based at 90" which will change the density/class and rate. The Mexico rates do not include any border crossing drayage services between the Laredo, TX and Nuevo Laredo, Tamaulipas gateway, nor do they include any US/Mexico Customs Brokerage Services. All Taxes, Duties or Service fees by US or Mexican Customs will be settled between Importer / Exporter and their Customs Brokerage Company. The rates do not include any accessorial fees such as loading, unloading, waiting times, appointments, storage, etc. Rates in Mexico do not include Cargo Liability Insurance. Cargo Liability Insurance is available while freight is in Mexico for an additional cost of 1.0% of total commodity value. If this option is required, it must be clearly stated on Original Bill of Lading in 1" Black Letters. The cost may vary depending on commodity and value. This service must be requested PRIOR to the shipment moving in transit within Mexico. If the shipment is Hazardous Material and not disclosed at time of rate request, the rate will not be applicable. |
PR | Rates are based on the options you entered. Total charges are estimated based on information provided and may NOT include all applicable accessorial charges from the Saia 170 D Rules Tariff. Guaranteed or Expedited options are not available on non-direct shipments. Cargo liability may be subject to limitations as outlined in the Saia 170 D Rules Tariff. Please review Item 108 of the Saia 170 D Rules tariff for more information. |
VI | Rates are based on the options you entered. Total charges are estimated based on information provided and may NOT include all applicable accessorial charges from the Saia 170 D Rules Tariff. Guaranteed or Expedited options are not available on non-direct shipments. Cargo liability may be subject to limitations as outlined in the Saia 170 D Rules Tariff. Please review Item 108 of the Saia 170 D Rules tariff for more information. |
To add additional internet security use the "HTTPS://" prefix instead of "HTTP://". This will encrypt and
decrypt each request between systems using standard SSL Certificates.
Below are a few samples of programming with a general overview of each interface.
Below is a general overview of Saia Error <Code>'s with descriptions to verify successful completion of requests.
��<Code>��
| Description
|
IXD |
Invalid XML Document
The XML Document received was not formatted properly. The <Message> returned will contain additional information
about the specific issue encountered. Please check that all required elements and casing are formated exactly
as defined in the document specifications above. Also verify that proper start and ending element tags are correct.
|
IMC |
Invalid Method Called
The XML Request Document received contains a root element method name which is not valid. Please verify the
name of the method and proper casing.
|
IED |
Invalid Element Data
The element received contains invalid data. This error is returned when an element is required to contain
a specific set of information. Such as Yes or No, or Prepaid or Collect.
|
IEL |
Invalid Element Data Length
The element received contains data that does not meet the required length specifications.
If an element is
defined as a String with max-length of "10", you cannot exceed 10 characters.
If an element is defined as
a Decimal with a max-length of "4, 2", you cannot exceed 4 total digits with 2 of them being after the decimal point.
If an element is defined as an Array with max-length of "5", you cannot pass more than 5 elements within the array.
|
IEF |
Invalid Element Data Format
The element received contains data that does not meet the required format. For example, all dates are in YYYY-MM-DD
which translates to a 4 digit year, a 2 digit month, and a 2 digit day delimited with "-". All times are in HH:MM:SS format which
translates to a 2 digit hour, a 2 digit minute, and a 2 digit second in 24-hour format delimited with ":".
|
IER |
Invalid Element Data Range
The element received contains data that does not meet the required range. (Range 1 to 10 = 1 lowest and 10 highest)
|
DNF |
Data Not Found
The element received contains data which was not found in our system.
|
MRE |
Missing Required Element
The XML Document received is missing a required element.
|
USE |
Unexpected Server Exception
Saia's system has encountered an unexpected error while processing your request. Web Support has been
notified with the details of this issue and will have it corrected as soon as possible.
|
U01 |
UserID and Password Incorrect
|
U02 |
UserID is Disabled
The specified UserID is currently listed as disabled. For more information please contact [email protected]
|
U03 |
UserID is Currently Being Setup
The specified UserID is currently being setup. This process generally takes up to 2 business days to complete.
|
U04 |
Access Denied for Account Number Specified
The UserID supplied does not have access to the account number specified. Please contact your local Saia Sales Representative
for more information.
|
U05 |
UserID is Missing Information
UserID is missing valid Contact Name, Local Phone Number, or E-mail Address.
To update contact information please login to Saia Secure and click the Update Account Information
displayed at the bottom of all webpages.
|
U06 |
Account Number Specified is Listed as Inactive
The account number specified is currently listed as inactive, please contact your local Saia Sales Representative.
|
U07 |
Account Number Specified Cannot be Used for this Function
Please contact [email protected] for more information.
|
U08 |
Web Service Disabled
Web Service requests have been disabled for the specified UserID. Please contact
[email protected] for more information.
|
The following codes are application specific, descriptions will be different for each application.
|
S03 |
Shipper City, State, and Zipcode are invalid or do not match
|
S04 |
Consignee City, State, and Zipcode are invalid or do not match
|
S05 |
Shipment Date cannot be a past date
|
S06 |
Shipper zipcode is a location within a restricted area. Please contact our Restricted Delivery Service Desk at 800-765-7242 extension 4145
|
S07 |
Shipper zipcode is within an embargoed area and is currently not servicable
|
S09 |
Consignee zipcode is a location within a restricted area. Please contact our Restricted Delivery Service Desk at 800-765-7242 extension 4145
|
S10 |
Consignee zipcode is within an embargoed area and is currently not servicable
|
S11 |
Due to high volume, the Saia origin terminal is not accepting pick-up requests at this time. For more information please contact your local sales representative
|
S13 |
We can not generate rates to the specified Shipper City, State and Zipcode. Please contact our Rate Department at 800-950-7242 extension 2350
|
S14 |
We can not generate rates to the specified Consignee City, State and Zipcode. Please contact our Rate Department at 800-950-7242 extension 2350
|
S15 |
Shipment Date cannot be more than 30 days in the future
|
S19 |
Unable to auto generate with a COD Amount for Mexico Please contact [email protected]
|
S20 |
Unable to auto generate a Bill of Lading from Mexico to the location specified. Please contact [email protected]
|
B01 |
COD Amount limit is $15,000.00
|
B03 |
Due to confidential agreement, disclosure of third party information is denied per customer request
|
B04 |
Rated Weight exceeds 20,000 lbs and bill of lading cannot be auto-generated with Print Rates set to Yes
|
B05 |
Unable to auto-generate rates for the specified Account
|
B06 |
Only Shipping Accounts can be selected for a Shipper or Consignee location, Bill To Accounts are not allowed
|
B07 |
Shipment not GSS compliant: <Reason>
Note: Please refer to the current Saia 170 Rules & Special Charges for full details. GuaranteedDelivery
|
B08 |
Shipper, Consignee, or Bill-To Account Number is required
Note: If you specify both an Account Number and the Address information for a location. The system
will attempt to verify the Address specified matches the Account Number Address information exactly.
If they do not match then the Account Number will be reset to an empty value which can also cause
this error to be generated.
|
F01 |
Full Value Coverage too high
Value of invoice is greater than $250,000. If greater than $250,000, contact customer service.
|
H01 |
The Food Item flag cannot be set to Yes on a Hazardous shipment
|
H02 |
Saia does not transport <UNHazmatID> hazardous items
|
V01 |
Not applicable when VICS flag set to No
|
V02 |
Not applicable when VICS flag set to Yes
|
Below is a list of external websites which contain more information on creating and consuming Web Services.