Calculate Estimated Delivery Date
Works out an estimated delivery date and a delivery status (On Track, Delayed or Lost) from an order's dates and your delivery rules. Use it to set expectations on when a parcel should arrive and to flag orders that are running late.
Works out an estimated delivery date and a delivery status (On Track, Delayed or Lost) from an order's dates and your delivery rules. Use it to set expectations on when a parcel should arrive and to flag orders that are running late.
What it does
- Takes the order date (or shipping date) and your thresholds to estimate the earliest, latest and a single estimated delivery date.
- Can count calendar days or business days only, optionally skipping public holidays for a given country and your chosen working week.
- Returns a delivery status based on how long the order has been in transit.
- Supports peak-season adjustments and whether delivery can happen on non-business days.
This action runs on its own logic and needs no external connection.
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| Order Date | String | Yes | Order creation date |
| Last Updated Date | String | No | Last updated date. Defaults to the order date |
| Shipping Date | String | No | Shipping date. Defaults to the order date |
| On Track Threshold Time | String | No | Days within which the order is considered on track. Default: 2 |
| Delayed Threshold Time | Number | No | Days after which the order is considered delayed. Default: On Track + 2 |
| Lost Threshold Time | Number | No | Days in transit after which the parcel is considered lost. Default: Delayed + 2 |
| Peak Season Time Adjustment | Number | No | Extra days added to the status times. Default: 0 |
| Country Code | String | No | Country to consider public holidays for. Use None to ignore holidays. Accepts standard ISO country codes |
| Working Week Days | List | No | Working days of the week. Default: Monday to Friday |
| Timezone | String | No | Timezone for the calculation. Accepts standard IANA timezones (e.g. Europe/London). Defaults to the order's timezone or UTC |
| Count Non Business Days | Boolean | No | Whether to count non-business days in the calculation. Default: false |
| Delivery on Non Business Day | Boolean | No | Whether delivery can happen on non-business days. Default: false |
| Calculate EDD Based on Shipping Date | Boolean | No | Whether to base the estimate on the shipping date instead of the order date. Default: false |
Outputs
| Name | Type | Description |
|---|---|---|
| Success | Boolean | Whether a date was calculated and it is in the future |
| Estimated Delivery Date Generated? | Boolean | Whether an estimated delivery date was produced |
| Estimated Delivery Date | String | The estimated delivery date (YYYY-MM-DD) |
| Minimum Estimated Delivery Date | String | Earliest estimated delivery date (YYYY-MM-DD) |
| Maximum Estimated Delivery Date | String | Latest estimated delivery date (YYYY-MM-DD) |
| Current Date | String | Current date used in the calculation |
| Order Date | String | Order creation date used |
| Updated Date | String | Last updated date used |
| Timezone | String | Timezone applied |
| Days Since Order Date | Number | Calendar days since the order date |
| Business Days Since Order Date | Number | Business days since the order date |
| Calendar Days Status | String | Status based on calendar days. Possible values: On Track, Delayed, Lost. |
| Business Days Status | String | Status based on business days. Possible values: On Track, Delayed, Lost. |
| Days Since Updated Date | Number | Calendar days since the last update |
| Business Days Since Updated Date | Number | Business days since the last update |
| Lost in Transit | Boolean | Whether the order is considered lost in transit |
Notes
- All dates are returned in YYYY-MM-DD format.
- If no country code is provided, public holidays are not considered.
- Times use the provided timezone, falling back to the order's timezone or UTC.