Report
As a result of a calculation request to the MRE, it produces a report which contains all the information for each lender, over several loan amount cases.
Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Mortgage Recommendation Engine Report Output Schema",
"description": "Schema for the output returned from the generate report endpoint",
"type": "object",
"properties": {
"Result": {
"type": "object",
"description": "Main calculation results from the mortgage recommendation engine",
"properties": {
"AssessedIncome": {
"type": "array",
"description": "Array of assessed income items",
"items": {
"type": "object",
"properties": {
"Group": {
"type": "string",
"description": "Group of the income, usually how the income is grouped in spreadsheet (e.g., 'Applicant Income')"
},
"Label": {
"type": "string",
"description": "Label of the income, usually how the income is referenced/named in spreadsheet (e.g., 'Applicant Income {{Applicant1.Name}}')"
},
"Entered": {
"type": "object",
"description": "Values that are entered into the lender spreadsheet for this specific income",
"properties": {
"Amount": {
"type": "number",
"description": "Amount entered"
},
"Frequency": {
"type": "string",
"description": "Frequency of this income, usually 'Monthly'"
}
},
"required": ["Amount", "Frequency"]
},
"Assessed": {
"type": "object",
"description": "Values that are assessed by the lender spreadsheet (including 'shading' that lenders apply to the entered values)",
"properties": {
"Amount": {
"type": "number",
"description": "Assessed amount"
},
"Frequency": {
"type": "string",
"description": "Assessed frequency of this income, likely in all cases 'Monthly'"
}
},
"required": ["Amount", "Frequency"]
}
},
"required": ["Group", "Label", "Entered", "Assessed"]
}
},
"AssessedExpense": {
"type": "array",
"description": "Array of assessed expense items",
"items": {
"type": "object",
"properties": {
"Group": {
"type": "string",
"description": "Group of the expense, defined statically for display of results in UI (e.g., 'Lending', 'Other Liabilities', 'Fixed Commitments')"
},
"Label": {
"type": "string",
"description": "Label of the expense, usually how the expense is referenced/named in spreadsheet (e.g., 'New Home Loan')"
},
"Entered": {
"type": "object",
"description": "Values that are entered into the lender spreadsheet for this specific expense",
"properties": {
"Definition": {
"type": "string",
"description": "Can be set to 'Limit' which is used when a credit card is submitted (Limit is used to tell UI how to render this expense entered value)"
},
"Amount": {
"type": "number",
"description": "Amount entered"
},
"Frequency": {
"type": "string",
"description": "Frequency of this expense, usually 'Monthly'"
},
"InterestRate": {
"type": "number",
"description": "For any home loans the applicant may have, interest rate is entered here"
}
},
"required": ["Amount", "Frequency", "InterestRate"]
},
"Assessed": {
"type": "object",
"description": "Values that are assessed by the lender spreadsheet (including 'shading' that lenders apply to the entered values)",
"properties": {
"Amount": {
"type": "number",
"description": "Assessed amount"
},
"Frequency": {
"type": "string",
"description": "Assessed frequency of this expense, likely in all cases 'Monthly'"
}
},
"required": ["Amount", "Frequency"]
}
},
"required": ["Group", "Label", "Entered", "Assessed"]
}
},
"TotalMonthlyIncome": {
"type": "number",
"description": "Total monthly income calculated from all assessed income sources"
},
"TotalMonthlyExpense": {
"type": "number",
"description": "Total monthly expenses calculated from all assessed expenses"
},
"UMI": {
"type": "object",
"description": "Uncommitted Monthly Income calculation results",
"properties": {
"Value": {
"type": "number",
"description": "Calculated UMI value"
},
"Required": {
"type": ["number", "string"],
"description": "Required UMI value for approval"
},
"Status": {
"type": "string",
"enum": ["Pass", "Fail"],
"description": "Pass/Fail status for UMI requirement"
},
"LvrValue": {
"type": "number",
"description": "LVR value used in UMI calculation"
},
"SecurityUsageType": {
"type": "string",
"description": "Security usage type used in UMI calculation"
}
},
"required": ["Value", "Required", "Status"]
},
"Servicing": {
"type": "object",
"description": "Servicing calculation results",
"properties": {
"Type": {
"type": "string",
"description": "Type of servicing calculation"
},
"Value": {
"type": "number",
"description": "Calculated servicing value"
},
"Required": {
"type": ["number", "string"],
"description": "Required servicing value for approval"
},
"Status": {
"type": "string",
"enum": ["Pass", "Fail"],
"description": "Pass/Fail status for servicing requirement"
}
},
"required": ["Type", "Value", "Required", "Status"]
},
"LVR": {
"type": "array",
"description": "Loan-to-Value Ratio calculations for each loan",
"items": {
"type": "object",
"properties": {
"Reference": {
"type": "string",
"description": "Reference identifier for this LVR calculation"
},
"LoanId": {
"type": "integer",
"description": "ID of the loan this LVR calculation applies to"
},
"LVRLimit": {
"type": "array",
"description": "Array of LVR limits that apply to this loan",
"items": {
"type": "object",
"properties": {
"Label": {
"type": "string",
"description": "Label for this LVR limit (e.g., 'Property Type')"
},
"Description": {
"type": "string",
"description": "Description/extra information for this LVR limit (e.g., '{Security.PropertyType}' or 'Unknown')"
},
"MaxLVR": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Maximum accepted LVR value as a decimal (e.g., 0.95 for 95%)"
}
},
"required": ["Label", "Description", "MaxLVR"]
}
},
"Value": {
"type": "number",
"description": "Calculated LVR value"
},
"RequiredMaxLVR": {
"type": "number",
"description": "Maximum LVR required for approval"
},
"Status": {
"type": "string",
"enum": ["Pass", "Fail"],
"description": "Pass/Fail status for LVR requirement"
}
},
"required": ["LoanId", "LVRLimit", "Value", "RequiredMaxLVR", "Status"]
}
},
"LEM": {
"type": "array",
"description": "Lenders Equity Margin calculations",
"items": {
"type": "object",
"properties": {
"Label": {
"type": "string",
"description": "Label for this LEM calculation (e.g., 'Security {LoanId}')"
},
"LoanId": {
"type": "integer",
"description": "ID of the loan this LEM calculation applies to"
},
"Assessed": {
"type": "number",
"description": "Assessed value for LEM calculation"
},
"Margin": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Margin percentage as a decimal (e.g., 0.015 for 1.5%)"
},
"Amount": {
"type": "number",
"description": "Calculated LEM amount"
}
},
"required": ["Label", "LoanId", "Assessed", "Margin", "Amount"]
}
},
"DTI": {
"type": "object",
"description": "Debt-to-Income ratio calculation results",
"properties": {
"TotalIncome": {
"type": "number",
"description": "Total income used in DTI calculation"
},
"TotalDebt": {
"type": "number",
"description": "Total debt used in DTI calculation"
},
"Value": {
"type": "number",
"description": "Calculated DTI value"
},
"RequiredMaxDTI": {
"type": ["number", "string"],
"description": "Maximum DTI required for approval, or 'N/A' if not applicable"
},
"Status": {
"type": "string",
"enum": ["Pass", "Fail", "N/A"],
"description": "Pass/Fail/N/A status for DTI requirement"
}
},
"required": ["TotalIncome", "TotalDebt", "Value", "RequiredMaxDTI", "Status"]
},
"Deposit": {
"type": "object",
"description": "Deposit calculation results",
"properties": {
"Amount": {
"type": "number",
"description": "Required deposit amount"
}
},
"required": ["Amount"]
}
},
"required": [
"AssessedIncome",
"AssessedExpense",
"TotalMonthlyIncome",
"TotalMonthlyExpense",
"UMI",
"Servicing",
"LVR",
"LEM",
"DTI",
"Deposit"
]
},
"Warnings": {
"type": "array",
"description": "Array of warning messages generated during calculation",
"items": {
"type": "object",
"properties": {
"Message": {
"type": "string",
"description": "Warning message text"
},
"Reference": {
"type": "string",
"description": "Reference to the part of the calculation that generated this warning"
},
"ReferenceObjectType": {
"type": "string",
"description": "Type of object that the warning references (used in V2 warnings)"
},
"ReferenceObjectId": {
"type": ["string", "number"],
"description": "ID of the object that the warning references (used in V2 warnings)"
}
},
"required": ["Message", "Reference"]
}
},
"Errors": {
"type": "array",
"description": "Array of error messages generated during calculation",
"items": {
"type": "object",
"properties": {
"Message": {
"type": "string",
"description": "Error message text"
},
"Reference": {
"type": "string",
"description": "Reference to the part of the calculation that generated this error"
},
"ReferenceObjectType": {
"type": "string",
"description": "Type of object that the error references (used in V2 errors)"
},
"ReferenceObjectId": {
"type": ["string", "number"],
"description": "ID of the object that the error references (used in V2 errors)"
}
},
"required": ["Message", "Reference"]
}
},
"Resources": {
"type": "array",
"description": "Array of resource references (e.g., lender guideline images)",
"items": {
"type": "object",
"properties": {
"Type": {
"type": "string",
"enum": ["Image"],
"description": "Type of resource"
},
"URL": {
"type": "string",
"format": "uri",
"description": "URL to the resource"
},
"Reference": {
"type": "string",
"description": "Reference to the calculation result this resource relates to (e.g., 'Result.LEM', 'Result.LVR.LVRLimit[0]')"
}
},
"required": ["Type", "URL", "Reference"]
}
},
"Accuracy": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Accuracy rating of the calculation as a decimal (e.g., 0.99 for 99%)"
},
"Version": {
"type": "object",
"description": "Version information for the calculation engine",
"properties": {
"VersionNumber": {
"type": "string",
"description": "Version number of the calculation engine"
},
"ReleaseDate": {
"type": "string",
"description": "Release date of this version"
},
"VersionReleaseNote": {
"type": "string",
"description": "Release notes for this version"
}
},
"required": ["VersionNumber", "ReleaseDate", "VersionReleaseNote"]
}
},
"required": [
"Result",
"Warnings",
"Errors",
"Resources",
"Accuracy",
"Version"
]
}