March Guard
TH March Insurance for WooCommerce lets jewelry and watch retailers sell real, underwritten insurance at the point of purchase, issuing a live MarchGuard policy automatically the moment an order is processed.

Project Details
Client
T.H. March & Co. Limited
Industry
Insurance / WooCommerce E-Commerce
Year
2026
Duration
Ongoing
Technologies
Detailed Project Overview
TH March Insurance for WooCommerce (v1.0.3) is a WordPress/WooCommerce plugin that sells jewelry and watch insurance, branded March Guard, from T.H. March & Co. Limited as an add-on at the point of purchase. A customer picks a term, consents to the policy documents, pays for it as part of the order, and the plugin automatically issues a real insurance policy via the MarchGuard XML API once the order is processed.
The Challenge
Jewelry and watch retailers had no way to offer point-of-sale insurance without sending customers to a separate underwriter and losing the sale in the process. Verifying eligibility (item value, UK residency, product category), calculating premiums, and issuing a real policy for every order isn't something a storefront can do safely without a dedicated integration.
Our Solution
We built a 7-module plugin architecture: an XML API client driving MarchGuard's 4-step get_quote to finalize_quote to accept_quote to get_certificate flow, a validator enforcing item value, UK postcode/country, and term rules, a product-page widget with a term picker, consent flow, and T&Cs modal, and an order handler that automatically issues the underlying policy as soon as the order reaches processing or completed.
Platform Blueprint Implementations
Product Page Insurance Widget
Insurance selection happens once, directly on the product page, not buried in checkout. Eligible jewelry and watch items show a collapsible insurance card the moment they qualify.
Platform Threat Challenge
Insurance add-ons bolted onto checkout get ignored or feel like a bait-and-switch, and customers need to review policy terms before committing to a taxable line item.
Our Implementation
class-thmarch-checkout.php renders a collapsible widget with a 1yr/3yr term picker, a consent checkbox, and a full T&Cs modal. The selection travels with the add-to-cart submission into the WC session and cart item, and is re-validated at checkout with a 24-hour consent expiry.
Platform Specs
- Collapsible Insurance Card UI
- Consent Checkbox + T&Cs Modal
- Cart/Session Persistence (thmarch_insured_products)
- Server-Side Premium Recalculation
Shield Data Flow
Eligibility Check
get_quote confirms the item qualifies; cached 1hr eligible / 15min ineligible.
Term & Consent
Customer picks a 1 or 3-year term and accepts the policy terms.
Cart Attachment
Selection is stored on the cart item and WC session, shown as a taxable fee.
Live Policy Activity Console
Key Features & Technical Implementations
MarchGuard XML API Integration
A dedicated client drives the full get_quote to finalize_quote to accept_quote to get_certificate flow, so every policy sold is a real, underwritten product.
Product-Page Insurance Widget
A collapsible card on the product page itself offers a 1yr/3yr term picker, consent checkbox, and full T&Cs modal, the sole selection point since v1.0.2.
Dedicated Policy & Log Tables
Custom thmarch_policies and thmarch_api_logs tables track every issued policy and API call, with a success-rate view in the admin.
HPOS-Compatible Order Handling
Hooks into WooCommerce order status changes for both the legacy post-based orders table and High-Performance Order Storage.
Server-Side Eligibility & Pricing
UK-only residency, a £50 to £1,000,000 item value range, and 1 or 3-year terms are enforced server-side, premiums are never trusted from the client.
Admin Tools & Reporting
Dedicated Settings, Logs, and Policies admin screens, plus an Insurance status column added to the WooCommerce orders list.
Key Results
Business Impact & ROI Analysis
By moving insurance selection onto the product page and automating policy issuance through the order lifecycle, jewelry and watch retailers can offer real, underwritten coverage without manual underwriting work, extra checkout friction, or added admin overhead, turning what used to require a separate purchase flow into a recurring revenue line at checkout.
Services Provided
“March Guard let us offer real, underwritten protection on every watch and jewelry sale without sending customers anywhere else to buy it, and the whole quote-to-certificate flow just runs in the background.”
Frequently Asked Questions
Who is eligible to buy insurance through this plugin?
Only UK residents, and only on jewelry or watch items valued between £50 and £1,000,000. Free gifts, accessories, and any product already tagged, SKU’d, or categorized as an insurance product itself are excluded.
Where does the customer choose their insurance term?
Entirely on the product page. As of v1.0.2/1.0.3, the collapsible insurance widget, with its 1 or 3-year term picker, consent checkbox, and T&Cs modal, is the sole selection point; it is no longer part of the checkout flow.
Is the premium ever trusted from the browser?
No. The premium is recalculated server-side from the authoritative order quantity and price every time, both when the item is added to cart and again at checkout, so a tampered client value can never change what the customer is actually charged.
What happens if the MarchGuard API is temporarily unavailable?
The quote endpoint falls back to a local pricing formula so shoppers still see an estimated premium, and eligibility results are cached (1 hour for eligible items, 15 minutes for ineligible ones) to reduce live API calls.
Does a failed policy issuance block the order?
No. If MarchGuard can’t issue the policy when an order moves to processing or completed, the failure is logged to the API logs and noted on the order for follow-up, but the order itself is never blocked or cancelled.