Skip to main content

Get a Quote

Using Curri's quoting operations, you can ask us how much it will cost to deliver something from one place to another.

However, just getting a quote doesn't mean you have booked the delivery. The booking price might be slightly different than the quoted price. Usually, the difference is small.

The DeliveryQuote Object

DeliveryQuote is type that provides information about a requested quote, such as delivery method, destination, distance, duration, fee, fee comparison, origin, pickup duration, pricing engine version, and priority.

Every query below returns a DeliveryQuote.

Response Fields

FieldTypeDescription
deliveryMethodStringThe delivery method.
deliveryMethodDisplayNameStringThe display name of the delivery method.
destinationAddressThe destination of the delivery.
distanceIntegerThe distance of the delivery. See Units.
durationIntegerThe duration of the delivery. See Units.
feeIntegerThe fee of the delivery. See Units.
feeComparisonFeeComparisonA object containing information about fee comparison.
idIDCustomScalarThe unique identifier of the delivery quote.
originAddressThe origin of the delivery.
pickupDurationIntegerThe pickup duration of the delivery. See Units.
priorityStringThe priority of the delivery.

Example DeliveryQuote

{
"data": {
"deliveryQuote": {
"id": "quote_123DQ1",
"fee": 1000,
"feeComparison": {
"rush": 1200,
"sameday": 1000,
"scheduled": 800
},
"deliveryMethod": "cargo-van",
"deliveryMethodDisplayName": "Cargo Van",
"origin": {
"addressLine1": "123 Main St",
"addressLine2": "",
"city": "New York",
"latitude": "40.712776",
"longitude": "-74.005974",
"name": "Start Point",
"postalCode": "10001",
"state": "NY"
},
"destination": {
"addressLine1": "456 Broadway",
"addressLine2": "",
"city": "New York",
"latitude": "40.712776",
"longitude": "-74.005974",
"name": "End Point",
"postalCode": "10002",
"state": "NY"
},
"distance": 5000,
"duration": 1800,
"pickupDuration": 300,
"pricingEngineVersion": 1,
"priority": "sameday"
}
}
}

Individual Quotes - deliveryQuote

Provides an individual DeliveryQuote given the following set of query parameters:

Required Input Parameters

ParameterTypeDescription
deliveryMethodStringThe delivery method to use for the delivery.
destinationAddressInputAn object containing the address information for the delivery destination.
manifestItemsManifestItemInputAn array of objects containing information about the items to be delivered.
originAddressInputAn object containing the address information for the delivery origin.
priorityStringThe priority level of the delivery.

Optional Input Parameters

ParameterTypeDescription
accountIdIDCustomScalarThe ID of the Team Account associated with the delivery quote. See below.
originatingUserIdStringThe ID of the user originating the delivery quote request.
requirementsRequirementsInputAn object containing any additional requirements for the delivery.

Team Account ID

When you want to get a quote for a delivery, you can choose to specify which team account you want it for. If you don't specify a team account, it will use the default one for your user. Most people don't need to worry about this.

Example Query

query {
deliveryQuote(
accountId: "acct_def456"
origin: {
addressLine1: "123 Main St"
city: "New York"
state: "NY"
postalCode: "10001"
}
destination: {
addressLine1: "456 Main St"
city: "Los Angeles"
state: "CA"
postalCode: "90001"
}
deliveryMethod: "truck-with-pipe-rack"
manifestItems: [
{
description: "Chair"
height: 40
length: 100
weight: 10
width: 100
quantity: 2
}
{
description: "Table"
height: 100
length: 200
weight: 50
width: 200
quantity: 1
}
]
priority: "rush"
requirements: { loadUnloadRequired: true }
) {
deliveryMethod
deliveryMethodDisplayName
distance
duration
fee
feeComparison {
rush
sameday
scheduled
}
id
pickupDuration
priority
}
}

Multiple Quotes - deliveryQuotes

Provides a list of DeliveryQuotes for multiple delivery methods given the following set of input parameters:

Required Input Parameters

ParameterTypeDescription
destinationAddressInput!The destination address for the delivery. Should be provided as an AddressInput type.
manifestItems[ManifestItemInput!]A list of manifest items to be delivered. Each item should be provided as a ManifestItemInput type.
originAddressInput!The origin address for the delivery. Should be provided as an AddressInput type.
priorityStringThe priority level for the delivery. If not provided, the default priority level will be used.

Optional Input Parameters

ParameterTypeDescription
accountIdIDCustomScalarThe ID of the Team Account associated with the delivery quote. See above.
deliveryMethods[String]A list of delivery methods that you want to get quotes for. Providing no delivery methods will return quotes for all potential delivery methods.
requirementsRequirementsInputAny additional requirements for the delivery. Should be provided as a RequirementsInput type.

Example Query

query {
deliveryQuotes(
data: {
accountId: "acct_123456"
origin: {
addressLine1: "456 Main St"
city: "Los Angeles"
state: "CA"
postalCode: "90001"
}
destination: {
addressLine1: "123 Main St"
city: "New York"
state: "NY"
postalCode: "10001"
}
deliveryMethods: ["car", "suv"]
manifestItems: [
{ description: "Package 1", weight: 2 }
{ description: "Package 2", weight: 3 }
]
priority: "sameday"
requirements: { loadUnloadRequired: true }
}
) {
id
fee
distance
duration
pickupDuration
deliveryMethod
}
}

Example Response

{
"data": {
"deliveryQuotes": [
"id": "quote_B34GCPGNX3",
"fee": 1219,
"distance": 913,
"duration": 168,
"pickupDuration": 2100,
"deliveryMethod": "car"
},
{
"id": "quote_QYE328ANHN",
"fee": 2444,
"distance": 913,
"duration": 176,
"pickupDuration": 2100,
"deliveryMethod": "suv"
}
]
}
}