Delivery Scheduling: Multi-Region Product Availability & Conflict Handling

Delivery scheduling on AmazonFresh is key to displaying the right products for customers for their location and delivery time. So how do we avoid potential conflicts in the first place and manage conflicts when they arise?

Product availability on AmazonFresh is dependent on location and delivery time, and delivery scheduling is key to displaying the right products for customers. So how do we avoid potential conflicts in the first place and manage conflicts when they arise?

1) Set customer expectations correctly. 
2) Minimize potential conflicts.
3) Give the customer control when conflicts do arise. 

Given that location and delivery time are critical to displaying the right products, why not force customers to select these before spending the time shopping? Because all customers are not the same, and because conditions may change during the course of shopping. 

Customer testing shows that they are either more: 
• Time-sensitive: "I need salmon for my dinner tonight." 
• Product-sensitive: "I need Pike Place Market salmon and can wait until this weekend."

So this means that some will lock in their delivery time first, and some will shop first and then schedule delivery for when everything is available.

Location is most basic element needed to display products. If the customer is not logged into their account, we detect their IP address. Once logged in, we do everything to steer the customer to select their delivery address and, ideally, choose a delivery time.

Location and delivery time selection are built into and prompted across the global UI: navigation, cart, checkout, etc: