> ## 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.

# Track Hub

> Branded order tracking page, shipment timeline, shipping notifications and exception alerts

# Track Hub

An AfterShip-style tracking experience on your own domain, fed by whatever
puts tracking on your orders — a carrier app or a tracking number you type in.

## For merchants

* **Tracking page** at `/apps/track-hub/track` on your storefront: lookup by
  tracking number, or by order number + email; signed-in shoppers see all
  their shipments. Progress bar, estimated delivery, every carrier scan, the
  items in the parcel, a link to the carrier, and product recommendations.
* **Branding**: title, intro, logo, accent colour, footer note.
* **Notifications**: shipped, out for delivery, delivered, delivery problem
  and running-late emails; the same by SMS through your own Twilio account.
  Each is sent once per shipment. You get an alert on problems and stalls.
* **Estimated delivery**: the carrier's estimate when it sends one, otherwise
  your transit days (default, or per carrier), business days optional.
* **Exceptions**: parcels with no carrier update for N days are flagged as
  stalled and the shopper gets a delay note; late and failed deliveries are
  highlighted in the dashboard.
* **Blocks**: shipment status on the thank-you page, the order-status page and
  the shopper's account pages.
* **Admin**: shipments dashboard (in transit, needs attention, on-time rate,
  transit days, carriers) and a per-order panel to add a tracking number, log
  a carrier event by hand or resend a notification.

## For developers

| Contract | Used for |
| - | - |
| [App Proxy](https://docs.launchmystore.io/extensions/app-proxy.md) | The tracking page, its calls, and the blocks (signed `logged_in_customer_id`) |
| [Fulfillments API](https://docs.launchmystore.io/api-reference/fulfillments/update.md) — `shipment_status`, `events[]`, `estimated_delivery_at` | The timeline the page renders; the app also writes to it (add tracking, log an event) |
| [Orders API](https://docs.launchmystore.io/api-reference/orders/get.md) `fulfillments[]` | Every shipment on an order, including hand-typed tracking |
| [Webhooks](https://docs.launchmystore.io/api-reference/webhooks/topics.md) `fulfillments/create`, `fulfillments/update`, `orders/updated`, `orders/fulfilled` | Drive the notifications; verified by HMAC, deduplicated by `X-LMS-Webhook-Id` |
| [Checkout UI](https://docs.launchmystore.io/extensions/checkout-ui.md) `purchase.thank-you.block.render`, `purchase.order-status.block.render` | Thank-you / order-status blocks (receive `orderId`) |
| [Customer-account blocks](https://docs.launchmystore.io/extensions/customer-account.md) | Order page and order list |
| [Admin blocks](https://docs.launchmystore.io/extensions/admin-blocks.md) | Settings, order panel, dashboard |
| [Products API](https://docs.launchmystore.io/api-reference/products/list.md) | Recommendations |
| [Metafields](https://docs.launchmystore.io/api-reference/metafields/list.md) (`shop`, `order`) + app data | Settings; per-shipment notification ledger; tracking-number index |
| [Transactional email](https://docs.launchmystore.io/api-reference/email-templates/send.md) | All shopper and merchant emails |

Carrier apps feed the same timeline: a `PUT /api/v1/fulfillments/:id.json`
with `shipment_status` (and optionally `events[]`) is all it takes for a
shipment to appear correctly on the tracking page and trigger the right
notification.


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