> For the complete documentation index, see [llms.txt](https://docs.nalpeiron.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nalpeiron.com/zentitle2-docs/developers/no-code-test-application/test-the-demo-application.md).

# Test the demo application

Test the ZentitleOnPremDemo desktop application by activating a license and walking through consumption tokens, element pools, feature controls, and license deactivation between the app and the Zentit

**OK, ready to test!** The Zentitle UI server side should be set up. You will have edited the config file and placed it in the demo app folder. You should open the Zentitle UI in your browser and have the test activation codes ready to paste into the desktop app.

{% hint style="info" %}
Don't forget to add your customized .config file per the instructions and set up the server-side Zentitle UI, or nothing will work!
{% endhint %}

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FsjIpx7VFnYJiMLYrFEyr%2Ftest%20demo%20app.png?alt=media&amp;token=d61065fb-8b50-4e6a-a0bf-c67eda905e6f" alt=""><figcaption></figcaption></figure>

We will now start a range of tests back and forth between the desktop and the server-side Zentitle UI. Please have both open on your monitor so you can take action and then see what happens in both directions.

{% hint style="info" %}
These tests will demonstrate the functionality of our "dynamic cloud" controlling your applications in the field.
{% endhint %}

### Desktop app

Go to the new folder "**OnPremDemoApp for testing**," this was created when you unzipped the files provided.

Now go to run the "**OrionOnPremDemo**" Windows app in the "**OnPremDemoApp**" folder and start testing. If you need the desktop runtime, [go here](/zentitle2-docs/developers/no-code-test-application/test-the-demo-application/install-desktop-runtime.md).

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FIQemx7jaBviXEBzLvOVn%2Felevate%201%20no%20license.png?alt=media&amp;token=ed2a5bd6-e9b5-4593-91f1-8ea247b0800b" alt=""><figcaption></figcaption></figure>

The demo app will query the Zentitle server on the first run using the config file settings. In this case, the app has never been run before or activated using an activation code, so it shows with the functions greyed out and only one option to license the app as shown.

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FIvC85MvJkVs2NsLCzG2A%2Fcounter_1_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=e9e24ee0-b25b-4028-a774-f5b21e399e85) Click the "license" button on the top right.

<div align="left"><figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FHQ7GKYrXgo1c3cBQwQoB%2Felevate2.png?alt=media&amp;token=99db03de-f9c3-4282-800a-27b50964e680" alt="" width="563"><figcaption></figcaption></figure></div>

Ensure you have copied the test activation code from a previous step into your clipboard (or open the file with codes from the export).

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FylM0nIN9Y4TjQ22n8Pd1%2Felevate%203%20activate.png?alt=media&amp;token=50a9ecd6-4abf-4c5a-b280-ca5000404d27" alt=""><figcaption></figcaption></figure>

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FBggKfcwtHYyokAoW6CA4%2Fcounter_2_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=b4a1c291-524f-4064-838e-5dfaac404fea) You will see a dialog box. Paste your test activation code here, and click the "Activate" button. This will test the link from the demo to the server, check if there are free seats on this app, and then activate if that is an allowed action.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FQ4uHlrBBWkxjhXidBsEd%2Felevate%206%20activated.png?alt=media&amp;token=4719fd65-ff10-4f24-a66c-de02e082d06b" alt=""><figcaption></figcaption></figure>

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FgP2ydddGH7JrOOoUkK6o%2Fcounter_3_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=25e6aed0-9d7d-4425-b8d7-82ae916130d2) In this case, the code was correct; seats were available on the rights for that entitlement and code, and the app was activated successfully. This shows we had the right setup in the config file and that the connection is working.

{% hint style="info" %}
Well done, you have a successful test!
{% endhint %}

Now, let's check what happened on the server side by returning to your account on the Zentitle UI.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FSBpSG4pUNDXERloiNwKW%2Felevate%20server%20actn%20record.png?alt=media&amp;token=1f03a577-5f98-436e-a43e-c0132f000367" alt=""><figcaption></figcaption></figure>

* Find the test entitlement.
* Select the "Activations" tab on the top menu.
* Review the record, and you should now see your activation record. You can check the seat ID name you set, the time, and the status of the activation. Here, we can see we have an active seat.

{% hint style="info" %}
Of course, you could have also used the search function in Zentitle and found the entitlement that way, too.
{% endhint %}

***

#### Now we have activated a license, we can review the interaction with the server-side data and things we set up and how that is rendered in the desktop UI.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FxqtlVLFLJQ0M52uSJqNa%2Factivated%20features.png?alt=media&amp;token=82d0ece7-40c1-4349-b0fc-95caeffe6be9" alt=""><figcaption></figcaption></figure>

With the app open and in the activated state, you can now see that the feature section on the right is highlighted (vs. greyed out), and we have a range of choices to test.

There are three functions you can test other than the output format that are impacted by the license rules we set:

1. Encoding a file or files (up to the limit from our entitlement).
2. Change the number of processing threads (up to the limit from our entitlement).
3. Change the slider speed-quality change time needed to convert.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FAeXwzWWUCQ8OYLBlMAsJ%2Felevate%20server%20show%20data%20on%20ap%20ui.png?alt=media&amp;token=b9c1d91f-9d32-4482-8e24-70e0080ea3ae" alt=""><figcaption></figcaption></figure>

Before we test, let's also look at the data that's been rendered into the UI from data collected on this entitlement (from the attributes we set server side, as you can see top):

1. The top right section shows all the features and advanced features (threads) we added \[4].
2. The bottom left shows the attribute "Company" \[3] and the license end date based on the "Plan" we set for one year \[2].
3. Bottom right, this shows the consumption token in use with a live count of how many (out of the 10 set) encoding tasks we can do \[5] - in this case, one left and the "plan" attribute of standard \[1] we also set.

{% hint style="info" %}
Note in the images, that we have already used up 9/10 "files to convert" consumption tokens to show you what happens below.
{% endhint %}

So we can see in action the use of the various things we set up earlier and how they could be used in your app as required. Of course, there are a lot of other use cases, but this is a nice, simple one showing some ideas for you to think about.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FROBMGv8Bkx0eJ09F7Z8z%2Felavate7%20license%20info.png?alt=media&amp;token=f3d981f0-2919-4c41-9383-3b7fc9a50de1" alt=""><figcaption></figcaption></figure>

Finally, we can also access useful data collected during the activation process by clicking on the "license" button again and selecting "License info."

***

### Demonstrating consumption tokens in use

#### Now, let's try and use the demo app to encode a file. This is the function of this demo.

Now, let's use the app to encode a dummy file. These are provided in the app.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FbjBVjVZ8SyNpOFULXfrr%2Fstart%20demo%20to%20wav.png?alt=media&amp;token=129e5e8a-1467-4315-9ed4-9e87b0a2ef88" alt=""><figcaption></figcaption></figure>

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FIvC85MvJkVs2NsLCzG2A%2Fcounter_1_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=e9e24ee0-b25b-4028-a774-f5b21e399e85) Click "add file." This adds a dummy file for you.

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FBggKfcwtHYyokAoW6CA4%2Fcounter_2_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=b4a1c291-524f-4064-838e-5dfaac404fea) Click the output format.

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FgP2ydddGH7JrOOoUkK6o%2Fcounter_3_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=25e6aed0-9d7d-4425-b8d7-82ae916130d2) Leave the rest of the settings for this test.

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FPDkUUXICZp0VjoNW7xDd%2Fcounter_4_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=76f36e3b-7c9c-4fcf-b9bc-fe96049d5b4d) Click "Start Encoding".

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2F3xfDQofXhWbhFj4OiUhx%2Fdemo%20to%20wav%202.png?alt=media&amp;token=a7844b11-baa2-4b5b-9281-75a6bd1c5f95" alt=""><figcaption></figcaption></figure>

The "Processing" section on the left will show the results.

As you can see, the process worked; it made an MP3 file and used up the last of the **files remaining on the count** (yes, we did a set of previous actions to use up the ten allowed file conversions).

Now that the consumption limit has been hit, you see the right-hand section is greyed out again, like when not activated at the beginning - this shows you the consumption licensing controls in action. Now, the app won't convert files until more "files" are added to the entitlement or it's reset for reuse on the server side (or via the API, of course).

<div align="left"><figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2Fms6uF8CJVBX15ho8xibM%2Fserver%20consumption%20token.png?alt=media&amp;token=67df8374-ca8a-4e2f-bd44-de366e123299" alt=""><figcaption></figcaption></figure></div>

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FeDNjcr6hYAUKl9tnMeXo%2Fcounter_5_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=c1110a9d-a776-4560-a37a-e9cf95e523cd) Let's check the server side to see what's happened. Going back to the same page as before and checking the section on advanced features, you can see we went from 9/10 above to 10/10, i.e., no more allowed file conversions, which matches our experience on the desktop.

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2F5JDdCdLb01H9EAKq0NRV%2Fcounter_6_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=9b27bfd8-0d64-42c3-a7d7-618039480ed4) Now let's show you controlling the desktop again by resetting the consumption token count (as you would do if you sold another pack of uses, etc).

<div align="left"><figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2Fn9WORuKTFniTKLmTXpM4%2Ffile%20reset%20use%20count.png?alt=media&amp;token=84283b41-e88c-4072-b520-0b08a1980000" alt=""><figcaption></figcaption></figure></div>

* In the Zentitle UI, click the three dots to the right of the feature.
* Click reset used count.

<div align="left"><figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2F1eRvZ5fMRkQ1WTqYDGco%2Freset%20use%20count%20warning.png?alt=media&amp;token=b992dc99-1f32-4eda-9edb-22472f2f60db" alt=""><figcaption></figcaption></figure></div>

* This alerts you about your action.
* Click "reset".

<div align="left"><figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2Fhga2YxOTxMickfi0Xg7E%2Freset%20use%20count%20back%200.png?alt=media&amp;token=64c44217-22a1-49da-9f8e-e587a7b0ac28" alt=""><figcaption></figcaption></figure></div>

Now you can see the feature count reset serverside.

{% hint style="info" %}
Depending on your needs, you perform these actions using the API or the UI.
{% endhint %}

* Let's restart the demo app on the desktop so that the app refreshes the license rights from the server (this is also done automatically by the lease time, but we will do it here for speed).

<div align="left"><figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FnjCubPy2hXrTVy021qRB%2Freset%20on%20app%20with%2010%20files.png?alt=media&amp;token=bab4f4f9-6fbb-4c0f-b327-fc463a6bf544" alt=""><figcaption></figcaption></figure></div>

Now we can see on the desktop app we have all ten (10) file conversion uses again.

**Of course, you can have as many consumption tokens as your business model requires.**

{% hint style="info" %}
This functionality is key in utility-based billing models.
{% endhint %}

***

### Demonstrating element pools in use

Now, let's try another of the advanced features: the thread count. In this use case, we want to show an upgrade option i.e., the current entitlement is set at a certain level, and if you want a better/higher level, you need to upgrade to get it.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FwZTHJhCcdPmrJ159NPoM%2Felevate%20show%20upgrade%20app1.png?alt=media&amp;token=24c0214f-e9c7-4e6f-b2f9-95fcc8ea1ab4" alt=""><figcaption></figcaption></figure>

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FIvC85MvJkVs2NsLCzG2A%2Fcounter_1_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=e9e24ee0-b25b-4028-a774-f5b21e399e85) Let's try encoding another file as before, but this time, we will change the thread count to five (5) threads from the previous setting of one.

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FBggKfcwtHYyokAoW6CA4%2Fcounter_2_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=b4a1c291-524f-4064-838e-5dfaac404fea) Click the start encoding button with five threads selected.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FUjqPRlCUj4EqBPmiExvy%2Felevate%20show%20upgrade%20app2.png?alt=media&amp;token=2cf27491-8c07-4c8a-b6f8-e85a77b93cb9" alt=""><figcaption></figcaption></figure>

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FgP2ydddGH7JrOOoUkK6o%2Fcounter_3_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=25e6aed0-9d7d-4425-b8d7-82ae916130d2) Now we get a pop-up that tells us that we have a maximum set at four (4) and we need to upgrade to use five.

<div align="left"><figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2F5gfSt1FsDpJJC3GhIAJ9%2Fserver%20element%20pool.png?alt=media&amp;token=e5a57cba-72b0-4f5f-9d4d-05e1076c4121" alt=""><figcaption></figcaption></figure></div>

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FPDkUUXICZp0VjoNW7xDd%2Fcounter_4_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=76f36e3b-7c9c-4fcf-b9bc-fe96049d5b4d) Go back to the server side to check, and here we can see that we did set this to four (4) and that the action was correct.

We could now edit that number server side to a larger number (after receiving payment), and the user would immediately get access to the feature until the limit is reached again.

**Of course, you can have as many element pools as your business model requires.**

{% hint style="info" %}
This is the type of function used to control good, better, best models and suites of features in your business models. It is flexible and can be used to control any form of limits.
{% endhint %}

***

### Demonstrating feature controls in use

Next, let's try editing the features (simulating a downgrade) on the server side and show how that removes functionality from the desktop app.

Using the same entitlement page as before, let's edit the features section and deselect certain features.

<div align="left"><figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2F6UkEsi1H8C7FewOdFeKl%2Fserver%20edit%20entitlement1.png?alt=media&amp;token=376531fb-e71a-4871-89b8-eff1685a3620" alt=""><figcaption></figcaption></figure></div>

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FIvC85MvJkVs2NsLCzG2A%2Fcounter_1_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=e9e24ee0-b25b-4028-a774-f5b21e399e85) On the top left section, click edit to change the entitlement features.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FEvXkkAe0danFnbsPtnNt%2Fserver%20edit%20entitlement2.png?alt=media&amp;token=3d183cbf-b2cf-4043-ae3c-3e6107c2c090" alt=""><figcaption></figcaption></figure>

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FBggKfcwtHYyokAoW6CA4%2Fcounter_2_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=b4a1c291-524f-4064-838e-5dfaac404fea) You can see all the features we previously added in the bottom middle section. For this test, de-select both the MP3 and OGG options by selecting them.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FsoOdnTgKW642A0biFG2z%2Fserver%20edit%20entitlement3.png?alt=media&amp;token=239c8d87-4c16-4d87-9563-d86f504471ea" alt=""><figcaption></figcaption></figure>

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FgP2ydddGH7JrOOoUkK6o%2Fcounter_3_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=25e6aed0-9d7d-4425-b8d7-82ae916130d2) Click save.

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FPDkUUXICZp0VjoNW7xDd%2Fcounter_4_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=76f36e3b-7c9c-4fcf-b9bc-fe96049d5b4d) Now, let's restart the app again and check the results on the desktop.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FjYjNNI8nvmKfgJmQhKHW%2Felevate%20edit%20entitlement%20restarted.png?alt=media&amp;token=4c02bf19-c1fa-4d60-87a5-00af24303c56" alt=""><figcaption></figcaption></figure>

As you can see, the app has now removed the features we de-selected on the server side, showing you how to add or subtract features via the UI or the API based on what's happening with your client and their needs.

{% hint style="info" %}
This type of complete control allows for upgrades, downgrades, and even to go between trial modes (i.e., downgrade features from a trial until paid).
{% endhint %}

{% hint style="info" %}
This functionality can be useful if users don't pay and you wish to switch off their app automatically and remotely, as it can be attached to a commerce function using our API.

It could also be used for those non-paying clients where you wish to keep the app in use but wish to remove certain functionality until they pay again.
{% endhint %}

***

### Demonstrating removing a license/license portability

Next, let's try and remove the seat by de-activating the license code to release it back to the server (i.e., to move the seat elsewhere like home > work, etc).

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FnSR6D3eUmoTyJqv6hFHZ%2Felevate%20deactivate.png?alt=media&amp;token=3706310a-fea3-4660-ba73-8562e82dcdf7" alt=""><figcaption></figcaption></figure>

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FIvC85MvJkVs2NsLCzG2A%2Fcounter_1_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=e9e24ee0-b25b-4028-a774-f5b21e399e85) Click the "License" button again. Choose "Deactivate" and click that option.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FIQemx7jaBviXEBzLvOVn%2Felevate%201%20no%20license.png?alt=media&amp;token=ed2a5bd6-e9b5-4593-91f1-8ea247b0800b" alt=""><figcaption></figcaption></figure>

Now, you can instantly see the app is back to the previous state where we started.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FD3NwD479vJgZ8ov2LVOT%2Fserver%20deactivated.png?alt=media&amp;token=abd7e06f-18b5-4791-b4cc-6bc9cedc239e" alt=""><figcaption></figcaption></figure>

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FBggKfcwtHYyokAoW6CA4%2Fcounter_2_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=b4a1c291-524f-4064-838e-5dfaac404fea) Let's revisit the server side to check what happened there.

* Please navigate to the 2nd tab on the top menu of the entitlement we have been testing.
* Check the same report that we checked previously and now you can see the seat has been removed and is free to be reused.

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FbMfwxXVjDAHPE0I24lUj%2Fserver%20activity.png?alt=media&amp;token=780107a0-5c97-4c5a-b4c8-2a96a3468e75" alt=""><figcaption></figcaption></figure>

![](https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FgP2ydddGH7JrOOoUkK6o%2Fcounter_3_FILL0_wght400_GRAD0_opsz24.svg?alt=media\&token=25e6aed0-9d7d-4425-b8d7-82ae916130d2) We can also check the activity log to see what's been happening on this entitlement over time. In our case, we activated and then deactivated once.

The report above shows the activation records with the seat ID, times, actions, and seat used.

The graph shows seat usage over time, which is more applicable to bulk licenses with many users.

***

This concludes our quick testing process, showing you the many uses of various options - there are many other variations of business models and uses for these flexible elements.

**There are more tests you can try, like editing the parameters serverside to try and few more options, or feel free to keep testing by using our SDK and APIs in your own applications.**

→ [Learn more](https://gitlab.nalpeiron.net/nalpeiron/gitbook/zentitle-2-docs/-/blob/master/developers/the-licensing-client-.net)

{% hint style="success" %}
Let's jump on a call and discuss how we can help, get in touch with your account manager today → [Setup a 1:1 discussion](https://www.nalpeiron.com/get-a-11-demo.html)
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.nalpeiron.com/zentitle2-docs/developers/no-code-test-application/test-the-demo-application.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
