A Subscription is an entity which can be associated to a user. When a subscription is activated (from a pending or expired state) the user gets a role which matches the role that is recorded against the subscription entity. When a subscription has expired that role is then removed from the user.
To manage a subscription’s state subscription term entities should be assigned to the subscription.
By default subscriptions are 1 year long, (i will add in additional functionality to update this to be configurable).