Shipment notification sent on state transition to shipped
Why it matters
A shipment notification that omits tracking information is worse than no notification at all: it tells the customer the package has left the warehouse but gives them nothing to act on. Without tracking data in the email, the customer must contact support or log in to the account page to find the tracking number — and if they can't find it, the next call is to their credit card company. This is an iso-25010:2011 reliability gap: the email was sent but failed to deliver the information that makes it useful. The tracking number and carrier captured at the 'shipped' transition (see tracking-info) must flow directly into the email template.
Severity rationale
High because a shipment email without tracking data gives customers no ability to monitor delivery, turning every 'where is my order?' contact into a preventable support ticket.
Remediation
Wire the shipment notification into lib/orders/shipping.ts so the tracking data captured at ship time is passed directly to the email in lib/email/order-emails.ts.
// lib/email/order-emails.ts
export async function sendShipmentNotificationEmail(params: {
to: string
orderNumber: string
trackingNumber: string
carrier: string
trackingUrl: string
}) {
await emailService.send({
to: params.to,
subject: `Your order ${params.orderNumber} has shipped`,
template: 'shipment-notification',
data: params,
})
}
// In markOrderShipped() (lib/orders/shipping.ts):
await sendShipmentNotificationEmail({
to: order.user.email,
orderNumber: order.id,
trackingNumber,
carrier,
trackingUrl: `https://yoursite.com/orders/${order.id}/track`,
})
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Order Management Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · reliability — Reliability — fault tolerance / notification delivery
Taxons
History
- 2026-04-18·v1.0.0·Initial import from ecommerce-order-management·automated