Hi Sophie & Vadim,
I believe a bucket needs to have multiple balances simply because it may have balances for different periods.
That is why each balance has a ValidFor parameter.
So a product offering 1000 SMS per month would have
- 1 bucket with
- a balance for January
- a balance for February
- ...
The same obviously counts for the consumption counters.
For supporting multiple users, a consumption counters per month and per RelatedParty will be required.
For supporting multiple devices, I would personally prefer the link from consumption counter to go to a Resource instead of to a Product.
This would make a strong tie between the Resource used for measuring the usage and the consumption counter.
The link to Product is slightly more ambiguous. Because a Product can be either directly realised as a Resource (ex. the phone number or the SIM card) or via a more complex construct when a Product is a bundle consisting of other products which by themselves are realised as Services that require several Resources.
In summary a link to a Resource makes the consumption counter as atomic as possible. If for presentation the usage of several resources must be grouped to the Product level this grouping can be totally catalog driven and therefore changed on te fly without impacting the usage collection.
Regards
Original Message------
Hello,
1. A bucket has strictly one balance but this balance can be given in different units (for the given sample, we can give the balance of the bucket in Gigs but also in the corresponding amount of money). This is the reason why we have this cardilatity.
For the consumption counters, in general, we can have only one counter for the used value in the bucket. But, for shared bucket, we can give have several counters : one global for the all the consumptoon done in the bucket, a counter detailing the consumption by device,...
2. The link between the balance and the counters is done via the bucket resource. In the consumption follow up report, they are displayed together for each bucket.
3. BucketBalance gives the amount left in the bucket (at the time of report calculation) and BucketCounter gives what have been used in the bucket. It is not a good idea to use the counterType to give the balance in the counters even if it is possible ! You have two distinct sub-resources : one for the balance and on for the counters and you have to use it.
4. You can adapt the use of counterType to your particular needs.
I specify a new version of the TMF677 Usage Consumption API for the next release 18.5 (coming very soon).
Best regards
------------------------------
Sophie Bouleau
Orange
------------------------------