=== PluginCity Delivery Estimates for WooCommerce ===
Contributors: plugincitywp
Tags: woocommerce, estimated delivery, delivery date, shipping, order management
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
WC requires at least: 10.0
WC tested up to: 11.1

Tell customers when their order will arrive, and your team when it has to leave. Estimates on the product page, cart, checkout and emails.

== Description ==

Every customer asks the same question before they buy: when will it arrive?

PluginCity Delivery Estimates for WooCommerce answers it on the product page, in the cart, at checkout, on the thank-you page and in your order emails. It also gives your team the other half of that promise: the dispatch date, the day an order has to leave you for the estimate to hold.

Both dates come from one working-day calculation. A product with 1 working day of dispatch time and 2 days in transit, ordered on Monday, has to leave you on Tuesday and is estimated to arrive on Thursday. Your working days, your carrier's delivery days and your WordPress timezone are all taken into account, so a Friday afternoon order never quietly promises a Sunday arrival.

Dispatch time is simply how long an order takes to get out of the door. Set it to 0 and you are quoting same-day dispatch; set it to 5 and you are quoting made to order. It fits a shop shipping from stock as comfortably as one making each piece by hand.

The free version is permanent. It does not expire, needs no licence key, and never contacts PluginCity.

= What you get =

* Estimates on product pages, shop and category listings, in the cart, at checkout, on the thank-you page and in customer emails
* Block cart and checkout support, plus a `[ddwc_estimate]` shortcode and an editor block
* Dispatch time and delivery transit time, counted in working days
* Your own working days, separate carrier delivery days, and WordPress timezone handling
* Delivery windows, to show a range like "arrives 12–14 March" instead of a single day
* An optional "Dispatched by" line alongside the arrival date
* Extra days for out-of-stock and backordered items, so those quotes stay honest
* Your own wording for the estimate, with a live example of the dates today's orders would get
* The dispatch date and estimated delivery stored on every order
* Settings import and export
* High-Performance Order Storage compatibility

= Pro =

Most shops do not have one dispatch time. A stocked t-shirt and a made-to-order table cannot honestly quote the same date, and a shop that closes for two weeks in August should not be promising deliveries through it. [Pro](https://www.plugincity.net/plugins/estimated-delivery-dates-for-woocommerce) is for quoting dates that match how you really ship.

**Dates per product, not per shop.** Give any product or variation its own dispatch time. Anything you leave alone keeps the default, so you only describe what actually differs.

**Real shipping times.** Set transit times per shipping method and per shipping class, and show the arrival date beside each shipping choice at checkout, so paying for next day visibly buys something.

**A calendar that matches your year.** Closed dates take bank holidays and shutdowns out of the maths, and a daily cutoff time rolls late orders on to the next working day.

**Wording and styling.** Write the estimate differently for each place it appears, then style it: colour, size, weight, icon, alignment, and a pill, rounded box or outline around it.

**Running the orders.** Dispatch date columns and filters on the orders screen, so you can see what has to go out today, plus manual overrides and recalculation for the orders that need a human decision.

Pro is a separate product, available from PluginCity rather than from WordPress.org. Your settings and stored order dates carry across untouched.

= How the dates are worked out =

Dates use the **WordPress timezone**, not the server timezone.

1. Take the order datetime, or "now" for a live estimate.
2. If that day is not a working day, start from the next one. Pro also applies your cutoff time and skips closed dates here.
3. **Dispatch by** = start date + dispatch working days.
4. **Estimated delivery** = dispatch date + shipping transit working days.

A dispatch time or transit time of 0 leaves that date unchanged, and orders that do not need shipping use 0 transit. Where a cart holds several products, the longest dispatch time wins, so the promise stays realistic.

= A note on names =

WooCommerce is a trademark of Automattic Inc. This plugin is an independent extension for WooCommerce. It is not affiliated with, endorsed by, or sponsored by Automattic or the WooCommerce project, and "WooCommerce" appears in its name only to say which shop software it works with.

== Installation ==

WooCommerce must be installed and active first.

1. In WordPress, go to **Plugins → Add New**.
2. Search for **PluginCity Delivery Estimates for WooCommerce**.
3. Click **Install Now**, then **Activate**.
4. Go to **WooCommerce → Delivery Estimates**, or click **Settings** on the Plugins screen.

Installing from a downloaded ZIP instead: go to **Plugins → Add New → Upload Plugin**, choose the ZIP file, and click **Install Now**. Leave the ZIP as it is; there is no need to unzip it.

== Configuration ==

1. Check the **Current calculation example** at the top of the settings screen.
2. Set the default dispatch time and default delivery transit time.
3. Choose working weekdays.
4. Enable the product-page estimate and set the display text.

== Frequently Asked Questions ==

= How is the delivery date worked out? =

From two numbers you set: dispatch time, how long an order takes to leave you, and transit time, how long the carrier then takes. Both are counted in working days, using the working days you choose and your WordPress timezone.

= Where does the estimate appear? =

Product pages, shop and category listings, the cart, checkout, the thank-you page and customer emails, each one able to be switched on or off. Block cart and checkout are supported, and there is a `[ddwc_estimate]` shortcode and an editor block for anywhere else you want it.

= Can I show a range instead of one date? =

Yes. Turn on delivery windows under **Customer display** and the estimate reads as a span of days, which is often the promise you would rather make.

= Can I change the wording? =

Yes, the text is yours to write. The **Lead times** screen shows a worked example of the dates today's orders would get, so you can see the effect as you type.

= My carrier does not deliver at weekends. Can I say so? =

Yes. The **Working calendar** keeps your own working days separate from the days your carrier delivers, so dispatch and arrival are each counted against the right week.

= What about items that are out of stock or on backorder? =

You can add extra days to both, so a backordered item is quoted honestly rather than optimistically.

= What about virtual or downloadable products? =

If an order does not need shipping, transit time is 0, so the estimate can land on the dispatch date itself.

= Do stored order dates change if I edit my settings later? =

No. The dates are worked out when the order is placed and then stay put, so an old order keeps the promise it was actually given.

= Can I give one product a different dispatch time? =

That is a Pro feature. Pro adds a dispatch time to every product and variation, and transit times per shipping method and per shipping class.

= Can I close for holidays, or stop taking today's orders after a cutoff? =

Both are Pro features: closed dates take shutdowns out of the calculation, and a daily cutoff time rolls later orders on to the next working day.

= Does it work with High-Performance Order Storage? =

Yes. Order dates are written through WooCommerce's own methods rather than straight into the database, so HPOS shops are fully supported.

= What happens if I deactivate WooCommerce? =

The plugin steps aside and shows a notice. It does not fatally error, and your settings and stored dates are waiting when WooCommerce comes back.

= Do I need an account or a licence for the free version? =

No. It is free to use for as long as you like, needs no key, and never contacts PluginCity.

== Screenshots ==

1. Lead times. One working-day engine works out both the date you dispatch by and the date the customer is given, and the worked example at the top shows what an order placed right now would be promised.
2. Working calendar. Tick the days you dispatch on, and if your carrier delivers on days you do not work, tick those separately.
3. Customer display. Choose where the estimated delivery date appears and the wording it appears in.
4. The estimated delivery date on a product page, so the customer knows before they add to the cart.
5. The same estimate shown as a delivery window, for shops that would rather promise a few days than one.
6. The estimate on the cart totals, alongside the shipping the customer has chosen.
7. And on the checkout, where it is worked out again if they change their shipping method.

== Changelog ==

= 1.0.0 =
* First public release.
