3.3 CUSTOMER-ACCOUNT MANAGEMENT
What. Many businesses use accounts to track the credits and debits that a customer makes within a given context of dealing with that business. Rental businesses often use accounts to keep track of rentals and returns. Telephone companies use accounts to track credits and debits for telecommunications services. Financial institutions use accounts in perhaps the widest variety of contexts: checking, savings, loans, and various combinations.
Scope. Customer-account management begins with an application and ends with account transactions.
Steps. First, accept a customer-account application. Second, evaluate the application. Third, approve or reject it. Fourth, if accepted, generate a new customer account. Fifth, make customer transactions, recording debits, credits, or both.
Links. Post account transactions (accounting management).
Mirror images. In customer-account management, we establish and maintain accounts so we can track and present on-going business activity from a customer's perspective. In accounting management, we establish and maintain accounts to track the overall business financially, organized as specified by management, by a regulatory authority (in some countries), or both.
Components. The components within customer-account management are (Figure 3-26):
- Customer-account application
- Customer account
- Customer-account transaction
Figure 3-26 Customer-account management.
Moment-intervals. The main moment-intervals for customer-account management are (Figure 3-27):
- Customer-account application, linked via customer account to
- Customer-account transaction
Figure 3-27 Summary in pink.
Interactions. The components work together to get things done. An example of inter-component interaction, "rate an applicant," is shown in Figure 3-28. A sender asks a yellow applicant to rate itself. It gets its credit rating (an attribute value; credit rating could be a pink moment-interval, and credit-rating agency could be a yellow role; yet if all we care about is the current value, then that adds model complexity we don't need).
Figure 3-28 Rate a customer-account applicant.
Also note the attribute in application, credit rating at time of application. Although applicant has its credit rating, that credit rating might change over time. Perhaps we are not interested in how those values change (pink moment-interval) yet we do need to keep the value at the time of the application. That's what the "credit rating at the time of application" attribute is all about.
The same party participating as an applicant in this context might already be an account holder, a different role. So an applicant asks its green party (in the party component) to get its account holder. As shown in the relationship-management component, a role may be a grouping of other roles. So an applicant role might be a collection of other role-players acting together as an applicant group.
A party returns its yellow account holder (or a null, if no account holder exists).
A yellow applicant asks a yellow account holder to rate itself. The account holder then iterates across its collection of accounts, asking each one to calculate its average daily balance and to calculate its average daily volume (for example, the average daily amount of money flowing in and out of an account).
Expansion. One could expand this compound component by adding methods to scan current account features and suggest additional ones (telephone companies seem very good at this). One could also expand it with financial-service account details (fees, special instructions, discounts, and inter-institution transfers).
3.3.1 Customer-Account Application
Figure 3-29 Customer-account application component.
Customer-account application. A pink customer-account application links to three yellow roles: customer-account applicant, application approver, and an organizational entity responsible for accounts (for example, a bank or some other financial institution).
A customer-account application links to a blue customer-account description, indicating the kind of account the application is for. A customer-account application also links to two collections of blue customer-account feature descriptions, selections (of optional features) and additions (of features above and beyond those normally offered for this kind of customer account).
A blue customer-account description links to two collections of customer-account feature descriptions, required features and optional features.
A blue customer-account feature description links to other customer-account feature descriptions, linking to sub-features, "must combine with" features, and "cannot combine with" features.
Before and after. For customer-account application, the subsequent pink moment-interval is customer transaction (via a green customer account).
Methods. Key methods include: make customer-account application, check compatibility of features, generate account, and assess quality of resulting accounts.
Interactions. The "check compatibility of features" sequence is shown in Figure 3-30. (Note: invoke this method after adding or removing a number of features; invoking it with each add or remove results in too many transient errors.) A sender asks a pink customer-account application to check the compatibility of its features. It asks its customer account description, representing the kind of account, to check the compatibility of selected and additional features (passed along as arguments). Finally, a customer-account description interacts with its customer-account feature descriptions, checking for compatibility, including "must combine" and "cannot combine" constraints.
Figure 3-30 Check compatibility of features.
3.3.2 Customer Account
Figure 3-31 Customer-account component.
Customer account. A green customer account links to two yellow roles, customer-account holder and organizational entity responsible for accounts (derivable via the customer-account application). It also links to one or more blue customer-account feature descriptions.
Before and after. For customer account, the preceding pink moment-interval is customer-account application. The subsequent pink moment-interval is customer-account transaction (two collections: "all" and "current reporting period").
Methods. Key methods include: make customer account, calculate average daily balance, and calculate average daily volume (the flow in and out of an account).
Interactions. The "calculate average daily balance" sequence is shown in Figure 3-32. A sender asks a green account to calculate its average daily balance. It asks each of its "current reporting period" pink transactions for its date and its total, determines the result, and returns it to the sender.
Figure 3-32 Calculate average daily balance.
3.3.3 Customer-Account Transaction
Figure 3-33 Customer-account-transaction component.
Customer-account transaction. A pink customer-account transaction links to three yellow roles: customer-account holder (derivable, via customer account), organizational entity responsible for accounts (derivable,via customer account then customer application), and facility as business location (the location where a given customer-account transaction takes place). It also links to pink customer-account transaction detail(s).
Customer-account transaction detail. A pink customer-account transaction detail specifies a credit (with a positive amount) or a debit (with a negative amount). A customer-account transaction detail links to a green customer account.
Before and after. For customer-account transaction, the preceding pink moment-interval is customer application (via a green account). The subsequent pink moment-interval is an accounting posting of the transaction.
Methods. Key methods include: make customer-account transaction and calculate average customer-account transaction.
Interactions. The "calculate average customer-account transaction" sequence is shown in Figure 3-34. A sender asks a yellow facility as business location to calculate its average customer-account transaction. It asks each of its pink customer-account transactions to calculate its total. A transaction then gets its total and returns it (if a buffered value is present); otherwise it (re)calculates the total by asking each of its pink transaction details for its amount, and then returns the total. Finally, a facility as business location totals it all, gets the number of transactions, calculates the average, and returns the result to the sender.
Figure 3-34 Calculate average customer-account transaction.