---
schema_version: "1"
id: c4f8c952bf0d0621c4934d2977b4974aa8dc6cd720cd1211e9a921a8e1ed3b6f
title: Example Implementation of Decoupled Decomposition and Orchestration Processes
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/comms_t_order_management_process_separation_examples.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.comms_t_order_management_process_separation_examples.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: a56095e7f90fde62c1dce08f96251df462f9d6ff648f3c9b0837c3959356d7d0
description: Examples showing submitting orders for decomposition and orchestration separately.
products:
  - Industry Solutions
  - Cross Cloud
release: "264"
---
# Example Implementation of Decoupled Decomposition and Orchestration Processes

Examples showing submitting orders for decomposition and orchestration separately.

Submit an order for decomposition asynchronously.

```
Map<String, Object> input = new Map<String, Object>{
        'orderIdList' => new List<String>{'801Ki0000000hcSIAQ'}
};
Map<String, Object> options = new Map<String, Object>{
        'submitMode' => 'Queueing',
        'decomposeOnly' => null,        // use either one of
        'queuePlanComposition' => null  // these two options
};
Map<String, Object> output = new Map<String, Object>();

vlocity_cmt.VOIInvoker.getInstance().invoke('OdinAPIHandler', 'submitOrder', input, output, options);

List<vlocity_cmt.CpqSubmitOrderResult> resultList = (List<vlocity_cmt.CpqSubmitOrderResult>) output.get('resultList');
```

Compose a plan in an asynchronous workflow.

```
Map<String, Object> input = new Map<String, Object>{
        'orderIdList' => new List<String>{'801Ki0000000hcSIAQ'}
};
Map<String, Object> options = new Map<String, Object>{
        'submitMode' => 'Queueing'
};
Map<String, Object> output = new Map<String, Object>();

vlocity_cmt.VOIInvoker.getInstance().invoke('OdinAPIHandler', 'composePlan', input, output, options);

List<vlocity_cmt.CpqSubmitOrderResult> resultList = (List<vlocity_cmt.CpqSubmitOrderResult>) output.get('resultList');
```