ConsumerDataStandardsAustralia / standards-maintenance

This repository houses the interactions, consultations and work management to support the maintenance of baselined components of the Consumer Data Right API Standards and Information Security profile.
41 stars 9 forks source link

Update description of features[].isActivated to remove default #316

Open anzbankau opened 4 years ago

anzbankau commented 4 years ago

Description

The wide range of features and the products to which they may apply reveals more complexity and subtleties associated with the use of the features[object].isActivated property than outlined in the answer to clarification request #171. The single example, together with the default value of true, suggests that there is a simple binary choice. The range of feature types highlights the limitations of having a default value (whether true or false) and the need to enhance the property's description.

The '... false if the feature is available for activation.' part of the current description implies that activation is initiated by the customer and if not, the feature is not active. The 'Defaults to true if absent.' part does not allow data holders to indicate that the activation state is unknown or cannot practically be determined. This is counter to the rest of the standards where a property value may not be available (even for a mandatory property). A default also has the effect of making this optional property a mandatory property.

Many feature types are an inherent part of the product rather than selectively activated by customers e.g. DIGITAL_BANKING, FREE_TXNS, FREE_TXNS_ALLOWANCE, NPP_ENABLED, UNLIMITED_TXNS. The description should indicate this additional meaning of isActivated=true. Refer to the table below for an indicative classification of feature types.

Given the range of features and their applicability to different products, the ability to determine whether a feature has been activated by a customer can be difficult or impossible (as noted in #171). For some customer-activated features there is no reason to record the activation event on the account because they have no effect on regular account processing e.g. ADDITIONAL_CARDS, CARD_ACCESS, NPP_PAYID. This contrasts with customer-activated features that determine the number or values of fees and rates that are therefore important for account-to-product comparisons e.g. OVERDRAFT. The description should permit the absence of the property (or null value) to indicate that the activation state is unknown.

Note: COMPLEMENTARY_PRODUCTDISCOUNTS ('Indicates that complementary, discounted offerings (such as gift cards, or discounted travel) is available'_) is an example of a feature type for which a data holder would not be reasonably expected to record the customer's acceptance of offers that are incidental to regular account processing.

Area Affected

Get Account Detail

Change Proposed

Amend the description for features[object].isActivated from: True if the feature is already activated and false if the feature is available for activation. Defaults to true if absent. (note this is an additional field appended to the feature object defined in the Product Reference payload)

to: True if the feature has been activated by the customer or is a standard feature of the product. False if the feature is available for activation. If absent or null, the activation state is unknown. (Note this is an additional field appended to the feature object defined in the Product Reference payload.)


Indicative Classification of Feature Types

Feature Type Description isActivated Level
ADDITIONAL_CARDS Additional cards can be requested Customer
BALANCE_TRANSFERS Balance transfers can be made from the account (eg. for credit cards) Product
BILL_PAYMENT The product can be attached to an automatic budgeting and bill payment service Product
BONUS_REWARDS Bonus loyalty rewards points are available Product
CARD_ACCESS A card is available for the product to access funds Customer
COMPLEMENTARY_PRODUCT _DISCOUNTS Indicates that complementary, discounted offerings (such as gift cards, or discounted travel) is available Product
DIGITAL_BANKING Access is available to online banking features for the product Product
DIGITAL_WALLET A Digital wallet can be attached to the product Product
DONATE_INTEREST Indicates that interest generated from the product can be automatically donated to a charity or community group Product
FREE_TXNS A set number of free transactions available per month Product
FREE_TXNS_ALLOWANCE A set amount of transaction fee value that is discounted per month Product
INSURANCE Insurance is provided as an additional feature of the product Customer
INTEREST_FREE Interest free period for purchases Product
INTEREST_FREE_TRANSFERS Interest free period for balance transfers Product
LOYALTY_PROGRAM A points based loyalty program is available Product
NOTIFICATIONS Advanced notifications are available for the product Product
NPP_ENABLED An account of this product type can be used to receive funds as a result of a BSB/Number based NPP payment Product
NPP_PAYID An account of this product type can be used as the target of an NPP PayID Customer
OFFSET An offset account can be connected to the product Customer
OVERDRAFT An overdraft can be applied for Customer
REDRAW Redraw of repaid principal above minimum required is available Product
UNLIMITED_TXNS Unlimited free transactions available Product
nils-work commented 1 year ago

Hi @anzbankau The DSB is proposing this issue be addressed as part of Decision Proposal 306. Any feedback would be welcome.

cuctran-greatsouthernbank commented 1 year ago

We support the addition of the unknown status to this field. However, changing the definition of the "false" will have considerable impact to our current implementation.

Take offset as an example. Some of our home loan products have offset as a standard feature of the product. Currently, if a customer does not have any linked offset accounts to the home loan, it is deemed as "available for activation" and the isActivated = false.

With the proposed change, it is challenging to determine if the status should be true (it is a product standard feature) or false (it is not yet "activated" by the customer).

We also suggest changing the definition of false from "available for activation" to "available for activation and/or opted out by the customer" or something to that effect. As an example, some of our variable home loan products has default redraw feature. According to the current definition, isActivated = true.

However, we allow customers to opt out of this feature at account level if they do not wish to have the ability to redraw their money. It is rare but we do have customers requesting this. In this case, isActivated = false.

anzbankau commented 1 year ago

Hi @cuctran-greatsouthernbank,

In regards to:

Take offset as an example. Some of our home loan products have offset as a standard feature of the product. Currently, if a customer does not have any linked offset accounts to the home loan, it is deemed as "available for activation" and the isActivated = false.

With the proposed change, it is challenging to determine if the status should be true (it is a product standard feature) or false (it is not yet "activated" by the customer).

The proposal deliberately doesn't add to the isActivated property the semantics of whether the feature is defined as part of the product or is selected/activated by the customer. For your home loan customer with a linked offset, isActivated would be true, and without an offset account it would be false. The presence of the feature indicates that the feature is available (i.e., a standard feature of the product) - irrespective of the value of isActivated.

In regards to:

We also suggest changing the definition of false from "available for activation" to "available for activation and/or opted out by the customer" or something to that effect. As an example, some of our variable home loan products has default redraw feature. According to the current definition, isActivated = true.

The REDRAW feature is a good example of a product-level feature on the customer's account because it's always available (subject to potentially complex rules). It's also a capability rather than a state of the account, so it should remain isActivated = true. Redraws are events that can't be represented as an account (feature) state. The isActivated property couldn't be set to false if the customer has never executed a redraw and set to true after the first redraw event. As for offsets, the presence of the feature indicates that the feature is available.

Can a customer with your home loan actively 'opt out' of the redraw capability i.e., block themselves from requesting a redraw?

In summary, the isActivated field should be limited to the traditional boolean semantics implied by the 'is' prefix - with 3 values: True, False, Unknown/Not Applicable (with the latter sometimes being separate values for additional semantics) This is consistent with elsewhere in the CDS and general data naming conventions. Forcing a 'default to true if absent' only allows True and False.

p.s. I changed REDRAW to product-level in the Indicative Classification of Feature Types table in the proposal.

cuctran-greatsouthernbank commented 1 year ago

Hi @anzbankau,

Yes we allow our customer to actively opt out of the redraw feature at account level. We have functionality at account level to disable the redraw facility. The customer can request to reactivate it at any point in time if they wish to but it must be done by our staff members at this point.

nils-work commented 11 months ago

Hi @anzbankau, @cuctran-greatsouthernbank

The isActivated field has been updated in the Candidate Standards for Banking.

Consultation on making the Candidate Standards binding is now open through Decision Proposal 338.