# Order management events

| Event                    | Dispatched by               | Properties                                                                                      |
| ------------------------ | --------------------------- | ----------------------------------------------------------------------------------------------- |
| `BeforeCreateOrderEvent` | `OrderService::createOrder` | `OrderCreateStruct $createStruct` `?OrderInterface $orderResult = null`                         |
| `CreateOrderEvent`       | `OrderService::createOrder` | `OrderCreateStruct $createStruct` `OrderInterface $orderResult`                                 |
| `BeforeUpdateOrderEvent` | `OrderService::updateOrder` | `OrderInterface $order` `OrderUpdateStruct $updateStruct` `?OrderInterface $orderResult = null` |
| `UpdateOrderEvent`       | `OrderService::updateOrder` | `OrderInterface $order` `OrderUpdateStruct $updateStruct` `OrderInterface $orderResult`         |
| `BeforeCancelOrderEvent` | `OrderService::cancelOrder` | `OrderInterface $order`                                                                         |
| `CancelOrderEvent`       | `OrderService::cancelOrder` | `OrderInterface $order`                                                                         |
