Rate and Quote Automation - Send Shipment Rate Requests

Send a request for rates for a single shipment from your TMS to your Rate Management System (RMS).

NameDescription
RootChain.io schema for requesting rates applicable to a shipment from a Rate Management System.
PartyRepresents a named party on a job.
PartyIdentifierA code and context that can be used to uniquely identify a party.
ContainerContainer information used to calculate the shipping rates.
PackagePackaging information used to calculate the shipping rates.
Weight
Volume
Dimensions
OperatorA user in the accounting system.
Value
RoutingLegThe overall origin to destination routing of the shipment.
RouteLocationA single stop on the shipment's overall route.
AddressA location representing a street address.
AirportA location representing an airport.
UnLocodeA location representing a UN location code.
CustomPropertiesAn object an input converter can utilize to pass any custom data back into a flow that can potentially be utilized by an output converter.
NameData TypeDescriptionRequired
tms_system_identifierStringThe 'primary key' uniquely identifying the shipment in the source TMS system. This value will be sent to the Rate Management System to be utilized as the identifier for the rate data when returning responses back to the TMS.YES
transport_modeStringThe primary means of transport of the goods on their journey. Allowed values: sea, air, road, rail, sea_air, air_sea, inland_waterway, rail_sea, rail_air.YES
movement_typeStringThe type of shipment service requested on the rate request, defining the location types where the carrier will receive the goods and where the carrier will relinquish the goods. Allowed values: port_to_port, door_to_door, door_to_port, port_to_door.
containerization_typeStringThe container load type required on the booking. Allowed values: fcl, lcl, ftl, ltl.
quote_numberStringIf applicable, used to retrieve rates associated with a previously issued quote.
carrier_contract_numberStringThe carrier contract number that should be used to source the rate information.
carrierPartyThe expected carrier that will be the primary party responsible for transporting the goods.
controlling_partyPartyThe owning party of the rates. In a multi-tenant RMS, this party will be used to determine which RMS tenant to utilize to generate rates for this request.
customerPartyThe rate owner's customer the rates should be received for.
estimated_departure_dateStringThe estimated departure date of the shipment. This date is the primary date used to determine validity of the rates.YES
carrier_service_levelStringThe requested service level for this shipment. Different service levels generally affect the number of days / hours the shipment may take to be fulfilled. This is more often used in air freight and is typically a value like "Standard", "Express", "Premium", "Priority" or "Economy".
freight_payment_termsStringThe freight terms of payment indicating the party responsible for freight charges. Allowed values: collect, prepaid, third_party.
inco_termsStringThe terms of sale defining the responsibilities of the consignor/seller and consignee/buyer. Expired terms dat, daf, des, deq, ddu are included for backwards compatibility sake, though it is very highly recommended to no longer utilize them. Allowed values: exw, fca, fas, fob, cfr, cif, cpt, cip, dap, dpu, ddp, dat, daf, des, deq, ddu.
directionStringThe directionality of the shipment from the point of view of the controlling party in the TMS. Typically this information is only a factor in local pickup/delivery rates. foreign_to_foreign is also known as triangle, third-party or cross-trade shipments. Allowed values: import, export, domestic, foreign_to_foreign.
description_of_goodsStringA generalized description of the cargo.
gross_weightWeightThe gross weight of the cargo.
volumeVolumeThe total volume of the cargo.
environmental_pollutantBooleanTrue if the cargo is considered an environmental pollutant.
hazardousBooleanTrue if the cargo is considered hazardous or dangerous goods.
out_of_gauge_freightBooleanTrue if the cargo is considered out of gauge (OOG) and does not fit into standard shipping containers.
temperature_controlledBooleanTrue if the cargo must be transported using specific temperature settings.
stackableBooleanTrue if the goods packaging allows for it to be stacked.
securedBooleanTrue if the cargo will be stabilized and secured for transport.
operatorOperatorInformation regarding the operator that is initiating the rate request.
carriage_valueValueThe total goods selling price or replacement cost.
customs_valueValueThe total goods value for customs declaration purposes.
company_codeStringThe TMS's native code for identifying which internal company is requesting the rates.
department_codeStringThe TMS's native code for identifying which internal department / division is requesting the rates.
branch_codeStringThe TMS's native code for identifying which internal branch is requesting the rates.
containersArray<Container>The container information required to rate containerized shipments.
outer_packsArray<Package>The packaging information required to rate non-containerized shipments.
routing_legsArray<RoutingLeg>A breakdown of the important waypoints on the shipment's journey. Typically, this will simply be a single origin and destination - but may include additional stops like precarriage points or main leg vias.YES
custom_propertiesCustomProperties
NameData TypeDescriptionRequired
identifiersArray<PartyIdentifier>An array of all applicable identifiers that can be used to identify the party.
nameStringThe entity's name.
address_1StringThe address' street number and name.
address_2StringThe address' secondary address information.
cityStringThe address' city component.
country_subdivisionStringThe country specific subdivision code. This could represent a county, province, state, etc. In order to maximize interoperability, you should utilize the ISO 3166-2 country subdivision identifiers when providing this data.
countryStringThe address' 2 character ISO-3166-2 country Code.
postal_codeStringThe unique postal code identifier for the address.
NameData TypeDescriptionRequired
codeStringThe identifier codeYES
code_typeStringThe type of data that the identifier code represents. The tms_external_identifier represents a code value that will uniquely identify the party to the sending TMS system without value translations. The rms_external_identifier represents a code value that will uniquely identify the party to the receiving rate management system (RMS) without value translations. Allowed values: tms_external_identifier, rms_external_identifier, iata, scac, legal_entity_id, duns.YES
code_countryStringThe 2 character ISO-3166-2 country code that the id code was issued in / by.
NameData TypeDescriptionRequired
type_codeStringThe ISO 6346 container type code or standard Unit Load Device (ULD) type code that is expected to be utilized on the shipment.YES
quantityIntegerThe number of containers of the requested type that should be rated.YES
gross_weightWeightThe gross weight of the cargo in the container.
volumeVolumeThe total volume of the cargo in the container.
outer_packsArray<Package>The packaging information for goods inside the container(s).
NameData TypeDescriptionRequired
dimensionsDimensionsThe dimensions of the packages.
gross_weightWeightThe gross weight of the cargo in the container.
volumeVolumeThe total volume of the cargo in the container.
nmfc_freight_classStringThe National Motor Freight commodity classification.
nmfc_codeStringThe NMFC specific commodity code.
number_of_packagesIntegerThe number of packages associated with this package type.
package_type_codeStringA packaging code describing the cargo. When possible, the 2 character UN/ECE Trade Facilitation Recommendation No. 21 package code should be utilized to enhance interoperability.
package_type_descriptionStringA free text description of the goods packaging.
NameData TypeDescriptionRequired
amountDecimalThe numeric weight amountYES
unitStringThe unit of measure associated with the amount property. tonne = Metric Tonne (1,000 kilograms), ton = Imperial Tonne (1,000 pounds) Allowed values: kilogram, tonne, pound, ton.YES
NameData TypeDescriptionRequired
amountDecimalThe numeric volume amountYES
unitStringThe unit of measure associated with the amount property. gallon - US liquid gallon (3.785411784 litres), imperial_gallon = UK gallon (4.54609 litres) Allowed values: cubic_meter, cubic_foot, liter, gallon, imperial_gallon.YES
NameData TypeDescriptionRequired
unitStringAllowed values: inch, foot, centimeter, meter.YES
lengthDecimalYES
widthDecimalYES
heightDecimalYES
NameData TypeDescriptionRequired
tms_system_identifierStringThe 'primary key' uniquely identifying the user in the TMS. Typically, this will be the operator's username.YES
nameStringThe operator's full name.
NameData TypeDescriptionRequired
amountDecimalThe value amount.YES
currencyStringThe ISO 4217 currency code indicating the currency of the value.YES
NameData TypeDescriptionRequired
leg_typeStringThe movement type represented by the routing leg. Allowed values: pre_carriage, main, on_carriage.
originRouteLocationThe originating point of the shipment. If the movement_type of the shipment begins as a port location, it is expected that the location should point to a UnLocode for sea modes and to an AirPort for air modes. Door movement types should be an Address.YES
destinationRouteLocationThe terminating point of the shipment. If the movement_type of the shipment ends as a port location, it is expected that the location should point to a UnLocode for sea modes and to an AirPort for air modes. Door movement types should be an Address.YES
custom_propertiesCustomProperties
NameData TypeDescriptionRequired
NameData TypeDescriptionRequired
typeStringA location type identifier. Allowed values: address.YES
nameStringA name for the address. Typically the name of the business located at the address.
address_1StringThe address' street number and name.
address_2StringThe address' secondary address information.
cityStringThe address' city component.YES
country_subdivisionStringThe country specific subdivision code. This could represent a county, province, state, etc. In order to maximize interoperability, you should utilize the ISO 3166-2 country subdivision identifiers when providing this data.
countryStringThe address' 2 character ISO-3166-2 country Code.YES
postal_codeStringThe unique postal code identifier for the address.
unlocodeStringA UN/Locode identifier correlated with the address.
unlocode_descriptionStringA free text description of the UN/Locode.
NameData TypeDescriptionRequired
typeStringA location type identifier Allowed values: airport.YES
iata_codeStringThe IATA airport location identifier.YES
iata_code_descriptionStringA free text description of the IATA Code.
unlocodeStringThe UN/Locode identifier correlated with the IATA code.
NameData TypeDescriptionRequired
typeStringA location type identifier Allowed values: unlocode.YES
unlocodeStringThe UN/Locode identifier for the sea port.YES
unlocode_descriptionStringA free text description of the UN/Locode.
NameData TypeDescriptionRequired