[
{"name": "a small parcel in the first band", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 800}, {"minor": 2000, "currency": "GBP"}, "2026-03-01"], "expect": {"service": "standard", "zone": "UK", "chargeableGrams": 800, "bandMaxGrams": 2000, "standardPrice": {"minor": 395, "currency": "GBP"}, "price": {"minor": 395, "currency": "GBP"}, "free": false}},
{"name": "free delivery at exactly the threshold", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 800}, {"minor": 5000, "currency": "GBP"}, "2026-03-01"], "expect": {"service": "standard", "zone": "UK", "chargeableGrams": 800, "bandMaxGrams": 2000, "standardPrice": {"minor": 395, "currency": "GBP"}, "price": {"minor": 0, "currency": "GBP"}, "free": true}},
{"name": "one penny under the threshold pays", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 800}, {"minor": 4999, "currency": "GBP"}, "2026-03-01"], "expect": {"service": "standard", "zone": "UK", "chargeableGrams": 800, "bandMaxGrams": 2000, "standardPrice": {"minor": 395, "currency": "GBP"}, "price": {"minor": 395, "currency": "GBP"}, "free": false}},
{"name": "exactly the band's maximum weight fits", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 2000}, {"minor": 0, "currency": "GBP"}, "2026-03-01"], "expect": {"service": "standard", "zone": "UK", "chargeableGrams": 2000, "bandMaxGrams": 2000, "standardPrice": {"minor": 395, "currency": "GBP"}, "price": {"minor": 395, "currency": "GBP"}, "free": false}},
{"name": "too heavy for the first band moves up, rounded to the half kilo", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 2300}, {"minor": 0, "currency": "GBP"}, "2026-03-01"], "expect": {"service": "standard", "zone": "UK", "chargeableGrams": 2500, "bandMaxGrams": 10000, "standardPrice": {"minor": 695, "currency": "GBP"}, "price": {"minor": 695, "currency": "GBP"}, "free": false}},
{"name": "too long for the first band: charged on volume in the next", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 600, "widthMm": 100, "heightMm": 100, "actualGrams": 800}, {"minor": 0, "currency": "GBP"}, "2026-03-01"], "expect": {"service": "standard", "zone": "UK", "chargeableGrams": 1500, "bandMaxGrams": 10000, "standardPrice": {"minor": 695, "currency": "GBP"}, "price": {"minor": 695, "currency": "GBP"}, "free": false}},
{"name": "a bulky light parcel is charged on 24 kg volumetric and is never free", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 800, "widthMm": 500, "heightMm": 300, "actualGrams": 3000}, {"minor": 10000, "currency": "GBP"}, "2026-03-01"], "expect": {"service": "standard", "zone": "UK", "chargeableGrams": 24000, "bandMaxGrams": 30000, "standardPrice": {"minor": 1295, "currency": "GBP"}, "price": {"minor": 1295, "currency": "GBP"}, "free": false}},
{"name": "express has its own band", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "express", "UK", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 800}, {"minor": 10000, "currency": "GBP"}, "2026-03-01"], "expect": {"service": "express", "zone": "UK", "chargeableGrams": 1500, "bandMaxGrams": 10000, "standardPrice": {"minor": 995, "currency": "GBP"}, "price": {"minor": 995, "currency": "GBP"}, "free": false}},
{"name": "another zone has its own price", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "EU", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 800}, {"minor": 10000, "currency": "GBP"}, "2026-03-01"], "expect": {"service": "standard", "zone": "EU", "chargeableGrams": 800, "bandMaxGrams": 2000, "standardPrice": {"minor": 995, "currency": "GBP"}, "price": {"minor": 995, "currency": "GBP"}, "free": false}},
{"name": "last year's rate card, with its lower threshold", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 800}, {"minor": 4000, "currency": "GBP"}, "2025-06-01"], "expect": {"service": "standard", "zone": "UK", "chargeableGrams": 800, "bandMaxGrams": 2000, "standardPrice": {"minor": 350, "currency": "GBP"}, "price": {"minor": 0, "currency": "GBP"}, "free": true}},
{"name": "the last day of a rate card is inclusive", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 800}, {"minor": 2000, "currency": "GBP"}, "2025-12-31"], "expect": {"service": "standard", "zone": "UK", "chargeableGrams": 800, "bandMaxGrams": 2000, "standardPrice": {"minor": 350, "currency": "GBP"}, "price": {"minor": 350, "currency": "GBP"}, "free": false}},
{"name": "the next day the new card applies", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 800}, {"minor": 2000, "currency": "GBP"}, "2026-01-01"], "expect": {"service": "standard", "zone": "UK", "chargeableGrams": 800, "bandMaxGrams": 2000, "standardPrice": {"minor": 395, "currency": "GBP"}, "price": {"minor": 395, "currency": "GBP"}, "free": false}},
{"name": "the orientation of the parcel does not matter", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 100, "widthMm": 600, "heightMm": 100, "actualGrams": 800}, {"minor": 0, "currency": "GBP"}, "2026-03-01"], "expect": {"service": "standard", "zone": "UK", "chargeableGrams": 1500, "bandMaxGrams": 10000, "standardPrice": {"minor": 695, "currency": "GBP"}, "price": {"minor": 695, "currency": "GBP"}, "free": false}},
{"name": "a zone with no bands is an error", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "US", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 800}, {"minor": 0, "currency": "GBP"}, "2026-03-01"], "expectError": "no shipping band for service \"standard\" to zone \"US\" on 2026-03-01 fits this parcel"},
{"name": "a parcel too heavy for every band is an error", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 40000}, {"minor": 0, "currency": "GBP"}, "2026-03-01"], "expectError": "no shipping band for service \"standard\" to zone \"UK\""},
{"name": "a date before any rate card is an error", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 800}, {"minor": 0, "currency": "GBP"}, "2024-12-31"], "expectError": "no shipping band"},
{"name": "a basket in another currency cannot meet a sterling threshold", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 800}, {"minor": 6000, "currency": "EUR"}, "2026-03-01"], "expectError": "currency mismatch"},
{"name": "a malformed date is an error", "args": [[{"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 395, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 695, "currency": "GBP"}, "freeOver": {"minor": 5000, "currency": "GBP"}, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 30000, "maxLengthMm": 1500, "volumetricDivisor": 5000, "roundUpToGrams": 1000, "price": {"minor": 1295, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "express", "zone": "UK", "maxGrams": 10000, "maxLengthMm": 1000, "volumetricDivisor": 5000, "roundUpToGrams": 500, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "EU", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 995, "currency": "GBP"}, "freeOver": null, "validFrom": "2026-01-01", "validTo": null}, {"service": "standard", "zone": "UK", "maxGrams": 2000, "maxLengthMm": 450, "volumetricDivisor": null, "roundUpToGrams": 1, "price": {"minor": 350, "currency": "GBP"}, "freeOver": {"minor": 4000, "currency": "GBP"}, "validFrom": "2025-01-01", "validTo": "2025-12-31"}], "standard", "UK", {"lengthMm": 300, "widthMm": 200, "heightMm": 100, "actualGrams": 800}, {"minor": 0, "currency": "GBP"}, "1 March 2026"], "expectError": "onDate must be an ISO date (YYYY-MM-DD)"}
]