Receive rates for a single shipment back from your Rate Management System (RMS).
| Name | Description |
|---|---|
| Root | Chain.io schema for receiving rates applicable to a shipment from a Rate Management System. |
| Rate | All charges applicable to a shipment described in a rate request. |
| Party | Represents a named party on a job. |
| PartyIdentifier | A code and context that can be used to uniquely identify a party. |
| RoutingLeg | A routing leg on a shipment from an origin to a destination. |
| RouteLocation | A single stop on the shipment's overall route. |
| Address | A location representing a street address. |
| Airport | A location representing an airport. |
| UnLocode | A location representing a UN location code. |
| BuyCharge | A single rate amount associated with the overall rate that reflects the cost amount the requester will owe for the charge. These charges would affect the requester's AP journal. |
| SellCharge | A single rate amount associated with the overall rate that reflects the amount the requester is expecting to charge their client on the shipment. These charges would affect the requester's AR journal. |
| ChargeRate | The details of the rate calculation applied when calculated the charge amount. |
| Value | |
| Dimensions | |
| Container | Container information used to calculate the shipping rates. |
| Package | Packaging information used to calculate the shipping rates. |
| Weight | |
| Volume | |
| CustomProperties | An object an input converter can utilize to pass any custom data back into a flow that can potentially be utilized by an output converter. |
| RoutingLeg_transit_time | The approximate amount of time it will take to transport the goods from the origin to the destination. If the RMS only tracks a single time value, present that value in both the minimum and maximum duration properties. |
| BuyCharge_charge_total | The calculated total amount represented by the charge code. In cases where a total cannot be determined, such as 'on request' / 'if applicable' type rates, the amount may be left undefined. In all other cases, the amount should be present. |
| SellCharge_charge_total | The calculated total amount represented by the charge code. In cases where a total cannot be determined, such as 'on request' / 'if applicable' type rates, the amount may be left undefined. In all other cases, the amount should be present. |
| Name | Data Type | Description | Required |
|---|---|---|---|
rates | Array<Rate> | All the rates applicable to the shipment data in a rate request. | YES |
| Name | Data Type | Description | Required |
|---|---|---|---|
rms_rate_identifier | String | The 'primary key' uniquely identifying this particular rate in the RMS. | |
tms_system_identifier | String | The 'primary key' uniquely identifying the shipment in the source TMS system. This value should be used when importing data back into the TMS system to uniquely identify the shipment the rate data should be loaded into. | |
quote_number | String | The quote number utilized to create the rate. | |
carrier_contract_number | String | The carrier contract number that was utilized to build the rate. | |
transport_mode | String | The 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. | |
movement_type | String | The type of shipment service 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_type | String | The container load type to rate. Allowed values: fcl, lcl, ftl, ltl. | |
carrier | Party | The expected carrier that will be the primary party responsible for transporting the goods. | |
controlling_party | Party | The owning party of the rate. In a multi-tenant RMS, this party will indicate the company that the rate response is associated with. | |
customer | Party | The rate owner's customer the rates are being received for. | |
rate_start_date | String | The starting date the rate is valid from. | |
rate_end_date | String | The ending date the rate is valid until. | |
estimated_departure_date | String | The estimated departure date of the shipment. This date is the primary date used to determine validity of the rates. | |
pickup_window_start | String | The earliest date the pickup haulage may occur. If an exact pickup date is known, populate that date into both the pickup window start and pickup window end dates. | |
pickup_window_end | String | The latest date the pickup haulage may occur. If an exact pickup date is known, populate that date into both the pickup window start and pickup window end dates. | |
delivery_window_start | String | The earliest date the delivery haulage may occur. If an exact delivery date is known, populate that date into both the delivery window start and pickup window end dates. | |
delivery_window_end | String | The latest date the delivery haulage may occur. If an exact delivery date is known, populate that date into both the delivery window start and delivery window end dates. | |
carrier_service_level | String | The 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_terms | String | The freight terms of payment indicating the party responsible for freight charges. Allowed values: collect, prepaid, third_party. | |
inco_terms | String | The 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. | |
direction | String | The 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_goods | String | A generalized description of the cargo. | |
gross_weight | Weight | The gross weight of the cargo. | |
volume | Volume | The total volume of the cargo. | |
chargeable_weight | Weight | The calculated chargeable weight of the cargo. | |
environmental_pollutant | Boolean | True if the cargo is considered an environmental pollutant. | |
hazardous | Boolean | True if the cargo is considered hazardous or dangerous goods. | |
out_of_gauge_freight | Boolean | True if the cargo is considered out of gauge (OOG) and does not fit into standard shipping containers. | |
temperature_controlled | Boolean | True if the cargo must be transported using specific temperature settings. | |
stackable | Boolean | True if the goods packaging allows for it to be stacked. | |
secured | Boolean | True if the cargo will be stabilized and secured for transport. | |
carriage_value | Value | The total goods selling price or replacement cost. | |
customs_value | Value | The total goods value for customs declaration purposes. | |
company_code | String | The TMS's native code for identifying which internal company is requesting the rates. | |
department_code | String | The TMS's native code for identifying which internal department / division is requesting the rates. | |
branch_code | String | The TMS's native code for identifying which internal branch is requesting the rates. | |
containers | Array<Container> | The container information rated for containerized shipments. | |
outer_packs | Array<Package> | The packaging information rated for non-containerized shipments. | |
routing_legs | Array<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. | |
buy_charges | Array<BuyCharge> | A list of all the buy charges associated with this overall rate. | |
sell_charges | Array<SellCharge> | A list of all the sell rates associated with this overall rate. | |
custom_properties | CustomProperties |
| Name | Data Type | Description | Required |
|---|---|---|---|
identifiers | Array<PartyIdentifier> | An array of all applicable identifiers that can be used to identify the party. | |
name | String | The entity's name. | |
address_1 | String | The address' street number and name. | |
address_2 | String | The address' secondary address information. | |
city | String | The address' city component. | |
country_subdivision | String | The 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. | |
country | String | The address' 2 character ISO-3166-2 country Code. | |
postal_code | String | The unique postal code identifier for the address. |
| Name | Data Type | Description | Required |
|---|---|---|---|
code | String | The identifier code | YES |
code_type | String | The 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_country | String | The 2 character ISO-3166-2 country code that the id code was issued in / by. |
| Name | Data Type | Description | Required |
|---|---|---|---|
name | String | A short name / description of the leg as presented in the RMS. | |
leg_type | String | Allowed values: pre_carriage, main, on_carriage. | |
transport_mode | String | The primary means of transport of the goods on their journey. Allowed values: sea, air, road, rail, inland_waterway. | |
carrier_contract_number | String | The contract number the RMS is using to rate this portion of the shipment / leg. | |
carrier | Party | The carrier responsible for the movement of goods on this leg. This would not necessarily be the creditor for the entire rate. | |
origin | RouteLocation | The originating point of the leg. | |
destination | RouteLocation | The terminating point of the leg. | |
transit_time | RoutingLeg_transit_time | The approximate amount of time it will take to transport the goods from the origin to the destination. If the RMS only tracks a single time value, present that value in both the minimum and maximum duration properties. | |
routing_leg_identifier | String | Uniquely identifies this routing leg in this document. This value is used solely to link buy and sell charges to a particular routing leg - it should not carry any other meaning, will likely be a transient value and should not be used as a persistent identifier for this routing leg. |
| Name | Data Type | Description | Required |
|---|
| Name | Data Type | Description | Required |
|---|---|---|---|
type | String | A location type identifier. Allowed values: address. | YES |
name | String | A name for the address. Typically the name of the business located at the address. | |
address_1 | String | The address' street number and name. | |
address_2 | String | The address' secondary address information. | |
city | String | The address' city component. | YES |
country_subdivision | String | The 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. | |
country | String | The address' 2 character ISO-3166-2 country Code. | YES |
postal_code | String | The unique postal code identifier for the address. | |
unlocode | String | A UN/Locode identifier correlated with the address. | |
unlocode_description | String | A free text description of the UN/Locode. |
| Name | Data Type | Description | Required |
|---|---|---|---|
type | String | A location type identifier Allowed values: airport. | YES |
iata_code | String | The IATA airport location identifier. | YES |
iata_code_description | String | A free text description of the IATA Code. | |
unlocode | String | The UN/Locode identifier correlated with the IATA code. |
| Name | Data Type | Description | Required |
|---|---|---|---|
type | String | A location type identifier Allowed values: unlocode. | YES |
unlocode | String | The UN/Locode identifier for the sea port. | YES |
unlocode_description | String | A free text description of the UN/Locode. |
| Name | Data Type | Description | Required |
|---|---|---|---|
charge_code | String | A code identifying the charge. This property should be the primary charge code identifying used for all integrations. If the RMS provides a single external charge identifier, this is the property that should be used to track this value. If the RMS has fields like external or foreign reference, that value should appear in this property. | YES |
rms_charge_identifier | String | A code identifying the charge in the RMS. This code may be referred to by the RMS as an internal identifier. | |
description | String | A short description of the services rendered identified by the charge_code. | |
charge_total | BuyCharge_charge_total | The calculated total amount represented by the charge code. In cases where a total cannot be determined, such as 'on request' / 'if applicable' type rates, the amount may be left undefined. In all other cases, the amount should be present. | YES |
group_code | String | A code that can be used to group charges together into logical units. | |
comments | String | Any additional comments associated with the charge. This can be used to relay additional information like applicable conditions, etc | |
payment_terms | String | Identifies whether the charges are owed on prepaid or collect terms. Allowed values: prepaid, collect, third_party. | |
creditor | Party | The party the charge will ultimately be owed to. | |
department_code | String | The TMS's native code for identifying which internal department / division is requesting the rates. | |
branch_code | String | The TMS's native code for identifying which internal branch is requesting the rates. | |
valid_start_date | String | The earliest date the charge can be applied. | |
valid_end_date | String | The latest date the charge can be applied. | |
routing_leg_identifier | String | If this leg is associated with a specific routing leg, this property should match to that legs identifier. | |
sell_charge_identifier | String | If this leg is associated with a specific sell charge, this property should match to that charge's identifier | |
charge_rate | ChargeRate | ||
custom_properties | CustomProperties |
| Name | Data Type | Description | Required |
|---|---|---|---|
charge_code | String | A code identifying the charge. This property should be the primary charge code identifying used for all integrations. If the RMS provides a single external charge identifier, this is the property that should be used to track this value. If the RMS has fields like external or foreign reference, that value should appear in this property. | YES |
rms_charge_identifier | String | A code identifying the charge in the RMS. This code may be referred to by the RMS as an internal identifier. | |
description | String | A short description of the services rendered identified by the charge_code. | |
charge_total | SellCharge_charge_total | The calculated total amount represented by the charge code. In cases where a total cannot be determined, such as 'on request' / 'if applicable' type rates, the amount may be left undefined. In all other cases, the amount should be present. | YES |
group_code | String | A code that can be used to group charges together into logical units. | |
comments | String | Any additional comments associated with the charge. This can be used to relay additional information like applicable conditions, etc | |
payment_terms | String | Identifies whether the charges are owed on prepaid or collect terms. Allowed values: prepaid, collect, third_party. | |
department_code | String | The TMS's native code for identifying which internal department / division is requesting the rates. | |
branch_code | String | The TMS's native code for identifying which internal branch is requesting the rates. | |
valid_start_date | String | The earliest date the charge can be applied. | |
valid_end_date | String | The latest date the charge can be applied. | |
routing_leg_identifier | String | If this leg is associated with a specific routing leg, this property should match to that legs identifier. | |
sell_charge_identifier | String | Uniquely identifies this particular sell charge in this document. This value is used solely to link buy and sell charges together - it should not carry any other meaning, will likely be a transient value and should not be used as a persistent identifier for this routing leg. | |
charge_rate | ChargeRate | ||
custom_properties | CustomProperties |
| Name | Data Type | Description | Required |
|---|---|---|---|
calculation_method | String | The type of calculation that was utilized to determine the charge amount. flat = single constant amount, volume = amount is based on a volumetric calculation, weight = amount is based on a weight calculation, weight_or_measurement = amount is based on the greater of weight or volumetric amounts, per = rate is based on a per X cost (where x will be tracked in the unit_of_measure property - may be shipment, document, etc), percent = rate is based on a percentage of freight, on_request = rate cannot be calculated but may be supplied on request. Allowed values: flat, volume, weight, chargeable_weight, weight_or_measurement, per, percent, on_request. | |
min_max | String | Indicates whether the charge amount was the minimum or maximum amount. If neither are applicable, then this value should be left undefined. Allowed values: minimum, maximum. | |
optional | Boolean | If true, the charge is an optional amount that may or may not be applicable given the conditions of the shipment. | |
included_in_freight | Boolean | If true, the charge amount is already accounted for in another charge line representing the total freight amount. Typically, if an RMS has charges listed that are included_in_freight, these lines should not be accounted for when calculating total charge amounts as another line already carrying this amount. | |
unit_of_measure | String | Allowed values: kilogram, pound, cubic_meter, cubic_foot, document, shipment, container, teu, seal, package, pallet, bill_of_lading, mile, kilometer, day, hour. | |
unit_cost | Decimal | The rate per unit_of_measure. If the charge was "$100 per 1000 pounds" then this value would be 100. | |
total_quantity | Decimal | The total number of individual units used in the calculation. If the charge was based on weight, then this value would represent the full total weight. | |
units_per_increment | Decimal | The number of units for each increment in the amount calculation. If the charge was "$100 per 1000 LBS" then this value would be 1000. | |
unit_of_measure_subtype | String | Used to indicate additional typing information about the unit of measure. This may be used to indicate the container size / type when a container uom is used or the type of document when a document uom is used. |
| Name | Data Type | Description | Required |
|---|---|---|---|
amount | Decimal | The value amount. | YES |
currency | String | The ISO 4217 currency code indicating the currency of the value. | YES |
| Name | Data Type | Description | Required |
|---|---|---|---|
unit | String | Allowed values: inch, foot, centimeter, meter. | YES |
length | Decimal | YES | |
width | Decimal | YES | |
height | Decimal | YES |
| Name | Data Type | Description | Required |
|---|---|---|---|
type_code | String | The ISO 6346 container type code or standard Unit Load Device (ULD) type code that is expected to be utilized on the shipment. | YES |
quantity | Integer | The number of containers of the requested type that should be rated. | YES |
gross_weight | Weight | The gross weight of the cargo in the container. | |
volume | Volume | The total volume of the cargo in the container. | |
outer_packs | Array<Package> | The packaging information for goods inside the container(s). | |
custom_properties | CustomProperties |
| Name | Data Type | Description | Required |
|---|---|---|---|
dimensions | Dimensions | The dimensions of the packages. | |
gross_weight | Weight | The gross weight of the cargo in the container. | |
volume | Volume | The total volume of the cargo in the container. | |
nmfc_freight_class | String | The National Motor Freight commodity classification. | |
nmfc_code | String | The NMFC specific commodity code. | |
number_of_packages | Integer | The number of packages associated with this package type. | |
package_type_code | String | A 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_description | String | A free text description of the goods packaging. | |
custom_properties | CustomProperties |
| Name | Data Type | Description | Required |
|---|---|---|---|
amount | Decimal | The numeric weight amount | YES |
unit | String | The 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 |
| Name | Data Type | Description | Required |
|---|---|---|---|
amount | Decimal | The numeric volume amount | YES |
unit | String | The 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 |
| Name | Data Type | Description | Required |
|---|
| Name | Data Type | Description | Required |
|---|---|---|---|
minimum_duration | Decimal | The minimal amount of time it will take to transport the goods. | |
maximum_duration | Decimal | The maximum amount of time it will take to transport the goods. | |
unit | String | The time unit the minimum and maximum values are expressed in. Allowed values: day, hour. |
| Name | Data Type | Description | Required |
|---|---|---|---|
amount | Decimal | The value amount. | |
currency | String | The ISO 4217 currency code indicating the currency of the value. | YES |
| Name | Data Type | Description | Required |
|---|---|---|---|
amount | Decimal | The value amount. | |
currency | String | The ISO 4217 currency code indicating the currency of the value. | YES |