Pickup, offered and refused. On the same page.
The product page says the shoe is available for pickup today. The customer picks a size, presses the button, and is told the item is not eligible for store pickup.
Where it broke
-
search/facetsEligible: read from a stock export refreshed overnight. -
product/fulfilmentAvailable: read live from the store, without the size. -
cart/eligibilityRefused: read a ship-only flag in the catalogue.
The fix
One eligibility check, by store and by size, that search, the product page and the cart all call. The three answers became one.
A contract test fails the build whenever any two pages would give a customer different answers.