At first glance, adding an item to a basket seems simple... but in reality the process must:
- Determine if a basket exists and check the basket state / create it if not
- Check that the item is of a known type and what other items might be affected by this item
- Calculate any discounts or other modifiers that might trigger
- Call the Promotions Engine and apply any promotion savings that might now be triggered
- Check to see if any vouchers have been triggered
- Apply rules if this is an employee
- Calculate tax...
This involves approximately 30 sub-processes and 100+ business logic nano-components, all built using the low-code toolkit.