Introducing OpenTelemetry for Chargebee SDKs — trace every API call in any telemetry tool.
Chargebeechargebee API

Quote Entitlement

Overview

The quote entitlement object represents the entitlement a quote holds for a feature. A quote can have several quote entitlements, each tied to a specific feature and to an entity on the quote (such as a plan price, addon price, or charge price).

How quote entitlements are determined

Quote entitlements are based on the entitlements linked to the item prices on the quote. If an item price lacks an entitlement record for a particular feature, Chargebee considers the entitlement (when available) of its parent item.

You can further customize entitlements by passing entitlement_overrides when creating or editing item-based quotes. When an entitlement has been explicitly overridden on the quote, is_overridden is true and the entitlement takes on the override value.

The method used to derive entitlement levels follows the same rules determined by the feature type as described for subscription entitlements.

Use the List Quote Entitlements API to retrieve the entitlements associated with a quote.

Note Applicable only when Chargebee CPQ and Entitlements are enabled. To request access, contact Chargebee Support.

Sample Quote entitlementJSON

Quote Entitlement attributes

entity_id
required, string, max chars=100

The id of the entity on the quote whose entitlement this record represents.

entity_type
required, enumerated string

The type of the entity on the quote for which this entitlement applies.

Enum Values
plan_price

Indicates that the entity is an item_price with item_type set to plan.

addon_price

Indicates that the entity is an item_price with item_type set to addon.

charge_price

Indicates that the entity is an item_price with item_type set to charge.

feature_id
required, string, max chars=50

The unique identifier of the feature .

value
optional, string, max chars=50

The level of entitlement that the quote entity has towards the feature. The possible values depend on the value of feature.type :

  • When feature.type is custom: The value can be any one of levels[].value.

  • When feature.type is switch: This value is true when the feature is available; it is false when the feature is unavailable.

  • When feature.type is quantity:

  • When levels[].is_unlimited is not true: The value can be any one of levels[].value.

  • When levels[].is_unlimited is true: The value can also be any one of levels[].value or it can be unlimited (case-insensitive), indicating unlimited entitlement.

  • When feature.type is range:

  • When levels[].is_unlimited is not true: The value can be any whole number between levels[0].value and levels[1].value (inclusive).

  • When levels[].is_unlimited is true: The value can be any whole number equal to or greater than levels[0].value or it can be unlimited (case-insensitive), indicating unlimited entitlement.

is_enabled
required, boolean, default=true

Indicates whether the entitlement for the feature is enabled for the entity on the quote.

start_date
optional, timestamp(UTC) in seconds

Start date (UTC timestamp) of this entitlement on the quote. Used with end_date for ramp-scoped entitlements.

end_date
optional, timestamp(UTC) in seconds

End date (UTC timestamp) of this entitlement on the quote. Used with start_date for ramp-scoped entitlements.

created_at
required, timestamp(UTC) in seconds

Timestamp indicating when this quote entitlement record was created.

modified_at
required, timestamp(UTC) in seconds

Timestamp indicating when this quote entitlement record was last modified.

is_overridden
optional, boolean

Indicates whether the entitlement held by the quote entity for the feature is overridden via an entitlement_overrides record on the quote.

feature_name
optional, string, max chars=50
feature_unit
optional, string, max chars=50

The unit of measure for the feature when its type is either quantity or range .

feature_type
optional, string, max chars=50

Specifies the type of the feature associated with the granted quote entitlement.

name
optional, string, max chars=50

The display name of the entitlement level that the quote entity holds for the feature. It is derived based on the type of feature as follows:

  • When feature.type is range or quantity: the name is the space-separated concatenation of value and the pluralized form of feature_unit. For example, if value is 20 and feature_unit is user, then name becomes 20 users.
  • When feature.type is custom: the name is the same as value.
  • When feature.type is switch: name is set to Available when value is true; it's set to Not Available when value is false.
metered
optional, boolean

Indicates if the feature is a metered feature.