# Add-on

Add-ons define features or top-ups that can be used to extend the functionality offered to the end user through their subscription's plan.

## Properties

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `object` | string | Yes | Type of object is always `addon`. |
| `id` | string | Yes | Unique identifier for the add-on. |
| `metadata` | object | Yes | A set of key-value pairs, to store [metadata](https://developers.gigs.com/docs/core/metadata) related to the resource. |
| `activationTrigger` | creation | networkLatch | usageStarted | Yes | Indicates when a subscription add-on will take effect.  - `creation`: As soon as it is created. The user does not need to take any further action. - `networkLatch`: When the user's data session ends, which can be forced by power cycling the device. - `usageStarted`: When the user starts using add-on allowance on their device.  |
| `allowances` | object | Yes | The allowances included in the add-on. |
| `coverage` | mixed | Yes | The geographic coverage of the add-on. A value of `null` indicates that coverage is not applicable for this add-on. |
| `createdAt` | string | Yes | Time when the add-on was created . |
| `description` | string,null | Yes | The description of the add-on. |
| `name` | string | Yes | Name for the add-on. |
| `plans` | string[] | Yes | The plans this add-on is compatible with. |
| `price` | object | Yes | The price of the add-on. |
| `provider` | string | Yes | The ID of the network provider supported by this add-on. |
| `recurrenceType` | string | Yes | The recurrence type the add-on. |
| `status` | draft | available | archived | Yes | The current status of the add-on. |
| `type` | topUp | other | Yes | The type of the add-on. |
| `validity` | object,null | Yes | The validity period of the add-on. When the add-on is activated, it will expire after this         duration. Not all add-ons have a validity period. |
| `data` | integer | Yes | <!-- theme: warning --> > #### Deprecated > > This property is deprecated and will be removed in the future. > Use `allowances` instead.   The data allowance in bytes included in this add-on. A value of `-1` indicates unlimited data. |
| `dataUnit` | string | Yes | <!-- theme: warning --> > #### Deprecated > > This property is deprecated and will be removed in the future. > Use `allowances` instead.   The unit of the data value is always `byte`. |
| `sms` | integer | Yes | <!-- theme: warning --> > #### Deprecated > > This property is deprecated and will be removed in the future. > Use `allowances` instead.   The sms allowance included in this add-on. A value of `-1` indicates unlimited sms. |
| `smsUnit` | string | Yes | <!-- theme: warning --> > #### Deprecated > > This property is deprecated and will be removed in the future. > Use `allowances` instead.   The unit of the sms value is always `sms`. |
| `voice` | integer | Yes | <!-- theme: warning --> > #### Deprecated > > This property is deprecated and will be removed in the future. > Use `allowances` instead.   The voice call allowance in seconds included in this add-on. A value of `-1` indicates unlimited voice calls. |
| `voiceUnit` | string | Yes | <!-- theme: warning --> > #### Deprecated > > This property is deprecated and will be removed in the future. > Use `allowances` instead.   The unit of the voice value is always `second`. |
