> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superoffice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ModuleLicense table

> Module licenses, belonging to one single owner

## ModuleLicense Table (237)

Module licenses, belonging to one single owner

## Fields

| Name                      | Description                                                                                                                                                                         | Type                                        | Nullable |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | :------: |
| ModuleLicense\_id         | Primary key                                                                                                                                                                         | PK                                          |    No    |
| moduleName                | The name of the module, not visible in GUI but used in the code. This must be in UPPER CASE and only contain A-Z and 0-9. NO EXTENDED CHARACTERS please.                            | String(239)                                 |    No    |
| moduleDescription         | Human-readable description of module, shown in GUI, default language. Additional languages can be added to LocaleText, resource type 25                                             | String(254)                                 |    No    |
| moduleVersion             | Version string for this module                                                                                                                                                      | String(254)                                 |    Yes   |
| tooltip                   | Tooltip text, anything you want; shown when the cursor hovers over the line in the GUI. Default language. Additional languages can be added to LocaleText, resource type 27         | String(254)                                 |    No    |
| licenseType               | Entire system, per database, or per associate                                                                                                                                       | Enum [LicenseType](./enums/licensetype.mdx) |    No    |
| licenseNumber             | Number of systems, databases or associates licensed                                                                                                                                 | UInt                                        |    No    |
| allowedAssocsMask         | Bitmask of allowed associate types who can have this kind of license                                                                                                                | UInt                                        |    No    |
| extraFlags                | Unspecified extra flags of license, part of checksum. Value=1 means this a 'user plan'; such licenses cause the admin gui to switch to radiobutton view                             | UInt                                        |    No    |
| extraInfo                 | Free field, can be used by the module owner (example: host domain, for eJournal). NOTE: For rows with extraFlags=1 this field contains the list of modules that this plan comprises | String(3999)                                |    Yes   |
| encryptedCheck            | Encrypted checksum that stops tampering and copying between databases                                                                                                               | String(254)                                 |    No    |
| registered                | Registered when                                                                                                                                                                     | UtcDateTime                                 |    No    |
| registered\_associate\_id | Registered by whom                                                                                                                                                                  | FK [associate](./associate.mdx)             |    No    |
| updated                   | Last updated when                                                                                                                                                                   | UtcDateTime                                 |    No    |
| updated\_associate\_id    | Last updated by whom                                                                                                                                                                | FK [associate](./associate.mdx)             |    No    |
| updatedCount              | Number of updates made to this record                                                                                                                                               | UShort                                      |    No    |
| ModuleOwner\_id           | Link to owner of this module                                                                                                                                                        | FK [ModuleOwner](./moduleowner.mdx)         |    No    |
| sortOrder                 | Ordering value - generated by SuperLicense and transferred here. Must be followed for signatures to be correct                                                                      | Id                                          |    Yes   |
| signature                 | Signature that verifies that this row is correctly transferred from SuperLicense                                                                                                    | String(254)                                 |    Yes   |
| unrestricted              | If true, then there is no licenseNumber limit on how many of these modules may be assigned                                                                                          | Bool                                        |    Yes   |
| hidden                    | If true, then this module should not appear in GUI and is not assignable by users                                                                                                   | Bool                                        |    Yes   |
| prerequisiteModule        | If set, specifies a module license needed before this license can be granted                                                                                                        | String(239)                                 |    Yes   |

<img src="https://mintcdn.com/superofficeas/zNQa3AO19PFK63SB/media/loc/en/database/tables/ModuleLicense.png?fit=max&auto=format&n=zNQa3AO19PFK63SB&q=85&s=e843f3fc8e0d25d70db8affc8ff338c8" alt="ModuleLicense table relationship diagram" width="966" height="886" data-path="media/loc/en/database/tables/ModuleLicense.png" />

## Indexes

| Fields                                     | Types                        | Description |
| ------------------------------------------ | ---------------------------- | ----------- |
| moduleName, moduleVersion, ModuleOwner\_id | String(239), String(254), FK | Unique      |

## Relationships

| Table                                  | Description                                                                                                  |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| [associate](./associate)               | Employees, resources and other users - except for External persons                                           |
| [LicenseAssocLink](./licenseassoclink) | Link between ModuleLicense and Associate, for per-assoc licenses; this is how licenses are assigned/consumed |
| [LicenseSatlLink](./licensesatllink)   | Link between License and Satellite, for per-database licenses                                                |
| [ModuleOwner](./moduleowner)           | Unique owner of a set of licensed modules                                                                    |

## Replication Flags

* Replicate changes DOWN from central to satellites and travellers.
* Copy to satellite and travel prototypes.

## Security Flags

* No access control via user's Role.


## Related topics

- [ModuleLicense](/en/api/archive-providers/reference/modulelicense.md)
- [SuperOffice.WebApi.Data.ModuleLicense](/en/api/reference/webapi/SuperOffice.WebApi.Data.ModuleLicense.md)
- [SuperOffice.WebApi.Data.LicenseInfo](/en/api/reference/webapi/SuperOffice.WebApi.Data.LicenseInfo.md)
- [Module licenses](/en/admin/license/dev/module-licenses.md)
- [ModuleOwner table](/en/database/tables/moduleowner.md)
- [Get Module License History From License Server](/en/api/reference/restful/agent/license_agent/get-module-license-history-from-license-server.md)
