=== ShelfDate – Estimated Delivery Dates for WooCommerce ===
Contributors: morpheous7
Tags: woocommerce, estimated delivery, delivery date, shipping date, order cutoff
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 0.1.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Show estimated delivery dates on product pages, the shop, cart and checkout. Handles cutoff times, processing days, weekends and holidays.

== Description ==

Shoppers want to know when their order will arrive before they buy. ShelfDate shows a clear estimated delivery date, worked out from your real schedule.

* **Accurate dates:** order cutoff time, processing days, working days and holidays are all taken into account, in your store's time zone.
* **Per category and per product:** set longer times for made-to-order items or faster times for in-stock basics. Products override categories, categories override the store default.
* **Backorders:** add extra days automatically when a product is on backorder. Out-of-stock, virtual and downloadable products show no date.
* **Everywhere it helps:** under the Add to cart button, on shop and category pages, and one date for the whole order in the cart and checkout. Works with classic and block themes, including the cart and checkout blocks.
* **Never out of date:** if your site uses page caching, ShelfDate quietly refreshes the date in the visitor's browser, so nobody sees yesterday's estimate.
* **Your words:** edit the message and date format. Use {date}, {min}, {max} and {ship}.
* **Shortcode:** `[shelfdate]` on a product page, or `[shelfdate product_id="123"]` anywhere.

Want different times per shipping zone or method, an "order within 2h 15m to get it by Friday" countdown, or the date in order emails? [ShelfDate Pro](https://shelftabs.com) is an optional paid add-on. Everything above is free and stays free.

== Frequently Asked Questions ==

= Where do I set it up? =

WooCommerce > Settings > Delivery dates. The bottom of that page shows a live preview with your saved settings.

= How is the date worked out? =

If an order comes in before the cutoff on a working day, it counts from today; otherwise from the next working day. ShelfDate then adds the processing days and the shipping days, skipping non-working days and holidays.

= Can a category or product have different times? =

Yes. Edit the category under Products > Categories, or the product under Product data > Shipping. Leave a box blank to use the default. When a product is in several categories, the one with the longest delivery time is used.

= Does it work with page caching? =

Yes. Pages cached for more than 30 minutes get a fresh estimate in the browser after they load.

== Screenshots ==

1. The estimated delivery date under the Add to cart button.
2. Settings: cutoff time, processing and shipping days, working days and holidays, with a live preview.
3. One delivery date for the whole order at checkout.

== Changelog ==

= 0.1.1 =
* Developer hooks so add-ons can change the message (shelfdate_message_template, shelfdate_cart_message_template, shelfdate_message_html_vars).

= 0.1.0 =
* First release.
