# Shopping list events

| Event                                                                                                                                                                         | Dispatched by                                                                                                                                                                                                   | Description                                                                                      |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| [`BeforeCreateShoppingListEvent`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-Event-BeforeCreateShoppingListEvent.html) | [`ShoppingListService::` `createShoppingList()`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-ShoppingListServiceInterface.html#method_createShoppingList) | Dispatched before a shopping list is created. Allows to modify or prevent creation.              |
| [`CreateShoppingListEvent`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-Event-CreateShoppingListEvent.html)             | [`ShoppingListService::` `createShoppingList()`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-ShoppingListServiceInterface.html#method_createShoppingList) | Dispatched after a shopping list is created.                                                     |
| [`BeforeUpdateShoppingListEvent`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-Event-BeforeUpdateShoppingListEvent.html) | [`ShoppingListService::` `updateShoppingList()`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-ShoppingListServiceInterface.html#method_updateShoppingList) | Dispatched before a shopping list is updated. Allows to modify or prevent update.                |
| [`UpdateShoppingListEvent`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-Event-UpdateShoppingListEvent.html)             | [`ShoppingListService::` `updateShoppingList()`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-ShoppingListServiceInterface.html#method_updateShoppingList) | Dispatched after a shopping list is updated.                                                     |
| [`BeforeDeleteShoppingListEvent`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-Event-BeforeDeleteShoppingListEvent.html) | [`ShoppingListService::` `deleteShoppingList()`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-ShoppingListServiceInterface.html#method_deleteShoppingList) | Dispatched before a shopping list is deleted. Allows to prevent deletion.                        |
| [`DeleteShoppingListEvent`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-Event-DeleteShoppingListEvent.html)             | [`ShoppingListService::` `deleteShoppingList()`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-ShoppingListServiceInterface.html#method_deleteShoppingList) | Dispatched after a shopping list is deleted.                                                     |
| [`BeforeClearShoppingListEvent`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-Event-BeforeClearShoppingListEvent.html)   | [`ShoppingListService::` `clearShoppingList()`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-ShoppingListServiceInterface.html#method_clearShoppingList)   | Dispatched before a shopping list is cleared. Allows to modify or prevent clearing.              |
| [`ClearShoppingListEvent`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-Event-ClearShoppingListEvent.html)               | [`ShoppingListService::` `clearShoppingList()`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-ShoppingListServiceInterface.html#method_clearShoppingList)   | Dispatched after a shopping list is cleared.                                                     |
| [`BeforeAddEntriesEvent`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-Event-BeforeAddEntriesEvent.html)                 | [`ShoppingListService::` `addEntries()`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-ShoppingListServiceInterface.html#method_addEntries)                 | Dispatched before entries are added to a shopping list. Allows to modify or prevent addition.    |
| [`AddEntriesEvent`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-Event-AddEntriesEvent.html)                             | [`ShoppingListService::` `addEntries()`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-ShoppingListServiceInterface.html#method_addEntries)                 | Dispatched after entries are added to a shopping list.                                           |
| [`BeforeRemoveEntriesEvent`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-Event-BeforeRemoveEntriesEvent.html)           | [`ShoppingListService::` `removeEntries()`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-ShoppingListServiceInterface.html#method_removeEntries)           | Dispatched before entries are removed from a shopping list. Allows to modify or prevent removal. |
| [`RemoveEntriesEvent`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-Event-RemoveEntriesEvent.html)                       | [`ShoppingListService::` `removeEntries()`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-ShoppingList-ShoppingListServiceInterface.html#method_removeEntries)           | Dispatched after entries are removed from a shopping list.                                       |
