
### Event
Main event abstract class for inheriting classes.
  

<div class="admonition admonition-warning"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This is an abstract class and it is not meant to be instantiated directly. You should use concrete subclasses instead.

</div></div></div>

  
**Declared In:**  
lib/model/tracker/event.dart  
  
**Declaration:**

<pre><code class="language-Dart">abstract class Event</code></pre>

  
**Properties:**  
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **type** | String | no | Event type |
| **label** | String | no | Can't be empty. This value isn't saved in persistent storage and can't be used in Decision or Automation Hubs. It isn't shown on a Profile card. |
| **action** | String | no | Event action |
| **parameters** | bool | no | Event parameters |

---
---

### CustomEvent


<div class="admonition admonition-warning"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

DO NOT send `transaction.charge` events as custom events.<br>
Transactions must be tracked with these endpoints:
- [`/v4/transactions`](https://developers.synerise.com/DataManagement/DataManagement.html#operation/CreateATransaction) (single transaction)
- [`/v4/transactions/batch`](https://developers.synerise.com/DataManagement/DataManagement.html#operation/BatchAddOrUpdateTransactions) (multiple transactions)

</div></div></div>

Represents a custom client event.
  
**Declared In:**  
lib/model/tracker/custom_event.dart  
  
**Inherits From:**  
[Event](/developers/mobile-sdk/class-reference/flutter/events#event)  
  
**Declaration:**

<pre><code class="language-Dart">class CustomEvent extends Event</code></pre>


**Initializers:**

<pre><code class="language-Dart">CustomEvent(String label, String action, Map&lt;String, Object&gt; parameters)</code></pre>

  
**Example:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-154">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-154-0" data-tab-group="tabgrp-154" data-tab-active="true">Dart</button></div>

<div class="tab-panel" data-tab-id="tabgrp-154-0" data-tab-group="tabgrp-154" data-tab-active="true">

```Dart
final paramMap = <String, String>{
  "firstKeyCustomParam": "TEST_1",
  "secondKeyCustomParam": "TEST_2",
};
CustomEvent event = CustomEvent("LABEL", "ACTION", paramMap);
```

</div>
</div>


---
---

### PushViewedEvent
Represents a 'client viewed push' event.
  
This event is used for push message interaction tracking.
  
**Declared In:**  
lib/events/push/push_viewed_event.dart   
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)    
  
**Declaration:**

<pre><code class="language-Dart">class PushViewedEvent extends CustomEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">PushViewedEvent(
    String label,
    Map&lt;String, Object&gt;? parameters,
  )</code></pre>


---
---

### PushClickedEvent
Represents a 'client clicked push' event.
  
This event is used for push message interaction tracking.
  
**Declared In:**  
lib/events/push/push_clicked_event.dart 
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**

<pre><code class="language-Dart">class PushClickedEvent extends CustomEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">PushClickedEvent(
    String label,
    Map&lt;String, Object&gt;? parameters,
  )</code></pre>


---
---

### PushCancelledEvent
Represents a 'client dismissed push' event.
  
This event is used for push message interaction tracking.
  
**Declared In:**  
lib/events/push/push_cancelled_event.dart
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)   
  
**Declaration:**

<pre><code class="language-Dart">class PushCancelledEvent extends CustomEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">PushCancelledEvent(
    String label,
    Map&lt;String, Object&gt;? parameters,
  )</code></pre>


---
---

### CartEvent
Main cart action abstract class for inheriting classes.
  

<div class="admonition admonition-warning"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This is an abstract class and it is not meant to be instantiated directly. You should use concrete `CartEvent` subclasses instead.

</div></div></div>

  
**Declared In:**  
lib/events/cart/cart_event.dart 
  
**Inherits From:**
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**

<pre><code class="language-Dart">class CartEvent extends CustomEvent</code></pre>

  
**Initializers:**  

<pre><code class="language-Dart">CartEvent(String label, String action, String sku, UnitPrice finalPrice, int quantity, Map&lt;String, Object&gt;? parameters)</code></pre>

  
**Methods:**

This method sets a value for the `name` parameter.

<pre><code class="language-Dart">void setName(String name)</code></pre>


---

This method sets a value for the `category` parameter.

<pre><code class="language-Dart">void setCategory(String category)</code></pre>


---

This method sets values for the `categories` parameter.

<pre><code class="language-Dart">void setCategories(List&lt;String&gt; categories)</code></pre>


---

This method sets a value for the `offline` parameter.

<pre><code class="language-Dart">void setOffline(bool offline)</code></pre>


---

This method sets the value of the `regularPrice` parameter.

<pre><code class="language-Dart">void setRegularPrice(UnitPrice regularPrice)</code></pre>


---

This method sets the value of the `discountedPrice` parameter.

<pre><code class="language-Dart">void setDiscountedPrice(UnitPrice discountedPrice)</code></pre>


---

This method sets the value of the `url` parameter.

<pre><code class="language-Dart">void setUrl(String url)</code></pre>


---

This method sets the value of the `producer` parameter (producer can signify a brand of the item).

<pre><code class="language-Dart">void setProducer(String producer)</code></pre>


---
---

### UnitPrice
**Declared In:**  
lib/model/tracker/unit_price.dart

**Declaration:**

<pre><code class="language-Dart">class UnitPrice</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">UnitPrice(
   int amount,
   String currency)</code></pre>


---
---

### ProductAddedToCartEvent
Represents a 'client added product to cart' event.
  
**Declared In:**  
lib/events/cart/product_added_to_cart_event.dart
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**

<pre><code class="language-Dart">class ProductAddedToCartEvent extends CartEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">ProductAddedToCartEvent(String label, String sku, UnitPrice finalPrice, int quantity, Map&lt;String, Object&gt;? parameters)</code></pre>


---
---

### ProductRemovedFromCartEvent
Represents a 'client removed product from cart' event.
  
**Declared In:**  
lib/events/cart/product_removed_from_cart_event.dart
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**

<pre><code class="language-Dart">class ProductRemovedFromCartEvent extends CartEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">ProductRemovedFromCartEvent(String label, String sku, UnitPrice finalPrice, int quantity, Map&lt;String, Object&gt;? parameters)</code></pre>


---
---

### ProductViewedEvent
Represents a 'client viewed product' event.
  
**Declared In:**  
lib/events/product/product_viewed_event.dart  

**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**  

<pre><code class="language-Dart">class ProductViewedEvent extends CustomEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">ProductViewedEvent(
    String label,
    String productId,
    String name,
    Map&lt;String, Object&gt;? parameters,
  )</code></pre>

  
**Methods:**

This method sets a value for the `category` parameter.

<pre><code class="language-Dart">void setCategory(String category)</code></pre>


---

This method sets the value of the `url` parameter.

<pre><code class="language-Dart">void setUrl(String url)</code></pre>


---
---

### ProductAddedToFavoritesEvent
Represents a 'client added product to favorites' event.
  
**Declared In:**  
lib/events/product/product_added_to_favorites_event.dart
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**

<pre><code class="language-Dart">class ProductAddedToFavouritesEvent extends CustomEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">ProductAddedToFavoritesEvent(
    String label,
    Map&lt;String, Object&gt;? parameters,
  )</code></pre>


---
---

### LoggedInEvent
Represents a 'client logged in' event.
  
**Declared In:**  
lib/events/auth/logged_in_event.dart  
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**

<pre><code class="language-Dart">class LoggedInEvent extends CustomEvent</code></pre>



**Initializers:**

<pre><code class="language-Dart">LoggedInEvent(
    String label,
    Map&lt;String, Object&gt;? parameters,
  )</code></pre>


---
---

### LoggedOutEvent
Represents a 'client logged out' event.
  
**Declared In:**  
lib/events/auth/logged_out_event.dart 
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**

<pre><code class="language-Dart">class LoggedOutEvent extends CustomEvent</code></pre>


**Initializers:**

<pre><code class="language-Dart">LoggedOutEvent(String label, Map&lt;String, Object&gt;? parameters)</code></pre>


---
---

### RegisteredEvent
Represents a 'client registered' event.
  
**Declared In:**  
lib/events/auth/registered_event.dart  
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**  

<pre><code class="language-Dart">class RegisteredEvent extends CustomEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">RegisteredEvent(String label, Map&lt;String, Object&gt;? parameters)</code></pre>


---
---

### RecommendationEvent
Main recommendation abstract class for inheriting classes.
  

<div class="admonition admonition-warning"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This is an abstract class and it is not meant to be instantiated directly. You should use concrete `RecommendationEvent` subclasses instead.

</div></div></div>

  
**Declared In:**  
lib/events/recommendation/recommendation_event.dart    
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)    
  
**Declaration:**  

<pre><code class="language-Dart">class RecommendationEvent extends CustomEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">RecommendationEvent(String label, String action, Map&lt;String, Object&gt;? parameters)</code></pre>


---
---

### RecommendationSeenEvent
Represents a 'client saw a recommendation' event.
  
**Declared In:**  
lib/events/recommendation/recommendation_seen_event.dart  
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**  

<pre><code class="language-Dart">class RecommendationSeenEvent extends RecommendationEvent</code></pre>

  
**Initializers:**  

<pre><code class="language-Dart">RecommendationSeenEvent(String label, String action, String productId, String productName, String campaignId, String campaignHash, Map&lt;String, Object&gt;? parameters)</code></pre>


---
---

### RecommendationViewEvent
Represents a 'client viewed a recommendation' event.

**Declared In:**  
lib/events/recommendation/recommendation_view_event.dart

**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  

**Declaration:**  

<pre><code class="language-Dart">class RecommendationViewEvent extends RecommendationEvent</code></pre>


**Initializers:**  

<pre><code class="language-Dart">RecommendationViewEvent(String label, String action, List&lt;String&gt;? items, String campaignId, String campaignHash, String correlationId, Map&lt;String, Object&gt;? parameters)</code></pre>


---
---

### RecommendationClickEvent
Represents a 'client clicked a recommendation' event.
  
**Declared In:**  
lib/events/recommendation/recommendation_click_event.dart
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
 [RecommendationEvent](/developers/mobile-sdk/class-reference/flutter/events#recommendationevent)  
  
**Declaration:**

<pre><code class="language-Dart">class RecommendationClickEvent extends RecommendationEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">RecommendationClickEvent(String label, String action, String productId, String productName, String campaignId, String campaignHash,
      Map&lt;String, Object&gt;? parameters)</code></pre>


---
---

### VisitedScreenEvent
Represents a 'client visited screen' event.
  
This can be used for mobile screen usage tracking.
  
**Declared In:**  
lib/events/other/visited_screen_event.dart

**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**

<pre><code class="language-Dart">class VisitedScreenEvent extends CustomEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">VisitedScreenEvent(
    String label,
    Map&lt;String, Object&gt;? parameters,
  )</code></pre>


---
---

### HitTimerEvent
Represents a 'client hit timer' event.
  
This could be used for profiling or activity time monitoring - you can send a `HitTimerEvent` when your client starts doing something and send it once again when they finish, but this time with the different time signature. Then you can use our analytics engine to measure, for example, average activity time.
  
**Declared In:**  
lib/events/other/hit_timer_event.dart
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  

**Declaration:**

<pre><code class="language-Dart">class HitTimerEvent extends CustomEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">HitTimerEvent(
    String label,
    Map&lt;String, Object&gt;? parameters,
  )</code></pre>


---
---

### SearchedEvent
Represents a 'client searched' event.
  
**Declared In:**  
lib/events/other/searched_event.dart  
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**

<pre><code class="language-Dart">class SearchedEvent extends CustomEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">SearchedEvent(
    String label,
    Map&lt;String, Object&gt;? parameters,
  )</code></pre>


---
---

### SharedEvent
Represents a 'client shared' event.
  
**Declared In:**  
lib/events/other/shared_event.dart  
  
**Inherits From:**  
 [Event](/developers/mobile-sdk/class-reference/flutter/events#event)   
 [CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**

<pre><code class="language-Dart">class SharedEvent extends CustomEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">SharedEvent(
    String label,
    Map&lt;String, Object&gt;? parameters,
  )</code></pre>


---
---

### AppearedInLocationEvent
Represents a 'client appeared in location' event.
  
**Declared In:**  
lib/events/other/appeared_in_location_event.dart
  
**Inherits From:**
[Event](/developers/mobile-sdk/class-reference/flutter/events#event)  
[CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  
  
**Declaration:**

<pre><code class="language-Dart">class AppearedInLocationEvent extends CustomEvent</code></pre>

  
**Initializers:**

<pre><code class="language-Dart">AppearedInLocationEvent(
    String label,
    double lat,
    double lon,
    Map&lt;String, Object&gt;? parameters,
  )</code></pre>
