Skip to content

Frequent rates

Couriers Please and Aramex offer a cheaper price to accounts that send several consignments per collection. On the v5 API it appears in each of those quotes as an extra entry in tiers, and you choose it by sending tier when you confirm. There is no separate endpoint.

When your account can use frequent rates, the couriers_please and aramex quotes carry a tiers array next to the everyday price:

{
"id": 623630,
"quotes": {
"aramex": {
"total": 12.93,
"price_insurance_ex": 12.93,
"fee": 0,
"applied_gst": 1.18,
"insured_amount": 0,
"service": "road",
"transit_time": "2 Business Days",
"tiers": [
{
"identifier": 2,
"description": "Multipickup 3 Price (Minimum 3 consignments per collection)",
"total": 10.18,
"price_insurance_ex": 10.18,
"fee": 0,
"applied_gst": 0.93,
"insured_amount": 0
}
]
}
}
}
FieldMeaning
total (on the quote)The everyday price. You pay this if you confirm without tier.
tiers[].identifierThe value to send as tier when you confirm. Currently always 2.
tiers[].descriptionWhat the price requires. Show it to the user.
tiers[].totalThe frequent price, in AUD including GST. It includes the same transit warranty fee as the everyday price.
tiers[].price_insurance_ex, fee, applied_gst, insured_amountThe same breakdown as the everyday price.

Read identifier and description from each quote rather than hard-coding them, and expect tiers to be missing. Other couriers never return tiers. Round tiers[].total to cents before you show it.

What “Minimum 3 consignments per collection” means

Section titled “What “Minimum 3 consignments per collection” means”

The frequent price is for shippers who give the courier at least three consignments each time it collects from the pickup address. Use it when you regularly send three or more parcels at once from the same place. Transdirect can switch frequent rates off for an account that uses them without meeting this.

Send the tier’s identifier as tier, with the courier key from the same quote:

Terminal window
curl -X POST https://api.transdirect.com.au/api/v5/bookings/623630/confirm \
-H "api-key: $TD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"courier": "aramex",
"tier": 2,
"pickup_date": "2026-10-19",
"payment_method": "nab_1234"
}'
import { client, postApiV5BookingsByIdConfirm } from '@transdirect/api-sdk';
client.setConfig({ headers: { 'api-key': process.env.TD_API_KEY! } });
const { error } = await postApiV5BookingsByIdConfirm({
path: { id: '623630' },
body: { courier: 'aramex', tier: 2, pickup_date: '2026-10-19', payment_method: 'nab_1234' },
});
if (error) throw new Error(JSON.stringify(error));

A successful confirm returns 204 No Content. Get payment_method ids from List payment methods, and see Confirm a booking for every confirm field and error.

If your account cannot use frequent rates when you confirm, the tier is ignored and the booking is confirmed at the everyday price.

Frequent rates are switched on for Transdirect accounts by default. tiers appears on a Couriers Please or Aramex quote when your account is eligible and the courier returns a frequent price for that shipment.

Your key’s module page in the members area (Settings, then Integrations, then your module) has Multipickup options for Couriers Please and Aramex. Leave them on Use Everyday Price to get the everyday price as total with the frequent price in tiers. Choose a multipickup price instead and that price becomes the quote’s total, and tiers can be left out.