Feature #11561
openFeature #11355: Cancellation process for online orders
Implement the complete order cancellation and refund workflow, including customer notifications, warehouse operations, admin updates, and storefront changes.
100%
Description
Cancellation Workflow: Implement automatic cancellation, staff approval/rejection, cancellation reasons, and cancellation-stage tracking.
Customer Emails: Implement six email notifications for item cancellation, request received, request declined, refund started, refund sent, and refund failed.
Stripe Refunds: Integrate refund processing and webhook handling with duplicate-event prevention.
Warehouse Alerts: Implement Order_Line_Cancelled alerts for warehouse staff at request, cancellation, and rejection.
Warehouse Operations: Handle held items, packing restrictions, task updates, shipping-label voiding, and return-to-shelf workflows.
Admin Updates: Add the Cancellations & Refunds tab, cancellation/refund details, order badges, and cancellation-stage history.
Storefront Updates: Add cancellation-policy help text and consistent cancellation/refund wording.
Bug Fix: Fix the variable declaration issue in warehousePackNotify.service.js.
Testing: Add unit tests and verify cancellation, refunds, notifications, and warehouse workflows.
Subtasks
Related issues
Updated by Pavan Kumar Murala 5 days ago
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100
- Added six transactional emails for cancellations and refunds, with duplicate-send prevention, event tracking, and failure handling that never blocks the cancellation or refund process.
- Integrated refund success and failure notifications through Stripe webhooks and clarified the roles of `base.mail.js` and `notifyUsers.js`.
- Added cancellation alerts for Pickers, Packers, Droppers, and Managers, with clear “On Hold” and “Cancelled: Do Not Ship” banners on warehouse order pages.
- Fixed packing workflows to skip held or cancelled items, allowing the remaining order to proceed without interruption.
- Automatically closed completed floor tasks, voided shipping labels covering only cancelled items, and introduced return-to-shelf tasks with dashboard panels.
- Improved cancellation queues and approval dialogs by displaying each item's warehouse, current stage, and required action.
- Fixed stale-order errors through live order validation and safe retries, improved diagnostic logging, and corrected misleading pending-request messages.
- Simplified cancellation and refund messaging, added dismissible error banners and quick-select blocking reasons, and cleaned up refund forms and request history.
- Added a Cancellations & Refunds tab to Customer Details, Cancelled and Refunded order badges, and refund summary cards to the Sales and main Dashboards, respecting the selected date filter.
- Identified six outstanding warehouse security and workflow issues involving role validation, tracking numbers, skippable steps, search safety, atomic packing, and mock Picker data.
- Identified the default-warehouse fallback causing incorrect warehouse assignments; awaiting a decision between an Unassigned queue and a flagged default warehouse.
- Reduced repeated `access` calls and added diagnostic logging to help identify the underlying trigger.