SlideShare ist ein Scribd-Unternehmen logo
1 von 26
© 2017 Magento, Inc. Page | 1
API Design
Best practices
Igor Miniailo
Magento 2 Architect
© 2017 Magento, Inc. Page | 2
© 2017 Magento, Inc. Page | 3
MSI is designed to enable stock management in multiple
locations so that merchants can properly reflect their physical
warehouses in Magento system without external extensions or
customization
Multi-Source Inventory (MSI)
© 2017 Magento, Inc. Page | 4
Split the inventory
between the
sources within one
Magento installation
© 2017 Magento, Inc. Page | 5
Replace current CatalogInventory with MSI
© 2017 Magento, Inc. Page | 6
https://github.com/magento-engcom/msi/wiki/MSI-Roadmap
© 2017 Magento, Inc. Page | 7
MVP MSI Business Values for Merchants
• Management of all physical locations (Sources) and
products stored there (SourceItems)
– As a merchant, I want Magento to provide an ability to manage all
physical Sources where the products are stored. To get an
understanding of the Stock level on each of them.
• Improve Checkout Performance (even for Single Stock
merchants)
– As a merchant, I want to eliminate excessive database locks and
Inventory consistency validation during checkout process which lead to
performance degradation when there is a high checkout concurrency
rate. So that, Reservation mechanism introduced which supports
Asynchronous Inventory Deduction.
© 2017 Magento, Inc. Page | 8
MVP MSI Business Values for Merchants
• Import/Export Stock data
– As a merchant, I want new Import/Export process for Inventory to be
introduced to speed up integration with an external ERP system.
• Drop Shipping support
– As a merchant, I want to have an ability to setup external Source to be
used for Drop shipping.
• Stock Control / Low Stock Reports
– As a merchant, I want Magento to support Stock Control on all the
physical locations (Sources) and notify me when products on some
location are running out.
• No additional complication for Single Stock Merchants
– As a Merchant who is satisfied with Magento Single Stock, I want no
added complexity for UI and Stock management. The user experience
for Single Stock usage should be preserved.
© 2017 Magento, Inc. Page | 9
Base Concept
© 2017 Magento, Inc. Page | 10
• Unload the process of placing an order as much as possible
• Remove unnecessary locks (get rid of race condition between
concurrent transactions)
• Improve the scalability of the checkout (shipping algorithms)
Checkout Action Points/Goals
© 2017 Magento, Inc. Page | 11
LSD
* Load – Save – Delete
© 2017 Magento, Inc. Page | 12
Reservation - the entity is used when the order is placed and
we need to reserve some product quantity in stock.
Reservations are append only operations and help us to prevent
blocking operations and race conditions at the time of checkout.
Reservation mechanism
https://github.com/magento-engcom/msi/wiki/Reservations
© 2017 Magento, Inc. Page | 13
Order Placement – Step 1
France Warehouse
SKU-1: 5qty
EU Stock
SKU-1: 15qty
Italy Warehouse
SKU-1: 10qty
Raw data Index Reservations
No records
Available Qty: 15qty (data from index, empty reservations)
© 2017 Magento, Inc. Page | 14
Order Placement – Step 2
Action: Customer buys 5 products on frontend
© 2017 Magento, Inc. Page | 15
Order Placement – Step 3
France Warehouse
SKU-1: 5qty
EU Stock
SKU-1: 15qty
Italy Warehouse
SKU-1: 10qty
Raw data Index Reservations
SKU-1: -5
Available Qty: 10qty (data from index 15, apply all reservations -5)
Data is NOT changed Reservation has been
added
© 2017 Magento, Inc. Page | 16
Order Placement – Step 4
Action: Admin makes a re-order 3 products out of 5 returned,
and new order consists of 2 products
© 2017 Magento, Inc. Page | 17
Order Placement – Step 5
France Warehouse
SKU-1: 5qty
EU Stock
SKU-1: 15qty
Italy Warehouse
SKU-1: 10qty
Raw data Index Reservations
SKU-1: -5
SKU-1: +3
Available Qty: 13qty (data from index 15, apply reservations -5+3)
Data is NOT changed
Reservation has been added
© 2017 Magento, Inc. Page | 18
Order Placement – Step 6
Action: Admin completes order. Re-index was run.
© 2017 Magento, Inc. Page | 19
Order Placement – Step 7
France Warehouse
SKU-1: 3qty
EU Stock
SKU-1: 13qty
Italy Warehouse
SKU-1: 10qty
Raw data Index Reservations
SKU-1: -5
SKU-1: +3
SKU-1: +2
Available Qty: 13qty (data from index 13, apply reservations -5+3+2=0)
Data is CHANGED Compensation Reservation
has been added
© 2017 Magento, Inc. Page | 20
Order Placement – Step 8
Action: Reservation cleaning
Looping through these reservations we could find reservations
which in sum gives 0 (Zero) and remove them.
© 2017 Magento, Inc. Page | 21
Order Placement – Step 9 (like Step 1)
France Warehouse
SKU-1: 3qty
EU Stock
SKU-1: 13qty
Italy Warehouse
SKU-1: 10qty
Raw data Index Reservations
Available Qty: 13qty (data from index, empty reservations)
Data is NOT changed Reservations have been removed
No records
© 2017 Magento, Inc. Page | 22
Kanban board and Wiki are on the GitHub
.
© 2017 Magento, Inc. Page | 23
Slack Channel to Exchange ideas (#MSI)
© 2017 Magento, Inc. Page | 24
• Documentation
https://github.com/magento-engcom/msi/wiki
• Roadmap
https://github.com/magento-engcom/msi/wiki/MSI-Roadmap
• Dashboard
https://github.com/magento-engcom/msi/projects/1
• Weekly Demos
https://www.youtube.com/watch?v=ZtBNIE8FbjI&list=PLrQ5FBCRsEb
WKK6U_3Awe7X-nG7KY0WPW
Related Links
© 2017 Magento, Inc. Page | 25
© 2017 Magento, Inc. Page | 26
How to join us? Send an email to
engcom@magento.com
@iminyaylo
Thank y’all!

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (6)

Jacopo Nardiello - From CI to Prod: Running Magento at scale with Kubernetes
Jacopo Nardiello - From CI to Prod: Running Magento at scale with KubernetesJacopo Nardiello - From CI to Prod: Running Magento at scale with Kubernetes
Jacopo Nardiello - From CI to Prod: Running Magento at scale with Kubernetes
 
Chernivtsi Magento Meetup&Contribution day. Naida V.
Chernivtsi Magento Meetup&Contribution day. Naida V.Chernivtsi Magento Meetup&Contribution day. Naida V.
Chernivtsi Magento Meetup&Contribution day. Naida V.
 
Chernivtsi Magento Meetup&Contribution day. Miniailo.I.
Chernivtsi Magento Meetup&Contribution day. Miniailo.I. Chernivtsi Magento Meetup&Contribution day. Miniailo.I.
Chernivtsi Magento Meetup&Contribution day. Miniailo.I.
 
Automated tests in Magento
Automated tests in MagentoAutomated tests in Magento
Automated tests in Magento
 
Goods and servers tax all industry
Goods and servers tax all industryGoods and servers tax all industry
Goods and servers tax all industry
 
Designing Salesforce Platform Events
Designing Salesforce Platform EventsDesigning Salesforce Platform Events
Designing Salesforce Platform Events
 

Ähnlich wie Architecture and workflow of Multi-Source Inventory

White Paper - Magento 2.0 Performance and Scalability 03.31.16
White Paper - Magento 2.0 Performance and Scalability 03.31.16White Paper - Magento 2.0 Performance and Scalability 03.31.16
White Paper - Magento 2.0 Performance and Scalability 03.31.16
Patrick Kong
 

Ähnlich wie Architecture and workflow of Multi-Source Inventory (20)

Automated Testing in Magento 2
Automated Testing in Magento 2Automated Testing in Magento 2
Automated Testing in Magento 2
 
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum PerformanceEugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
 
How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...
How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...
How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...
 
Magento Exclusive
Magento ExclusiveMagento Exclusive
Magento Exclusive
 
Magento Order Management Workshop - Meet Magento India 2019
Magento Order Management Workshop - Meet Magento India 2019Magento Order Management Workshop - Meet Magento India 2019
Magento Order Management Workshop - Meet Magento India 2019
 
The biggest stores on Magento
The biggest stores on MagentoThe biggest stores on Magento
The biggest stores on Magento
 
How upgrading to Magento 2.0 will fuel your growth?
How upgrading to Magento 2.0 will fuel your growth? How upgrading to Magento 2.0 will fuel your growth?
How upgrading to Magento 2.0 will fuel your growth?
 
Magento Integration with NetSuite
Magento Integration with NetSuiteMagento Integration with NetSuite
Magento Integration with NetSuite
 
Is your magento slow
Is your magento slowIs your magento slow
Is your magento slow
 
Magento vs big commerce a detailed comparison guide - ziffity
Magento vs big commerce  a detailed comparison guide - ziffityMagento vs big commerce  a detailed comparison guide - ziffity
Magento vs big commerce a detailed comparison guide - ziffity
 
Why Should You Choose Magento eCommerce for Your Online Store
Why Should You Choose Magento eCommerce for Your Online StoreWhy Should You Choose Magento eCommerce for Your Online Store
Why Should You Choose Magento eCommerce for Your Online Store
 
How to install Magento 2 extensions.pptx
How to install Magento 2 extensions.pptxHow to install Magento 2 extensions.pptx
How to install Magento 2 extensions.pptx
 
Stock Management System
Stock Management SystemStock Management System
Stock Management System
 
Magento 2 ERP Integration Best Practices: Microsoft Dynamics
Magento 2 ERP Integration Best Practices: Microsoft DynamicsMagento 2 ERP Integration Best Practices: Microsoft Dynamics
Magento 2 ERP Integration Best Practices: Microsoft Dynamics
 
BEGINNERS’ GUIDE TO MAGENTO PLUGINS, EXTENSIONS, MODULES
BEGINNERS’ GUIDE TO MAGENTO PLUGINS, EXTENSIONS, MODULESBEGINNERS’ GUIDE TO MAGENTO PLUGINS, EXTENSIONS, MODULES
BEGINNERS’ GUIDE TO MAGENTO PLUGINS, EXTENSIONS, MODULES
 
Magento Function Testing Framework - Intro and Overview
Magento Function Testing Framework - Intro and OverviewMagento Function Testing Framework - Intro and Overview
Magento Function Testing Framework - Intro and Overview
 
White Paper - Magento 2.0 Performance and Scalability 03.31.16
White Paper - Magento 2.0 Performance and Scalability 03.31.16White Paper - Magento 2.0 Performance and Scalability 03.31.16
White Paper - Magento 2.0 Performance and Scalability 03.31.16
 
White Paper - Magento 2.0 Performance and Scalability 03.31.16
White Paper - Magento 2.0 Performance and Scalability 03.31.16White Paper - Magento 2.0 Performance and Scalability 03.31.16
White Paper - Magento 2.0 Performance and Scalability 03.31.16
 
Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...
Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...
Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...
 
Mli 2017 technical powering tomorrow_2.2
Mli 2017 technical powering tomorrow_2.2Mli 2017 technical powering tomorrow_2.2
Mli 2017 technical powering tomorrow_2.2
 

Mehr von Igor Miniailo

Mehr von Igor Miniailo (18)

Extensibility of Magento, the look into the future
Extensibility of Magento, the look into the futureExtensibility of Magento, the look into the future
Extensibility of Magento, the look into the future
 
Magento Storefront architecture
Magento Storefront architectureMagento Storefront architecture
Magento Storefront architecture
 
Something Architecture
Something ArchitectureSomething Architecture
Something Architecture
 
A long way from Monolith to Service Isolated Architecture #MM19NL
A long way from Monolith to Service Isolated Architecture #MM19NLA long way from Monolith to Service Isolated Architecture #MM19NL
A long way from Monolith to Service Isolated Architecture #MM19NL
 
The long way from Monolith to Microservices
The long way from Monolith to MicroservicesThe long way from Monolith to Microservices
The long way from Monolith to Microservices
 
CQRS and Event-Sourcing in Magento2 by examples of MSI
CQRS and Event-Sourcing in Magento2 by examples of MSICQRS and Event-Sourcing in Magento2 by examples of MSI
CQRS and Event-Sourcing in Magento2 by examples of MSI
 
MageConf 2017, Design API Best Practices
MageConf 2017, Design API Best PracticesMageConf 2017, Design API Best Practices
MageConf 2017, Design API Best Practices
 
Multi-Source Inventory. Imagine. Las Vegas. 2018
Multi-Source Inventory. Imagine. Las Vegas. 2018Multi-Source Inventory. Imagine. Las Vegas. 2018
Multi-Source Inventory. Imagine. Las Vegas. 2018
 
API design best practices
API design best practicesAPI design best practices
API design best practices
 
Backward Compatibility Developer's Guide Webinar
Backward Compatibility Developer's Guide WebinarBackward Compatibility Developer's Guide Webinar
Backward Compatibility Developer's Guide Webinar
 
Backwards Compatibility Developers Guide. #MM17NL
Backwards Compatibility Developers Guide. #MM17NLBackwards Compatibility Developers Guide. #MM17NL
Backwards Compatibility Developers Guide. #MM17NL
 
Backward Compatibility Developer's Guide in Magento 2. #MM17CZ
Backward Compatibility Developer's Guide in Magento 2. #MM17CZBackward Compatibility Developer's Guide in Magento 2. #MM17CZ
Backward Compatibility Developer's Guide in Magento 2. #MM17CZ
 
Backward Compatibility Developer's Guide in Magento 2
Backward Compatibility Developer's Guide in Magento 2Backward Compatibility Developer's Guide in Magento 2
Backward Compatibility Developer's Guide in Magento 2
 
Magento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelMagento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor Model
 
Applying Code Customizations to Magento 2
Applying Code Customizations to Magento 2 Applying Code Customizations to Magento 2
Applying Code Customizations to Magento 2
 
Modular development in Magento 2
Modular development in Magento 2Modular development in Magento 2
Modular development in Magento 2
 
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
 
Сommand Query Responsibility Segregation (CQRS) - Отделяем Мух от Котлет
Сommand Query Responsibility Segregation (CQRS) - Отделяем Мух от КотлетСommand Query Responsibility Segregation (CQRS) - Отделяем Мух от Котлет
Сommand Query Responsibility Segregation (CQRS) - Отделяем Мух от Котлет
 

Kürzlich hochgeladen

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Kürzlich hochgeladen (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 

Architecture and workflow of Multi-Source Inventory

  • 1. © 2017 Magento, Inc. Page | 1 API Design Best practices Igor Miniailo Magento 2 Architect
  • 2. © 2017 Magento, Inc. Page | 2
  • 3. © 2017 Magento, Inc. Page | 3 MSI is designed to enable stock management in multiple locations so that merchants can properly reflect their physical warehouses in Magento system without external extensions or customization Multi-Source Inventory (MSI)
  • 4. © 2017 Magento, Inc. Page | 4 Split the inventory between the sources within one Magento installation
  • 5. © 2017 Magento, Inc. Page | 5 Replace current CatalogInventory with MSI
  • 6. © 2017 Magento, Inc. Page | 6 https://github.com/magento-engcom/msi/wiki/MSI-Roadmap
  • 7. © 2017 Magento, Inc. Page | 7 MVP MSI Business Values for Merchants • Management of all physical locations (Sources) and products stored there (SourceItems) – As a merchant, I want Magento to provide an ability to manage all physical Sources where the products are stored. To get an understanding of the Stock level on each of them. • Improve Checkout Performance (even for Single Stock merchants) – As a merchant, I want to eliminate excessive database locks and Inventory consistency validation during checkout process which lead to performance degradation when there is a high checkout concurrency rate. So that, Reservation mechanism introduced which supports Asynchronous Inventory Deduction.
  • 8. © 2017 Magento, Inc. Page | 8 MVP MSI Business Values for Merchants • Import/Export Stock data – As a merchant, I want new Import/Export process for Inventory to be introduced to speed up integration with an external ERP system. • Drop Shipping support – As a merchant, I want to have an ability to setup external Source to be used for Drop shipping. • Stock Control / Low Stock Reports – As a merchant, I want Magento to support Stock Control on all the physical locations (Sources) and notify me when products on some location are running out. • No additional complication for Single Stock Merchants – As a Merchant who is satisfied with Magento Single Stock, I want no added complexity for UI and Stock management. The user experience for Single Stock usage should be preserved.
  • 9. © 2017 Magento, Inc. Page | 9 Base Concept
  • 10. © 2017 Magento, Inc. Page | 10 • Unload the process of placing an order as much as possible • Remove unnecessary locks (get rid of race condition between concurrent transactions) • Improve the scalability of the checkout (shipping algorithms) Checkout Action Points/Goals
  • 11. © 2017 Magento, Inc. Page | 11 LSD * Load – Save – Delete
  • 12. © 2017 Magento, Inc. Page | 12 Reservation - the entity is used when the order is placed and we need to reserve some product quantity in stock. Reservations are append only operations and help us to prevent blocking operations and race conditions at the time of checkout. Reservation mechanism https://github.com/magento-engcom/msi/wiki/Reservations
  • 13. © 2017 Magento, Inc. Page | 13 Order Placement – Step 1 France Warehouse SKU-1: 5qty EU Stock SKU-1: 15qty Italy Warehouse SKU-1: 10qty Raw data Index Reservations No records Available Qty: 15qty (data from index, empty reservations)
  • 14. © 2017 Magento, Inc. Page | 14 Order Placement – Step 2 Action: Customer buys 5 products on frontend
  • 15. © 2017 Magento, Inc. Page | 15 Order Placement – Step 3 France Warehouse SKU-1: 5qty EU Stock SKU-1: 15qty Italy Warehouse SKU-1: 10qty Raw data Index Reservations SKU-1: -5 Available Qty: 10qty (data from index 15, apply all reservations -5) Data is NOT changed Reservation has been added
  • 16. © 2017 Magento, Inc. Page | 16 Order Placement – Step 4 Action: Admin makes a re-order 3 products out of 5 returned, and new order consists of 2 products
  • 17. © 2017 Magento, Inc. Page | 17 Order Placement – Step 5 France Warehouse SKU-1: 5qty EU Stock SKU-1: 15qty Italy Warehouse SKU-1: 10qty Raw data Index Reservations SKU-1: -5 SKU-1: +3 Available Qty: 13qty (data from index 15, apply reservations -5+3) Data is NOT changed Reservation has been added
  • 18. © 2017 Magento, Inc. Page | 18 Order Placement – Step 6 Action: Admin completes order. Re-index was run.
  • 19. © 2017 Magento, Inc. Page | 19 Order Placement – Step 7 France Warehouse SKU-1: 3qty EU Stock SKU-1: 13qty Italy Warehouse SKU-1: 10qty Raw data Index Reservations SKU-1: -5 SKU-1: +3 SKU-1: +2 Available Qty: 13qty (data from index 13, apply reservations -5+3+2=0) Data is CHANGED Compensation Reservation has been added
  • 20. © 2017 Magento, Inc. Page | 20 Order Placement – Step 8 Action: Reservation cleaning Looping through these reservations we could find reservations which in sum gives 0 (Zero) and remove them.
  • 21. © 2017 Magento, Inc. Page | 21 Order Placement – Step 9 (like Step 1) France Warehouse SKU-1: 3qty EU Stock SKU-1: 13qty Italy Warehouse SKU-1: 10qty Raw data Index Reservations Available Qty: 13qty (data from index, empty reservations) Data is NOT changed Reservations have been removed No records
  • 22. © 2017 Magento, Inc. Page | 22 Kanban board and Wiki are on the GitHub .
  • 23. © 2017 Magento, Inc. Page | 23 Slack Channel to Exchange ideas (#MSI)
  • 24. © 2017 Magento, Inc. Page | 24 • Documentation https://github.com/magento-engcom/msi/wiki • Roadmap https://github.com/magento-engcom/msi/wiki/MSI-Roadmap • Dashboard https://github.com/magento-engcom/msi/projects/1 • Weekly Demos https://www.youtube.com/watch?v=ZtBNIE8FbjI&list=PLrQ5FBCRsEb WKK6U_3Awe7X-nG7KY0WPW Related Links
  • 25. © 2017 Magento, Inc. Page | 25
  • 26. © 2017 Magento, Inc. Page | 26 How to join us? Send an email to engcom@magento.com @iminyaylo Thank y’all!