Order system overview
Describes the order management APIs in Optimizely Customized Commerce and provides an overview of components used when working with orders.
Order APIs
You should avoid casting back and forth between concrete Order classes such as OrderGroup and OrderForm, and abstraction interfaces such as IOrderGroup and IOrderForm. For example, you should use only one API from the time you load a cart or purchase order until you save it. While this is not always possible, doing it whenever possible helps avoid hidden problems when casting.
Order objects
The object model for the Optimizely Customized Commerce order system is below. For information, see Order manipulation.
Customized Commerce 13 and higher
![orderdiagram.png 1418](https://files.readme.io/16eb676-orderdiagram.png)
Customized Commerce 12
![order_objects.png 867](https://files.readme.io/1d3c9a5-order_objects.png)
Customized Commerce 10 and 11
![ordersobjects.png 1022](https://files.readme.io/265c2ea-ordersobjects.png)
Order manipulation
The diagram below represents how to create, edit, and delete orders. For information, see Order manipulation.
![ordermanipulationcombined.png 557](https://files.readme.io/12919b4-ordermanipulationcombined.png)
Order processing
The diagram below represents how to process different actions for orders. For information, see Order processing.
![orderprocessing.png 667](https://files.readme.io/53c0e8c-orderprocessing.png)
Order calculations
The diagram below represents how to work with calculating totals for orders. See Calculate orders.
![ordertotals.png 619](https://files.readme.io/3e5f58a-ordertotals.png)
Updated 4 months ago