> ## 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.

# NSLicenseInfo

> Represents all licenses for this owner at this site.

Represents all licenses for this owner at this site.

## Constructors

### NSLicenseInfo()

```crmscript theme={null}
NSLicenseInfo
```

Initializes a new instance of the NSLicenseInfo class.

## Methods

## GetAdminWarningDate()

```crmscript theme={null}
DateTime GetAdminWarningDate()
```

**Returns:** [CRMScript.Global.DateTime](CRMScript.Global.DateTime) - When should nagging begin (for instance, during login to SoAdmin).

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
DateTime adminWarningDate = thing.GetAdminWarningDate();
```

## GetCompanyName()

```crmscript theme={null}
String GetCompanyName()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Name of the database owner company.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String companyName = thing.GetCompanyName();
```

## GetDeploymentType()

```crmscript theme={null}
Integer GetDeploymentType()
```

**Returns:** [CRMScript.Global.Integer](CRMScript.Global.Integer) - Type of deployment.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
Integer deploymentType = thing.GetDeploymentType();
```

## GetExpiryDate()

```crmscript theme={null}
DateTime GetExpiryDate()
```

**Returns:** [CRMScript.Global.DateTime](CRMScript.Global.DateTime) - Expiration date, 0 = forever.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
DateTime expiryDate = thing.GetExpiryDate();
```

## GetExtraFlags()

```crmscript theme={null}
Integer GetExtraFlags()
```

**Returns:** [CRMScript.Global.Integer](CRMScript.Global.Integer) - Unspecified extra flags of license, part of checksum.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
Integer extraFlags = thing.GetExtraFlags();
```

## GetExtraInfo()

```crmscript theme={null}
String GetExtraInfo()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String)

## GetGraceDate()

```crmscript theme={null}
DateTime GetGraceDate()
```

**Returns:** [CRMScript.Global.DateTime](CRMScript.Global.DateTime) - Real expiration date, when the given module actually stops working.

<Note>
  Modules that normally update data should switch to read-only mode. Modules that only read anyway, should disable themselves in some other way
</Note>

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
DateTime graceDate = thing.GetGraceDate();
```

## GetLicenseUrl()

```crmscript theme={null}
String GetLicenseUrl()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - The URL that will provide keycodes for all modules owned by this owner.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String licenseUrl = thing.GetLicenseUrl();
```

## GetLicenseVersion()

```crmscript theme={null}
String GetLicenseVersion()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - The URL that will provide keycodes for all modules owned by this owner.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String licenseVersion = thing.GetLicenseVersion();
```

## GetMaintenanceDate()

```crmscript theme={null}
DateTime GetMaintenanceDate()
```

**Returns:** [CRMScript.Global.DateTime](CRMScript.Global.DateTime) - Expiration date for maintenance. After this date, upgrades should refuse to install.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
DateTime maintenanceDate = thing.GetMaintenanceDate();
```

## GetModuleLicenses()

```crmscript theme={null}
NSModuleLicense[] GetModuleLicenses()
```

**Returns:** [CRMScript.NetServer.NSModuleLicense](CRMScript.NetServer.NSModuleLicense)\[] - The module licenses.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
NSModuleLicense[] moduleLicenses = thing.GetModuleLicenses();
```

## GetNextCheckDate()

```crmscript theme={null}
DateTime GetNextCheckDate()
```

**Returns:** [CRMScript.Global.DateTime](CRMScript.Global.DateTime) - When should the system next check with the license issuer.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
DateTime nextCheckDate = thing.GetNextCheckDate();
```

## GetOwnerDescription()

```crmscript theme={null}
String GetOwnerDescription()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Human-readable description of owner, shown in GUI, default language.

<Note>
  Additional languages can be added to LocaleText, resource type 26
</Note>

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String ownerDescription = thing.GetOwnerDescription();
```

## GetOwnerName()

```crmscript theme={null}
String GetOwnerName()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - The name of the module owner, not visible in GUI but used in the code.

<Note>
  OwnerName SUPEROFFICE is reserved and may NEVER be used by partners. This must be in UPPER CASE and only contain A-Z and 0-9. NO EXTENDED CHARACTERS please.
</Note>

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String ownerName = thing.GetOwnerName();
```

## GetProductDescription()

```crmscript theme={null}
String GetProductDescription()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Description of type of product.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String productDescription = thing.GetProductDescription();
```

## GetProductType()

```crmscript theme={null}
String GetProductType()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Type of product.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String productType = thing.GetProductType();
```

## GetPublicKey()

```crmscript theme={null}
NSSignedPublicKey GetPublicKey()
```

**Returns:** [CRMScript.NetServer.NSSignedPublicKey](CRMScript.NetServer.NSSignedPublicKey) - The public key used to verify licenses owned by this owner.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
NSSignedPublicKey publicKey = thing.GetPublicKey();
```

## GetSerialNr()

```crmscript theme={null}
String GetSerialNr()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Serial number. For example, 1010000014.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String serialNr = thing.GetSerialNr();
```

## GetSignature()

```crmscript theme={null}
String GetSignature()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Signature of all non-zero-amount moduleLicense rows referring to this owner.

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String signature = thing.GetSignature();
```

## SetAdminWarningDate(DateTime)

```crmscript theme={null}
Void SetAdminWarningDate(DateTime adminWarningDate)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
DateTime adminWarningDate;
thing.SetAdminWarningDate(adminWarningDate);
```

## SetCompanyName(String)

```crmscript theme={null}
Void SetCompanyName(String companyName)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String companyName;
thing.SetCompanyName(companyName);
```

## SetDeploymentType(Integer)

```crmscript theme={null}
Void SetDeploymentType(Integer deploymentType)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
Integer deploymentType;
thing.SetDeploymentType(deploymentType);
```

## SetExpiryDate(DateTime)

```crmscript theme={null}
Void SetExpiryDate(DateTime expiryDate)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
DateTime expiryDate;
thing.SetExpiryDate(expiryDate);
```

## SetExtraFlags(Integer)

```crmscript theme={null}
Void SetExtraFlags(Integer extraFlags)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
Integer extraFlags;
thing.SetExtraFlags(extraFlags);
```

## SetExtraInfo(String)

```crmscript theme={null}
Void SetExtraInfo(String extraInfo)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

## SetGraceDate(DateTime)

```crmscript theme={null}
Void SetGraceDate(DateTime graceDate)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

<Note>
  Modules that normally update data should switch to read-only mode. Modules that only read anyway, should disable themselves in some other way
</Note>

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
DateTime graceDate;
thing.SetGraceDate(graceDate);
```

## SetLicenseUrl(String)

```crmscript theme={null}
Void SetLicenseUrl(String licenseUrl)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String licenseUrl;
thing.SetLicenseUrl(licenseUrl);
```

## SetLicenseVersion(String)

```crmscript theme={null}
Void SetLicenseVersion(String licenseVersion)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String licenseVersion;
thing.SetLicenseVersion(licenseVersion);
```

## SetMaintenanceDate(DateTime)

```crmscript theme={null}
Void SetMaintenanceDate(DateTime maintenanceDate)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
DateTime maintenanceDate;
thing.SetMaintenanceDate(maintenanceDate);
```

## SetModuleLicenses(NSModuleLicense\[])

```crmscript theme={null}
Void SetModuleLicenses(NSModuleLicense[] moduleLicenses)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
NSModuleLicense[] moduleLicenses;
thing.SetModuleLicenses(moduleLicenses);
```

## SetNextCheckDate(DateTime)

```crmscript theme={null}
Void SetNextCheckDate(DateTime nextCheckDate)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
DateTime nextCheckDate;
thing.SetNextCheckDate(nextCheckDate);
```

## SetOwnerDescription(String)

```crmscript theme={null}
Void SetOwnerDescription(String ownerDescription)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

<Note>
  Additional languages can be added to LocaleText, resource type 26
</Note>

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String ownerDescription;
thing.SetOwnerDescription(ownerDescription);
```

## SetOwnerName(String)

```crmscript theme={null}
Void SetOwnerName(String ownerName)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

<Note>
  OwnerName SUPEROFFICE is reserved and may NEVER be used by partners. This must be in UPPER CASE and only contain A-Z and 0-9. NO EXTENDED CHARACTERS please.
</Note>

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String ownerName;
thing.SetOwnerName(ownerName);
```

## SetProductDescription(String)

```crmscript theme={null}
Void SetProductDescription(String productDescription)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String productDescription;
thing.SetProductDescription(productDescription);
```

## SetProductType(String)

```crmscript theme={null}
Void SetProductType(String productType)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String productType;
thing.SetProductType(productType);
```

## SetPublicKey(NSSignedPublicKey)

```crmscript theme={null}
Void SetPublicKey(NSSignedPublicKey publicKey)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
NSSignedPublicKey publicKey;
thing.SetPublicKey(publicKey);
```

## SetSerialNr(String)

```crmscript theme={null}
Void SetSerialNr(String serialNr)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String serialNr;
thing.SetSerialNr(serialNr);
```

## SetSignature(String)

```crmscript theme={null}
Void SetSignature(String signature)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSLicenseInfo thing;
String signature;
thing.SetSignature(signature);
```


## Related topics

- [NSExtendedLicenseInfo](/en/automation/crmscript/reference/CRMScript.NetServer.NSExtendedLicenseInfo.md)
- [NSLicenseOwner](/en/automation/crmscript/reference/CRMScript.NetServer.NSLicenseOwner.md)
- [NSSoSystemInfoCarrier](/en/automation/crmscript/reference/CRMScript.NetServer.NSSoSystemInfoCarrier.md)
- [Validate License Info](/en/api/reference/restful/agent/license_agent/validate-license-info.md)
- [Activate License Info](/en/api/reference/restful/agent/license_agent/activate-license-info.md)
- [NSLicenseAgent](/en/automation/crmscript/reference/CRMScript.NetServer.NSLicenseAgent.md)
