There are 2 ways to handle maintenance contracts
•Make regular online checks, e.g. every 30 days
•Send out an activation key to renew the contract
Regular online checks
+The regular online checks is convenient for the customer as he does not have to type in a key
- The software vendor has to manually lock the license
- An online connection is necessary
Using activation keys
+ Completely automated for the software vendor
+ Online connection not required
- Customer has to type in a key
- Needs an e-commerce integration for automation
You can easily implement, whether your customer may install an update or not. Add a new module of the type Yes/No (module type 4) with the module name Update Subscription. Set a default value for number of days - e.g. 30 days.
The expiry date is calculated, when you use the ValidatesYes command. During evaluation time of the software, don't test the update subscription module. When the version is a full version (Status of Activation is set to done - GetWebActivation) use ValidatesYes to start the subscription.
The commands are:
•ValidatesYes - to check if the module is set to Yes or No
•RemainingDays - to check if the module is time limited or not
If your customer buys an update subscription, you just send him an Activation Key for the desired time period.
This is a very convenient way to handle updates, because you can place the update on the internet and only customers with a valid update subscription can install it.
You can automate billing in combination with e-commerce providers . They offer to create recurring invoices, e.g. every 3, 6 or 12 month. If the customer pays the invoice, then an Activation Key for the module is generated to prolong the period for 3, 6 or 12 month. See Integration in Online Shops.
Combine this test with a Release Number. You could then install a service pack for a specific release without having a valid update subscription.