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 kindsLink to Features kinds section
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
standardandpremium.
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.
UnitsLink to Units section
Some features can also have a quantity. For example, if a product is priced by number of users, you would define a Quantity feature called User and turn on Is a chargable unit. This allows you to use the feature as a unit of measurement on product plan charges.
How many decimals a unit’s price has is set on each charge with Price decimals, not on the feature. See Charges.
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 unitsLink to Tracking usage with units section
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.