Hazardous Materials Support

About hazardous materials

Hazardous material (hazmat) is any substance that can pose an unreasonable risk to health, safety, and property when transported in commerce. Due to its potential safety concerns, hazmat often must meet packaging and labeling requirements set by the U.S. Department of Transportation (DOT).

Shipium handles shipping the most common types of hazmat, including:

  • Limited quantities (LQ) products. LQ is also known as ORMD, although this term was phased out in January 2021. Examples include small cosmetics and some healthcare products.
  • Lithium ion products. A common example is lithium ion batteries found in many electronics items, for which we simplify some details for you.
  • Generalized hazardous material. You can specify International Air Transport Association (IATA) and DOT details for any hazardous materials directly.

Specify LQ/ORMD product for U.S. domestic shipping

As a shortcut, Shipium supports adding a productDetails array entry of "limited_quantity". See the LQ example below.

Specify hazardous materials (hazmat)

Hazmat information is provided within shipments as part of the orderItemProperties map, either using the standard Shipment construction or using the more popular Carrier and Method Selection with Label Single Call mechanism.

In addition to other item properties that are passed, such as productId and quantity, you can specify a set of hazmat-related properties to ensure that these products are properly handled at the carrier level and during carrier selection.

There are two ways to do this:

  • For common hazmat classes, Shipium provides a shortcut mechanism and does much of the lookup on your behalf. The most common of these is the lithium ion classes for common electronics items, specified by the category property. The properties are included in the Pre-Configured Hazmat Properties section of this document.

  • You can specify detailed hazardous materials properties using the properties defined in the Detailed Hazmat Properties section of this document and setting the category property to the value "defined".

Pre-configured hazmat properties

The following table includes properties for common hazmat classes covered by the shortcut mechanism.

propertypropertyContentsparentProperty
"hazmat"boolean
true if the item is hazmat
false if it is not (default)
orderItems array element
"hazmatInfo"JSON object (map)
Contains information about this particular orderItems element.

See properties below that have a parentProperty of hazmatInfo for details.
orderItems array element
"category"Hazmat category for this orderItems element. Values are:
contains_lithium_ion
contains_lithium_metal
lithium_ion_battery_only
lithium_metal_battery_only
packaged_lithium_ion
packaged_lithium_metal
dry_ice

For any of these hazmat categories, values must be provided for the quantity, quantityType, and quantityUnits fields.
hazmatInfo
"quantity"float value
The quantity of hazmat material in this orderItems element in units of quantityType of quantityUnits
hazmatInfo
"quantityType"string enumeration
The type of quantity of hazardous material. Values are:
gross
net
hazmatInfo
"quantityUnits"string enumeration
The units of measure for the quantity of hazardous material specified.
Values are:
g
kg
lb
oz
ml
l
hazmatInfo

Detailed hazmat properties

If your shipment contains hazardous materials that cannot be included using the above pre-configured interface, you can use the properties in the following table to specify the details and set the category property to the value "defined".

propertypropertyContentsparentProperty
"hazmat"boolean
true if the item is hazmat
false if it is not (default)
orderItems array element
"hazmatInfo"JSON object (map)
Contains information pertaining to this particular orderItems element

See properties below with a parentProperty of hazmatInfo for details.
orderItems array element
"category"string enumeration
To specify detailed information, set this to "defined".
hazmatInfo
"hazmatId"string
The IATA or DOT regulatory identifier for the commodity as appropriate (e.g., UN1755). Required if category is 'defined'
hazmatInfo
"containerType"string enumeration
One of the following strings for the material that the hazardous material is packaged in:
fiberboard_box
wooden_box
plastic_jerrican
metal_box
steel_drum
other
plastic_box
plastic_drum
styrofoam_box
cylinder
envirotainer
plywood_box
aluminum_drum
aluminum_cylinder
plastic_pail
plywood_drum
fiber_drum
steel_jerrican
aluminum_jerrican
steel_box
carton
aluminum_box
hazmatInfo
"packingGroup"string
The degree of danger the hazardous material presents. Values are:
default
i
ii
iii
hazmatInfo
"packingInstructionCode"string
The packing instruction code used for air transport (e.g., 967)
hazmatInfo
"properShippingName"string
The proper shipping name that is associated with the specified hazmatId. Required if category is 'defined'
hazmatInfo
"hazardClass"string enumeration
The hazard class of the hazmat. Required if category is 'defined'
Values are:
class_1_explosive
class_2_flammable_gas
class_3_flammable_liquid
class_4_flammable_solid
class_5_organic_peroxide
class_6_poisonous_material
class_7_radioactive
class_8_corrosive_material
class_9_miscellaneous
hazmatInfo
"subsidiaryClasses"array of strings
The appropriate IATA/DOT subsidiary classes associated with the material and the hazard class
hazmatInfo
"quantity"float value
The quantity of hazmat material in this orderItems element in units of quantityType of quantityUnits
hazmatInfo
"quantityType"string enumeration
The type of quantity of hazardous material. Values are:
gross
net
hazmatInfo
"quantityUnits"string enumeration
The units of measure for the quantity of hazardous material specified. Values are:
g
kg
lb
oz
ml
l
hazmatInfo
"transportMode"string
The packing instruction code used for air transport. Required if category is 'defined'. Values are:
cargo_aircraft_only
ground
`passenger_and_cargo_aircraft``
haxmatInfo

Examples

Non-hazmat example

This example in JavaScript Object Notation (JSON) shows a sample orderItems entry for a shipment that contains no hazmat items.

"orderItemQuantities": [
  {
        "productId": "PRODUCTID001",
        "quantity": 1
    },
  {
        "productId": "PRODUCTID002",
        "quantity": 2
    },
]

Hazmat example: Limited quantity (LQ)/ORMD

This example in JSON shows an orderItems entry for a shipment that contains two items: one with no hazmat properties and one LQ/ORMD product.

"orderItemQuantities": [
  {
        "productId": "PRODUCTID001",
        "quantity": 1
    },
  {
        "productId": "PRODUCTID002",
        "quantity": 2,
        "productDetails": ["limited_quantity"]
    }
]

Hazmat example: Product containing lithium ion batteries

This example in JSON shows an orderItems entry for a shipment that contains two items: one with no hazmat properties and one with a lithium ion battery.

"orderItemQuantities": [
    {
        "productId": "PRODUCTID001",
        "quantity": 1
    },
    {
        "hazmat": true,
        "hazmatInfo": {
            "category": "contains_lithium_ion",
            "quantity": 1.0,
            "quantityType": "gross",
            "quantityUnits": "g"
        },
        "productId": "PRODUCTIDHAZ1",
        "quantity": 3
    }
],

Hazmat example: Detailed hazmat properties

This example in JSON shows an orderItemQuantities entry for a shipment containing two items, one with a chromic acid solution and one with no hazmat properties. Note that category is set to "defined".

"orderItemQuantities": [
    {
        "hazmat": true,
        "hazmatInfo": {
            "category": "defined",
            "hazmatId": "UN1755",
            "containerType": "aluminum_jerrican",
            "packingGroup": "ii",
            "properShippingName": "Chromic Acid Solution",
            "hazardClass": "8",
            "subsidiaryClasses": [
                "8.1"
            ],
            "quantity": 5.0,
            "quantityType": "net",
            "quantityUnits": "l"
        },
        "productDetails": [],
        "productId": "PRODUCTID001",
        "quantity": 3
    }
],

Hazmat example: Dry ice

This example in JSON shows an orderItemQuantities entry for a shipment that contains dry ice as part of its packaging. In this example, the package contains 2 pounds of dry ice associated with PRODUCTID001.

📘

Multiple items in a shipment containing dry ice

You may have multiple items that are being cooled by a single unit of dry ice in a shipment. However, you only need to associate the amount of dry ice in the package with a single item in that package. In the example below, for instance, both items might be kept cool by the single unit of dry ice, but only one of the items includes information associated with the dry ice amount.

        "orderItemQuantities": [
            {
                "productDetails": [],
                "productId": "PRODUCTID001",
                "quantity": 1,
                "hazmat": true,
                "hazmatInfo": {
                    "category": "dry_ice",
                    "quantity": 2,
                    "quantityUnits": "lb",
                    "quantityType": "gross",
                    "containerType": "other"
                }
            },
            {
                "productDetails": [],
                "productId": "PRODUCTID002",
                "quantity": 1,
                "hazmat": false,
            },
        ],

FAQ

Q: Are there any weight restrictions for shipping items as limited quantity (LQ)?

A: Yes. An LQ package's maximum gross weight is limited to 66 pounds.