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
Field | Type | Description |
---|---|---|
deliveryMethod | String | The delivery method. |
deliveryMethodDisplayName | String | The display name of the delivery method. |
destination | Address | The destination of the delivery. |
distance | Integer | The distance of the delivery. See Units. |
duration | Integer | The duration of the delivery. See Units. |
fee | Integer | The fee of the delivery. See Units. |
feeComparison | FeeComparison | A object containing information about fee comparison. |
id | IDCustomScalar | The unique identifier of the delivery quote. |
origin | Address | The origin of the delivery. |
pickupDuration | Integer | The pickup duration of the delivery. See Units. |
priority | String | The 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
Parameter | Type | Description |
---|---|---|
deliveryMethod | String | The delivery method to use for the delivery. |
destination | AddressInput | An object containing the address information for the delivery destination. |
manifestItems | ManifestItemInput | An array of objects containing information about the items to be delivered. |
origin | AddressInput | An object containing the address information for the delivery origin. |
priority | String | The priority level of the delivery. |
Optional Input Parameters
Parameter | Type | Description |
---|---|---|
accountId | IDCustomScalar | The ID of the Team Account associated with the delivery quote. See below. |
originatingUserId | String | The ID of the user originating the delivery quote request. |
requirements | RequirementsInput | An 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
Parameter | Type | Description |
---|---|---|
destination | AddressInput! | 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. |
origin | AddressInput! | The origin address for the delivery. Should be provided as an AddressInput type. |
priority | String | The priority level for the delivery. If not provided, the default priority level will be used. |
Optional Input Parameters
Parameter | Type | Description |
---|---|---|
accountId | IDCustomScalar | The 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. |
requirements | RequirementsInput | Any 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"
}
]
}
}