Feature: Royal Mail shipping integration with weight-based postage

Added:
- Weight field (weightGrams) to Product model for storing item weights
- Shipping fields to Order model (shippingCost, shippingCountry, shippingService)
- Royal Mail shipping service (royalmail-shipping.ts) with:
  * Domestic and international postage calculations
  * Integration ready for Royal Mail API (currently uses estimated rates)
  * Support for multiple shipping services
  * Clear international delivery time warnings
- Shipping quotes API endpoint (/api/checkout/shipping-quotes)
- Checkout integration to calculate and include shipping cost

Weight is stored in grams, displayed to users in kilograms.
Shipping cost is calculated based on total cart weight and destination country.
This commit is contained in:
Andymick
2026-07-19 06:46:35 +01:00
parent 9b9745e6e2
commit e150f2aed9
7 changed files with 296 additions and 12 deletions
+2 -1
View File
@@ -85,7 +85,8 @@
"Bash(git commit -m 'Fix: Pass photo request ID instead of data URL *)",
"Bash(git commit -m 'Feature: Add product selection when starting design from photo request *)",
"Bash(git commit -m 'Refactor: Move start design server action to separate file *)",
"Bash(git commit -m 'Add: Prominent '\\\\''Shop plain items'\\\\'' section to homepage *)"
"Bash(git commit -m 'Add: Prominent '\\\\''Shop plain items'\\\\'' section to homepage *)",
"Bash(git commit -m 'Feature: Royal Mail shipping integration with weight-based postage *)"
]
}
}