You're viewing documentation for release 6 (LTS). Looking for a different release?

Licenses and entitlements

To support both B2B and B2C licensing scenarios, 10Duke Enterprise uses the concepts of entitlements and licenses.

Entitlements

In 10Duke Enterprise, entitlements hold the licenses granted to an organization or a consumer.

You can manage entitlements using the 10Duke SysAdmin tool and through the 10Duke Entitlement Management REST API.

Organization entitlements

An organization can have one or more entitlements, and each entitlement can contain one or more licenses. In each entitlement, you define which user groups and device client groups are authorized to consume the licenses in that entitlement.

An organization must have at least one entitlement to store their licenses, and in many cases, one is enough. However, there may be cases where you want to create multiple entitlements as “containers” for organizing the licenses that a customer has purchased. One of the entitlements should be set as a default entitlement.

As an example, in a customer organization, users might be distributed into multiple user groups, and each group needs access to different types of or a different number of licenses. If the organization’s licenses are distributed to multiple entitlements, this can provide more flexibility and control both for you as the software vendor and for the customer’s organization administrator.

When licenses are granted to an organization, a default entitlement is automatically created if the organization doesn’t have one yet. You can choose which entitlement to place the licenses in, or allow them to be placed in the default entitlement.

Personal entitlements

A consumer user must have one personal entitlement that stores all their personal licenses.

When licenses are granted to a user, an entitlement is automatically created if the user doesn’t have one yet.

A user who only consumes organization licenses doesn’t need a personal entitlement.

Licenses

Licenses can be granted to organizations and to consumers (individual users). You grant licenses using product packages, and the customer gets a separate license for each licensed item in the product package.

You can grant and manage licenses using SysAdmin and through the Entitlement Management REST API.

By using activation codes, you can also provision licenses that your customers can redeem later when they start using your software.

End users can view their available licenses in 10Duke My Licenses.

Organization licenses

Organization licenses are licenses that a company customer has purchased for the end users in their organization.

The organization owns the licenses, and they authorize their users to consume the licenses through user groups. Depending on the license model, this can mean, for example, assigning named seats per user or a floating pool from which users consume seats.

If the organization has device licenses, the licenses are consumed by the devices (machines or PCs) on which your licensed software is running. These device clients are authorized to consume licenses through device client groups. The license model again determines how the device clients can consume the licenses.

You can allow each organization to manage their own licenses using the 10Duke OrgAdmin tool, for example, to manage their users’ and device clients’ access to licenses and to reserve seats.

Personal licenses

Personal licenses are licenses that a consumer customer has purchased for themselves. Personal licenses are associated with a single user and can only be consumed by them according to the license model defined.

Seat reservations

You can reserve seats from organization licenses for specific users or device clients to manage and guarantee access to software.

The behavior of seat reservations depends on the license model:

  • For a license using named seats, seat reservations are typically mandatory. A user or device client can only consume the license if a seat has been reserved for them. Depending on the configuration, reservations may need to be made in advance, or they may be created automatically the first time a user consumes the license.

  • For a license using floating seats, reservations are optional. You can reserve a seat to ensure that a specific user always has access, effectively removing one seat from the shared pool and dedicating it to that specific identity. When a reservation is released, the seat is returned to the floating pool for others to use.

Some license models may prohibit or limit the release of reservations once they are made. If needed, you can override this restriction in SysAdmin, for example, to support your customer who made a mistake in 10Duke OrgAdmin.

You can manage seat reservations using SysAdmin and through the Entitlement Management REST API. You can also allow each organization to manage their own seat reservations using the OrgAdmin tool.

Blocking license usage

You can allow your organizations’ administrators to explicitly prevent a specific user or device client from using a license by blocking their access in the OrgAdmin tool. Once blocked, the user or device client cannot consume the license or download it, even if they would otherwise have access through a group membership.

Blocking is supported for seat-based, use count-based, and use time-based licenses.

When a user or device client is blocked, note the following:

  • If the user or device client is currently consuming the license, they can continue until the license lease expires or the software application attempts to refresh the lease—whichever occurs first.

  • If the user or device client has a seat reservation for the license, blocking them releases the seat.

License usage can be unblocked by an organization’s administrator in OrgAdmin. Additionally, if a license has been blocked for a user or device client, reserving a seat unblocks it.

Transactions

When licenses are being granted, 10Duke Enterprise uses the concept of a transaction, which often corresponds with a purchase that a customer has made for your products. You can grant licenses in transactions using SysAdmin and through the Entitlement Management REST API.

A transaction allows grouping multiple license grants together. For example, when a customer purchases or subscribes to multiple products at the same time, you can grant and maintain the licenses for their whole order or subscription within the same transaction in 10Duke Enterprise.

A transaction consists of one or more transaction items. Each transaction item specifies one product package to be used for granting licenses, and the quantity requested—how many times that product package is used to grant licenses.

Whether the requested quantity is reflected as seats, use count, or use time in a particular license depends on the licensed item’s settings in the product package: they define the credit type and amount that this particular product package grants with that licensed item.

For example:

  1. Let’s say you have a product package with two licensed items, each granting 50 seats. To grant licenses with this product package, you use a transaction with one transaction item. The customer needs 100 seats, so you set the product package quantity to 2, which creates two licenses, each with 100 seats.

  2. Now let’s say you also have a second product package, this time with one licensed item that grants 30 days of use time. To grant licenses with both product packages at the same time, you would use a transaction with two transaction items. For this second product package, the customer needs 90 days of use time, so you set the product package quantity to 3. The transaction now creates the two 100-seat licenses like above, and also one license with 90 days of use time.

You can also attach external identifiers and custom properties to transactions and transaction items for integration purposes.

For example, the transaction-level external ID typically stores the external system’s unique identifier for a purchase order associated with a customer account or a contract. A purchase order may contain multiple line items that represent the products ordered, and the transaction item-level external IDs can be used to store the identifiers of these line items.

You can make changes to existing licenses through the transaction they were granted with. You can also use a transaction update to grant new licenses or delete licenses. However, note that you cannot delete a whole transaction, nor delete all the transaction items from a transaction (at least one transaction item is required).