# CommitChangeOrder **EventNames:** - CommitChangeOrder_Restrictions - CommitChangeOrder_Pre - CommitChangeOrder_Post **Parameters** | Type | Name | Description | | ------------------------------------------------------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [ChangeOrder]() | changeOrder | The changeOrder which should get / is commited.

**Restrictions and Pre:**
In *Restrictions* and *Pre* you have the future data set on this object like `_NewNumber`, `_NewTitle(Item,CO)`, `_NewDescription(Item,CO)`, `_NewApproveDeadline` and `NewRouting`.

**Post:**
In *POST* you have the previous properties available through `_OldNumber`, `_OldTitle(Item,CO)`, `_OldDescription(Item,CO)`, `_OldApproveDeadline` and `OldRouting`. | | [File[]]() | files | The Files to be tracked by the Change Order. | | [Item[]]() | items | The Items to be tracked by the Change Order.
*User Defined Link properties* are added and removed directly on the items. | | [File[]]() | attachments | Files to be attached to the Change Order. | | [Comment[]]() | comments | Multiple comments for the ChangeOrder including there attached files. | | [User[]]() | routingUsers | All the users with the associated routing roles for this Change Order. | | [Email[]]() | emails | Multiple emails to send out upon completion. | | bool | successful | **Post**:
The information whether the Web Service call was successful or not is only available in *Post* events. | :::{admonition} Unexpected Behaviour :class: warning **CommitChangeOrder event** is raised when clicking in the Change Order dialog on *Save*. Afterwards it fires **EditChangeOrder**. The argument **files** contains only the files that are directly linked to the ChangeOrder, and not the primary-links of the linked Items! The argument **emails** only contains the emails of the current commit, and not the once added before! The argument **comments** contains the current comments and the newly added comments.\ A negative Id value is returned in Pre events and even the values for all other properties except `Subject (CO)`, `Message` and `Attachments` can only be retrieved in in Post events. ::: **Examples:**\ CommitChangeOrder_Restrictions: ```powershell Register-VaultEvent -EventName CommitChangeOrder_Restrictions -Action 'RestrictCommitChangeOrder' function RestrictCommitChangeOrder($changeOrder, $files, $items, $attachments, $comments, $routingUsers, $emails) { #Write event code here } ``` CommitChangeOrder_Pre: ```powershell Register-VaultEvent -EventName CommitChangeOrder_Pre -Action 'PreCommitChangeOrder' function PreCommitChangeOrder($changeOrder, $files, $items, $attachments, $comments, $routingUsers, $emails) { #Write event code here } ``` CommitChangeOrder_Post: ```powershell Register-VaultEvent -EventName CommitChangeOrder_Post -Action 'PostCommitChangeOrder' function PostCommitChangeOrder($changeOrder, $files, $items, $attachments, $comments, $routingUsers, $emails, $successful) { #Write event code here } ```