Skip to content

Support of Store Pickup for Multi Source Inventory

Igor Miniailo edited this page Dec 12, 2018 · 25 revisions

How does Store Pickup work from a Customer point of view

Customer places an order and waits to receive a "Ready for pickup" e-mail. (This is a separate e-mail from the order confirmation.) Bring his ID, credit card, and order number to the store and pick up the ordered items.

At the time when the order is being placed on the "Shipping" step, we introduce an ability to choose "Store Pickup" out of allowed shipping methods.

We apply an assumption that each order should be fulfilled just from the only pickup location (which is considered as shipping address).

**Note: if some need to specify different pickup locations per cart item(-s), internally that could lead to functionality similar to Multi-Shipping (or integration with Multi-Shipping) when several orders created, for each corresponding pickup location.

In MVP functionality it's proposed to avoid integration with Multi-Shipping and provide an ability to choose a single Store Pickup location from Drop-Down box:

When Customer chooses pickup location Magento as before creates reservations for global stock (not to specific Source).

**Note: Maybe makes sense to add extension attribute to Order object and specify Source which should be used to fulfill the order OR we can detect the Source checking whether Shipping address matches the addresses of our Sources.

**Note: If there are not enough Qty on specified Source to fulfill the Order, an internal transportation from other sources should be made to the selected one. Say, our "Salable Quantity" on "Custom Stock" is 10 for SKU-1. "Custom Stock" consists of three sources:

  • Source A, which contains 5 items of SKU-1
  • Source B, which contains 4 items of SKU-1
  • Source C, which contains 1 item of SKU-1

Altogether it gives us 5 + 4 + 1 = 10 If Customer has ordered 8 items of SKU-1 and chosen "Source A" for Store Pickup:

  • the system will create Reservation for -8 for SKU-1 on "Custom Stock" (not Source A)
  • merchant has to move 3 items of SKU-1 from Source B -> Source A to fulfill the order
  • when required 3 items are moved to Source A (so, the order is fulfillable) merchant initiate delivery of "Ready for pickup" e-mail, which notifies Customer that he can come to the store to grab all ordered items.

MSI Documentation:

  1. Technical Vision. Catalog Inventory
  2. Installation Guide
  3. List of Inventory APIs and their legacy analogs
  4. MSI Roadmap
  5. Known Issues in Order Lifecycle
  6. MSI User Guide
  7. DevDocs Documentation
  8. User Stories
  9. User Scenarios:
  10. Technical Designs:
  11. Admin UI
  12. MFTF Extension Tests
  13. Weekly MSI Demos
  14. Tutorials
Clone this wiki locally