Generate Report
The Generate Report endpoint accepts data about a customer's finances and lending scenario, along with lenders to calculate the report for. The endpoint may take a few seconds to generate a report which consists of a single loan amount case for each of the specified lenders.
Request
- Type:
POST - Path:
/engine/generate-report
Endpoint
The Generate Report endpoint can be accessed from the following URLs:
| Environment | Endpoint URL |
| Test | https://api.mre.test.blackfin.tools/engine/generate-report |
| Production | https://api.mre.blackfin.tools/engine/generate-report |
Authentication
An API_Key is required to call this endpoint. HTTP Bearer Token authentication is used.
JSON Schema
The request payload is sent as HTTP JSON body using the following schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Request JSON Payload",
"type": "object",
"properties": {
"Details": {
"type": "object",
"description": "Main calculation details for mortgage calculation, see [CalculationDetails](https://docs.blackfin.tools/books/mortgagerecenginebackend/page/calculationdetails) schema"
},
"Lenders": {
"type": "array",
"description": "[Lender codes](https://docs.blackfin.tools/books/mortgagerecenginemycrm/page/lenders) to include in calculation. If no Lenders are passed (empty array), the calc will return ASB, ANZ, BNZ, AIA and Westpac by default",
"items": {
"type": "string",
"description": "",
"enum": [
"aia",
"anz",
"asb",
"bnz",
"co-op",
"kiwibank",
"liberty",
"sbs",
"tsb",
"westpac"
]
}
}
},
"required": [
"Details",
"Lenders"
]
}
Examples
Example request payload:
JSON Request Body
{
"Details": {
"Loan": [
{
"LoanType": "New",
"Lender": null,
"LendingAction": null,
"LiabilityType": "HomeLoan",
"LoanAmount": 250000,
"TopUpAmount": null,
"TotalTermMonths": 180,
"InterestOnlyTermMonths": 180,
"Security": {
"Value": 300000,
"IsRBNZExempt": true,
"Location": null,
"PropertyType": [
"ResidentialProperty",
"FreeHoldResidential",
null
],
"SecurityType": "Proposed",
"UsageType": "OwnerOccupied"
},
"LoanId": 1
},
{
"LoanType": "Existing",
"Lender": null,
"LendingAction": "TopUp",
"LiabilityType": "HomeLoan",
"LoanAmount": 250000,
"TopUpAmount": 50000,
"TotalTermMonths": 183,
"InterestOnlyTermMonths": 219,
"Security": {
"Value": 300000,
"isRBNZExempt": false,
"Location": null,
"PropertyType": [
"ResidentialProperty",
"FreeHoldResidential",
null
],
"SecurityType": "Existing",
"UsageType": "OwnerOccupied"
},
"LoanId": 2
},
{
"LoanType": "Existing",
"Lender": null,
"LendingAction": "Refinance",
"LiabilityType": "HomeLoan",
"LoanAmount": 260000,
"TopUpAmount": null,
"TotalTermMonths": 180,
"InterestOnlyTermMonths": 216,
"Security": {
"Value": 300000,
"isRBNZExempt": false,
"Location": null,
"PropertyType": [
"ResidentialProperty",
"FreeHoldResidential",
null
],
"SecurityType": "Proposed",
"UsageType": "OwnerOccupied"
},
"LoanId": 3
},
{
"LoanType": "Existing",
"Lender": null,
"LendingAction": "Refinance",
"LiabilityType": "HomeLoan",
"LoanAmount": 370000,
"TopUpAmount": null,
"TotalTermMonths": 144,
"InterestOnlyTermMonths": 0,
"Security": {
"Value": 410000,
"isRBNZExempt": false,
"Location": null,
"PropertyType": [
null,
null,
null
],
"SecurityType": "Proposed",
"UsageType": null
},
"LoanId": 4
},
{
"LoanType": "Existing",
"Lender": null,
"LendingAction": "TopUp",
"LiabilityType": "HomeLoan",
"LoanAmount": 200000,
"TopUpAmount": 50000,
"TotalTermMonths": 180,
"InterestOnlyTermMonths": 0,
"Security": {
"Value": 210000,
"isRBNZExempt": false,
"Location": null,
"PropertyType": [
null,
null,
null
],
"SecurityType": "Proposed",
"UsageType": null
},
"LoanId": 5
}
],
"ApplicantParty": [
{
"Applicant": [
{
"ApplicantId": 1,
"Name": "Terence"
},
{
"ApplicantId": 2,
"Name": "Eve"
}
],
"Expense": [
{
"ApplicantId": 1,
"ExpenseType": "ChildCare",
"Frequency": "Monthly",
"Amount": 300
},
{
"ApplicantId": 1,
"ExpenseType": "ChildMaintenance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "HigherEducationAndVocationalTraining",
"Frequency": "Monthly",
"Amount": 200
},
{
"ApplicantId": 1,
"ExpenseType": "OtherEducation",
"Frequency": "Monthly",
"Amount": 100
},
{
"ApplicantId": 1,
"ExpenseType": "PrivateSchoolCosts",
"Frequency": "Monthly",
"Amount": 300
},
{
"ApplicantId": 1,
"ExpenseType": "PublicSchoolCosts",
"Frequency": "Monthly",
"Amount": 150
},
{
"ApplicantId": 1,
"ExpenseType": "Groceries",
"Frequency": "Monthly",
"Amount": 200
},
{
"ApplicantId": 1,
"ExpenseType": "OtherGroceries",
"Frequency": "Monthly",
"Amount": 150
},
{
"ApplicantId": 1,
"ExpenseType": "BodyCorporatePrimaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "CouncilRatesPrimaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "ElectricityAndGasPrimaryResidence",
"Frequency": "Monthly",
"Amount": 100
},
{
"ApplicantId": 1,
"ExpenseType": "FurnishingsAndElectrical",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "HomeOperation",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "HomeRepairs",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "OtherPrimaryResidenceExpense",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "WaterAndSewerPrimaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "BuildingInsurance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "ContentsInsurance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "HealthInsurance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "IncomeProtection",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "LifeInsurance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "OtherInsurance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "VehicleInsurance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "BodyCorporateInvestmentProperty",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "BuildingInsuranceInvestmentProperty",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "CouncilRatesInvestmentProperty",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "ElectricityAndGasInvestmentProperty",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "OtherInvestmentPropertyExpense",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "RepairsAndMaintenanceInvestmentProperty",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "RunningCostsInvestmentProperty",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "WaterAndSewerInvestmentProperty",
"Frequency": "Monthly",
"Amount": 200
},
{
"ApplicantId": 1,
"ExpenseType": "ContentsInsuranceSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "BodyCorporateSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "BuildingInsuranceSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "CouncilRatesSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "ElectricityAndGasSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "OtherSecondaryResidenceExpense",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "RepairsAndMaintenanceSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "RunningCostsSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "WaterAndSewerSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "MedicalAndHealth",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "NaturalTherapies",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "Board",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "DryCleaning",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "AlcoholTobacco",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "CinemaConcertsMemberships",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "GymSports",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "OtherRecreationalAndEntertainment",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "Pets",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "HomeMobilePhone",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "InternetPayTVAndMediaStreamingSubscriptions",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "PublicTransport",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "Registration",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "TaxiRideSharing",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "TollsParking",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "Kiwisaver",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "RegularDonations",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "VoluntarySaving",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "VoluntarySuper",
"Frequency": "Monthly",
"Amount": 10
}
],
"Income": [
{
"ApplicantId": 1,
"Frequency": "Yearly",
"Amount": 50000,
"AmountType": "Gross",
"IncomeType": "SalaryWages",
"Attributes": []
},
{
"ApplicantId": 1,
"Frequency": "Yearly",
"Amount": 5000,
"AmountType": "Gross",
"IncomeType": "RentalIncome",
"Attributes": [
{
"name": "PropertyBuildDate",
"value": "2018-11-06"
},
{
"name": "PropertyCountry",
"value": "NZ"
},
{
"name": "IsTaxExempt",
"value": true
},
{
"name": "SalePurchaseDate",
"value": "2019-11-11"
}
]
},
{
"ApplicantId": 2,
"Frequency": "Yearly",
"Amount": 40000,
"AmountType": "Gross",
"IncomeType": "SalaryWages",
"Attributes": []
},
{
"ApplicantId": 2,
"Frequency": "Yearly",
"Amount": 5000,
"AmountType": "Gross",
"IncomeType": "WorkAllowance",
"Attributes": []
},
{
"ApplicantId": 1,
"Frequency": "Yearly",
"Amount": 10000,
"AmountType": "Gross",
"IncomeType": "Bonus",
"Attributes": []
},
{
"ApplicantId": 1,
"Frequency": "Yearly",
"Amount": 4000,
"AmountType": "Gross",
"IncomeType": "BoarderIncome",
"Attributes": [
{
"name": "BoarderIncomeType",
"value": "AllInclusive"
}
]
},
{
"ApplicantId": 1,
"Frequency": "Yearly",
"Amount": 3000,
"AmountType": "Gross",
"IncomeType": "CarAllowance",
"Attributes": []
},
{
"ApplicantId": 1,
"Frequency": "Yearly",
"Amount": 5000,
"AmountType": "Gross",
"IncomeType": "FamilyAllowance",
"Attributes": []
}
],
"Liability": [
{
"ApplicantId": 1,
"LiabilityType": "HomeLoan",
"RepaymentAmount": 2000,
"RepaymentFrequency": "Monthly",
"Limit": 4000,
"Balance": 10000,
"InterestRate": 0.02,
"RepaymentType": "PrincipalInterest",
"StartDate": "2017-11-15",
"TotalTermMonths": 228,
"InterestOnlyTermMonths": 228,
"Lender": "Kiwibank",
"IsRevolvingCredit": true
},
{
"ApplicantId": 1,
"LiabilityType": "CreditCard",
"RepaymentAmount": null,
"RepaymentFrequency": null,
"Limit": 30000,
"Balance": null,
"InterestRate": null,
"RepaymentType": null,
"StartDate": null,
"TotalTermMonths": null,
"InterestOnlyTermMonths": null,
"Lender": null,
"IsRevolvingCredit": null
},
{
"ApplicantId": 1,
"LiabilityType": "PersonalLoan",
"RepaymentAmount": 2000,
"RepaymentFrequency": "Monthly",
"Limit": 4000,
"Balance": 30000,
"InterestRate": 0.02,
"RepaymentType": null,
"StartDate": "2019-11-07",
"TotalTermMonths": 220,
"InterestOnlyTermMonths": null,
"Lender": null,
"IsRevolvingCredit": true
},
{
"ApplicantId": 1,
"LiabilityType": "Other",
"RepaymentAmount": 200,
"RepaymentFrequency": "Monthly",
"Limit": 4000,
"Balance": 10000,
"InterestRate": 0.01,
"RepaymentType": null,
"StartDate": "2018-11-07",
"TotalTermMonths": 183,
"InterestOnlyTermMonths": null,
"Lender": "Kiwibank",
"IsRevolvingCredit": true
},
{
"ApplicantId": 1,
"LiabilityType": "HirePurchase",
"RepaymentAmount": 2000,
"RepaymentFrequency": "Monthly",
"Limit": null,
"Balance": 20000,
"InterestRate": null,
"RepaymentType": null,
"StartDate": null,
"TotalTermMonths": null,
"InterestOnlyTermMonths": null,
"Lender": null,
"IsRevolvingCredit": null
},
{
"ApplicantId": 1,
"LiabilityType": "Overdraft",
"RepaymentAmount": 2000,
"RepaymentFrequency": "Monthly",
"Limit": 4000,
"Balance": 20000,
"InterestRate": 0.02,
"RepaymentType": null,
"StartDate": null,
"TotalTermMonths": null,
"InterestOnlyTermMonths": null,
"Lender": null,
"IsRevolvingCredit": null
},
{
"LoanId": 2,
"Lender": null,
"Balance": 195000,
"Limit": 250000,
"InterestRate": 1,
"RepaymentAmount": 15000,
"RepaymentFrequency": "Monthly",
"RepaymentType": null,
"TotalTermMonths": 183,
"StartDate": null,
"IsRevolvingCredit": null,
"InterestOnlyTermMonths": 216,
"ApplicantId": 1,
"LiabilityType": "HomeLoan"
},
{
"Lender": null,
"Balance": 200000,
"Limit": 260000,
"InterestRate": 2,
"RepaymentAmount": 10000,
"RepaymentFrequency": "Monthly",
"RepaymentType": "PrincipalInterest",
"TotalTermMonths": 180,
"StartDate": null,
"IsRevolvingCredit": null,
"InterestOnlyTermMonths": 216,
"ApplicantId": 1,
"LiabilityType": "HomeLoan",
"LoanId": 3
}
],
"NumberOfDependents": 1,
"NumberOfVehicles": 1
}
]
},
"Lenders": []
}
Validation
The API performs basic validation on the structure of the request payload but does not impose strict rules based on what is required for generating a calculation. Same rules are applied as for create session endpoint, this will be fixed eventually to throw an error when there is insufficient data.
Response
Success
If the Generate Report completes successfully:
JSON Body
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Result Response Schema",
"type": "object",
"properties": {
"Result": {
"type": "object",
"description": "Contains the calculation results",
"properties": {
"Report": {
"type": "object",
"description": "Report details and results. See [this schema](https://docs.blackfin.tools/books/mortgagerecenginebackend/page/report) for more information."
}
},
"required": ["Report"]
},
"ReportId": {
"type": "string",
"description": "Unique identifier for the report"
}
},
"required": ["Result", "ReportId"]
}
Examples
200: Success
Success Response
{
"Result": {
"Report": {
"Id": "TmmzF9VG",
"Cases": [
{
"Id": 1,
"LoanAmount": 0,
"LenderResult": [
{
"Lender": {
"Id": 1,
"Key": "aia",
"Name": "AIA",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/aia.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Applicant Income",
"Label": "Total Income (Terence) - including Salary, Rental Income, Boarder Income",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 5585,
"Frequency": "Monthly"
}
},
{
"Group": "Applicant Income",
"Label": "Total Income (Eve) - including Salary",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 3248,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 1430000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 12814.5,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Home Loan",
"Entered": {
"Amount": 10000,
"Definition": "Balance"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Credit Card",
"Entered": {
"Amount": 30000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 900,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Personal Loan",
"Entered": {
"Amount": 30000,
"Definition": "Balance"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Personal Loan",
"Entered": {
"Amount": 10000,
"Definition": "Balance"
},
"Assessed": {
"Amount": 200,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Body Corporate Fee",
"Entered": {
"Amount": 30,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 30,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Rent",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Hire Purchase",
"Entered": {
"Amount": 2000,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Overdraft(s)",
"Entered": {
"Amount": 20000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 1000,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Food",
"Entered": {
"Amount": 350,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Utilities",
"Entered": {
"Amount": 150,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Rates",
"Entered": {
"Amount": 30,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Transport",
"Entered": {
"Amount": 40,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Ongoing Household Expenses",
"Entered": {
"Amount": 40,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "ChildCare",
"Entered": {
"Amount": 310,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "HealthCare/Medical Care",
"Entered": {
"Amount": 20,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Personal Care and Clothing",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Public Education",
"Entered": {
"Amount": 250,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Private Education",
"Entered": {
"Amount": 500,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "House and Contents Insurance",
"Entered": {
"Amount": 40,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Vehicle Insurance",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Health/Medical/Funeral/Pet Insurance",
"Entered": {
"Amount": 20,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Life and Disability Insurance",
"Entered": {
"Amount": 20,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Other Necessary Expenses",
"Entered": {
"Amount": 90,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": " Living Expenses",
"Label": "Minimum Living Expenses",
"Entered": {
"Amount": 1880,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 3600,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8833,
"TotalMonthlyExpense": 24554.5,
"UMI": {
"Value": -15721.5,
"Required": 500,
"Status": "Fail",
"SecurityUsageType": "OwnerOccupied",
"LvrValue": 0.94
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8333,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
},
{
"Reference": "Result.LVR.LVRLimit[1]",
"LoanId": 2,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 1,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[2]",
"LoanId": 3,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8667,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
},
{
"Reference": "Result.LVR.LVRLimit[3]",
"LoanId": 4,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 0.9024,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[4]",
"LoanId": 5,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 1.1905,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
}
],
"LEM": [
{
"Label": "Security 1",
"LoanId": 1,
"Assessed": 0.8333,
"Margin": 0.003,
"Amount": 750
},
{
"Label": "Security 2",
"LoanId": 2,
"Assessed": 1,
"Margin": 0.015,
"Amount": 4500
},
{
"Label": "Security 3",
"LoanId": 3,
"Assessed": 0.8667,
"Margin": 0.0075,
"Amount": 1950
},
{
"Label": "Security 4",
"LoanId": 4,
"Assessed": 0.9024,
"Margin": 0.013,
"Amount": 4810
},
{
"Label": "Security 5",
"LoanId": 5,
"Assessed": 1.1905,
"Margin": 0.015,
"Amount": 3750
}
],
"DTI": {
"TotalIncome": 119949.96,
"TotalDebt": 1442900,
"Value": 12.03,
"RequiredMaxDTI": 7,
"Status": "Fail"
},
"Deposit": {
"Amount": 0
}
},
"Warnings": [
{
"Message": "ASB’s spreadsheet does not support multiple new loans with different Term lengths. The greatest Term of 15.25 years was used.",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": "1,4",
"Reference": "Result.Expenses"
},
{
"Message": "$5000 income excluded from Applicant 1. AIA’s spreadsheet only supports 4 types of gross income.",
"Reference": "Result.Income"
},
{
"Message": "Entered Living Expenses of $1880 is below minimum expected ($3600)",
"Reference": "Result.Expenses"
},
{
"Message": "The requiredUMI is $500 for New Customers with >80% LVR that do not meet the RBNZ LVR exemption criteria.",
"Reference": "Result.Servicing"
}
],
"Errors": [
{
"Message": "UMI must be greater than $500",
"Reference": "Result.Servicing"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 2,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 4,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 5,
"Reference": "Result.LVR"
},
{
"Message": "DTI exceeds 7 times.",
"Reference": "Result.DTI"
}
],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/aia_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/aia_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/aia_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/aia_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/aia_UsageType.png"
}
],
"Accuracy": 0.84,
"Version": {
"VersionNumber": "v2.60",
"ReleaseDate": "2024-07-31",
"VersionReleaseNote": ""
}
},
{
"Lender": {
"Id": 2,
"Key": "anz",
"Name": "ANZ",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/anz.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Customer Income",
"Label": "Customer Income (Terence)",
"Entered": {
"Amount": 50000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 3458.92,
"Frequency": "Monthly"
}
},
{
"Group": "Customer Income",
"Label": "Customer Income (Eve)",
"Entered": {
"Amount": 40000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 2785.33,
"Frequency": "Monthly"
}
},
{
"Group": "Customer Income",
"Label": "Other Income",
"Entered": {
"Amount": 442.31,
"Frequency": "Weekly"
},
"Assessed": {
"Amount": 1916.68,
"Frequency": "Monthly"
}
},
{
"Group": "Property Income",
"Label": "Residential Investment Income",
"Entered": {
"Amount": 96.15,
"Frequency": "Weekly"
},
"Assessed": {
"Amount": 312.49,
"Frequency": "Monthly"
}
},
{
"Group": "Property Income",
"Label": "Boarder/Tenant Income - All Inclusive",
"Entered": {
"Amount": 76.92,
"Frequency": "Weekly"
},
"Assessed": {
"Amount": 166.66,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 250000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 1680.08,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 300000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 260000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 370000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 3824.76,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 250000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 2261.07,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Existing Home Loans (Non ANZ)",
"Entered": {
"Amount": 2000,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Overdrafts",
"Entered": {
"Amount": 4000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 103.54223324890995,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Credit Cards",
"Entered": {
"Amount": 30000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 1200,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Hire Purchase / Other Loans",
"Entered": {
"Amount": 4200,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 4200,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "All Living Expenses",
"Entered": {
"Amount": 910,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 1868,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Other Significant Expenses",
"Entered": {
"Amount": 850,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 850,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Board Paid",
"Entered": {
"Amount": 2.31,
"Frequency": "Weekly"
},
"Assessed": {
"Amount": 10.01,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8640.07,
"TotalMonthlyExpense": 17997.46,
"UMI": {
"Value": -9357.39,
"Required": 100,
"Status": "Fail"
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.8
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8333,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[1]",
"LoanId": 2,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.8
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 1,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[2]",
"LoanId": 3,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.8
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8667,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[3]",
"LoanId": 4,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.7
}
],
"Value": 0.9024,
"RequiredMaxLVR": 0.7,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[4]",
"LoanId": 5,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.7
}
],
"Value": 1.1905,
"RequiredMaxLVR": 0.7,
"Status": "Fail"
}
],
"LEM": [],
"DTI": {
"TotalIncome": 0,
"TotalDebt": 0,
"Value": 0,
"RequiredMaxDTI": "N/A",
"Status": "N/A"
},
"Deposit": {
"Amount": 0
}
},
"Warnings": [
{
"Message": "For LVR>80%, ANZ will only accept income from one boarder.",
"Reference": "Result.Income"
},
{
"Message": "Kiwisaver contribution was entered via both Income and Expense. The amounts have been totalled.",
"Reference": "Result.Expenses"
},
{
"Message": "UMI must be greater than $100",
"Reference": "Result.Servicing"
}
],
"Errors": [
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 1,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 2,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 3,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 70%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 4,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 70%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 5,
"Reference": "Result.LVR"
}
],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_UsageType.jpg"
}
],
"Accuracy": 0.84,
"Version": {
"VersionNumber": "v10.6",
"ReleaseDate": "2025-05-05",
"VersionReleaseNote": ""
}
},
{
"Lender": {
"Id": 3,
"Key": "asb",
"Name": "ASB",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/asb.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Applicant Income",
"Label": "Total Income (Terence) - including Salary, Rental Income, Boarder Income",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 5585,
"Frequency": "Monthly"
}
},
{
"Group": "Applicant Income",
"Label": "Total Income (Eve) - including Salary",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 3248,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 1430000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 12814.5,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Home Loan",
"Entered": {
"Amount": 10000,
"Definition": "Balance"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Credit Card",
"Entered": {
"Amount": 30000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 900,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Personal Loan",
"Entered": {
"Amount": 30000,
"Definition": "Balance"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Personal Loan",
"Entered": {
"Amount": 10000,
"Definition": "Balance"
},
"Assessed": {
"Amount": 200,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Body Corporate Fee",
"Entered": {
"Amount": 30,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 30,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Rent",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Hire Purchase",
"Entered": {
"Amount": 2000,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Overdraft(s)",
"Entered": {
"Amount": 20000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 1000,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Food",
"Entered": {
"Amount": 350,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Utilities",
"Entered": {
"Amount": 150,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Rates",
"Entered": {
"Amount": 30,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Transport",
"Entered": {
"Amount": 40,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Ongoing Household Expenses",
"Entered": {
"Amount": 40,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "ChildCare",
"Entered": {
"Amount": 310,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "HealthCare/Medical Care",
"Entered": {
"Amount": 20,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Personal Care and Clothing",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Public Education",
"Entered": {
"Amount": 250,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Private Education",
"Entered": {
"Amount": 500,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "House and Contents Insurance",
"Entered": {
"Amount": 40,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Vehicle Insurance",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Health/Medical/Funeral/Pet Insurance",
"Entered": {
"Amount": 20,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Life and Disability Insurance",
"Entered": {
"Amount": 20,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Other Necessary Expenses",
"Entered": {
"Amount": 90,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": " Living Expenses",
"Label": "Minimum Living Expenses",
"Entered": {
"Amount": 1880,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 3600,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8833,
"TotalMonthlyExpense": 24554.5,
"UMI": {
"Value": -15721.5,
"Required": 500,
"Status": "Fail",
"SecurityUsageType": "OwnerOccupied",
"LvrValue": 0.94
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8333,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
},
{
"Reference": "Result.LVR.LVRLimit[1]",
"LoanId": 2,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 1,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[2]",
"LoanId": 3,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8667,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
},
{
"Reference": "Result.LVR.LVRLimit[3]",
"LoanId": 4,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 0.9024,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[4]",
"LoanId": 5,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 1.1905,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
}
],
"LEM": [
{
"Label": "Security 1",
"LoanId": 1,
"Assessed": 0.8333,
"Margin": 0.003,
"Amount": 750
},
{
"Label": "Security 2",
"LoanId": 2,
"Assessed": 1,
"Margin": 0.015,
"Amount": 4500
},
{
"Label": "Security 3",
"LoanId": 3,
"Assessed": 0.8667,
"Margin": 0.0075,
"Amount": 1950
},
{
"Label": "Security 4",
"LoanId": 4,
"Assessed": 0.9024,
"Margin": 0.013,
"Amount": 4810
},
{
"Label": "Security 5",
"LoanId": 5,
"Assessed": 1.1905,
"Margin": 0.015,
"Amount": 3750
}
],
"DTI": {
"TotalIncome": 119949.96,
"TotalDebt": 1442900,
"Value": 12.03,
"RequiredMaxDTI": 7,
"Status": "Fail"
},
"Deposit": {
"Amount": 0
}
},
"Warnings": [
{
"Message": "ASB’s spreadsheet does not support multiple new loans with different Term lengths. The greatest Term of 15.25 years was used.",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": "1,4",
"Reference": "Result.Expenses"
},
{
"Message": "$5000 income excluded from Applicant 1. ASB’s spreadsheet only supports 4 types of gross income.",
"Reference": "Result.Income"
},
{
"Message": "Entered Living Expenses of $1880 is below minimum expected ($3600)",
"Reference": "Result.Expenses"
},
{
"Message": "The requiredUMI is $500 for New Customers with >80% LVR that do not meet the RBNZ LVR exemption criteria.",
"Reference": "Result.Servicing"
}
],
"Errors": [
{
"Message": "UMI must be greater than $500",
"Reference": "Result.Servicing"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 2,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 4,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 5,
"Reference": "Result.LVR"
},
{
"Message": "DTI exceeds 7 times.",
"Reference": "Result.DTI"
}
],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/asb_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/asb_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/asb_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/asb_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/asb_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.DTI",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/asb_DTI.png"
}
],
"Accuracy": 0.84,
"Version": {
"VersionNumber": "v2.60",
"ReleaseDate": "2024-07-31",
"VersionReleaseNote": ""
}
},
{
"Lender": {
"Id": 4,
"Key": "bnz",
"Name": "BNZ",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/bnz.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Customer Income",
"Label": "Customer Income (Terence)",
"Entered": {
"Amount": 68000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 54243.9,
"Frequency": "Monthly"
}
},
{
"Group": "Customer Income",
"Label": "Customer Income (Eve)",
"Entered": {
"Amount": 45000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 37465.5,
"Frequency": "Monthly"
}
},
{
"Group": "Accommodation Income",
"Label": "Rental Income ",
"Entered": {
"Amount": 5000,
"Frequency": "y"
},
"Assessed": {
"Amount": 312.5,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 250000,
"InterestRate": 0.075
},
"Assessed": {
"Amount": 1847.48,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 300000,
"InterestRate": 0.075
},
"Assessed": {
"Amount": 2216.97,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 260000,
"InterestRate": 0.075
},
"Assessed": {
"Amount": 1921.38,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Existing Home Loan",
"Entered": {
"Amount": 4000,
"InterestRate": 0.02
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Family support payments",
"Entered": {
"Amount": 10,
"Frequency": "m"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Body corporate fees",
"Entered": {
"Amount": 30,
"Frequency": "m"
},
"Assessed": {
"Amount": 30,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Rent / Board",
"Entered": {
"Amount": 10,
"Frequency": "m"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Other",
"Entered": {
"Amount": 2200,
"Frequency": "m"
},
"Assessed": {
"Amount": 2200,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Personal Loan",
"Entered": {
"Amount": 2000,
"Frequency": "m"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Overdrafts",
"Entered": {
"Amount": 4000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 152,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Credit Cards",
"Entered": {
"Amount": 30000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 1140,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Childcare & Education",
"Entered": {
"Amount": 1050,
"Frequency": "m"
},
"Assessed": {
"Amount": 1050,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Sports, Activities & Hobbies",
"Entered": {
"Amount": 30,
"Frequency": "m"
},
"Assessed": {
"Amount": 30,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Superannuation (e.g. Kiwisaver)",
"Entered": {
"Amount": 30,
"Frequency": "m"
},
"Assessed": {
"Amount": 30,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Rates",
"Entered": {
"Amount": 20,
"Frequency": "m"
},
"Assessed": {
"Amount": 20,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Motor Vehicle & Transport Expenses",
"Entered": {
"Amount": 40,
"Frequency": "m"
},
"Assessed": {
"Amount": 40,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Utilities",
"Entered": {
"Amount": 150,
"Frequency": "m"
},
"Assessed": {
"Amount": 150,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Food & Groceries",
"Entered": {
"Amount": 360,
"Frequency": "m"
},
"Assessed": {
"Amount": 360,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Insurances",
"Entered": {
"Amount": 90,
"Frequency": "m"
},
"Assessed": {
"Amount": 90,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Clothing & Personal Care",
"Entered": {
"Amount": 10,
"Frequency": "m"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Other regular expenses",
"Entered": {
"Amount": 110,
"Frequency": "m"
},
"Assessed": {
"Amount": 110,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 7954.95,
"TotalMonthlyExpense": 20292.19,
"UMI": {
"Value": -12337.24,
"Required": "N/A",
"Status": "Fail"
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential (Owner Occupied)",
"MaxLVR": 0.8
}
],
"Value": 0.8333,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[1]",
"LoanId": 2,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential (Owner Occupied)",
"MaxLVR": 0.8
}
],
"Value": 1,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[2]",
"LoanId": 3,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential (Owner Occupied)",
"MaxLVR": 0.8
}
],
"Value": 0.8667,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[3]",
"LoanId": 4,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.8
}
],
"Value": 0.9024,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[4]",
"LoanId": 5,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.8
}
],
"Value": 1.1905,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
}
],
"LEM": [
{
"Label": "Security 1",
"LoanId": 1,
"Assessed": 0.8333,
"Margin": 0.0035,
"Amount": 875
},
{
"Label": "Security 2",
"LoanId": 2,
"Assessed": 1,
"Margin": 0.012,
"Amount": 3600
},
{
"Label": "Security 3",
"LoanId": 3,
"Assessed": 0.8667,
"Margin": 0.0075,
"Amount": 1950
},
{
"Label": "Security 4",
"LoanId": 4,
"Assessed": 0.9024,
"Margin": 0.012,
"Amount": 4440
},
{
"Label": "Security 5",
"LoanId": 5,
"Assessed": 1.1905,
"Margin": 0.012,
"Amount": 3000
}
],
"DTI": {
"TotalIncome": 118000,
"TotalDebt": 1448000,
"Value": 12.27,
"RequiredMaxDTI": "N/A",
"Status": "N/A"
},
"Deposit": {
"Amount": 0
}
},
"Warnings": [
{
"Message": "BNZ does not accept Boarder/Flatmate Income on loans with >80% LVR.",
"Reference": "Result.Income"
},
{
"Message": "Declared Living Expenses of $1890 is below minimum expected ($3006)",
"Reference": "Result.Expenses"
}
],
"Errors": [
{
"Message": "Servicing Index is outside criteria. Please check your inputs. Unlikely to be considered without additional income sources",
"Reference": "Result.Servicing"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 1,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 2,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 3,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 4,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 5,
"Reference": "Result.LVR"
}
],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/bnz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/bnz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/bnz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/bnz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/bnz_PropertyType.jpg"
}
],
"Accuracy": 0.84,
"Version": {
"VersionNumber": "v12.26",
"ReleaseDate": "2025-04-01",
"VersionReleaseNote": ""
}
},
{
"Lender": {
"Id": 5,
"Key": "westpac",
"Name": "Westpac",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/westpac.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Applicant Income",
"Label": "Applicant Income (Terence)",
"Entered": {
"Amount": 4528.38,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 4355.24,
"Frequency": "Monthly"
}
},
{
"Group": "Applicant Income",
"Label": "Applicant Income (Eve)",
"Entered": {
"Amount": 3126.01,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 3056.54,
"Frequency": "Monthly"
}
},
{
"Group": "Property Income",
"Label": "Rent (NZ)",
"Entered": {
"Amount": 5000,
"Frequency": "Annually"
},
"Assessed": {
"Amount": 312.5,
"Frequency": "Monthly"
}
},
{
"Group": "Property Income",
"Label": "Boarders / Flatmates",
"Entered": {
"Amount": 4000,
"Frequency": "Annually"
},
"Assessed": {
"Amount": 266.6666666666667,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 250000,
"InterestRate": 0
},
"Assessed": {
"Amount": 2461.85,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 300000,
"InterestRate": 0
},
"Assessed": {
"Amount": -7345.26,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 260000,
"InterestRate": null
},
"Assessed": {
"Amount": -6365.89,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 370000,
"InterestRate": 0
},
"Assessed": {
"Amount": 4107.21,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 250000,
"InterestRate": 0
},
"Assessed": {
"Amount": 2461.85,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Existing Home Loan",
"Entered": {
"Amount": 10000,
"InterestRate": 0.02
},
"Assessed": {
"Amount": 79.42,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Existing Personal Loan",
"Entered": {
"Amount": 30000,
"InterestRate": 0.02
},
"Assessed": {
"Amount": 409.79,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Existing Other Loan",
"Entered": {
"Amount": 10000,
"InterestRate": 0.01
},
"Assessed": {
"Amount": 89.05,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Hire Purchase(s)",
"Entered": {
"Amount": 2000,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Credit Card(s)",
"Entered": {
"Amount": 30000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 1140,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Overdraft(s)",
"Entered": {
"Amount": 20000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 760,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Rent/Board",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Child support / maintenance",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Rates / Property insurance / Body Corp - owner-occupied",
"Entered": {
"Amount": 60,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 60,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Superannuation contributions",
"Entered": {
"Amount": 30,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 30,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Private School / Education",
"Entered": {
"Amount": 500,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 500,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Personal Insurances",
"Entered": {
"Amount": 60,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 60,
"Frequency": "Monthly"
}
},
{
"Group": "Essential Living Costs",
"Label": "Essential Living Costs",
"Entered": {
"Amount": 1130,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2087,
"Frequency": "Monthly"
}
},
{
"Group": "Discretionary Living Costs",
"Label": "Regular donations ",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 7990.95,
"TotalMonthlyExpense": 2565.02,
"UMI": {
"Value": 5425.94,
"Required": 150,
"Status": "Pass"
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8333,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
},
{
"Reference": "Result.LVR.LVRLimit[1]",
"LoanId": 2,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 1,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[2]",
"LoanId": 3,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8667,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
},
{
"Reference": "Result.LVR.LVRLimit[3]",
"LoanId": 4,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 0.9024,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[4]",
"LoanId": 5,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 1.1905,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
}
],
"LEM": [
{
"Label": "Total Lending",
"LoanId": null,
"Assessed": 0.9408,
"Margin": 0.015,
"Amount": 21450
}
],
"DTI": {
"TotalIncome": 122000,
"TotalDebt": 1550000,
"Value": 12.7,
"RequiredMaxDTI": 6,
"Status": "Fail"
},
"Deposit": {
"Amount": 0
}
},
"Warnings": [
{
"Message": "Kiwisaver contribution was entered via both Income and Expense. The amounts have been totalled.",
"Reference": "Result.Expenses"
}
],
"Errors": [
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 2,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 4,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 5,
"Reference": "Result.LVR"
},
{
"Message": "DTI exceeds 6 times.",
"Reference": "Result.DTI"
}
],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.DTI",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_DTI.jpg"
}
],
"Accuracy": 0.84,
"Version": {
"VersionNumber": "v14Apr2025",
"ReleaseDate": "2025-04-14",
"VersionReleaseNote": ""
}
}
]
}
],
"Accuracy": 0.84
}
},
"ReportId": "TmmzF9VG"
}
Error
If errors are encountered during the Generate Report operation:
JSON Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"error": {
"type": "object",
"description": "Error information",
"properties": {
"message": {
"type": "string",
"description": "Human readable error message"
},
"status": {
"type": "string",
"description": "Error code in uppercase letters and _ as space",
"enum": ["INVALID_ARGUMENT","DEADLINE_EXCEEDED","NOT_FOUND","ALREADY_EXISTS","PERMISSION_DENIED","RESOURCE_EXHAUSTED","FAILED_PRECONDITION","ABORTED","OUT_OF_RANGE","UNIMPLEMENTED","INTERNAL","UNAVAILABLE","DATA_LOSS","UNAUTHENTICATED"]
},
"details": {
"type": "object",
"description": "Additional error details",
"properties": {
"validation_errors": {
"type": "array",
"description": "Errors thrown when validating input data",
"items": {
"type": "object",
"properties": {
"path": {
"type": "array",
"description": "An array of property keys or array offsets, indicating where inside objects or arrays the instance was found.",
"items": {
"type": "string"
}
},
"property": {
"type": "string",
"description": "Describes the property path. Starts with `instance`, and is delimited with a dot (.)."
},
"message": {
"type": "string",
"description": "A human-readable message for debugging use. Provided in English and subject to change."
},
"schema": {
"type": "object",
"description": "The schema containing the keyword that failed",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": ["type"]
},
"instance": {
"description": "The instance (value) that failed",
"type": ["null", "object"]
},
"name": {
"type": "string",
"description": "The keyword within the schema that failed."
},
"argument": {
"type": "array",
"description": "Provides information about the keyword that failed.",
"items": {
"type": "string"
}
},
"stack": {
"type": "string"
}
}
}
}
}
}
}
}
},
"required": ["path", "property", "message", "schema", "instance", "name", "argument", "stack"]
}
Examples
401: Missing API Key
Missing API Key
{
"error": {
"message": "Missing API Key",
"status": "UNAUTHENTICATED"
}
}
401: Invalid API Key
Invalid API Key
{
"error": {
"message": "Invalid API Key",
"status": "UNAUTHENTICATED"
}
}
400: Invalid data
Invalid data
{
"error": {
"message": "Invalid data",
"status": "INVALID_ARGUMENT",
"details": {
"validation_errors": [
{
"path": [
"Details",
"Loan",
0,
"LoanType"
],
"property": "instance.Details.Loan[0].LoanType",
"message": "is not one of enum values: Existing,Proposed",
"schema": {
"type": "string",
"description": "Defines whether the applicant already has this loan or if it's a new loan",
"enum": [
"Existing",
"New"
]
},
"instance": "Proposed",
"name": "enum",
"argument": [
"Existing",
"Proposed"
],
"stack": "instance.Details.Loan[0].LoanType is not one of enum values: Existing,Proposed"
}
]
}
}
}
Invalid data: Invalid LoanId on Liability
Thrown when loan id specified on liability does not match a loan.
{
"error": {
"message": "Invalid data: Invalid LoanId specified on Liability",
"status": "INVALID_ARGUMENT",
"details": {
}
}
}