We sell a number of DIGITAL_GOOD subscriptions for our services:

AIS-1  1 user monthly subscription to the platform
AIS-10 10 user ""
EMAIL-1 1 user email account
EMAIL-10 10 ""

etc...
 
This manages Subscriptions for the Party for each customer and re-generates a 
new Order every month and that's all great.

We have a service that we associate with the ProductContent with 
FULFILLMENT_EXTSYNC productContentTypeId to do the actual provisioning.  We 
track our uses by extending the SubscriptionActivity and associating it with 
the Subscription via the SubscriptionFulfillmentPiece.

My question is how best to model the useCountLimit for the various products.  
Seems like creating a virtual product for the base product and then either

1) create a variant for each consumption package, associate a different 
ProductContent with the variant setting the useCountLimit appropriately then in 
my service, can enforce that limit in the Subscription table.
2) create variant and put the limit in a product attribute and manage use count 
there

Seems like #1 is a more desirable approach? 

There doesn't appear to be any code that uses the useCountLimit anywhere.  So, 
it would appear like adding an eeca on SubscriptionFulfillmentPiece that will 
limit the number of SubscriptionActivity records to a specific Subscription to 
the useCountLimit (if not null), seems like the right way to go?

Marc

Reply via email to