=== Orders Date Time Slot Picker By SolCoders ===
Contributors: solcoders
Tags: woocommerce, delivery, date picker, time slot, scheduling
Requires at least: 5.8
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.3
WC requires at least: 6.0
WC tested up to: 9.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Allow customers to select a delivery date and time slot on Cart, Checkout, or both — with full support for WooCommerce Classic and Blocks Checkout.

== Description ==

**Orders Date Time Slot Picker By SolCoders** gives your WooCommerce store a professional delivery scheduling system. Customers can choose their preferred delivery date and time slot directly on the Cart page, Checkout page, or both.

= Key Features =

* **Flexible Display** — Show the picker on Cart, Checkout, or both pages.
* **Time Slot Management** — Create unlimited time slots with optional labels and extra fees.
* **Delivery Rules** — Set minimum delay, maximum advance days, same-day cutoff, and allowed delivery days.
* **Date Restrictions** — Block specific dates (holidays, blackout periods).
* **Display Customization** — Choose dropdown or button-style slots, inline or popup calendar, custom colors, fonts, and text.
* **Classic & Blocks Support** — Works with both WooCommerce shortcode checkout and the new Blocks-based checkout.
* **Order Integration** — Delivery details appear on admin order pages, customer emails, and the Thank You page.
* **Session Persistence** — Selections carry from Cart to Checkout seamlessly.
* **Translation Ready** — Fully internationalized with i18n support.

= How It Works =

1. Configure delivery days, time slots, and rules in WooCommerce → Settings → Delivery Slots.
2. Customers see a date picker (powered by Flatpickr) on the Cart or Checkout page.
3. After selecting a date, available time slots load dynamically via AJAX.
4. The selection is validated, saved to the order, and displayed everywhere it matters.

= Requirements =

* WordPress 5.8 or higher
* WooCommerce 6.0 or higher
* PHP 7.4 or higher

== Installation ==

1. Upload the `sc-orders-date-time-slot-picker-by-solcoders` folder to the `/wp-content/plugins/` directory.
2. Activate the plugin through the 'Plugins' menu in WordPress.
3. Go to WooCommerce → Settings → Delivery Slots to configure.
4. Create your time slots under the "Time Slots" section.
5. Configure delivery rules, date restrictions, and display settings.

== Frequently Asked Questions ==

= Does this work with WooCommerce Blocks Checkout? =

Yes! The plugin fully supports both the classic shortcode-based checkout and the newer WooCommerce Blocks checkout editor.

= Can I charge extra for specific time slots? =

Yes. Each time slot has an optional "Extra Fee" field. The fee is automatically added to the cart when the customer selects that slot.

= Can I restrict deliveries to certain days? =

Yes. In the Delivery Rules section, select which days of the week deliveries are available. You can also blackout specific dates.

= Does the selection persist from Cart to Checkout? =

Yes. When the picker is enabled on both pages, the customer's selection on the Cart page carries over to the Checkout page and remains editable.

== Screenshots ==

1. Admin Settings — General configuration panel.
2. Time Slots Management — Create and manage delivery time slots.
3. Frontend Checkout — Date and time slot picker on the checkout page.
4. Admin Order — Delivery details displayed on the order edit screen.

== Changelog ==

= 1.0.0 =
* Initial release.
* Admin settings panel with five configuration sections.
* Time slot management with labels, fees, and enable/disable toggles.
* Delivery rules: minimum delay, max advance days, same-day cutoff.
* Date restrictions with blackout dates.
* Display customization: colors, fonts, placeholders, layout options.
* Frontend picker with Flatpickr calendar and AJAX slot loading.
* WooCommerce Classic Checkout support via standard hooks.
* WooCommerce Blocks Checkout support via IntegrationInterface.
* Order meta storage and display on admin, emails, and Thank You page.
* Session-based selection persistence across pages.
* Full i18n / translation support.

== Upgrade Notice ==

= 1.0.0 =
Initial release.

= 1.0.1 =
Remove unwanted language support code.

= 1.0.2 =
fix some minor bugs.

= 1.0.3 =
Logo added.