Everything you'd want to know before you install.
A detailed look at how Estimated Delivery Date — PrestaShop Module works, why we built it the way we did, and the thinking behind the features above.
A concrete delivery promise, not a fuzzy window
“Delivery within 3 to 5 days” convinces no one. With DataFirefly Delivery Date you display a real date: “Estimated delivery between Monday 18 May and Wednesday 20 May.” The calculation factors in each product's own preparation time, your carrier's range, weekends and public holidays. The result is a clear, credible message that reassures the customer at the exact moment they hesitate.
Daily cut-off with a live countdown
Set your cut-off hour (for instance 14:00, Europe/Paris timezone). As long as the customer is before the deadline, the product page shows a live HH:MM:SS counter: “Order in the next 02:35:12 to ship today.” Past the cut-off, the module automatically pushes shipping to the next business day and adjusts every displayed date. The counter is plain JavaScript, dependency-free, and refreshes every second.
Preparation time, product by product
Every product page in the back office gets a new “Preparation time” tab. Enter the number of business days needed before shipping: 0 for an item in stock and ready to go, 5 for a made-to-order product, 14 for a fully customised piece. The module uses this value in every calculation. If you leave it blank, the globally configured default applies — so you can deploy the module immediately and refine product by product afterwards.
Carrier-specific min/max business days
For each carrier in your store, configure the real delivery range in business days (Chronopost 1–2, Colissimo 3–5, Mondial Relay 4–7, and so on). The cart uses the default carrier's range, and the checkout switches automatically to the range of the carrier the customer just selected. When PrestaShop versions a carrier (the platform's auto-versioning), the configuration is copied to the new ID — no settings are lost.
Granular handling of public holidays
The module pre-installs the eight French recurring national holidays: 1 January, 1 May, 8 May, 14 July, 15 August, All Saints, 11 November and Christmas. Manage your own closures from a dedicated admin screen (Improve, Shipping, Delivery Date Holidays). Each entry can be one-off (a specific date, for instance a bridge day) or yearly recurring. Recurring holidays are automatically projected onto the current and next year so end-of-year calculations stay accurate.
Three independent display zones
Toggle each zone separately: product page, cart, checkout. Every widget is rendered through a Smarty template that you can override from your theme (themes/your-theme/modules/dfdeliverydate/views/templates/hook/) to tweak wording, add an icon or reposition the element without touching the module. Three display modes are available: range (between min and max), latest date only, or range plus ship date.
PrestaShop 8 and 9 compatible
The module declares ps_versions_compliancy from 8.0.0 to 9.99.99. Every hook used remains available on PrestaShop 9 via the legacy hook dispatcher. A future v1.1 will add a native Symfony FormType for the PrestaShop 9 back-office product form. The module is multistore-compatible and configuration can be shared or split per store.
Performance and technical hygiene
No heavy queries: per-product preparation days are stored in a dedicated table indexed by id_product, and holidays are loaded once per page and indexed in memory for O(1) lookups. The date calculator lives in its own class with no PrestaShop dependency, which makes it unit-testable. On uninstall every table and configuration entry is removed cleanly.
There are no reviews yet.