# Features

{% hint style="info" %}
Please visit our article on [**Product Features**](https://docs.licensespring.com/product-configuration/product-features) for more information.
{% endhint %}

Features allow you to turn on and off individual modules or components of your software product, as well as to meter their usage.

![Editing features on an existing license](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/qImxFDJMnyyWznhCcWyM/Qs0%2033z9R0aXGdYG0f9kI_image.png)

### Examples of Features Licensing

* Giving access to additional functionality within your software
* metering API usage for different types of requests
* Setting the number of reports that can be pulled from a database

### Types of Features Available on LicenseSpring

We offer two type of license features:

* **Activation Features** are added or removed from a license, and can have an expiry date to them, but have no further functionality.
* **Consumption Features** can be added to or removed from a license and also can have an expiry date set. However, they have fields to keep track of additional values:
  * `Total consumptions`: times this feature was used
  * `Max consumptions`: the number of times the feature is allowed to be used
  * `Max overages`: the number of times the feature is allowed to be used beyond the value set for `Max consumptions`

{% hint style="info" %}
The upper limit for all consumption-related fields (`Total Consumptions`, `Max Consumptions`, `Max Overages`) is `Number.MAX_SAFE_INTEGER`. For the exact value, see the [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER#value).
{% endhint %}

### Adding/Removing Features to a License

You can select which features to add to a license at the moment of issuing them, or by editing an existing license. To change which features should be available for an existing license, navigate to the license details page, and click on "product features".

![](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/5aV3PSOdrl1cB2RCF1Ji/Wl0GJGN1zIjHeEMlDe3GS_image.png)

{% stepper %}
{% step %}

### Adding a Feature to a License

{% hint style="info" %}
Make sure you first defined the product feature. Otherwise you won't have anything to add to the license.
{% endhint %}

* Click "Add product feature", then select from the "remaining product features" dropdown which features to add to the license.
* If the feature is a consumption feature, you can set values for `Max consumption`, `Max overages`, and `Consumption period` that differ from the default.
* You can also add an expiry date when adding the feature to the license.

![Adding New Product Feature](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/TCla8EVo0G1FOvR9SU5j/u1Mn6yur_jaVBWreWY4Jc_image.png)

![Product feature selection UI](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/wQEegv2biXLqv6mKuFjj/9wDW8hgXzRPnqw6pJhxGt_image.png)
{% endstep %}

{% step %}

### Adding an Expiry Date to an Existing Feature

* Click the pencil icon on the right side of the row with the feature to set or remove an expiry date.
* The feature will be automatically removed from the license on the specified date at 00:00 UTC.

![Edit feature expiry](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/NNfpDY7fhmJgXoieUtem/y0AAqytKeHpRXHt77bF0H_image.png)

![Expiry date UI](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/qmpc2Yz5IZMLxQ4TkHHc/EX%20tWm_8vFcRxbS4MAKO6_image.png)
{% endstep %}

{% step %}

### Removing a Feature From a License

* Click the red trash icon on the right side of the screen to remove a feature from a license.

![Remove feature](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/i5ew40PWBZWLEPUBqqU0/SIWQRyH85TrzaXeAXSnQF_image.png)
{% endstep %}
{% endstepper %}
