=== Verified Delivery Reviews for WooCommerce ===
Contributors: catcodestudio
Tags: reviews, product reviews, nova poshta, verified owner, review request
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Ask for a product review only after the buyer actually received the parcel — by the Nova Poshta, Ukrposhta, Meest or ROZETKA Delivery waybill status.

== Description ==

Marketplaces let people review a seller right after checkout, before anything arrives. On your own store you can do better: ask only those who have the item in hand, and show it next to the review.

Verified Delivery Reviews watches the waybill status that our carrier modules already keep and sends one review request per order when the parcel is received:

* **Nova Poshta** — status "received" (including cash-on-delivery variants);
* **Ukrposhta** — event "handed over" from the status-tracking API (a return to the sender does not count);
* **Meest** — final status "received";
* **ROZETKA Delivery** — "handed out".

Orders without a waybill (pickup, courier) can use the order status instead, e.g. "Completed". The trigger mode is yours to choose.

= What the buyer gets =

* One e-mail in the WooCommerce design, in the language of the order, a few days after the parcel arrived.
* Five stars under every item: a click opens the review form with that rating already chosen.
* A short form without an account: stars, a few words, the name to show.
* A "Do not ask me for reviews" link in every request.

= What the store gets =

* Reviews marked "The buyer received the item" (optionally with the carrier), plus the standard WooCommerce "verified owner" flag.
* One request per order, a pause per buyer, quiet hours at night, no requests for orders placed before the plugin was installed.
* Anti-spam on the form: a hidden trap field, a minimum fill time, a per-IP limit, a link limit and your moderation / disallowed word lists.
* Moderation choice: everything waits, 4–5 stars at once, or publish at once.
* A report: parcels received, requests sent, forms opened, reviews left, the average rating, and why some requests were not sent.
* A box on the order screen: where the request stands, "the buyer received it" and "send now" buttons.

// @pro-begin
= Pro =

* Viber / SMS through your TurboSMS account (Viber first, SMS fallback).
* Telegram: the thank-you page offers the buyer to get the request in your bot.
* Photos in reviews (JPEG, PNG, WebP).
* Your own e-mail subject, heading and text.
* Any report period, the breakdown by channel and CSV export.

7-day trial from the settings screen, no card needed.
// @pro-end

= For developers =

Any module can report a received parcel:

`do_action( 'catcode_shipment_delivered', $order_id, 'novaposhta', $waybill, $delivered_at_utc );`

Filters: `vdrwc_novaposhta_received_codes`, `vdrwc_rozetka_received_statuses`, `vdrwc_order_locale`, `vdrwc_badge_html`. Actions: `vdrwc_request_scheduled`, `vdrwc_request_sent`, `vdrwc_review_saved`, `vdrwc_unsubscribed`.

== Installation ==

1. Install and activate the plugin (WooCommerce must be active).
2. Open WooCommerce → Review requests, check the trigger and the carriers, save.
3. Optional: pick a page with the `[verified_delivery_review_form]` shortcode to show the form inside your theme.

== Frequently Asked Questions ==

= Which carrier modules are supported? =

Our Nova Poshta, Ukrposhta, Meest and ROZETKA Delivery modules for WooCommerce. The plugin only reads what they store; it never changes a waybill.

= My carrier module refreshes statuses by hand only. =

Then the request goes out after the next refresh. The order-status trigger works in any case.

= Will old customers get a flood of e-mails? =

No. Orders placed before the installation are skipped (you can include the last N days on purpose).

= Where are the e-mails and phones stored? =

Nowhere new. The plugin keeps only one-way hashes to avoid asking the same buyer twice and to honour an unsubscribe.

== Changelog ==

= 1.0.1 =
* Uninstall also removes the review form's temporary rate-limit entries.
// @pro-begin
* The Pro version activates next to an active free copy from WordPress.org without an error: the free copy steps aside, the settings and the request history stay. Deleting the Pro version keeps the shared data while the free copy is installed.
// @pro-end

= 1.0.0 =
* First release: requests after a confirmed delivery (Nova Poshta, Ukrposhta, Meest, ROZETKA Delivery, order status), review form, "the buyer received the item" mark, anti-spam, unsubscribe, report.
