``` data class LoanDetailsView( @Dictionar...
# random
s
Copy code
data class LoanDetailsView(
        @DictionaryElement(ids = intArrayOf(660)) var subjectPropertyUsageType: PropertyUsageType? = null,
        var loan: Loan? = null,
        var subjectProperty: SubjectProperty? = null,
        var property: Property? = null,
        var valuation: Valuation? = null,
        var propertyExpenses: PropertyExpenses? = null,
        var project: Project? = null
) {
    companion object {
        const val CLASS_NAME = "com.promontech.loanapp.projection.loan.viewmodel.loandetails.LoanDetailsView"
    }

    data class Loan(
            @DictionaryElement(ids = intArrayOf(984)) var ltvRatio: BigDecimal?,                                // service
            @DictionaryElement(ids = intArrayOf(985)) var cltvRatio: BigDecimal?,                               // service
            @DictionaryElement(ids = intArrayOf(986)) var hcltvRatio: BigDecimal?,                              // service
            @DictionaryElement(ids = intArrayOf(932)) var housingExpenseRatio: BigDecimal?,                     // service this should always be smaller than debtExpenseRatio
            @DictionaryElement(ids = intArrayOf(1187)) var debtExpenseRatio: BigDecimal?,                       // service this is dti
            @DictionaryElement(ids = intArrayOf(965)) var currentInterestRate: BigDecimal?,                     // service
            @DictionaryElement(ids = intArrayOf(525)) var loanPurpose: LoanPurpose?,                            // projector
            @DictionaryElement(ids = intArrayOf(1145)) var loanAmortizationPeriod: LoanAmortizationPeriodType?, // ??
            @DictionaryElement(ids = intArrayOf(514)) var loanAmortization: LoanAmortizationType?,              // ??
            @DictionaryElement(ids = intArrayOf(548)) var mortgageType: MortgageType?,                          // ??
            @DictionaryElement(ids = intArrayOf(1197)) var primaryMonthlyHousingExpenses: Money?                //
    )

    data class SubjectProperty(
            @DictionaryElement(ids = intArrayOf(1176)) var proposedTotalPayment: Money?,
            @DictionaryElement(ids = intArrayOf(641)) var numberOfUnits: Int?,
            @DictionaryElement(ids = intArrayOf(672)) var purchasePrice: Money?,
            @DictionaryElement(ids = intArrayOf(654)) var propertyRights: PropertyRightsType?
    )

    data class Property(@DictionaryElement(ids = intArrayOf(1223)) var propertyType: PropertyType?)

    data class Valuation(@DictionaryElement(ids = intArrayOf(632)) var appraisedValue: Money?)

    data class PropertyExpenses(
            @DictionaryElement(ids = intArrayOf(1227)) var propertyExpenseType: PropertyExpenseType?,
            @DictionaryElement(ids = intArrayOf(1213)) var propertyExpenseStatusType: PropertyExpenseStatusType?,
            @DictionaryElement(ids = intArrayOf(1228)) var propertyExpenseAmount: Money?
    )

    data class Project(
            @DictionaryElement(ids = intArrayOf(623)) var projectClassification: ProjectClassificationType?,
            @DictionaryElement(ids = intArrayOf(1481)) var projectName: String?
    )
}