Quote a Delivery

View as Markdown

Before committing to a delivery booking, you can request a quote to retrieve available carrier options, estimated delivery windows, and pricing for a given order. This is useful when you want to surface delivery options to customers at checkout or make routing decisions before dispatching.


Endpoint

POST {{domain}}/{{tenant_id}}/deliveries/quote-next-available

Authentication: Bearer token required via the Authorization header.


Request Payload

POST /{{tenant_id}}/deliveries/quote-next-available
1{
2 "store_id": "rendr-test",
3 "ready_for_pickup_at": "2022-03-04T10:00:00+11:00",
4 "address": {
5 "address": "7 Howard Street",
6 "address2": "Level 3",
7 "city": "Richmond",
8 "state": "VIC",
9 "post_code": "3121"
10 },
11 "line_items": [
12 {
13 "code": "sku-code-001",
14 "name": "SKU Item Name #001",
15 "price_cents": 999,
16 "quantity": 2
17 },
18 {
19 "code": "sku-code-002",
20 "name": "SKU Item Name #002",
21 "price_cents": 1999,
22 "quantity": 2
23 },
24 {
25 "code": "sku-code-003",
26 "name": "SKU Item Name #003",
27 "price_cents": 9999,
28 "quantity": 3
29 }
30 ],
31 "parcels": [
32 {
33 "reference": "PARCEL_001",
34 "length_cm": 20,
35 "width_cm": 40,
36 "height_cm": 60,
37 "weight_kg": 1,
38 "quantity": 1,
39 "type": "carton"
40 },
41 {
42 "reference": "PARCEL_002",
43 "length_cm": 10,
44 "width_cm": 10,
45 "height_cm": 10,
46 "weight_kg": 1,
47 "quantity": 1,
48 "type": "satchel"
49 }
50 ],
51 "product_types": {
52 "alcohol": false,
53 "tobacco": false,
54 "prescription_meds_s2": true,
55 "prescription_meds_s4": false,
56 "prescription_meds_s8": false,
57 "high_value": false
58 }
59}

Parameters

Top-Level Fields

FieldTypeRequiredDescription
store_idStringYes*The ID of the delivery pickup store/location, preconfigured by your Rendr implementation partner. Determines the origin point for quote calculations.
store_referenceStringNo*Your internal location identifier preconfigured by your Rendr implementation partner. Can be used instead of store_id.
ready_for_pickup_atString (ISO 8601)NoThe earliest date and time the order will be ready for carrier collection. If your fulfilment workflow requires pick/pack time, include that buffer here. Provide the value in ISO 8601 format including timezone offset (e.g. 2024-03-04T10:00:00+11:00). If omitted, Rendr assumes the order is ready immediately.

Either store_id or store_reference must be provided. If both are supplied, store_id takes precedence.

Address Fields

The address object specifies the delivery destination used to calculate carrier availability, estimated windows, and pricing.

FieldTypeRequiredDescription
address.addressStringNoThe street address of the delivery destination — e.g. 7 Howard Street. Format: [Street Number] [Street Name] [Street Type].
address.address2StringNoA secondary address line for unit, apartment, or level information — e.g. Unit 1, Level 3.
address.cityStringYesThe city, town, or village of the delivery address.
address.stateStringYesThe abbreviated state or territory in which the delivery address exists — e.g. VIC, NSW.
address.post_codeStringYesThe Australian postcode of the delivery address.

Line Items

The line_items array describes the products included in the order. This information is used to assess regulated product handling requirements and calculate insured value.

FieldTypeRequiredDescription
line_items[].codeStringYesThe SKU or product code for the line item as it exists in your system.
line_items[].nameStringYesThe human-readable name of the product. Presented to the customer, store fulfilment team, and delivery driver.
line_items[].price_centsNumberYesThe unit price of the item in cents — e.g. 999 = $9.99. Used for insured value calculations and high-value item handling.
line_items[].quantityNumberYesThe number of units of this line item in the order. Used to determine total order size and weight.

Parcels

The parcels array defines the physical packages that will make up the delivery. Accurate dimensions and weights are required for Rendr to determine carrier eligibility and calculate rates.

FieldTypeRequiredDescription
parcels[].referenceStringYesA unique reference for this parcel within the delivery — e.g. PARCEL_001. Used to identify individual packages during packing and carrier handoff.
parcels[].descriptionStringNoA short description of the parcel shown to store staff in the Workbench portal to assist with packing.
parcels[].typeStringNoThe parcel packaging type. Accepted values: carton, crate, hanging_bag, length, pallet, satchel, skid. If omitted, a default parcel type will be applied.
parcels[].length_cmNumberYesThe length of the parcel in centimetres.
parcels[].width_cmNumberYesThe width of the parcel in centimetres.
parcels[].height_cmNumberYesThe height of the parcel in centimetres.
parcels[].weight_kgNumberYesThe weight of the parcel in kilograms.
parcels[].quantityNumberYesThe number of identical parcels at these dimensions. Use quantity: 2 rather than duplicating the parcel object for multiple boxes of the same size.

Accurate parcel dimensions and weights are critical for quote accuracy. Incorrect measurements may result in quotes that do not reflect actual carrier pricing or eligibility at the point of booking.


Sample Response

A successful quote response returns a data object keyed by delivery type. Each key represents an available service level and includes pricing, estimated delivery window, and — depending on your account configuration — carrier details.

200 OK
1{
2 "data": {
3 "fast": {
4 "price_cents": 1000,
5 "currency": "AUD",
6 "from_datetime": "2026-01-24T11:41:00+11:00",
7 "to_datetime": "2026-01-24T14:41:00+11:00",
8 "num_days": 0
9 },
10 "flexible": {
11 "price_cents": 900,
12 "currency": "AUD",
13 "from_datetime": "2026-01-24T11:41:00+11:00",
14 "to_datetime": "2026-01-24T16:41:00+11:00",
15 "num_days": 0
16 },
17 "standard": {
18 "price_cents": 800,
19 "currency": "AUD",
20 "from_datetime": "2026-01-24T11:41:00+11:00",
21 "to_datetime": "2026-01-31T11:41:00+11:00",
22 "provider": "Australia Post",
23 "service": "PARCEL POST + SIGNATURE",
24 "carrier_code": "3J55",
25 "num_days": 7
26 },
27 "express": {
28 "price_cents": 700,
29 "currency": "AUD",
30 "from_datetime": "2026-01-24T11:41:00+11:00",
31 "to_datetime": "2026-01-26T11:41:00+11:00",
32 "provider": "Australia Post",
33 "service": "EXPRESS POST + SIGNATURE",
34 "carrier_code": "3D55",
35 "num_days": 2
36 }
37 }
38}

Response Fields

Each delivery type object in data can contain the following fields:

FieldTypeDescription
price_centsNumberThe quoted delivery price in cents — e.g. 1000 = $10.00 AUD.
currencyStringThe currency for the quoted price. Currently always AUD.
from_datetimeString (ISO 8601)The start of the estimated delivery window.
to_datetimeString (ISO 8601)The end of the estimated delivery window.
num_daysNumberThe estimated number of business days for delivery. 0 indicates same-day delivery.
providerStringThe carrier name — e.g. Australia Post. Only present on BYOC accounts (see below).
serviceStringThe specific carrier service level — e.g. EXPRESS POST + SIGNATURE. Only present on BYOC accounts.
carrier_codeStringThe internal carrier service code used by Rendr for booking. Only present on BYOC accounts.

Not all delivery types will always be returned. Rendr only includes options where a compliant carrier is available for the given origin, destination, parcel dimensions, and account configuration.

BYOC Accounts

If your account is configured with Bring Your Own Carrier (BYOC), the response will include provider, service, and carrier_code fields on applicable delivery types. These fields identify the specific carrier and service that Rendr has matched for the shipment, giving you full visibility into the routing decision before booking.