Features

Features decorate plans in Bunny's customer portal and are used for provisioning tenants in your platform.

Features are the feature flags or entitlements your product supports. In the Superdesk example, there are over a dozen features in total and each plan supports a different set of features as shown below.

Consider this example from our Superdesk sample company. Each with their own set of features.

Starter
Business
Enterprise

$100/user/year

$200/user/year

$300/user/year

5 agents

25 agents

Unlimited agents

Ticketing

Ticketing

Ticketing

API

API

API

Reporting

Reporting

Reporting

Customer portal

Customer portal

Customer portal

Skill-based routing

Skill-based routing

Social media integration

Social media integration

Automation

Automation

Voice calling

Multilingual support

SLAs

Whenever a new tenant is created, it must be initialized with a set features that tells the platform what the customer is allowed to do with the product. For example, if a customer signed up online for the Starter plan, the customer's new tenant must be initialized with ticketing, API, reporting and customer portal.

Every time a subscription is updated, Bunny will send a new message to the platform, telling it what features the tenant now has.

Features kinds

There are four different kinds of features:

  • Boolean – This simply means that plan has the feature

  • Feature group – Use this to group larger number of features in different sections

  • Quantity – Use this kind for features that have values that denote quantities.

  • Value – This means that when the feature is used on a plan it must also be provided with a value. For example, the feature support could have the values standard and premium.

If you are using Bunny to provision tenants in your platform, it is important that you use the quantity kind for quantities so that the value shows up in the right attribute in the JSON payload.

Units

Some features can also have a quantity. For example, if a product is priced by number of users, you would define a feature called User and mark it as a unit. This allows you to use the feature as a unit of measurement on product plan charges.

Each unit has a precision that determines how many decimals its price has. Typically, you would have two decimals, but for extremely low-priced units, such as messages, you might have four or six decimals.

When a quote or invoice is rendered, the number of decimals is always based on the unit with the highest precision.

If you are using Bunny's SaaS Integration, units will also be used in the communication with the SaaS environment to set user limits, report usage etc.

Tracking usage with units

Features can be used to track usage in your platform. For example, your platform can send Bunny updates on how many users a customer has or how many text messages has been sent in a month and these updates can become the basis for usage-based billing.

You can also use feature to track other types of usage that may not be related to billing, but customer engagement. For example, a Learning Management Solution would want to track how many courses a customer has defined and how many courses are being attended each month. This could be handled by the features Courses Created and Courses Attended and be reported on in Bunny's analytics.

Last updated

Was this helpful?