Closed CDR-API-Stream closed 1 year ago
The decision proposal has been attached to the issue's original comment.
Hi DSB,
As it stands, payments can only be allocated to the entire customer account and not to the multiple services that are associated with the customer account.
An example of this is that a customer may have a separate NBN service and a separate mobile service, however only one invoice is issued in relation to both of these services.
In order to address this issue, we propose that you amend the URI/telco/accounts/ balance, balance values for the "Service" as optional."
Here's a summary of things I noticed in a few minutes of review:
UNMETERED
seems to imply unlimited in both directions, this assumption is invalid. A very common fixed internet plan in corporate is a quota for download and unlimited upload (or unlimited download, quota upload for data centre services)METERED
but the "remaining" upload/download is unlimited. It is actually quite common, at least in corporate plans but some retail ones, to have a 0MB commitment and a pay per MB. Unclear how this is displayed in the Balances List payloadvoice.national
and voice.international
are marked as mandatory but should be conditional if planType
is UNSUPPORTED
planType
based on destination. For instance unlimited domestic and unsupported international."Account Billing Balance" endpoint seems to be mashing together billing and usage data. This is likely to be difficult for implementers because usage tracking is often stored in a completely separate, generally less granular, format (ie. RRD / daily counters) than billing data.
Suggest that usage limits be incorporated into the usage endpoint instead.
Please review this in conjunction with #264 & #265 as there is common feedback across the proposals.
data.accounts[].account.name
The definition states "The display name of the product" which implies there is only 1 product applicable to an account. Would product apply at the 'service' level instead? Consider removing this as an attribute for Telco.
data.accounts[].account.services[].service.balances.balance
is the intention to show the remaining balance available If so, the description for the attributes need to reflect the requirements. The mix of language for different attributes is confusing. e.g. • “Remaining upload data in megabytes (MB).” • “Amount of data used overseas in megabytes (MB)” • “Total duration (hours, minutes, and seconds) of national voice calls” • “Total duration (hours, minutes, and seconds) of international voice calls available” • “Number of national SMS messages remaining.” It looks like the want is three different things depending on the attribute:
data.accounts[].account.services[].service.balances.balance.data.download and data.accounts[].account.services[].service.balances.balance.data.upload
What is the expectation when the data balance is shared for both upload and download? E.g. 40 GB data but we count both uploads and downloads towards the 40 GB.
_data.accounts[].account.services[].service.balances.balance.voice.international.duration Total duration (hours, minutes, and seconds) of international voice calls available. Required unless planType is UNSUPPORTED or UNMETERED and data.accounts[].account.services[].service.balances.balance.voice.international.number_ Number of international voice calls available Required unless planType is UNSUPPORTED or UNMETERED
Both of these are interested in international calls, which attribute captures the value for roaming? Duration is a TimeString which limits the value to 23:59:59Z. how is time zone is useful and why we limit it to ~24 hours for a period.
data.accounts[].account.services[].service.balances.balance.voice.international How do cater for situations where roaming calls are metered and there is an inclusion for IDD?
data.accounts[].account.services[].service.usage.data.roaming
consider rate/meter/charge applying for uploads as well as downloads.
data.accounts[].account.services[].service.usage.voice.domestic
The language has now changed to domestic and is different from National?
data.accounts[].account.services[].service.usage.voice.international
“Calls made overseas” sounds like calls made when roaming. I assume the intent here is to capture international/IDD calls and roaming calls.
Response Payloads
Design Proposals #264 and #265 both return accountId as part of the account object but this proposal doesn’t. Should this be a consistent attribute across account objects since you need the list of accountIds in order to retrieve balance and usage for a specific accountId. Also, in APIs where many accounts can be returned, there is no way to know which account the usage/balance is for.
Response Payloads > data > accounts > account > services > balances > data > roaming Balance of data roaming charges. Required unless planType is UNSUPPORTED.
This would allude that the user has an active “roaming” service active even if they do not?
This consultation is now being closed for feedback.
As described in Noting Paper 255 - Approach to Telco Sector Standards, next steps will be to:
Marking this consultation as No Decision Made
. While the proposal and feedback for this consultation have been incorporated into the draft standards this is not yet a formal decision of the Chair.
This decision proposal contains a recommendation for the candidate payloads for the Balance and Usage data clusters for the telecommunications sector.
The decision proposal is embedded below: Decision Proposal 266 - Billing Balance and Usage Data Payloads.pdf
This consultation will be open for feedback until the 17th October 2022.