=== BenchMend ===
Tags: repair, customer, management, workflow, business
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 0.8.32
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Manage workshop repairs, customer requests, progress updates, evidence and private customer repair tracking from WordPress.

== Description ==

BenchMend is a repair-management plugin for independent electronics and service workshops. It keeps repair records, customer details, workshop progress and customer communication inside WordPress.

Core features include:

* Repair records with unique workshop references.
* A focused workflow for awaiting devices, repairs in progress, awaiting parts and completed work.
* Customer names, email addresses, phone numbers, device details and repair notes.
* Configurable drop-off appointments and workshop-wide warranty defaults.
* A live, private workshop display for active repairs.
* Private customer repair pages with progress information.
* Branded customer emails sent through the standard WordPress email system.
* Repair timelines and staff activity records.
* Photo and PDF evidence attached to repair records.
* A customer-request form using the `[benchmend_request_form]` shortcode.
* A customer-request inbox with private request links and optional repair linking.
* Business-name, contact, sender, logo and colour settings.
* System-health checks for the workshop configuration.
* Administrator-only CSV exports and structured JSON backups.
* Returning-device detection when a serial number matches earlier repairs.

BenchMend stores its records on your own WordPress installation. It does not require a BenchMend account, licence key or external subscription.

An optional commercial add-on, BenchMend Pro, is available separately from [BenchMend](https://benchmend.com/). Core remains fully functional without Pro, and no Core feature is time-limited or restricted by a usage quota.

== Installation ==

1. Install BenchMend from the WordPress Plugins screen and activate it.
2. Follow the first-run setup wizard to add your workshop details and branding.
3. Open **BenchMend > Add Repair** to create your first repair.
4. To accept customer requests, place `[benchmend_request_form]` on a WordPress page.

== Frequently Asked Questions ==

= Does BenchMend require WooCommerce? =

No. BenchMend Core can manage repairs and customer requests without WooCommerce.

= Does Core require a licence key or subscription? =

No. BenchMend Core has no licence gate, time limit or usage quota.

= Where is workshop data stored? =

Repair and customer-request records are stored in your WordPress database. Uploaded evidence is stored in the WordPress media library.

= Can customers view their repairs without an account? =

Yes. BenchMend can create private, hard-to-guess customer links for individual repairs and requests. These pages are marked noindex and can be regenerated by workshop staff.

= How are customer emails sent? =

BenchMend uses the standard WordPress `wp_mail()` system. Delivery depends on the email configuration of the WordPress site. An SMTP plugin can be used if required.

= Does BenchMend contact external services? =

No. BenchMend Core does not send usage or tracking data to BenchMend or another external service. Customer emails are passed to the WordPress email system configured by the site owner.

= Is a paid add-on required? =

No. BenchMend Pro is an optional, separately installed extension. The features listed on this page are included in Core and do not expire.

== Optional Pro Add-on ==

BenchMend Pro is a separately installed optional add-on for workshops that need repair-report PDFs, warranty documents, customer conversations, parts stock, device passports, analytics and WooCommerce integration. Core remains fully functional without it.

[View BenchMend Pro](https://benchmend.com/product/benchmend-pro/)

== Screenshots ==

1. Workshop dashboard showing repairs grouped by their current status.
2. Repair editor with customer, device, appointment and workflow details.
3. Private customer repair page with live progress information.
4. Customer-request form for logged-in customers and guests.
5. BenchMend settings for workshop details, branding, email identity and warranty defaults.

== Privacy ==

BenchMend is designed to store workshop data locally on the WordPress installation. Depending on how the plugin is used, stored data may include customer names, email addresses, phone numbers, device details, serial numbers, messages and uploaded evidence.

BenchMend Core does not include analytics, advertising or usage tracking and does not transmit plugin-usage data to BenchMend. Customer emails are sent using the site's configured WordPress email system. Site owners are responsible for establishing an appropriate lawful basis, retention policy, access policy and privacy notice for the customer data they collect.

Uninstalling the plugin does not automatically delete repair records or customer data. This protects workshop records from accidental deletion. Site owners should remove data through WordPress or their database-management process when required.

== Changelog ==

= 0.8.32 =

* Redesigned the customer request form with a clearer branded header, improved field spacing and a prominent submission action.
* Improved the signed-in customer request history with status badges and clearer links.
* Refined photo-upload, success, error, keyboard-focus and mobile styles.

= 0.8.31 =

* Removed the customer-portal response output buffer and rendered filtered portal sections directly.

= 0.8.30 =

* Clarified the coding-standard annotation for the read-only request-result notice.

= 0.8.29 =

* Corrected nonce-protected repair redirects after creating or updating a repair.

= 0.8.28 =

* Added nonce verification to the public workshop refresh request.
* Added nonce verification to dedicated repair-management screen links.
* Separated capability, token and nonce checks so each authorization step cannot be bypassed.
* Documented intentionally read-only capability-token routes used by permanent customer and workshop links.

= 0.8.27 =

* Moved evidence metadata sanitization into the nonce-verified repair save handler.
* Removed the remaining Plugin Check nonce-verification warnings.

= 0.8.26 =

* Replaced directly rendered JavaScript and CSS with WordPress enqueue APIs.
* Added dedicated enqueued scripts for admin actions and the workshop display.
* Sanitized nested repair, request and settings inputs immediately on receipt.
* Clarified nonce and capability enforcement across form and upload handlers.

= 0.8.25 =

* Corrected plugin header metadata for WordPress.org submission.

= 0.8.24 =

* Documented intentional read-only request parameters and bounded metadata queries for WordPress coding-standard checks.
* Documented nonce and field-validation paths used by repair evidence and customer-request handlers.

= 0.8.23 =

* Resolved WordPress Plugin Check translation, nonce-output and export warnings.

= 0.8.22 =

* Removed the BenchMend credit from the public workshop-display footer.
* Improved source readability for WordPress.org review.

= 0.8.21 =

* Added returning-device detection to the Add Repair screen.
* Entering a previously recorded serial number now shows matching repair history and a direct link to each repair.
* Displays warranty status when a published BenchMend Pro report provides warranty information.

= 0.8.20 =

* Added administrator-only CSV exports for repairs and customer requests.
* Added optional date and status filters for spreadsheet exports.
* Added a structured JSON backup containing BenchMend records, metadata, timelines, settings and evidence-file references.
* Added spreadsheet-formula protection for customer-supplied CSV values.
* Backup downloads do not alter or restore live workshop data.

= 0.8.19 =

* Added secure customer replies from the private request page.
* Combined workshop and customer messages into a two-way conversation history.
* Added workshop email notifications when a customer replies.
* Closed requests return to an active request status when the customer responds.

= 0.8.18 =

* Fixed customer request email links so relative request paths are converted to complete website URLs.
* Existing requests automatically use the corrected full-domain link when a new reply is sent.

= 0.8.17 =

* Added direct email replies to the dedicated Customer Request screen.
* Added a saved reply history, delivery status, and optional close-after-send action.
* Customers can see successfully delivered workshop replies through their private request link.

= 0.8.16 =

* Corrected Customer Requests admin routing and aligned its permissions with the main BenchMend menu.

= 0.8.15 =

* Replaced the default WordPress Customer Requests list with a dedicated workshop inbox.
* Added request search, status summaries, filters and responsive request rows.
* Added a structured request view with customer details, attachments, internal notes, repair linking and one-click repair creation.

= 0.8.14 =

* Replaced the default WordPress new-post screen with a dedicated branded New Repair form.
* Creates the repair reference and private portal link automatically, then opens the new repair overview.
* Keeps the full WordPress editor available separately for advanced editing of existing repairs.

= 0.8.13 =

* Added a dedicated branded repair overview instead of opening repairs directly in the default WordPress editor.
* Added arrival, status, cancellation, evidence, communication, timeline, portal and internal-note controls to the overview.
* Kept the full WordPress repair editor available through a clear Edit Repair action.

= 0.8.12 =

* Replaced the default WordPress repair list with a dedicated BenchMend repairs screen.
* Added repair search, status and source filters, summary counts, status badges and responsive repair cards.
* Added the configured workshop logo to BenchMend administration page headers.

= 0.8.11 =

* Added a first-run setup wizard for workshop details, branding, email identity and repair defaults.
* Opens only after a fresh activation and does not interrupt normal plugin updates.
* Added a Settings link for running the setup wizard again at any time.

= 0.8.10 =

* Added a restrained optional Pro add-on card to the BenchMend Settings page.
* Shows a simple active confirmation instead of a promotion when Pro is installed.

= 0.8.9 =

* Added retained cancellation records for local repairs.
* Added a protected Cancel Repair action and a permanent Cancelled status.
* Added a cancellation event for stock and commerce integrations.

= 0.8.8 =

* Corrected Plugin Check output-escaping errors in dashboards, previews and request details.
* Replaced direct public stylesheet tags with the WordPress enqueue system.
* Removed obsolete manual translation loading and language-directory metadata.

= 0.8.7 =

* Prepared Core for submission to the WordPress.org Plugin Directory.
* Added complete GPL licence metadata and translation loading.
* Removed the default public-facing BenchMend credit.
* Replaced the test-build readme with public installation, FAQ and privacy documentation.

= 0.8.6 =

* Added a workshop-wide default repair warranty setting.
* Existing installations retain the three-month default unless changed.

= 0.8.5 =

* Rebuilt customer emails with a shared table-based template for Classic Outlook compatibility.
* Added explicit logo dimensions and email-safe buttons, backgrounds and spacing.

= 0.8.4 =

* Added configurable sender name, sending address and reply-to address.
* Replaced the default WordPress sender identity on Core customer emails.

= 0.8.3 =

* Added a business logo selector with media-library preview and removal.
* Falls back to the WordPress Site Logo when no BenchMend-specific logo is selected.
* Added workshop branding to customer emails and repair portals.

= 0.8.2 =

* Corrected the Customer Requests unread count to use a compact WordPress menu badge.

= 0.8.1 =

* Added optional customer-request photo uploads for device identification and visible damage.
* Accepts up to five validated JPG, PNG or WebP images with a 10 MB per-file limit.
* Added request-image previews for workshop staff and private customer request pages.

= 0.8.0 =

* Added customer and guest repair-request intake, an admin request inbox, acknowledgements and private request pages.

= 0.7.0 =

* Added a secure repair-creation interface for compatible extensions.

= 0.6.0 =

* Added repair timelines, staff attribution and repair evidence.

= 0.5.0 =

* Added repair-owned photo, PDF and evidence uploads.

= 0.4.0 =

* Added private customer repair pages and workshop-managed access links.

= 0.3.0 =

* Added branded customer emails and repair communication history.

= 0.2.0 =

* Added the live workshop dashboard and private workshop display.

= 0.1.0 =

* Initial BenchMend Core release.

== Upgrade Notice ==

= 0.8.32 =

Introduces the redesigned customer request form and request-history presentation.

= 0.8.31 =

Resolves the unclosed output-buffer finding from the WordPress.org review.

= 0.8.30 =

Final Plugin Check annotation cleanup for the WordPress.org review build.

= 0.8.29 =

Fixes repair-management links after the WordPress.org security hardening update.

= 0.8.28 =

Security hardening requested during the WordPress.org manual review.

= 0.8.27 =

Final security-check cleanup for evidence metadata processing.

= 0.8.26 =

WordPress.org review corrections for enqueued assets, request verification and input sanitization.

= 0.8.25 =

Corrects WordPress.org plugin and author URI validation.

= 0.8.24 =

Final WordPress.org code-review documentation cleanup.

= 0.8.23 =

WordPress.org Plugin Check compatibility improvements.

= 0.8.22 =

WordPress.org submission preparation and source-readability improvements.

= 0.8.21 =

Adds automatic returning-device detection when creating repairs.

= 0.8.20 =

Adds secure CSV exports and a structured JSON backup for workshop records.

= 0.8.19 =

Adds two-way customer replies to Customer Requests.

= 0.8.18 =

Fixes the View Your Request link in customer emails.

= 0.8.17 =

Adds direct customer replies and reply history to Customer Requests.

= 0.8.16 =

Corrects access to the Customer Requests inbox and individual request screens.

= 0.8.15 =

Adds the dedicated Customer Requests inbox and request-management screen.

= 0.8.14 =

Adds the dedicated BenchMend New Repair screen.

= 0.8.13 =

Adds the new BenchMend repair overview and routes repair links to it.

= 0.8.12 =

Adds the dedicated BenchMend repairs manager with search, filters, status summaries and a responsive record list.

= 0.8.10 =

Adds an unobtrusive link to the optional Pro add-on from BenchMend's own Settings page.

= 0.8.9 =

Adds a safe cancellation workflow while preserving existing repair history.

= 0.8.8 =

WordPress.org compliance corrections for generated output and public stylesheets.

= 0.8.7 =

Directory-submission preparation and documentation improvements. Existing workshop records and settings are preserved.
