The client needed a customized system which included a personalized cart system for regular corporates who buy regularly from the company, a corporate gifting system which allows corporates to define products their employee could buy based on some reward points.
Brand: Module which allows the admin of the company to make n number of personalized carts from backend for regular corporates who buy regularly from the company, with urls defined only for those clients and carts accessible to only those clients.
Loyalty: Module which allows admin of the company to create n number of individual carts for clients, in which the employees of client can buy products by just redeeming the reward points earned by the sales they made, and the actual invoice is made for the client.
Jubilee: Module which allows admin of the company to create n number of individual carts for clients, in which the client gives the employee who spent more than some x years and then give them a special cart from which they can get a product free and the actual invoice is made for the client.
There were some challenges we faced and were happy about, since it gave us new horizons and vision in magento/cart development.
The 1st challenge was that the requirement needed much customization and no third party extension or code was available, as it needed multiple carts with different products and different clients and special permissions for client and its users and purchasing logic for each module.
Any client could have 1 or more modules out of 3 and each module has different urls, products, users and purchasing logic from cart. So basically each module had different sales cycle till the invoicing.
Second challenge was run all 3 modules under 1 main system with different urls and detecting the current module and the accordingly maintain cart system and sales flow and at the same time maintaining a huge and complex database.
We made each module independently and in a modularised way so that no module and its functionality conflicts with other module or core magento’s code. We made each module by developing code in a way which would call magento’s core functions on a different level wherever needed.
The result is a Huge multi cart system catering to different sales cycle as per module exactly as the client needed.