> ## Documentation Index
> Fetch the complete documentation index at: https://docs.launchmystore.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Parcel Guard

> Shipping protection you insure yourself: shoppers add a small fee at cart or checkout, you keep it, and claims are filed, approved and paid in minutes

# Parcel Guard

Shipping protection against loss, theft and damage in transit, on the
self-insured model: the shopper pays a small fee, you keep all of it, and you
pay the claims you approve. Comparable to Navidium.

## For merchants

* **The offer**: a *Shipping protection* toggle priced as a percent of the
  cart (with a minimum, a maximum and a rounding step) or as a fixed fee. It
  can be added automatically, and shoppers can always switch it off. You can
  also show it only on carts over an amount.
* **Where shoppers see it**:
  * on the cart page and in the cart drawer, once you turn on **App embeds →
    Parcel Guard cart widget** in the theme editor;
  * at checkout, directly above the pay button, on every screen size.
* **How it is charged**: the fee is a real, unlisted product with one variant
  per price tier. It shows as a normal line in the cart, at checkout and on the
  order, with no tax and no shipping weight. When the cart grows, the line
  moves up to the right tier. The app creates and updates this product for you.
* **Checks at order time**: an order is refused if the protection line does
  not match the cart. That covers a tier that is too cheap for the cart, two
  protection lines, or protection with nothing else in the cart.
* **Fulfilment**: when you ship the goods, the protection line is marked
  fulfilled automatically, so the order does not stay partially fulfilled.
* **Claims portal** at `/apps/parcel-guard/claim`, also linked from the order
  page in the customer account:
  * signed-in shoppers pick one of their protected orders; guests look an order
    up by order number and email;
  * the shopper says what happened (lost, damaged, stolen after delivery,
    wrong item), picks the items and quantities, adds photos, and chooses a
    refund, a replacement or store credit.
* **Your rules**: claim window after delivery, which claim reasons and
  resolutions you offer, when a photo is required, and a yearly limit per
  customer.
* **Automatic approval**: claims up to a value you set, optionally for a
  customer's first claim only, are approved and paid out immediately. Every
  other claim waits for you.
* **Paying out**: a refund to the original payment (or recorded as paid by
  you), a free replacement order, or store credit issued as a gift card.
* **In the admin**:
  * the app home has a dashboard (attach rate, fees collected, claims paid,
    net, last six months) and all settings;
  * the Orders page shows a claims queue;
  * each order has a *Shipping protection* panel with its claims and photos,
    where you approve, deny with a note, or resolve. You can also file a
    claim for a customer who phoned in.
* **Emails**: the shopper is emailed when a claim is received, approved,
  denied or paid out, and you are alerted to each new claim.

Dashboard amounts are in your store currency, whatever currency the shopper
paid in.

## For developers

| Contract | Used for |
| - | - |
| [Theme app embed](https://docs.launchmystore.io/extensions/storefront-embeds.md) | The cart widget. It reads `/cart.js` and keeps the protection line in step with `/cart/add.js` and `/cart/change.js`, using the numeric variant ids the theme cart speaks. It re-syncs after the theme changes the cart through `fetch` or `XMLHttpRequest`. |
| [Checkout UI extension](https://docs.launchmystore.io/extensions/checkout-ui.md) at `purchase.checkout.actions.render-before` | The checkout toggle. Reads `CART_GET`, `COST_GET` and `CURRENCY_GET`, and adds, re-tiers or removes the line with `CART_LINES_CHANGE`. |
| [`order_validation`](https://docs.launchmystore.io/functions/order-validation) | Refuses an order whose protection line does not match its cart. |
| [Products API](https://docs.launchmystore.io/api-reference/products/create.md) | The unlisted tier product (`status: draft`, `taxable: false`), created on install and whenever the pricing changes. Earlier tier sets stay recognised, so carts that already hold them keep working. |
| [`orders/create`](https://docs.launchmystore.io/api-reference/webhooks/topics) | Records the policy (fee, covered lines) on the order and updates the monthly stats. |
| [`fulfillments/create`](https://docs.launchmystore.io/api-reference/webhooks/topics) | Fulfils the protection line once the goods ship. The app ignores its own fulfilment and fulfils each order once. |
| [`orders/cancelled`](https://docs.launchmystore.io/api-reference/webhooks/topics) | Voids the policy. |
| [App Proxy](https://docs.launchmystore.io/extensions/app-proxy.md) | The claims portal, its signed API calls and photo upload, the cart widget's quote, and the customer-account block. |
| [Customer account extension](https://docs.launchmystore.io/extensions/customer-account.md) at `customer-account.order-status.block.render` | "Protected" status and the claim link on the order page. |
| [Admin extensions](https://docs.launchmystore.io/extensions/admin-blocks.md) | The order panel (`admin.order-details.block.render`) and the claims queue (`admin.order-list.render`). |
| [Refunds](https://docs.launchmystore.io/api-reference/orders/refund.md), [Gift cards](https://docs.launchmystore.io/api-reference/gift-cards/create.md), [Orders](https://docs.launchmystore.io/api-reference/orders/create.md) APIs | Paying a claim out as a refund, store credit or a replacement order. |
| [Transactional email](https://docs.launchmystore.io/api-reference/email-templates/send.md) | Shopper and merchant claim emails. |
| [Metafields](https://docs.launchmystore.io/api-reference/metafields/list.md) (`shop`, `order`) + app data | Settings; the policy and claims on each order; the claim index, photos and stats. |

Scopes: `read_products`, `write_products`, `read_orders`, `write_orders`,
`read_customers`, `read_metafields`, `write_metafields`, `send_emails`,
`read_gift_cards`, `write_gift_cards`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.