Founded in Germany in 1904, PINO develops wellness and therapy products including massage oils, training tools, and therapy equipment. For generations, healthcare professionals in Europe and beyond have trusted PINO to deliver practice-proven and innovative products. Over the last century, the company has built a vast customer-base of physiotherapists and spa professionals and expanded its product line to include customizable massage tables.
PINO has a complex price calculation logic, which needs to be called from the ERP system in realtime. This causes performance issues for the store frontend. In order to improve the customer experience, we analyzed how many different types of price lists exist. The result was: there are 95% of customers using the same price calculation logic. We decide to implement an import for that 95 % of customers to avoid API requests to the ERP system and call the API for the other 5 %.
Since the price calculation on the ERP side is quite complex we needed to integrate an aggregation logic. Therefore several services needed to be called to retrieve the price list ids and their priority. In the second step prices, special prices and tier prices should be calculated by using the priorities and lists.
Using Pacemaker we integrated multiple steps for fetching data and aggregation. All these steps are autogenerated for each website, which is configured to fetch the price from the ERP system. This way we could fetch the data and aggregate the lists for each website in parallel. As a result of these aggregation processes, we create multiple CSV files for each country (website) and the different price types. After generating the files we run M2IF to import all the data at once.
95 % of the customers have now a better performance and greater experience on the storefront. 100 % of the customers have correct prices depending on their contracts with PINO.
|M2IF PE 3.7.*||Default Mode (no Single Transaction)|
|Performance Booster (via Batch Processing)|
|Product (with custom configuration; status update only)|
|Import frequency||Products/Prices/Tier-Prices [Frequency: once per day, Runtime incl. data aggregation: ~35 seconds]|
|Magento Version||Magento EE 2.3|
|Websites||10 (3 active)|
|Stores||10 (3 active)|
|Store Views||14 (3 active)|