Example: Control when applications are declined

     SpringboardThis topic is related to Springboard.   |     Form Builder |    23.10This feature was updated in 23.10 

This example demonstrates a scenario where the Decision Framework decides what causes an application to be declined. Multiple rules can be included.

{
  "id": "Device Check Suspect",
  "destination": "declined",
  "condition": {
    "and": [
      {
        "!=": [ { "var": [ "txn.propertyMap.alloy\\.device\\.outcome" ] }, "Approved" ]
      },
      {
        "!=": [ { "var": [ "txn.propertyMap.Iovation\\.CheckTxnDetails\\.Result\\.PrimaryApplicant\\.result" ] }, "A" ]
      }
    ]
  }
},
{
  "id": "Primary Applicant Declined",
  "destination": "declined",
  "condition": {
    "or": [
      {
        "==": [ { "var": [ "txn.propertyMap.alloy\\.device\\.outcome" ] }, "Denied" ]
      },
      {
        "==": [ { "var": [ "txn.propertyMap.Iovation\\.CheckTxnDetails\\.Result\\.PrimaryApplicant\\.result" ] }, "D" ]
      }
    ]
  }
},
{
  "id": "Joint Applicant Declined",
  "destination": "declined",
  "condition": {
    "==": [ { "var": [ "txn.propertyMap.alloy\\.joint\\.person\\.outcome" ] }, "Denied" ]
  }
},
{
  "id": "Decline Loan",
  "destination": "declined",
  "condition": {
    "and" : [
      {
        "==":[ { "var": ["txn.propertyMap.Application_Decision"] }, "AUTO_REJECTED" ]
      },
      {
        "==": [ { "var": ["params.decisionType"] }, "lms" ]
      }
    ]
  }
}

The Narrative used in conjunction with this set of rules could have the following terminal page definition.

{
  "name": "Declined Page",
  "condition": "${ jsonSlurper.parseText( txn.propertyMap.get('decision') )['destinations']['declined']['isActive']}",
  "allowSubmit": true,
  "preActions": [],
  "postActions": [],
  "nextPages": []
}

Next, let's look at an example showing how to access data in rules.