Hi,
I suggest revisiting previous discussions on credit check. You may find useful perspectives, scenarios, and designs that other telecom companies have already explored.
Below are a few points from my experience.
In telecom, a Product Offering can be sold as a recurring charge (postpaid) or as a one-time charge (prepaid). A recurring charge represents a subscription.
-
Prepaid offers do not require a credit check.
-
Postpaid offers usually require a credit check, although this remains the seller's decision.
Credit check is strongly linked to pre-order flows and belongs in the commercial Eligibility domain.
My design is based on TMF679 Product Offering Qualification, not TMF696, and also follows the ODA blueprint principles.
At design time
At runtime
-
Engagement Management, such as a webshop, invokes TMF679 with a POST request.
-
TMF679 retrieves the Product Offering from TMF620 and obtains its policyRef.
-
TMF679 then calls the credit risk management service, supplying the relevant context, for example policyRef and customer id. (different options exist here)
-
TMF679 receives the result, evaluates any additional catalogue rules, and determines eligibility.
-
TMF679 returns a response to the engagement layer with an eligibility status per Product Offering as well as per business rule (array of ineligibility reasons). Credit check outcomes can appear as specific ineligibility reasons.
The user experience is flexible. You may hide ineligible offers, display them with an explanation, allow adding to the cart but block order submission, and so on. The front end can also decide how to present these outcomes and guide the customer with next steps.
My knowledge is not solid enough to comment on all customer and financial TMF APIs but there sure is quite a lot of them at TM Forum!
My two cents,
Matthieu
PS: In future you could consider adopting a BRMS with TMF723 to maintain business rules such as credit check. TMF679 would still retrieve the rule content, fetch the required data, and compute the actions and outcomes. The alternative is to delegate all rule evaluation to an external universal rule engine, with TMF679 acting as a orchestration layer (our implementation has a hybrid model: 679 computes rules and delegate some rules to 3rd party APIs but the response to the client would be aggregated).
------------------------------
Kind regards,
Matthieu Hattab
Digital Sales Domain Architect
Lyse Tele AS
------------------------------