Estimated delivery dates (EDD) schemas
This section contains the schemas for the EDD API.
Request body schema
| Name | Type | Required | Description |
from_postcode | string | true | Origin postcode for the delivery estimate |
to_postcode | string | true | Destination postcode for the delivery estimate |
couriers | array of strings | false | List of carrier strings to provide estimates for. If not provided, all available carriers are considered. |
service_levels | array of strings | false | An array of service levels to return estimates for. Valid values are standard, express, priority, or on_demand. |
preparation_time | string | false | Lead time required for order fulfilment before pickup in format DD:HH:MM. For example, 01:05:30 is 1 day, 5 hours and 30 minutes. |
pickup_days_per_courier | Array,see table | false | Array of pickup days for the carrier |
store_operating_hours | Array,see table | false | Array of store operating hours |
Request schema for pickup_days_per_courier
| Name | Type | Required | Description |
courier | string | true | Name of the carrier |
pickup_days | array of strings | true | Days when pickup is available, in lowercase |
pickup_time | string | true | Time when pickup occurs, in format HH:MM |
Request schema for store_operating_hours
| Name | Type | Required | Description |
day | enum | true | The day of the week in lowercase. Possible values are monday, tuesday, wednesday, thursday, friday, saturday, sunday. |
beginning_of_workday | string | true | The start time of the workday in HH:MM format |
end_of_workday | string | true | The end time of the workday in HH:MM format |
is_open | boolean | true | Whether the store is open on the given day. Use true for open, false for closed. |
Response schema
The response is an array of estimated delivery dates grouped by service level.
| Name | Type | Required | Description |
service_level | string | true | The service level for this estimate. Valid values are standard, express, priority, on_demand |
estimated_delivery | Object, see table | true | Estimated delivery window for this service level |
Response schema for estimated_delivery
| Name | Type | Required | Description |
earliest | string (ISO 8601 date) | false | The earliest estimated delivery date. null when confidence is none. |
latest | string (ISO 8601 date) | false | The latest estimated delivery date. null when confidence is none. |
confidence | enum | true | Confidence level for the estimate. See the confidence values table. |
display | string | true | Pre-formatted delivery message ready to show customers. Render this directly—no client-side date logic required. |
Confidence values
The confidence field indicates the reliability of the delivery window and controls how display reads.
| Value | Meaning | Example display |
high | earliest and latest are the same date. High accuracy estimate. | "Arrives Tue, Apr 20" |
medium | earliest and latest differ by a moderate spread. | "Arrives Tue, Apr 20 - Wed, Apr 21" |
low | Wide spread between earliest and latest. | "Arrives by Mon, Apr 27" |
none | No data available for this route or service level. earliest and latest are null. | "3 to 5 business days" |
Use the display string as-is for all confidence levels. It’s pre-formatted server-side and requires no additional date logic.
Sample response
[
{
"service_level": "standard",
"estimated_delivery": {
"earliest": "2026-04-20",
"latest": "2026-04-22",
"confidence": "medium",
"display": "Arrives Tue, Apr 20 - Thu, Apr 22"
}
},
{
"service_level": "express",
"estimated_delivery": {
"earliest": "2026-04-18",
"latest": "2026-04-18",
"confidence": "high",
"display": "Arrives Sat, Apr 18"
}
},
{
"service_level": "on_demand",
"estimated_delivery": {
"earliest": "2026-04-16",
"latest": "2026-04-16",
"confidence": "high",
"display": "Arrives Today, Apr 16"
}
}
]