---
title: Order system overview
slug: commerce-connect-14/docs/order-system-overview
docTags: 
createdAt: 2026-07-23T10:25:33.704Z
---

## 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](docId\:xiHq6GBhIOGMtxZWSf2Hl).

### Customized Commerce 13 and higher

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/Mf2yRvVcGT0fTVszct8sq-20260723-094603.png)

### Customized Commerce 12

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/X_VY8ib-vSMmB-OQKniWD-20260723-094603.png)

### Customized Commerce 10 and 11

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/y2f5Z1AF9L0NlaqcT938--20260723-094603.png)

## Order manipulation

The diagram below represents how to create, edit, and delete orders. For information, see [Order manipulation](docId\:xiHq6GBhIOGMtxZWSf2Hl).

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/kJI0k67D2PcQgc7Fx638_-20260723-094603.png)

## Order processing

The diagram below represents how to process different actions for orders. For information, see [Order processing](docId\:Q4PxyVX4k7nEDnAMjXBT3).

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/NRcdYXWf7xYK_LKVM8Det-20260723-094603.png)

## Order calculations

The diagram below represents how to work with calculating totals for orders. See [Calculate orders](docId\:eafSqG89krij9xkDS150w).

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/7s6wITeX5jMm4XEj2Bq6m-20260723-094603.png)
