=== Order Cancellation & Returns for WooCommerce ===
Contributors: yoohw, baonguyen0310
Tags: cancel-order, woocommerce cancel order, return, order return, re-order
Requires at least: 6.3
Tested up to: 6.9
WC tested up to: 10.7
Requires PHP: 7.4
Stable tag: 1.1.12
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Empower your customers with the ability to cancel and return their orders seamlessly on your WooCommerce site.

== Description ==

Order Cancellation & Returns for WooCommerce is a plugin for order cancellation and return requests. Allows WooCommerce customers to easily cancel orders or request returns from their account, with admin approval workflow and email notifications.

[Premium version](https://yoohw.com/product/woocommerce-advanced-order-manager/) | [Documentation](https://yoohw.com/docs/category/woocommerce-cancel-return-orders/) | [Support](https://yoohw.com/support/)  | [Demo](https://sandbox.yoohw.com/demo/wcocr_demo.html)

== Features ==

=== Cancellation Requests (Basic Workflow) ===

* Allow customers to submit cancellation requests directly from the **Order Details** page.
* Define which order statuses allow cancellation.
* Add preset cancellation reasons (one per line) or allow custom input.
* Set a time limit after purchase for when cancellation is available.
* Optional approval workflow before an order is cancelled.

=== Return Requests (Basic Workflow) ===

* Allow customers to submit return requests from their account.
* Select the order status that enables return requests.
* Provide predefined return reasons.
* Set a return request time limit.
* Optional approval system for return requests.

=== Customer-Friendly Experience ===

* Simple and intuitive request form.
* Action buttons displayed directly on eligible orders.
* Clear confirmation and structured communication during the request process.

=== Email Notifications ===

* Notify store managers when a cancellation or return request is submitted.
* Notify customers when their request is approved or rejected.

=== Admin Control ===

* Manage cancellation and return settings from **WooCommerce → Settings → Orders**.
* Approve or reject requests directly from the order page.
* Maintain a structured request workflow.

== Premium Features ==

Upgrade to **WooCommerce Advanced Order Manager** to unlock a complete order-adjustment workflow—cancellations, returns, reorder controls, custom statuses, and full UI customization.

=== Cancellation – Customer Actions ===

* Allowed statuses for cancellation.
* Preset cancellation reasons.
* Configurable time limit for cancellation requests.
* Cancellation notice added to order adjustment activity log.
* Add “Cancel order” button inside customer emails.

=== Cancellation – Store Manager Actions ===

* Configure approval and rejection order statuses.
* Set customer-facing approval/rejection notices.
* Allow shop managers to cancel orders with a visible reason.
* Grant cancellation management permission to the Shop Manager role.

=== Returns – Customer Actions ===

* Choose which order status enables return requests.
* Allow item-level return (specific products and quantities).
* Preset return reasons.
* Configurable return time limit.
* Display return notice inside the request form.
* Enable selectable return resolution choices (Refund / Exchange / Store credit).
* Disable returns automatically for orders containing only virtual products.
* Add “Return items” button inside customer emails.

=== Return Attachments ===

* Configure maximum number of files.
* Restrict allowed file types.
* Make attachments required if needed.

=== Returns – Store Manager Actions ===

* Set order status applied after return approval.
* Log approval and rejection notices into order activity.
* Allow Shop Manager role to manage return requests.

=== Reorder & Order Again ===

* Extend the "Reorder" / "Order Again" button to additional order statuses beyond WooCommerce default "Completed".

=== Order Status Workflow Builder ===

* Add unlimited custom order statuses.
* Reorder status positions.
* Edit status labels and badge colors.
* Configure custom status options and notes.

=== Appearance Customization ===

* Customize popup modal borders, radius, colors, shadows, and buttons.
* Live preview design changes.

[Explore WooCommerce Advanced Order Manager](https://yoohw.com/product/woocommerce-advanced-order-manager/)

== Plugin Integrations ==
* [WooCommerce Advanced Order Actions](https://yoohw.com/product/woocommerce-advanced-order-actions/): Automatically split orders when customers request returns for specific items or quantities, ensuring accurate inventory and workflow management.

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/woocommerce-order-cancellation-return` directory, or install the plugin through the WordPress plugins screen directly.
2. Activate the plugin through the 'Plugins' screen in WordPress.
3. Navigate to **WooCommerce → Settings → Orders** to configure the plugin.

== Frequently Asked Questions ==

= Can customers cancel any order? =
Customers can cancel orders based on the allowed statuses and time limit defined in settings.

= Can customers request returns for specific items? =
Yes. Customers can select individual products and quantities when submitting a return request.

= Can guests use the cancellation and return features? =
Yes, both registered users and guests can submit requests.

= How do admins manage requests? =
Admins and shop managers can approve or reject requests directly from the order page.

= Will customers be notified about request updates? =
Yes. Customers receive email notifications when their request is approved or rejected.

= Can I customize cancellation and return reasons? =
Yes. You can define multiple preset reasons or allow customers to provide their own.

= Can I extend reorder availability to other statuses? =
Yes, this is available in the Premium version.

== Changelog ==

= 1.1.12 (Apr 25, 2026) =
* Improve: Optimized and cleaned the functionality.
* Improve: WooCommerce 10.7 compatibility.

= 1.1.11 (Feb 13, 2026) =
* Improve: Optimized and updated the functionality.
* Improve: WooCommerce 10.5 compatibility.

= 1.1.10 (Nov 18, 2025) =
* Update: Added the cancellation and return popup overlay.
* Improve: Optimized the JavaScript files.
* Improve: WooCommerce 10.3 compatibility.

= 1.1.9 (Oct 21, 2025) =
* Fix: Sometimes receives `$tabs = null` for Shop Manager.
* Improve: Optimized cancellation and return approval panels for better performance.
* Improve: WooCommerce 10.2 compatibility.

= 1.1.8 (Aug 21, 2025) =
* Improve: WooCommerce 10.1 compatibility.

= 1.1.7 (Aug 6, 2025) =
* Improve: Clean up and optimized code.
* Improve: WooCommerce compatibility.

= 1.1.6 (Jul 7, 2025) =
* Improve: WooCommerce compatibility.

= 1.1.5 (Jun 13, 2025) =
* Update: Reorder the `Orders` settings tab.
* Fix: Removed some unnecessary notes in the order.
* Improve: WooCommerce compatibility.

= 1.1.4 (May 5, 2025) =
* Update: WordPress compatibility to 6.8.
* Improve: WooCommerce compatibility.

= 1.1.3 (Mar 9, 2025) =
* Improve: WooCommerce compatibility.

= 1.1.2 (Feb 8, 2025) =
* Improve: WooCommerce compatibility.
* Improve: Minor improvements.

= 1.1.1 (Dec 23, 2024) =
* Improve: The plugin notices will only display for administrators.
* Update: Our other plugin integration.

= 1.1.0 (Dec 9, 2024) =
* New: Cancel and return request approved/rejected email notifications to the customers.
* New: Cancel and return request approved/rejected email settings.
* Improve: CSS and code optimized.

= 1.0.7 (Dec 3, 2024) =
* Improve: Code optimized.

= 1.0.6 (Nov 1, 2024) =
* Improve: Code optimized.
* Fix: Minor typos.

= 1.0.5 (Oct 25, 2024) =
* Improve: Changed some texts.
* Fix: Default settings for first time activation.

= 1.0.4 (Sep 18, 2024) =
* Fix: PHP Fatal error.

= 1.0.3 (Sep 11, 2024) =
* Improve: Optimize for the time of loading the thank-you page.
* Improve: Core improving.

= 1.0.2 (Jul 22, 2024) =
* Improve: Disable the cancellation and return requested email if the options are disable.
* Improve: Minor improving.

= 1.0.1 (Jul 10, 2024) =
* New: Added the approval for cancellation.
* New: Added option to enable/disable for cancellation and return approval.
* New: Added the timer option for the cancellation and return request.
* Improve: Core improving.

= 1.0.0 =
* Initial release with core features.