Maple allows you to manage different sets of features for different plans without any engineering involvement. You can make your code oblivious to which features are packaged into different plans. This allows for easy experimentation with different features in different packages and allows you to customize the feature set for larger customers without having to rely on your engineering team.

Maple supports three kinds of feature entitlements

  • Boolean entitlements
  • Numerical or string-based entitlements
  • Enum or choice-based entitlements
  • Metered entitlements supported through billable metrics

Entitlements can be set at different levels of the pricing stack such as the product level, the pricing level and the individual subscription level. The details of all entitlements, inherited or overridden are returned as computed entitlements with each of the APIs for pricing and subscriptions.

Product Entitlements

Pricing and Subscription Entitlements

Product entitlements are inherited by default at the pricing or subscription level but can be explicitly overridden to accommodate for different pricing tiers or specific customer requirements or exceptions.

Entitlement Aggregation

The entitlements from each subscription can be aggregated (at a customer level) to provide overall entitlements for that customer.

The following aggregation types are supported for the corresponding entitlement types.

  • Boolean entitlements - OR - True if any of the subscriptions has the entitlement enabled AND - True only if any of the subscriptions has the entitlement enabled
  • Numerical entitlements - Add - Add up all the numerical entitlement values Minimum - Pick the minimum numerical entitlement value Maximum - Pick the maximum numerical entitlement value
  • String/Text entitlements Coalesce - Combine all the entitlement values into an array
  • Enum/Choice entitlements Coalesce - Combine all the entitlement values into an array