Skip to content

Instantly share code, notes, and snippets.

@EJMason
Created May 29, 2024 21:00
Show Gist options
  • Save EJMason/b154e8eccb36fc081b0016d7166f42f5 to your computer and use it in GitHub Desktop.
Save EJMason/b154e8eccb36fc081b0016d7166f42f5 to your computer and use it in GitHub Desktop.
{
"required": [
"bol",
"version",
"payment",
"commodities",
"origin",
"destination"
],
"type": "object",
"properties": {
"bol": {
"required": [
"function",
"requestedPickupDate",
"isTest",
"requestorRole"
],
"type": "object",
"properties": {
"requestedPickupDate": {
"type": "string",
"description": "The intended Ship Date. NOTE this does not serve as a Pickup Request\n\nValid Formats:\n* YYYY-MM-DDTHH:mm:ss.sss (ISO 8601)\n",
"example": "2022-11-20T00:00:00Z"
},
"function": {
"type": "string",
"description": "The intent for the submitted request.\n\nValid Values:\n* Create - Used for initial creation\n",
"example": "Create"
},
"isTest": {
"type": "boolean",
"description": "Indicates whether or not the submitted request is intended to be a test or not. Keep isTest=true when you just intend to test that the request data is valid. in this case the eBol wont be created. Switch to isTest=false, when eBol needs to be created.",
"example": true
},
"requestorRole": {
"type": "string",
"description": "Identifies the party making the request.\n\nValid Values: See Requestor_Roles schema at the bottom of this page.\n",
"example": "Third Party"
},
"specialInstructions": {
"type": "string",
"description": "Special delivery instructions that need to be followed for the shipment's delivery.",
"example": "Gate code 123 to enter complex"
}
}
},
"version": {
"type": "string",
"description": "Indicates which minor version of the Digital LTL Council Bill of Lading spec you are consuming\n \n Valid values: 2.0.1\n",
"example": "1.1"
},
"images": {
"type": "object",
"properties": {
"includeBol": {
"type": "boolean",
"description": "Indicates whether or not you want an image of the populated BOL returned in the response. \n\nDefault is false.\n",
"example": true
},
"includeShippingLabels": {
"type": "boolean",
"description": "Indicates whether or not you want image(s) of the shipping labels returned in the response. \n\nDefault is false.\n",
"example": true
},
"shippingLabels": {
"type": "object",
"properties": {
"format": {
"type": "string",
"description": "Specifies the printer format type for the labels. \n\nRequired when images.includeShippingLabels is true. \n\nValid Values: See the Shipping_Label_Formats schema at the bottom of this page.\n",
"example": "Avery"
},
"quantity": {
"type": "integer",
"description": "Specifies the quantity of pages desired. Should be an integer > 0 and <= 100 \n\nRequired when images.includeShippingLabels is true.\n",
"example": 5
},
"position": {
"type": "integer",
"description": "Specifies the starting position for the shipping labels.\n\nRequired when images.shippingLabel is Avery. \n\nValid Values:\n* 1 - 6\n",
"example": 2
}
}
},
"email": {
"type": "object",
"properties": {
"includeBol": {
"type": "boolean",
"description": "Used to request the bill of lading PDF to be sent to one or more email addresses\n",
"example": true
},
"includeLabels": {
"type": "boolean",
"description": "Used to request the shipping labels PDF to be sent to one or more email addresses\n",
"example": true
},
"addresses": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provide one or more email addresses to receive the bol and/or shipping labels PDF. \n\nRequired if images.email.includeBol is true or images.email.includeLabels is true\n",
"example": ["dispatch@shipper.com"]
}
}
}
}
},
"notifications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"phoneNumber": {
"type": "string",
"description": "Phone number of contact for updates about shipment movements\n\nIgnore. Not in use.\n",
"example": "8881234567"
},
"email": {
"type": "string",
"description": "Email address of contact for updates about shipment movements",
"example": "dispatch@consignee.com"
}
}
},
"description": "include if you want notifications of shipment movements by text message or email"
},
"referenceNumbers": {
"type": "object",
"properties": {
"pro": {
"type": "string",
"description": "If Pro is empty, tt will be generated by Saia and given back in response. Alternatively, you can supply a pre-pro."
},
"quoteId": {
"type": "string",
"description": "Quote (estimate) number provided by the carrier after submitting a rate quote request.\nCan be 11 chars max.\n\nNote: This will add the QuoteId specified into the Special Instructions area.\n",
"example": "E556724"
},
"shipmentId": {
"type": "string",
"description": "Shipment Id (SID) number for the shipment.\"\n",
"example": "SID9743985"
},
"masterBol": {
"type": "string",
"description": "Master Bill of Lading number for the shipment. Can be 35 chars max.",
"example": "MBL98472587"
},
"bol": {
"type": "array",
"items": {
"type": "string",
"description": "BOL nos. can be 35 chars max."
},
"example": ["BL19498432", "BL99744565"]
},
"po": {
"type": "array",
"items": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "The Purchase Order number. Should be a number expressed as a string. Can be 35 chars max.",
"example": "554238"
},
"pieces": {
"type": "integer",
"description": "Total pieces associated with the Purchase Order.\n\nIgnore. Not in use.\n",
"example": 5
},
"weight": {
"type": "integer",
"description": "Total weight associated with the Purchase Order.\n\nIgnore. Not in use.\n",
"example": 150
},
"palletized": {
"type": "boolean",
"description": "Indicates whether or not the pieces associated with the purchase order are on a pallet/slip/skid or not.\n\nIgnore. Not in use.\n",
"example": true
},
"additionalShipperInfo": {
"type": "string",
"description": "Additional information from shipper per line item.\n\nIgnore. Not in use.\n",
"example": "Freight must always stay upright"
}
}
}
},
"additionalReferences": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Indicates the name of the reference number being provided.\n\nYou may pass the following if available,\n'ShipperNumber'\n'StoreNumber'\n'TrailerNumber'\n'DepartmentNumber'\nAny Other references\n",
"example": "Customer Reference Id"
},
"value": {
"type": "string",
"description": "Additional reference number that correlates to the additional reference name.\n\nShipperNumber should be a string of 500 chars max.\nStoreNumber should be a string of 500 chars max.\nTrailerNumber should be a string of 500 chars max.\nDepartmentNumber should be a string of 500 chars max. \n",
"example": "CRID3452-01"
}
}
}
}
}
},
"payment": {
"required": ["terms"],
"type": "object",
"properties": {
"terms": {
"type": "string",
"description": "Freight Billing Terms for the shipment\n\nValid Values: See the Payment_Terms schema at the bottom of this page.\n",
"example": "Prepaid"
}
}
},
"commodities": {
"required": ["lineItemLayout", "handlingUnits", "lineItems"],
"type": "object",
"properties": {
"lineItemLayout": {
"type": "string",
"description": "Valid values: Nested or Stacked\n\nNested: Indicates if the Handling Unit/Line Item relationship is known. If this value is used, each Line Item associated to a Handling Unit is conditionally required to be passed within that Handling Unit's object.\n\n\nStacked: Indicates if the Handling Unit/Line Item relationship is not known. If this value is used, Line Items may passed within any Handling Unit object.\n",
"example": "Nested"
},
"handlingUnits": {
"type": "array",
"items": {
"required": ["count", "type", "weight"],
"type": "object",
"properties": {
"count": {
"type": "integer",
"description": "Number of handling units being described. Can be 5 digits max.",
"example": 2
},
"type": {
"type": "string",
"description": "Type of the handling units being described\n\nValid Values: See the Handling_Unit_Types schema at the bottom of this page\n",
"example": "SKD"
},
"tareWeight": {
"type": "integer",
"description": "Weight of the skids/pallets/slips used in the shipment.\n",
"example": 5
},
"weight": {
"type": "integer",
"description": "Total weight for the specified handling units. Can be 7 digits max.",
"example": 1500
},
"weightUnit": {
"type": "string",
"description": "The unit of measurement for weight. Defaults to Pounds (Imperial) if not passed.\n\nValid Values: Pounds or Kilograms\n",
"example": "Pounds"
},
"length": {
"type": "integer",
"description": "The length of the handling units being described. Can be 7 digits max.\n\nDimensions are only required when calculating cube based rates. However if the shipmentTotals.Cube element is specified the individual dimensions are not required. If the individual dimensions are specified the TotalCube element will be auto calculated\n",
"example": 48
},
"width": {
"type": "integer",
"description": "The width of the handling units being described. Can be 7 digits max.\n\nDimensions are only required when calculating cube based rates. However if the shipmentTotals.Cube element is specified the individual dimensions are not required. If the individual dimensions are specified the TotalCube element will be auto calculated\n",
"example": 48
},
"height": {
"type": "integer",
"description": "The height of the handling units being described. Can be 7 digits max.\n\nDimensions are only required when calculating cube based rates. However if the shipmentTotals.Cube element is specified the individual dimensions are not required. If the individual dimensions are specified the TotalCube element will be auto calculated\n",
"example": 48
},
"dimensionsUnit": {
"type": "string",
"description": "The unit of measurement for dimensions. Defaults to Inches (Imperial) if not passed.\n\nValid Values: Inches or Centimeters\n",
"example": "Inches"
},
"stackable": {
"type": "boolean",
"description": "Identifies whether or not the freight being described can be stacked on one another. Default is false.\n",
"example": false
},
"lineItems": {
"type": "array",
"items": {
"required": [
"description",
"weight",
"pieces",
"packagingType",
"classification",
"hazardous"
],
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of the freight being described. No Limit.",
"example": "Small frameless mirrors"
},
"weight": {
"type": "integer",
"description": "Total weight for the specified lineItem. Can be 7 digits max.",
"example": 1500
},
"weightUnit": {
"type": "string",
"description": "The unit of measurement for weight. Defaults to Pounds (Imperial) if not passed.\n\nValid Values: Pounds or Kilograms\n",
"example": "Pounds"
},
"pieces": {
"type": "integer",
"description": "Number of individual pieces for the line item being described. Can be 5 digits max.",
"example": 3
},
"packagingType": {
"type": "string",
"description": "Packaging type for the individual pieces of the line item being described.\n\nValid Values: See the Packaging_Types schema at the bottom of this page\n",
"example": "BOX"
},
"classification": {
"type": "string",
"description": "Classification of the line item beind described.\n\nValid Values: See the Classification_Codes schema at the bottom of this page.\n",
"example": "55"
},
"nmfc": {
"type": "string",
"description": "NMFC code of the freight being described.",
"example": "86900"
},
"nmfcSub": {
"type": "string",
"description": "The Sub value for the NMFC of the freight being described.",
"example": "3"
},
"hazardous": {
"type": "boolean",
"description": "Identifies whether or not the freight being described contains hazardous materials.",
"example": true
},
"hazardousDescription": {
"type": "string",
"description": "Conditionally required when 'hazardous' is 'true'. Provides a detailed description of the hazardous item.\n\nPass the string 'BULK' anywhere in hazardousDescription, if bulk applicable to this Hazardous lineitem.\n",
"example": "UN 1090, Acetone, 3, PG II"
},
"hazardousDetails": {
"type": "object",
"properties": {
"weight": {
"type": "integer",
"description": "Total weight of hazardous material coveraged by one description.",
"example": 45
},
"class": {
"type": "string",
"description": "Class that the hazardous material is catogorized by.",
"example": "3"
},
"unnaNumber": {
"type": "string",
"description": "Proper Identification Number (UN or NA) corresponding to the Proper Shipping Name. Should be 1-6 chars long.\n\nRequired if Hazardous is true.\n",
"example": "1005"
},
"propername": {
"type": "string",
"description": "Proper shipping name for the hazardous material.\n\nFrom DOT regulations 172.101\n",
"example": "Anhydrous ammonia"
},
"technicalName": {
"type": "string",
"description": "Technical name for the hazardous material. Not all hazardous items will have a technical name.\n\nFrom DOT regulations 172.101\n",
"example": "NH3"
},
"packingGroup": {
"type": "string",
"description": "Hazmat Packing Group number. Not all hazmat items have a packing group. Can be 1-4 chars long.\n\nRequired if Hazardous is true and the UNNA number specified has a packing group assigned.\n",
"example": "2"
},
"contractNumber": {
"type": "string",
"description": "The contract number with the hazardous materials contact",
"example": "54321"
}
}
}
}
}
}
}
}
}
}
},
"shipmentTotals": {
"type": "object",
"properties": {
"grossWeight": {
"type": "integer",
"description": "Total weight of the entire shipment, including handling units (tare weight).\n\nIgnore. Not in use.\n",
"example": 2000
},
"netWeight": {
"type": "integer",
"description": "Total weight of the entire shipment, not including handling units (tare weight).\n\nIgnore. Not in use.\n",
"example": 1993
},
"weightUnit": {
"type": "string",
"description": "The unit of measurement for weight. Defaults to Pounds (Imperial) if not passed.\nValid Values: Pounds or Kilograms\n\nIgnore. Not in use.\n",
"example": "Pounds"
},
"handlingUnits": {
"type": "integer",
"description": "Handling unit count for the entire shipment\n\nIgnore. Not in use.\n",
"example": 2
},
"linearLength": {
"type": "integer",
"description": "Linear length for the entire shipment. Can be 4 digits max.\n\nRequired when 'OVR' Accessorial Code is passed.\n",
"example": 96
},
"dimensionsUnit": {
"type": "string",
"description": "The unit of measurement for dimensions. Defaults to Inches (Imperial) if not passed.\n \nValid Values: Inches or Centimeters\n",
"example": "Inches"
},
"cube": {
"type": "integer",
"description": "Cubic volume of the entire shipment (total length X total width X total height). Can be 5 digits max.\n\nNote: 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 HU LxWxH can also be specified in the HU array above and the system will auto calculate the Total Cube element.\n",
"example": 128
},
"cubeDimensionsUnit": {
"type": "string",
"description": "The unit of measurement for cubic dimensions. Defaults to Feet (Imperial) if not passed.\n \nValid Values: Feet or Meters\n",
"example": "Feet"
},
"declaredValue": {
"type": "integer",
"description": "Total monetary value of the shipment in USD (sometimes needed for cross-border moves). Can be 9 digits max.\n\nDeclared Value is only required when calculating cube based rates.\n",
"example": 7
},
"currency": {
"type": "string",
"description": "Optional attribute to indicate currency of declaredValue. Defaults to USD.\n\nValid values: See the Currencies schema at the bottom of this page.\n",
"example": "USD"
}
}
},
"accessorials": {
"type": "object",
"properties": {
"codes": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array to hold the list of services requested for the shipment\n\nValid Values: See the Accessorial_Codes schema at the bottom of this page.\n",
"example": ["IDL", "LFTP"]
},
"hazardousDetails": {
"type": "object",
"properties": {
"emergencyContact": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Full name of who should be contacted in the case of a hazardous materials-related issue.",
"example": "Manny Delgato"
},
"phone": {
"type": "string",
"description": "Phone number of who should be contacted in the case of a hazardous materials-related issue.\n\nValid Formats:\n* ########## (10 digits - Area code + phone)\n\nPlease Default to CHEMTREC 24 Hour Emergency Phone number - 8004249300 if you dont have one.\n",
"example": "7775558899"
}
}
}
},
"description": "Required if accessorial codes list contains HAZ and/or if any commodity line item's hazardous flag is set to true.\n"
},
"cod": {
"type": "object",
"properties": {
"amount": {
"type": "string",
"description": "Amount to be received for the COD.\n\nValid Formats:\n* ##.## (2 decimal places only)\n\nIgnore. Not in use. COD is not supported by Saia.\n",
"example": "56.71"
},
"currency": {
"type": "string",
"description": "Optional attribute to indicate currency of COD. Defaults to USD.\n\nValid values: See the Currencies schema at the bottom of this page.\n\nIgnore. Not in use. COD is not supported by Saia.\n",
"example": "USD"
},
"terms": {
"type": "string",
"description": "Payment terms associated with the COD.\n\nValid Values:\n* Prepaid\n* Collect\n\nIgnore. Not in use. COD is not supported by Saia.\n",
"example": "Collect"
},
"customerCheckAcceptable": {
"type": "boolean",
"description": "Indicates whether or not a customer check or cash is acceptable.\n\nIgnore. Not in use.\n",
"example": true
},
"remitTo": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the remit to company.\n\nIgnore. Not in use.\n",
"example": "Dog Beds by Stella"
},
"address1": {
"type": "string",
"description": "Primary Address line of the remit to company.\n\nIgnore. Not in use.\n",
"example": "121 S. Cliffwood Ave."
},
"address2": {
"type": "string",
"description": "Secondary Address of the remit to company.\n\nIgnore. Not in use.\n",
"example": "Suite 55"
},
"city": {
"type": "string",
"description": "City Name of the remit to company.\n\nIgnore. Not in use.\n",
"example": "Los Angeles"
},
"stateProvince": {
"type": "string",
"description": "Two letter state/province code of the remit to company.\n\nValid Values: See the State_Province_Codes schema at the bottom of this page.\n\nIgnore. Not in use.\n",
"example": "CA"
},
"postalCode": {
"type": "string",
"description": "The 5-digit (or 6-characters for Canada) zip code of the remit to company.\n\nValid formats:\n* 12345 (5 digits - USA/MEX)\n* A1A1A1 (6 characters - CAN)\n* A1A1A (5 characters - CAN)\n\nIgnore. Not in use.\n",
"example": "90001"
},
"country": {
"type": "string",
"description": "Three letter country code of the remit to company.\n\nValid Values: See the Country_Codes schema at the bottom of this page.\n\nIgnore. Not in use.\n",
"example": "USA"
}
},
"description": "Ignore. Not in use.\n"
}
},
"description": "Ignore. Not in use. COD is not supported by Saia.\n"
},
"sortAndSegregateDetails": {
"type": "object",
"properties": {
"pieces": {
"type": "integer",
"description": "Number of pieces in a shipment to be sorted/segregated\n\nIgnore. Not in use.\n",
"example": 25
}
},
"description": "Ignore. Not in use.\n"
},
"fullValueCoverageDetails": {
"type": "object",
"properties": {
"monetaryValue": {
"type": "string",
"description": "Value of the cargo.\n\nValid Formats:\n* ##.## (2 decimal places only)\nShould be a number expressed as a string. It should be greater than 0 & max 7 digits with upto 2 decimal places\n\nNote: 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.\n",
"example": "100.00"
},
"currency": {
"type": "string",
"description": "Optional attribute to indicate currency of monetaryValue. Defaults to USD.\n\nValid values: Only USD allowed. \n",
"example": "USD"
}
},
"description": "Required when accessorial code FVC is present in the accessorial.codes list. \n"
},
"markDetails": {
"type": "object",
"properties": {
"pieces": {
"type": "integer",
"description": "Number of pieces in a shipment requiring marking or tagging\n\nIgnore. Not in use.\n",
"example": 25
}
},
"description": "Ignore. Not in use.\n"
},
"limitedAccessType": {
"type": "object",
"properties": {
"origin": {
"type": "string",
"description": "Optional attribute to indicate the limited access type when accessorial code LTDAP is present in the accessorial.codes list. \n\nValid Values: See the Limited_Acess_Types schema at the bottom of this page. \n\nIgnore. Not in use.\n",
"example": "Church"
},
"destination": {
"type": "string",
"description": "Optional attribute to indicate the limited access type when accessorial code LTDAD is present in the accessorial.codes list. \n\nValid Values: See the Limited_Acess_Types schema at the bottom of this page. \n\nIgnore. Not in use.\n",
"example": "Secure"
}
},
"description": "Optional attribute to indicate the limited access type when accessorial code LTDAP or LTDAD is present in the accessorial.codes list.\n\nIgnore. Not in use.\n"
},
"timeCriticalDetails": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Ignore. Not in use.\n",
"example": "Delivery Window"
},
"date": {
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Ignore. Not in use.\n",
"example": "2021-05-20T00:00:00Z"
},
"end": {
"type": "string",
"description": "Ignore. Not in use.\n",
"example": "2021-05-22T00:00:00Z"
}
}
}
}
},
"appointmentDetails": {
"type": "object",
"properties": {
"pickup": {
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Ignore. Not in use.\n",
"example": "2021-05-20T00:00:00Z"
},
"end": {
"type": "string",
"description": "Ignore. Not in use.\n",
"example": "2021-05-22T00:00:00Z"
}
}
},
"delivery": {
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Ignore. Not in use.\n",
"example": "2021-05-20T00:00:00Z"
},
"end": {
"type": "string",
"description": "Ignore. Not in use.\n",
"example": "2021-05-22T00:00:00Z"
}
}
}
}
}
}
},
"origin": {
"required": [
"name",
"address1",
"city",
"stateProvince",
"postalCode",
"country",
"contact"
],
"type": "object",
"properties": {
"account": {
"type": "string",
"description": "Company's account number/id for the origin. Should be 7 chars max.\n\nIf you specify an origin.account then it will auto populate account's location information from the system and this will be compared with the origin address given by you. If both are different, the origin.account will not be used.\n",
"example": "12345"
},
"locationId": {
"type": "string",
"description": "Ignore. Not in use.\n",
"example": "808"
},
"name": {
"type": "string",
"description": "Company name associated with the origin location.",
"example": "Closets Closets Closets"
},
"address1": {
"type": "string",
"description": "Primary Address line for the origin location",
"example": "12 S. Closets Place"
},
"address2": {
"type": "string",
"description": "Secondary Address line for the origin location",
"example": "ste 3"
},
"city": {
"type": "string",
"description": "City Name for the origin location",
"example": "Los Angeles"
},
"stateProvince": {
"type": "string",
"description": "Two letter state/province code for the origin location.\n\nValid Values: See the State_Province_Codes schema at the bottom of this page.\n\nUse 'MX' as stateProvince for all of Mexico\n",
"example": "CA"
},
"postalCode": {
"type": "string",
"description": "The 5-digit (or 6-characters for Canada) zip code ofor the origin location.\n\nValid formats:\n * 12345 (5 digits - USA/MEX)\n * A1A1A1 (6 characters - CAN)\n * A1A1A (5 characters - CAN)\n",
"example": "90001"
},
"country": {
"type": "string",
"description": "Three letter country code for the origin location.\n\nValid Values: See the Country_Codes schema at the bottom of this page.\n",
"example": "USA"
},
"contact": {
"required": ["phone"],
"type": "object",
"properties": {
"phone": {
"type": "string",
"description": "Ten digit phone number, without country code and/or dashes, for the origin location's contact person.\n\nValid Formats:\n* ########## (10 digits - Area code + phone)\n",
"example": "5552226666"
},
"phoneExt": {
"type": "string",
"description": "Phone extensionfor the origin location's contact person.\nIgnore. Not in use.\n",
"example": "99"
},
"name": {
"type": "string",
"description": "Name of the origin location's contact person.",
"example": "Jay Pritchett"
},
"email": {
"type": "string",
"description": "Email address of the origin location's contact person.",
"example": "jpritchett@closets.com"
}
},
"description": "Object containing contact details for the shipper.\n"
}
}
},
"destination": {
"required": [
"name",
"address1",
"city",
"stateProvince",
"postalCode",
"country",
"contact"
],
"type": "object",
"properties": {
"account": {
"type": "string",
"description": "Company's account number/id for the destination. Can be 7 chars max.\nIf you specify a destination.account then it will auto populate account's location information from the system and this will be compared with the destination address given by you. If both are different, the destination.account will not be used.\n",
"example": "12345"
},
"locationId": {
"type": "string",
"description": "Company's location id for the destination\n\nIgnore. Not in use.\n",
"example": "808"
},
"name": {
"type": "string",
"description": "Company name associated with the destination location.",
"example": "Closets Closets Closets"
},
"address1": {
"type": "string",
"description": "Primary Address line for the destination location",
"example": "12 S. Closets Place"
},
"address2": {
"type": "string",
"description": "Secondary Address line for the destination location",
"example": "ste 3"
},
"city": {
"type": "string",
"description": "City Name for the destination location",
"example": "Los Angeles"
},
"stateProvince": {
"type": "string",
"description": "Two letter state/province code for the destination location.\n\nValid Values: See the State_Province_Codes schema at the bottom of this page.\n\nUse 'MX' as stateProvince for all Mexico. \n",
"example": "CA"
},
"postalCode": {
"type": "string",
"description": "The 5-digit (or 6-characters for Canada) zip code ofor the destination location.\n\nValid formats:\n * 12345 (5 digits - USA/MEX)\n * A1A1A1 (6 characters - CAN)\n * A1A1A (5 characters - CAN)\n",
"example": "90001"
},
"country": {
"type": "string",
"description": "Three letter country code for the destination location.\n\nValid Values: See the Country_Codes schema at the bottom of this page.\n",
"example": "USA"
},
"contact": {
"required": ["phone"],
"type": "object",
"properties": {
"phone": {
"type": "string",
"description": "Ten digit phone number, without country code and/or dashes, for the destination location's contact person.\n\nValid Formats:\n* ########## (10 digits - Area code + phone)\n",
"example": "5552226666"
},
"phoneExt": {
"type": "string",
"description": "Phone extensionfor the destination location's contact person.\n\nIgnore. Not in use.\n",
"example": "99"
},
"name": {
"type": "string",
"description": "Name of the destination location's contact person.",
"example": "Jay Pritchett"
},
"email": {
"type": "string",
"description": "Email address of the destination location's contact person.",
"example": "jpritchett@closets.com"
}
},
"description": "Object containing contact details for the destination.\n"
}
}
},
"billTo": {
"required": [
"name",
"address1",
"city",
"stateProvince",
"postalCode",
"country",
"contact"
],
"type": "object",
"properties": {
"account": {
"type": "string",
"description": "Company's account number/id for the billTo. Can be 7 chars max.\nIf you specify a billTo.account then it will auto populate account's location information from the system and this will be compared with the billTo address given by you. If both are different, the billTo.account will not be used.\n",
"example": "12345"
},
"locationId": {
"type": "string",
"description": "Company's location id for the billTo.\n\nIgnore. Not in use.\n",
"example": "808"
},
"name": {
"type": "string",
"description": "Company name associated with the billTo location.",
"example": "Closets Closets Closets"
},
"address1": {
"type": "string",
"description": "Primary Address line for the billTo location",
"example": "12 S. Closets Place"
},
"address2": {
"type": "string",
"description": "Secondary Address line for the billTo location",
"example": "ste 3"
},
"city": {
"type": "string",
"description": "City Name for the billTo location",
"example": "Los Angeles"
},
"stateProvince": {
"type": "string",
"description": "Two letter state/province code for the billTo location.\n\nValid Values: See the State_Province_Codes schema at the bottom of this page.\n\nUse 'MX' as stateProvince for all Mexico. \n",
"example": "CA"
},
"postalCode": {
"type": "string",
"description": "The 5-digit (or 6-characters for Canada) zip code ofor the billTo location.\n\nValid formats:\n * 12345 (5 digits - USA/MEX)\n * A1A1A1 (6 characters - CAN)\n * A1A1A (5 characters - CAN)\n",
"example": "90001"
},
"country": {
"type": "string",
"description": "Three letter country code for the billTo location.\n\nValid Values: See the Country_Codes schema at the bottom of this page.\n",
"example": "USA"
},
"contact": {
"required": ["phone"],
"type": "object",
"properties": {
"phone": {
"type": "string",
"description": "Ten digit phone number, without country code and/or dashes, for the billTo location's contact person.\n\nValid Formats:\n* ########## (10 digits - Area code + phone)\n",
"example": "5552226666"
},
"phoneExt": {
"type": "string",
"description": "Phone extensionfor the billTo location's contact person.\n\nIgnore. Not in use.\n",
"example": "99"
},
"name": {
"type": "string",
"description": "Name of the billTo location's contact person.",
"example": "Jay Pritchett"
},
"email": {
"type": "string",
"description": "Email address of the billTo location's contact person.",
"example": "jpritchett@closets.com"
}
},
"description": "Object containing contact details for the billTo.\n"
}
},
"description": "billTo section is needed when payment.terms is a 'Third Party', otherwise it is not applicable."
},
"customsBroker": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Used to identify a customs broker that is involved in a cross-border freight move.\n\nValid Values: Import or Export\n * Import: customs broker handling the destination-side of the cross-border freight move\n * Export: customs broker handling the origin-side of the cross-border freight move\n",
"example": "Import"
},
"name": {
"type": "string",
"description": "Company name associated with the customsBroker location.",
"example": "Closets Closets Closets"
},
"address1": {
"type": "string",
"description": "Primary Address line for the customsBroker location",
"example": "12 S. Closets Place"
},
"address2": {
"type": "string",
"description": "Secondary Address line for the customsBroker location",
"example": "ste 3"
},
"city": {
"type": "string",
"description": "City Name for the customsBroker location",
"example": "Los Angeles"
},
"stateProvince": {
"type": "string",
"description": "Two letter state/province code for the customsBroker location.\n\nValid Values: See the State_Province_Codes schema at the bottom of this page.\n",
"example": "CA"
},
"postalCode": {
"type": "string",
"description": "The 5-digit (or 6-characters for Canada) zip code ofor the customsBroker location.\n\nValid formats:\n * 12345 (5 digits - USA/MEX)\n * A1A1A1 (6 characters - CAN)\n * A1A1A (5 characters - CAN)\n",
"example": "90001"
},
"country": {
"type": "string",
"description": "Three letter country code for the customsBroker location.\n\nValid Values: See the Country_Codes schema at the bottom of this page.\n",
"example": "USA"
},
"contact": {
"required": ["phone"],
"type": "object",
"properties": {
"phone": {
"type": "string",
"description": "Ten digit phone number, without country code and/or dashes, for the customsBroker location's contact person.\n\nValid Formats:\n* ########## (10 digits - Area code + phone)\n",
"example": "5552226666"
},
"phoneExt": {
"type": "string",
"description": "Phone extensionfor the customsBroker location's contact person.\n\nIgnore. Not in use.\n",
"example": "99"
},
"name": {
"type": "string",
"description": "Name of the customsBroker location's contact person.",
"example": "Jay Pritchett"
},
"email": {
"type": "string",
"description": "Email address of the customsBroker location's contact person.",
"example": "jpritchett@closets.com"
}
},
"description": "Object containing contact details for the customsBroker.\n"
}
},
"description": "Details about the US/MX Custom House Broker.\n\nNote: This information is only required for Mexico shipments. If you do not have this information please contact rates@saia.com for assistance.\"\n"
}
},
"description": "Objects and/or attributes that are required are indicated by a _**red asterisk**_*. For those that are conditionally required, it will be indicated within their description, including the condition in which they are required."
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment