# Quote a Delivery 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 ```json title="POST /{{tenant_id}}/deliveries/quote-next-available" { "store_id": "rendr-test", "ready_for_pickup_at": "2022-03-04T10:00:00+11:00", "address": { "address": "7 Howard Street", "address2": "Level 3", "city": "Richmond", "state": "VIC", "post_code": "3121" }, "line_items": [ { "code": "sku-code-001", "name": "SKU Item Name #001", "price_cents": 999, "quantity": 2 }, { "code": "sku-code-002", "name": "SKU Item Name #002", "price_cents": 1999, "quantity": 2 }, { "code": "sku-code-003", "name": "SKU Item Name #003", "price_cents": 9999, "quantity": 3 } ], "parcels": [ { "reference": "PARCEL_001", "length_cm": 20, "width_cm": 40, "height_cm": 60, "weight_kg": 1, "quantity": 1, "type": "carton" }, { "reference": "PARCEL_002", "length_cm": 10, "width_cm": 10, "height_cm": 10, "weight_kg": 1, "quantity": 1, "type": "satchel" } ], "product_types": { "alcohol": false, "tobacco": false, "prescription_meds_s2": true, "prescription_meds_s4": false, "prescription_meds_s8": false, "high_value": false } } ``` *** ## Parameters ### Top-Level Fields | Field | Type | Required | Description | | --------------------- | ----------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `store_id` | String | Yes\* | The ID of the delivery pickup store/location, preconfigured by your Rendr implementation partner. Determines the origin point for quote calculations. | | `store_reference` | String | No\* | Your internal location identifier preconfigured by your Rendr implementation partner. Can be used instead of `store_id`. | | `ready_for_pickup_at` | String (ISO 8601) | No | The 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. | Field | Type | Required | Description | | ------------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------- | | `address.address` | String | No | The street address of the delivery destination — e.g. `7 Howard Street`. Format: `[Street Number] [Street Name] [Street Type]`. | | `address.address2` | String | No | A secondary address line for unit, apartment, or level information — e.g. `Unit 1`, `Level 3`. | | `address.city` | String | Yes | The city, town, or village of the delivery address. | | `address.state` | String | Yes | The abbreviated state or territory in which the delivery address exists — e.g. `VIC`, `NSW`. | | `address.post_code` | String | Yes | The 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. | Field | Type | Required | Description | | -------------------------- | ------ | -------- | ---------------------------------------------------------------------------------------------------------------------------- | | `line_items[].code` | String | Yes | The SKU or product code for the line item as it exists in your system. | | `line_items[].name` | String | Yes | The human-readable name of the product. Presented to the customer, store fulfilment team, and delivery driver. | | `line_items[].price_cents` | Number | Yes | The unit price of the item in cents — e.g. `999` = \$9.99. Used for insured value calculations and high-value item handling. | | `line_items[].quantity` | Number | Yes | The 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. | Field | Type | Required | Description | | ----------------------- | ------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `parcels[].reference` | String | Yes | A unique reference for this parcel within the delivery — e.g. `PARCEL_001`. Used to identify individual packages during packing and carrier handoff. | | `parcels[].description` | String | No | A short description of the parcel shown to store staff in the Workbench portal to assist with packing. | | `parcels[].type` | String | No | The parcel packaging type. Accepted values: `carton`, `crate`, `hanging_bag`, `length`, `pallet`, `satchel`, `skid`. If omitted, a default parcel type will be applied. | | `parcels[].length_cm` | Number | Yes | The length of the parcel in centimetres. | | `parcels[].width_cm` | Number | Yes | The width of the parcel in centimetres. | | `parcels[].height_cm` | Number | Yes | The height of the parcel in centimetres. | | `parcels[].weight_kg` | Number | Yes | The weight of the parcel in kilograms. | | `parcels[].quantity` | Number | Yes | The 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. ```json title="200 OK" { "data": { "fast": { "price_cents": 1000, "currency": "AUD", "from_datetime": "2026-01-24T11:41:00+11:00", "to_datetime": "2026-01-24T14:41:00+11:00", "num_days": 0 }, "flexible": { "price_cents": 900, "currency": "AUD", "from_datetime": "2026-01-24T11:41:00+11:00", "to_datetime": "2026-01-24T16:41:00+11:00", "num_days": 0 }, "standard": { "price_cents": 800, "currency": "AUD", "from_datetime": "2026-01-24T11:41:00+11:00", "to_datetime": "2026-01-31T11:41:00+11:00", "provider": "Australia Post", "service": "PARCEL POST + SIGNATURE", "carrier_code": "3J55", "num_days": 7 }, "express": { "price_cents": 700, "currency": "AUD", "from_datetime": "2026-01-24T11:41:00+11:00", "to_datetime": "2026-01-26T11:41:00+11:00", "provider": "Australia Post", "service": "EXPRESS POST + SIGNATURE", "carrier_code": "3D55", "num_days": 2 } } } ``` ### Response Fields Each delivery type object in `data` can contain the following fields: | Field | Type | Description | | --------------- | ----------------- | ---------------------------------------------------------------------------------------------------- | | `price_cents` | Number | The quoted delivery price in cents — e.g. `1000` = \$10.00 AUD. | | `currency` | String | The currency for the quoted price. Currently always `AUD`. | | `from_datetime` | String (ISO 8601) | The start of the estimated delivery window. | | `to_datetime` | String (ISO 8601) | The end of the estimated delivery window. | | `num_days` | Number | The estimated number of business days for delivery. `0` indicates same-day delivery. | | `provider` | String | The carrier name — e.g. `Australia Post`. Only present on BYOC accounts (see below). | | `service` | String | The specific carrier service level — e.g. `EXPRESS POST + SIGNATURE`. Only present on BYOC accounts. | | `carrier_code` | String | The 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.