
### ClientIdentityProvider
**Declared In:**  
lib/enums/client/identity_provider.dart
  
**Declaration:**  

<pre><code class="language-Dart">enum IdentityProvider {
  synerise('SYNERISE'),
  facebook('FACEBOOK'),
  google('GOOGLE'),
  oauth('OAUTH'),
  apple('APPLE'),
  unknown('UNKNOWN');
  }</code></pre>


---
---

### ClientAuthContext
**Declared In:**  
lib/model/client/client_auth_context.dart
  
**Related To:**  
[ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements)  
  
**Declaration:**

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

  
**Properties:**
| Property | Type | Optional | Default | Description |
| --- | --- | --- | --- | --- |
| **authId** | String | yes | null | Optional identifier of authorization |
| **agreements** | [ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements) | yes | null | Object that stores all agreements of a customer |
| **attributes** | HashMap<String, Object> | yes | null | Additional custom attributes of a customer |
  

<div class="admonition admonition-note"><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="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

**authId** parameter is used for decreasing the number of UUID refreshes, so it must be unique for every customer.

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


**Initializers:**

<pre><code class="language-Dart">ClientAuthContext({this.authId, this.agreements, this.attributes})</code></pre>


**Example:**

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

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

```Dart
ClientAuthContext clientAuthContext = ClientAuthContext(
authId: 'AUTH_ID', 
agreements: agreements, 
attributes: attributes
);
```

</div>
</div>


---
---

### ClientConditionalAuthContext
**Declared In:**  
lib/model/client/client_conditional_auth_context.dart
  
**Related To:**  
[ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements)  

**Declaration:**

<pre><code class="language-Dart">class ClientCondtitionalAuthContext {</code></pre>

  
**Properties:**
Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **agreements** | [ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements) | yes | Object that stores all agreements of a customer |
| **attributes** | Map<String, Object> | yes | Additional custom attributes of a customer |
  
**Initializers:**

<pre><code class="language-Dart">ClientCondtitionalAuthContext({this.agreements, this.attributes});</code></pre>


---
---

### ClientAccountInformation
Model representating the customer information.
  

<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 a read-only class and it is not meant to be instantiated directly.

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


**Declared In:**  
lib/model/client/client_account_information.dart   
  
**Related To:**  
[ClientSex](/developers/mobile-sdk/class-reference/flutter/client#clientsex)  
[ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements)  
  
**Declaration:**  

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

  
**Properties:** 
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **clientId** | int | no | Customer's ID |
| **email** | String | no | Customer's email |
| **phone** | String | yes | Customer's phone |
| **customId** | String | yes | Customer's custom ID |
| **uuid** | String | no | Customer's UUID |
| **firstName** | String | yes | Customer's first name |
| **lastName** | String | yes | Customer's last name |
| **displayName** | String | yes | Customer's display name |
| **sex** | [ClientSex](/developers/mobile-sdk/class-reference/flutter/client#clientsex) | no | Customer's sex |
| **company** | String | yes | Customer's company |
| **address** | String | yes | Customer's address |
| **city** | String | yes | Customer's city |
| **province** | String | yes | Customer's province |
| **zipCode** | String | yes | Customer's ZIP code |
| **countryCode** | String | yes | Customer's country code |
| **birthDate** | String | yes | Customer's birthdate |
| **lastActivityDate** | Date | no | Customer's last activity date |
| **avatarUrl** | String | yes | Customer's avatar URL |
| **anonymous** | bool | no | Customer's anonymous flag |
| **agreements** | [ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements) | no | Customer's agreements |
| **attributes** | HashMap<String, Object> | yes | Customer's attributes |
| **tags** | List<String> | yes | Customer's tags |

---
---

### ClientAccountUpdateBasicInformationContext
**Declared In:**  
lib/model/client/client_account_update_basic_information_context.dart  
  
**Related To:**  
[ClientSex](/developers/mobile-sdk/class-reference/flutter/client#clientsex)  
[ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements)  
  
**Declaration:**

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


**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **firstName** | String | yes | Customer's first name |
| **lastName** | String | yes | Customer's last name |
| **displayName** | String | yes | Customer's display name |
| **sex** | [ClientSex](/developers/mobile-sdk/class-reference/flutter/client#clientsex) | yes | Customer's sex |
| **phone** | String | yes | Customer's phone number |
| **company** | String | yes | Customer's company |
| **address** | String | yes | Customer's address |
| **city** | String | yes | Customer's city |
| **province** | String | yes | Customer's province |
| **zipCode** | String | yes | Customer's ZIP code |
| **countryCode** | String | yes | Customer's country code |
| **birthDate** | String | yes | Customer's birthdate |
| **avatarUrl** | String | yes | Customer's avatar URL |
| **agreements** | [ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements) | yes | Customer's agreements |
| **attributes** | HashMap<String, Object> | yes | Customer's attributes |
  
**Initializers:**

<pre><code class="language-Dart">ClientAccountUpdateBasicInformationContext({
  this.firstName,
  this.lastName,
  this.displayName,
  this.sex,
  this.phone,
  this.company,
  this.address,
  this.city,
  this.province,
  this.zipcode,
  this.countrycode,
  this.agreements,
  this.attributes
});</code></pre>


**Example:**  

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

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

```Dart
ClientAccountUpdateBasicInformationContext context = ClientAccountUpdateBasicInformationContext(
  firstName: firstName,
  lastName: lastName,
  sex: sex,
  phone: phone,
  company: company,
  address: address,
  city: city,
  province: province,
  zipcode: zipcode,
  countrycode: countrycode);
```

</div>
</div>


---
---

### ClientAccountUpdateContext
**Declared In:**  
lib/model/client/client_account_update_context.dart  
  
**Related To:**  
[ClientSex](/developers/mobile-sdk/class-reference/flutter/client#clientsex)  
[ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements)  
  
**Declaration:**

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


**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **email** | String | yes | Customer's email |
| **customId** | String | yes | Customer's custom ID |
| **uuid** | String | yes | Customer's UUID |
| **firstName** | String | yes | Customer's first name |
| **lastName** | String | yes | Customer's last name |
| **displayName** | String | yes | Customer's display name |
| **sex** | [ClientSex](/developers/mobile-sdk/class-reference/flutter/client#clientsex) | yes | Customer's sex |
| **phone** | String | yes | Customer's phone number |
| **company** | String | yes | Customer's company |
| **address** | String | yes | Customer's address |
| **city** | String | yes | Customer's city |
| **province** | String | yes | Customer's province |
| **zipCode** | String | yes | Customer's ZIP code |
| **countryCode** | String | yes | Customer's country code |
| **birthDate** | String | yes | Customer's birthdate |
| **avatarUrl** | String | yes | Customer's avatar URL |
| **agreements** | [ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements) | yes | Customer's agreements |
| **attributes** | HashMap<String, Object> | yes | Customer's attributes |
  
**Initializers:**

<pre><code class="language-Dart">ClientAccountUpdateContext({
  this.email,
  this.customId,
  this.uuid,
  this.firstName,
  this.lastName,
  this.sex,
  this.phone,
  this.company,
  this.address,
  this.city,
  this.province,
  this.zipcode,
  this.countrycode,
  this.agreements,
  this.attributes
});</code></pre>


**Example:**  

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

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

```Dart
ClientAccountUpdateContext clientAccountUpdateContext = ClientAccountUpdateContext(
  email: email,
  firstName: firstName,
  lastName: lastName,
  sex: sex,
  phone: phone,
  company: company,
  address: address,
  city: city,
  zipcode: zipcode,
  countrycode: countrycode,
  province: province);
```

</div>
</div>


---
---

### ClientAccountRegisterContext
**Declared In:**  
lib/model/client/client_account_register_context.dart  
  
**Related To:**  
[ClientSex](/developers/mobile-sdk/class-reference/flutter/client#clientsex)  
[ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements)  
  
**Declaration:**

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


**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **email** | String | no | Customer's email |
| **password** | String | no | Customer's password |
| **firstName** | String | yes | Customer's first name |
| **lastName** | String | yes | Customer's last name |
| **customId** | String | yes | Customer's custom ID |
| **sex** | [ClientSex](/developers/mobile-sdk/class-reference/flutter/client#clientsex) | yes | Customer's sex |
| **phone** | String | yes | Customer's phone |
| **company** | String | yes | Customer's company |
| **address** | String | yes | Customer's address |
| **city** | String | yes | Customer's city |
| **province** | String | yes | Customer's province code |
| **zipCode** | String | yes | Customer's ZIP code |
| **countryCode** | String | yes | Customer's country code |
| **agreements** | [ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements) | yes | Customer's agreements |
| **attributes** | HashMap<String, Object> | yes | Customer's attributes |
  
**Initializers:**


<pre><code class="language-Dart">ClientAccountRegisterContext({
  required this.email,
  required this.password,
  this.firstName,
  this.lastName,
  this.sex,
  this.phone,
  this.company,
  this.address,
  this.city,
  this.zipcode,
  this.countrycode,
  this.province,
  this.uuid,
  this.customId,
  this.agreements,
  this.attributes
})</code></pre>

  
**Example:**

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

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

```Dart
ClientAccountRegisterContext clientAccountRegisterContext = ClientAccountRegisterContext(email: "EMAIL", password: "PASSWORD");
```

</div>
</div>


---
---

### ClientSimpleAuthenticationData
**Declared In:**  
lib/model/client/client_simple_authentication_data.dart
  
**Related To:**  
[ClientSex](/developers/mobile-sdk/class-reference/flutter/client#clientsex)  
[ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements)  
  
**Declaration:**  

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


**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **email** | String | yes | Customer's email |
| **phone** | String | yes | Customer's phone |
| **customId** | String | yes | Customer's custom ID |
| **uuid** | String | yes | Customer's UUID |
| **firstName** | String | yes | Customer's first name |
| **lastName** | String | yes | Customer's last name |
| **displayName** | String | yes | Customer's display name |
| **sex** | [ClientSex](/developers/mobile-sdk/class-reference/flutter/client#clientsex) | yes | Customer's sex |
| **company** | String | yes | Customer's company |
| **address** | String | yes | Customer's address |
| **city** | String | yes | Customer's city |
| **province** | String | yes | Customer's province |
| **zipCode** | String | yes | Customer's ZIP code |
| **countryCode** | String | yes | Customer's country code |
| **birthDate** | String | yes | Customer's birthdate |
| **avatarUrl** | String | yes | Customer's avatar URL |
| **agreements** | [ClientAgreements](/developers/mobile-sdk/class-reference/flutter/client#clientagreements) | yes | Customer's agreements |
| **attributes** | Map<String, Object> | yes | Customer's attributes |
  

**Initializers:**

<pre><code class="language-Dart">ClientAccountUpdateContext({
  this.email,
  this.password,
  this.firstName,
  this.lastName,
  this.sex,
  this.phone,
  this.company,
  this.address,
  this.city,
  this.zipcode,
  this.countrycode,
  this.province,
  this.uuid,
  this.customId,
  this.agreements,
  this.attributes
});</code></pre>


---
---

### ClientSex
**Declared In:**  
lib/enums/client/client_sex.dart  
  
**Declaration:**  

<pre><code class="language-Dart">enum ClientSex {
  notSpecified('NOT_SPECIFIED'),
  male('MALE'),
  female('FEMALE'),
  other('OTHER');
}</code></pre>


---
---
### ClientAgreements
**Declared In:**  
lib/model/client/client_agreements.dart  
  
**Declaration:**

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


**Properties:**  
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **email** | bool | no | Email agreement |
| **sms** | bool | no | SMS agreement |
| **push** | bool | no | Push notifications agreement |
| **bluetooth** | bool | no | Bluetooth agreement |
| **rfid** | bool | no | RFID agreement |
| **wifi** | bool | no | WIFI agreement |

**Initializers:**

<pre><code class="language-Dart">ClientAgreements({this.email, this.sms, this.push, this.bluetooth, this.rfid, this.wifi})</code></pre>


---
---
### Token
**Declared In:**  
lib/model/client/token.dart  
  
**Related To:**  
[TokenOrigin](/developers/mobile-sdk/class-reference/flutter/client#tokenorigin)  
  
**Declaration:**  

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

  
**Properties:**  
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **tokenString** | String | no | Token as a raw string |
| **origin** | [TokenOrigin](/developers/mobile-sdk/class-reference/flutter/client#tokenorigin) | no | Token's origin |
| **expirationDate** | DateTime | no | Token's expiration time |

---
---
### TokenOrigin
**Declared In:**  
lib/enums/client/token_origin.dart  
  
**Declaration:**  

<pre><code class="language-Dart">enum TokenOrigin {
  synerise('SYNERISE'),
  facebook('FACEBOOK'),
  google('GOOGLE'),
  oauth('OAUTH'),
  apple('APPLE'),
  simpleAuth('SIMPLE_AUTH'),
  anonymous('ANONYMOUS'),
  unknown('UNKNOWN');
}</code></pre>


---
---

### ClientConditionalAuthResult
**Declared In:**  
lib/model/client/client_conditional_auth_result.dart
    
**Declaration:**

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


**Properties:**  
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **status** | [ClientConditionalAuthStatus](/developers/mobile-sdk/class-reference/flutter/client#clientconditionalauthstatus) | no | Status of the authentication |
| **conditions** | List<Object> | yes | Authentication conditions |
  

<div class="admonition admonition-important"><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 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

All properties are read-only.

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


---
---

### ClientConditionalAuthStatus
**Declared In:**  
lib/enums/client/client_conditional_auth_status.dart
  
**Declaration:**

<pre><code class="language-Dart">enum ClientConditionalAuthStatus {
  success('SUCCESS'),
  unauthorized('UNAUTHORIZED'),
  activationRequired('ACTIVATION_REQUIRED'),
  registrationRequired('REGISTRATION_REQUIRED'),
  approvalRequired('APPROVAL_REQUIRED'),
  termsAcceptanceRequired('TERMS_ACCEPTANCE_REQUIRED'),
  mfaRequired('MFA_REQUIRED');
  }</code></pre>

  
**Functions:**
  
Converts from **ClientConditionalAuthStatus** to **String**.

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

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

```Dart
String getClientConditionalAuthStatusAsString() {
```

</div>
</div>


---

Converts from **String** to **ClientConditionalAuthStatus**.

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

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

```Dart
static ClientConditionalAuthStatus? getClientConditionalAuthStatusFromString(String string) {
```

</div>
</div>


---
---

### ClientSignOutMode
**Declared In:**  
lib/enums/client/client_sign_out_mode.dart

**Declaration:**

<pre><code class="language-Dart">enum ClientSignOutMode {
  signOut('SIGN_OUT'),
  signOutWithSessionDestroy('SIGN_OUT_WITH_SESSION_DESTROY');</code></pre>


**Functions:**
  
Converts from **ClientSignOutMode** to **String**.

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

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

```Dart
String clientSignOutModeAsString() {
```

</div>
</div>


---

Converts from **String** to **ClientSignOutMode**.

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

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

```Dart
static ClientSignOutMode? getClientSignOutModeFromString(String string) {
```

</div>
</div>


