Plan Family Object

In Fusebill, a plan family object is used to define migration relationships between various related plans.

Included in a plan family object are various options to define the default rules pertaining to which fields are transferred or overwritten when a subscription migrates from one plan to another within the plan family.

The plan family object also has a list of all the plans it includes, as well as a list of special plan family relationship objects which can override the default transfer rules when going from a specific source plan to destination plan. This list of plan family relationship objects also explicitly defines which migrations are permitted within the family.

Plan Family Object Fields

PropertyTypeDescription
codeStringThe code given to the plan family at time of creation [Max Length: 255 characters]
nameStringThe name of the family given at time of creation [Max Length: 100 characters]
descriptionStringThe description of what the plan family is. [Max Length: 1000 characters]
earningOptionEnum: {None, Unearned, Full}Controls how to handle the financials of the source subscription. Charges can be fully earned, the unearned charges can be reversed, or all the charges can be reversed.
nameOverrideOptionEnum: {Transfer, DoNotTransfer}Controls whether the name is transferred from the source subscription to the destination
descriptionOverrideOptionEnum: {Transfer, DoNotTransfer}Controls whether the description is transferred from the source subscription to the destination
referenceOptionEnum: {Transfer, DoNotTransfer}Controls whether the subscription reference is transferred from the source subscription to the destination
expiryOptionEnum: {Transfer, DoNotTransfer}Controls whether the expiry progression is transferred from the source subscription to the destination
customFieldsOptionEnum: {Transfer, DoNotTransfer}Controls whether the custom fields are transferred from the source subscription to the destination
contractStartOptionEnum: {Transfer, DoNotTransfer}Controls whether the name is transferred from the source subscription to the destination
contractEndOptionEnum: {Transfer, DoNotTransfer}Controls whether the name is transferred from the source subscription to the destination
plansList of Objects. See Catalog: PlansContains a summarized version of the plans contained in this family. If more details are needed, each contains a plan id and uri
planFamilyRelationshipList of Objects. Defined belowEach plan family relationship defines special rules for going from a source plan subscription to a destination plan subscription. A plan family relationship between two plans in a family must exist for a migration to occur along the defined path.
idIntegerThe Fusebill generated ID that uniquely identifies this plan family
uriStringThe full string path to this plan family

Plan Family Relationship Fields

PropertyTypeDescription
planFamilyIdIntegerThe Fusebill generated ID that uniquely identifies the plan family this plan family relationship belongs to.
relationshipMigrationTypeEnum: {Upgrade, Downgrade, PlanUpdate, FrequencyChange, FreeTrialConversion, Other}An enum used to describe the general purpose and context of the migration being done.
sourceLabelStringA label describing the source plan e.g. "Bronze (BrnzPlan) / Every 3 months"
sourcePlanIdIntegerThe Fusebill generated ID that uniquely identifies the source plan
sourcePlanFrequencyIdIntegerThe Fusebill generated ID that uniquely identifies the source plan frequency.
sourcePlanObject. See Catalog: PlansThe source plan
sourcePlanFrequencyObject. See below for definitionDetails on which source plan frequency this relationship applies to.
destinationLabelStringA label describing the source plan e.g. "Bronze (BrnzPlan) / Every 3 months"
destinationPlanIdIntegerThe Fusebill generated ID that uniquely identifies the destination plan
destinationPlanFrequencyIdIntegerThe Fusebill generated ID that uniquely identifies the destination plan frequency.
destinationPlanObject. See Catalog: PlansThe destination plan
destinationPlanFrequencyIntegerDetails on which destination plan frequency this relationship applies to.
earningOptionEnum: {None, Unearned, Full}Controls how to handle the financials of the source subscription. Charges can be fully earned, the unearned charges can be reversed, or all the charges can be reversed. Usually this is copied over from the plan family, but can be overridden here.
nameOverrideOptionEnum: {FamilyDefault,
DoNotTransfer, Transfer}
Controls whether the name is transferred from the source subscription to the destination. Can be set to default to the plan family option.
descriptionOverrideOptionEnum: {FamilyDefault,
DoNotTransfer, Transfer}
Controls whether the description is transferred from the source subscription to the destination. Can be set to default to the plan family option.
referenceOptionEnum: {FamilyDefault,
DoNotTransfer, Transfer}
Controls whether the subscription reference is transferred from the source subscription to the destination. Can be set to default to the plan family option.
customFieldsOptionEnum: {FamilyDefault,
DoNotTransfer, Transfer}
Controls whether the custom fields are transferred from the source subscription to the destination. Can be set to default to the plan family option.
expiryOptionEnum: {FamilyDefault,
DoNotTransfer, Transfer}
Controls whether the expiry progression is transferred from the source subscription to the destination. Can be set to default to the plan family option.
contractStartOptionEnum: {FamilyDefault,
DoNotTransfer, Transfer}
Controls whether the contract start date is transferred from the source subscription to the destination. Can be set to default to the plan family option.
contractEndOptionEnum: {FamilyDefault,
DoNotTransfer, Transfer}
Controls whether the contract end date is transferred from the source subscription to the destination. Can be set to default to the plan family option.
availableOnSspBooleanIndicates the availability of this migration path on the SSP
planFamilyRelationshipMappingList of Objects. Defined belowThe plan product to plan product mappings.
idIntegerThe Fusebill generated ID that uniquely identifies this plan family relationship
uriStringThe full string path to this resource

Plan Family Relationship Mapping Fields

PropertyTypeDescription
sourcePlanProductObject. See Catalog: Plan ProductsA summarized plan product object of the source plan product
destinationPlanProductObject. See Catalog: Plan ProductsA summarized plan product object of the destination plan product
sourcePlanProductIdIntegerThe Fusebill generated ID that uniquely identifies the source plan product
destinationPlanProductIdIntegerThe Fusebill generated ID that uniquely identifies the destination plan product
nameOverrideOptionEnum: {Transfer, DoNotTransfer}Controls the transfer of the name from the source plan product to the destination
descriptionOverrideOptionEnum: {Transfer, DoNotTransfer}Controls the transfer of the description from the source plan product to the destination
quantityOptionEnum: {Transfer, DoNotTransfer}Controls the transfer of the quantity value from the source plan product to the destination
inclusionOptionEnum:{UseSourceValue, UseCatalogSetting, IncludeProduct, ExcludeProduct}Controls the transfer of the inclusion/exclusion from the source plan product to the destination. Note that for inclusion, it is possible to default to the inclusion/exclusion specified in the relevant plan frequency in the catalog, as well as to explicitly specify whether the plan product should be included in the new subscription..
upliftOptionEnum: {Transfer, DoNotTransfer}Controls the transfer of the price uplifts from the source plan product to the destination
discountOptionEnum: {Transfer, DoNotTransfer}Controls the transfer of the discount(s) from the source plan product to the destination
expiryOptionEnum: {Transfer, DoNotTransfer}Controls the transfer of the expiry progression from the source plan product to the destination
scheduledDateOptionEnum: {Transfer, DoNotTransfer}Controls the transfer of the name from the source plan product to the destination
customFieldsOptionEnum: {Transfer, DoNotTransfer}Controls the transfer of the name from the source plan product to the destination
idIntegerThe Fusebill generated ID for this mapping
uriStringThe full string path to this resource

Source/Destination Plan Frequency Fields

PropertyTypeDescription
numberOfIntervalsIntegerThe number of intervals that constitute a period for this plan frequency
intervalEnum:{Monthly, Yearly}The unit of measurement for determining periods