Unlockable Packages is not yet compatible with Blesta 6 - we're working on it.

Unlockable Packages

The Unlockable Packages plugin allows you to set conditions under which certain packages become available to clients, such as after a previous purchase or account age.

From £11.99 - View Pricing

Features

What Unlockable Packages gives you

Automatic Background Processing

Runs on Blesta's cron with no manual upkeep, so everything stays up to date on its own.

Per-Company Configuration

Configure it independently for each brand on a multi-company install, so every company runs with its own settings.

Name, Enable and Disable Rules

Every rule carries a name and an on and off switch, so a promotion can be built in advance and switched on the day it starts.

Decide Which Service Statuses Count

A qualifying service counts when it is Active by default, and you can widen a rule to also accept Suspended or Pending services.

Fully Translatable

Every staff and client label ships in editable language files, ready to translate into any language or reword to match your brand.

Any or All Matching

Decide per rule whether owning any one of the main packages is enough, or the client has to hold all of them before anything unlocks.

Filterable Rule List

Find a rule by name, enabled state, match mode, markup type or markup amount, with the main and unlocked packages listed on every row.

Sync All Clients on Demand

One button recomputes access and pricing for every client immediately, so a rule you just changed takes effect without waiting for anything.

Per-Staff-Group Permissions

Each staff action it adds is a separate permission you grant per staff group, so each team gets exactly the access it needs and nothing more.

Automatic Re-Locking

When the qualifying service is canceled, suspended or otherwise stops counting, the packages it unlocked go back behind the gate without anyone touching them.

Rules That Unlock Restricted Packages

Pick the main packages a client must own and the restricted packages those should open up, and the hidden packages appear in that client's order form as soon as they qualify.

Markup When the Qualifier Goes Away

Optionally add a percentage or fixed-amount markup to the renewal price of an unlocked service once the client no longer holds the package that earned it, so loyalty pricing ends with the loyalty.

Enforced, Not Just Hidden

Access is written into Blesta's own restricted-package list, so a client who has not qualified is refused the package even if they try to order it directly from a package group. Addon groups and carts built before a rule changed are outside that check, so treat those as a soft gate.

Blesta Club Logo

Unlockable Packages

Keep your best packages hidden until a client has earned them, then unlock them automatically the moment they qualify.

What it does

Some of your best packages should not be available to just anyone - a premium tier, a loyalty perk, an upgrade you only want to offer to clients who already hold a qualifying service. Blesta already lets you restrict a package so nobody can order it directly, but by itself that restriction never lifts for anybody. Unlockable Packages watches your clients' services and automatically opens up those restricted packages the moment a client owns the right one, then locks them straight back up if that qualifying service is canceled or stops counting. You define the rules once; the plugin keeps every client's access in sync from then on, with no manual grants and no manual revokes.

Key features

  • Rules That Unlock Restricted Packages: Pick the main packages a client must own and the restricted packages those should open up, and the hidden packages appear in that client's order form as soon as they qualify.
  • Any or All Matching: Decide per rule whether owning any one of the main packages is enough, or the client has to hold all of them before anything unlocks.
  • Decide Which Service Statuses Count: A qualifying service counts when it is Active by default, and you can widen a rule to also accept Suspended or Pending services.
  • Automatic Re-Locking: When the qualifying service is canceled, suspended or otherwise stops counting, the packages it unlocked go back behind the gate without anyone touching them.
  • Markup When the Qualifier Goes Away: Optionally add a percentage or fixed-amount markup to the renewal price of an unlocked service once the client no longer holds the package that earned it, so loyalty pricing ends with the loyalty.
  • Enforced, Not Just Hidden: Access is written into Blesta's own restricted-package list, so a client who has not qualified is refused the package even if they try to order it directly.
  • Sync All Clients on Demand: One button recomputes access and pricing for every client immediately, so a rule you just changed takes effect without waiting for anything.
  • Filterable Rule List: Find a rule by name, enabled state, match mode, markup type or markup amount, with the main and unlocked packages listed on every row.

Enhance your package management with Unlockable Packages by Blesta.Club.

Installing and updating extensions can now be done automatically through the Blesta Club Subscription Manager - this is the recommended way going forward.

Blesta Club Logo

Installing Unlockable Packages

Before you start

  • If you are on the leased (subscription) licence, the Blesta Club Subscription Manager must be installed and your subscription active. The owned and owned-source licences have no such requirement.
  • Unlockable Packages unlocks packages that are already set to Restricted status. Set the status of any package you want a rule to unlock (Packages > edit the package > Status) before you create your first rule - restricted packages are the only ones the rule form lets you choose as the packages to unlock.

1. Upload the files

Upload the extension folder into your Blesta installation so it lands under your Blesta directory at:

plugins/unlockable_packages/

For example, on a typical install: /var/www/html/blesta/plugins/unlockable_packages/

2. Install it in Blesta

  1. Log in to your Blesta admin area with a staff account that has the Plugins permission (under the Settings group in Manage Staff Groups).
  2. Go to Settings > Company > Plugins and click the Available tab.
  3. Find Unlockable Packages in the list and click Install.

3. Configure it

There are no credentials to enter - Unlockable Packages works entirely with your existing packages and services.

  1. Installing registers a Unlockable Packages permission section (List/Add/Edit/Delete rules, Sync All Clients) under Settings > System > Staff > Groups. Blesta grants it to your own staff group automatically; grant it to any other staff group that should manage rules.
  2. A daily reconcile task is registered automatically on Blesta's cron - it runs at 03:00 to catch up any client whose access should have changed but who has not triggered a service event in the meantime. No setup is needed for it.
  3. Open Tools > Unlockable Packages and add your first rule - see the usage guide for a walkthrough of the rule form.

You're ready to go - see the usage guide for a walkthrough of day-to-day use.

Installing and updating extensions can now be done automatically through the Blesta Club Subscription Manager - this is the recommended way going forward.

Blesta Club Logo

Updating Unlockable Packages

Upgrading works just like installing: upload the new files over the old ones, then run the upgrade from the same page you installed it on.

  1. Back up your current extension files first - good practice before any upgrade.
  2. Upload the new version over the existing folder, replacing the old files.
  3. Log in to your Blesta admin area and go to Settings > Company > Plugins.
  4. Find Unlockable Packages and click Update to run the upgrade.

Version-specific notes

  • v1.1.0: Adds a staff permission for the Unlockable Packages page. Blesta registers new permissions unchecked, so immediately after the update the page will be hidden and staff will see "You are not authorized to access that resource" until you grant it: go to Settings > System > Staff > Groups, edit each staff group that should manage unlockable packages, and under the Plugins section tick Unlockable Packages (and the individual list/add/edit/delete permissions you want that group to have). This is a one-time step; rules already configured keep working throughout.
  • v2.0.0: Adds a Sync All Clients button on the Unlockable Packages page and a daily reconcile cron task, plus per-rule Match Mode and Qualifying Service Statuses options. Blesta registers the new Sync All Clients staff permission unchecked, so grant it the same way (Settings > System > Staff > Groups > edit the group > Plugins section > tick Sync All Clients) before staff will see the button. Your existing rules are upgraded automatically and keep their current behavior (Match Mode = any master package, Qualifying Service Statuses = active only); the reconcile cron task is registered and enabled automatically, with no further action required.

Blesta Club Logo

Using Unlockable Packages

For your staff

The Unlockable Packages list (Tools menu)

Open the Tools dropdown in the admin navigation bar and click Unlockable Packages to see every rule you've created, with its Enabled state, Name, Master Packages, Unlockable Packages, Match Mode and Markup Type/Amount all listed on the row. Use the filter icon above the list to search by name, enabled state, match mode, markup type or markup amount. Click Edit to change a rule, or Delete to remove it after confirming.

Creating or editing a rule

Click the + button (or Edit on an existing rule) to open the rule form:

  • Enabled: Untick to keep a rule saved but inactive - it grants nothing and applies no markup until you re-enable it.
  • Name: A label to identify the rule in the list; it is not shown to clients.
  • Match Mode: Choose Any master package to unlock as soon as the client owns one of the master packages, or All master packages to require every one of them.
  • Qualifying Service Statuses: Pick which service statuses count as "owning" a master package - Active is selected by default; add Suspended and/or Pending if you want those to qualify too.
  • Main Packages / Unlock Packages: Select one or more packages on the left as the qualifying (master) packages, and one or more packages on the right as the ones to unlock. Only packages already set to Restricted status appear in the Unlock Packages list.
  • Markup Type / Markup Amount: Optionally add a Percentage or fixed Amount markup to the renewal price of an unlocked service once the client no longer qualifies for it. Leave the amount at 0 to disable the markup.

Click Submit to save. The plugin recomputes every existing client's access immediately, so a rule you just added or changed can unlock (or re-lock) packages the moment you save it.

Sync All Clients

Click Sync All Clients at the top of the list to recompute restricted-package access and pricing for every client right away, rather than waiting for a client's next service change or the nightly cron. Confirm the prompt, and a message reports how many clients were recomputed.

Good to know

  • Access is enforced on Blesta's own restricted-package list, so a client who has not qualified is refused the package even if they try to order it directly, not just when it happens to be hidden from the order form.
  • A package must already be set to Restricted status before it can be chosen as something a rule unlocks; changing its status back to Active makes it orderable by anyone regardless of any rule.
  • Markup is applied to the unlocked service's renewal price, not its first-term price, and only while that service is still active and the qualifying package is gone.
  • Addon-group packages, and items already sitting in a client's cart before a rule changes, are not re-checked against the current rules - treat restriction as a strong gate on ordinary package groups, not an absolute one everywhere.

v2.0.0 - 2026-09-11

PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x

Added a "Sync All Clients" button and a daily reconcile cron so rule changes reach clients who have not touched a service
Added a per-rule Match Mode: unlock when a client owns any one master package, or only when they own every master package
Added per-rule Qualifying Service Statuses so a suspended or pending master service can still count as owning the master
Fixed the rules list accepting a tampered filter that could show records belonging to another company
Fixed the Delete and Sync All Clients links falling through to a plain GET if the confirmation script fails to load
Added a staff permission for the Sync All Clients action (grant it under Settings > Staff > Groups)

v1.0.0 - 2024-09-22

PHP 7.2 - 7.3, 8.1 - 8.4 · Blesta 5.x

Blesta Club release

Pricing Options

Get exactly what you need and want.

Requires PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x

Included In

Value: £65.55

£24.99
per month
  • +58 Other Extensions
  • Additional Discounts
  • Included Support & Updates
Leased
£11.99
per year
  • Partially Encoded
  • Full Functionality
  • Included Support & Updates
Owned
£40
one time
  • Partially Encoded
  • Buy Once Use Forever
  • 1 Year Support & Updates
Owned - Source
£80
one time
  • Source Available
  • Buy Once Use Forever
  • 1 Year Support & Updates

Not sure whether to lease or own? Our FAQ explains how the licence types differ.

Reviews

What our customers say

(0 customer reviews)

Seems like this extension doesn't have reviews yet...
Be one of the firsts to leave a review!

It is possible to leave a review only if you have purchased this extension or a Club tier which contains it.
We reserve the right to alter wording or formatting for presentation.
We will discuss any changes made and offer the option to withdraw review text if the changes can't be agreed on.
It may take up to 1 hour for a review to appear or update due to caching.

You might also like

More extensions to explore

Blesta 6

Plugin

Announcements

(1)

Integrate the Announcements plugin to provide updates and news to your clients.

PHP 8.2 - 8.4 · Blesta 6.x

Blesta 6

Plugin

Bulk Download Invoices

Download multiple invoices simultaneously.

PHP 8.2 - 8.4 · Blesta 6.x

Blesta 5

Plugin

Convoy Automatic Stock

Automate Convoy stock management.

PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x

Blesta 5

Plugin

Cookie Cuttr

Implement cookie compliance easily.

PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x

Blesta 5

Plugin

Credit Awards

Give your clients rewards based upon service purchases.

PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x

Blesta 5

Plugin

Crisp Live Chat

Integrate Crisp live chat into your client area.

PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x