Feature: Add order tracking and shipping status updates

- Add carrier, trackingNumber, and estimatedDeliveryDate fields to Order model
- Update order statuses: PENDING, PAID, PRINTING, PRINTED, SHIPPED, DELIVERED, FAILED
- Add admin UI on order detail page to update tracking information
- Display tracking info on customer account page in order history
- Server action to update order tracking and status

Customers can now see their shipping status and tracking details from
their account page. Admins can update order status and tracking info
from the order detail page.
This commit is contained in:
Andymick
2026-07-18 20:34:19 +01:00
parent f4a80d2a50
commit 440a735b8a
6 changed files with 133 additions and 19 deletions
+7 -1
View File
@@ -218,9 +218,15 @@ model Order {
stripeSessionId String? @unique
email String?
shippingAddress String? // JSON — collected by Stripe Checkout, saved once payment completes
status String @default("PENDING") // PENDING | PAID | FAILED
status String @default("PENDING") // PENDING | PAID | PRINTING | PRINTED | SHIPPED | DELIVERED | FAILED
archived Boolean @default(false)
total Int // cents
// Shipping & tracking info
carrier String? // e.g. "Royal Mail", "DPD", "Courier"
trackingNumber String? // tracking number from carrier
estimatedDeliveryDate DateTime? // estimated delivery date
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt