@dynamatix/gb-schemas 2.3.253 → 2.3.254
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +308 -308
- package/dist/applications/application-valuation-report.model.d.ts +1398 -1398
- package/dist/applications/application-valuation-report.model.js +220 -220
- package/package.json +87 -87
- package/dist/applicants/applicant-income-source.model.d.ts +0 -26
- package/dist/applicants/applicant-income-source.model.d.ts.map +0 -1
- package/dist/applicants/applicant-income.model.d.ts +0 -160
- package/dist/applicants/applicant-income.model.d.ts.map +0 -1
- package/dist/applicants/applicant-other-income.model.d.ts +0 -85
- package/dist/applicants/applicant-other-income.model.d.ts.map +0 -1
- package/dist/applications/application-document.model.d.ts +0 -158
- package/dist/applications/application-document.model.d.ts.map +0 -1
- package/dist/applications/document.model.d.ts +0 -158
- package/dist/applications/document.model.d.ts.map +0 -1
- package/dist/applications/productfeatures.model.d.ts +0 -368
- package/dist/applications/productfeatures.model.d.ts.map +0 -1
- package/dist/shared/document-type-model.d.ts +0 -48
- package/dist/shared/document-type-model.d.ts.map +0 -1
|
@@ -3,291 +3,291 @@ import { applyWorkflowPlugin } from "../shared/workflow.plugin";
|
|
|
3
3
|
const propertyTypeSchema = new mongoose.Schema({
|
|
4
4
|
detachedHouse: {
|
|
5
5
|
type: String,
|
|
6
|
-
default:
|
|
6
|
+
default: null
|
|
7
7
|
},
|
|
8
8
|
semiDetachedHouse: {
|
|
9
9
|
type: String,
|
|
10
|
-
default:
|
|
10
|
+
default: null
|
|
11
11
|
},
|
|
12
12
|
terracedHouse: {
|
|
13
13
|
type: String,
|
|
14
|
-
default:
|
|
14
|
+
default: null
|
|
15
15
|
},
|
|
16
16
|
bungalow: {
|
|
17
17
|
type: String,
|
|
18
|
-
default:
|
|
18
|
+
default: null
|
|
19
19
|
},
|
|
20
20
|
flat: {
|
|
21
21
|
type: String,
|
|
22
|
-
default:
|
|
22
|
+
default: null
|
|
23
23
|
},
|
|
24
24
|
maisonette: {
|
|
25
25
|
type: String,
|
|
26
|
-
default:
|
|
26
|
+
default: null
|
|
27
27
|
},
|
|
28
28
|
flatMaisonetteFloor: {
|
|
29
|
-
type:
|
|
30
|
-
default:
|
|
29
|
+
type: Number,
|
|
30
|
+
default: null
|
|
31
31
|
},
|
|
32
32
|
numberOfFloorsInBlock: {
|
|
33
|
-
type:
|
|
34
|
-
default:
|
|
33
|
+
type: Number,
|
|
34
|
+
default: null
|
|
35
35
|
},
|
|
36
|
-
|
|
37
|
-
type:
|
|
38
|
-
default:
|
|
36
|
+
isBuiltOrOwnedByLocalAuthority: {
|
|
37
|
+
type: Boolean,
|
|
38
|
+
default: false
|
|
39
39
|
},
|
|
40
40
|
ownerOccupationPercentage: {
|
|
41
41
|
type: String,
|
|
42
|
-
default:
|
|
42
|
+
default: null
|
|
43
43
|
},
|
|
44
|
-
|
|
44
|
+
flatMaisonetteConverted: {
|
|
45
45
|
type: String,
|
|
46
|
-
default:
|
|
46
|
+
default: null
|
|
47
47
|
},
|
|
48
48
|
conversionYear: {
|
|
49
49
|
type: String,
|
|
50
|
-
default:
|
|
50
|
+
default: null
|
|
51
51
|
},
|
|
52
|
-
|
|
52
|
+
purposeBuilt: {
|
|
53
53
|
type: String,
|
|
54
|
-
default:
|
|
54
|
+
default: null
|
|
55
55
|
},
|
|
56
56
|
numberOfUnitsInBlock: {
|
|
57
|
-
type:
|
|
58
|
-
default:
|
|
57
|
+
type: Number,
|
|
58
|
+
default: null
|
|
59
59
|
},
|
|
60
|
-
|
|
61
|
-
type:
|
|
62
|
-
default:
|
|
60
|
+
isAboveCommercial: {
|
|
61
|
+
type: Boolean,
|
|
62
|
+
default: false
|
|
63
63
|
},
|
|
64
64
|
residentialNatureImpact: {
|
|
65
65
|
type: String,
|
|
66
|
-
default:
|
|
66
|
+
default: null
|
|
67
67
|
},
|
|
68
68
|
tenure: {
|
|
69
69
|
type: String,
|
|
70
|
-
default:
|
|
70
|
+
default: null
|
|
71
71
|
},
|
|
72
|
-
|
|
73
|
-
type:
|
|
74
|
-
default:
|
|
72
|
+
isFlyingFreehold: {
|
|
73
|
+
type: Boolean,
|
|
74
|
+
default: false
|
|
75
75
|
},
|
|
76
76
|
flyingFreeholdPercentage: {
|
|
77
|
-
type:
|
|
78
|
-
default:
|
|
77
|
+
type: Number,
|
|
78
|
+
default: null
|
|
79
79
|
},
|
|
80
80
|
maintenanceCharge: {
|
|
81
|
-
type:
|
|
82
|
-
default:
|
|
81
|
+
type: Number,
|
|
82
|
+
default: null
|
|
83
83
|
},
|
|
84
84
|
roadCharges: {
|
|
85
|
-
type:
|
|
86
|
-
default:
|
|
85
|
+
type: Number,
|
|
86
|
+
default: null
|
|
87
87
|
},
|
|
88
88
|
groundRent: {
|
|
89
|
-
type:
|
|
90
|
-
default:
|
|
89
|
+
type: Number,
|
|
90
|
+
default: null
|
|
91
91
|
},
|
|
92
92
|
remainingLeaseTermYears: {
|
|
93
|
-
type:
|
|
94
|
-
default:
|
|
93
|
+
type: Number,
|
|
94
|
+
default: null
|
|
95
95
|
},
|
|
96
|
-
|
|
97
|
-
type:
|
|
98
|
-
default:
|
|
96
|
+
isPartCommercialUse: {
|
|
97
|
+
type: Boolean,
|
|
98
|
+
default: false
|
|
99
99
|
},
|
|
100
100
|
commercialUsePercentage: {
|
|
101
|
-
type:
|
|
102
|
-
default:
|
|
101
|
+
type: Number,
|
|
102
|
+
default: null
|
|
103
103
|
},
|
|
104
|
-
|
|
105
|
-
type:
|
|
106
|
-
default:
|
|
104
|
+
isPurchasedUnderSharedOwnership: {
|
|
105
|
+
type: Boolean,
|
|
106
|
+
default: false
|
|
107
107
|
},
|
|
108
108
|
yearBuilt: {
|
|
109
|
-
type:
|
|
110
|
-
default:
|
|
109
|
+
type: Number,
|
|
110
|
+
default: null
|
|
111
111
|
}
|
|
112
112
|
});
|
|
113
113
|
const accommodationSchema = new mongoose.Schema({
|
|
114
114
|
hall: {
|
|
115
|
-
type:
|
|
116
|
-
default:
|
|
115
|
+
type: Number,
|
|
116
|
+
default: null
|
|
117
117
|
},
|
|
118
118
|
livingRooms: {
|
|
119
|
-
type:
|
|
120
|
-
default:
|
|
119
|
+
type: Number,
|
|
120
|
+
default: null
|
|
121
121
|
},
|
|
122
122
|
kitchen: {
|
|
123
|
-
type:
|
|
124
|
-
default:
|
|
123
|
+
type: Number,
|
|
124
|
+
default: null
|
|
125
125
|
},
|
|
126
|
-
|
|
127
|
-
type:
|
|
128
|
-
default:
|
|
126
|
+
isLiftPresent: {
|
|
127
|
+
type: Boolean,
|
|
128
|
+
default: false
|
|
129
129
|
},
|
|
130
130
|
utility: {
|
|
131
|
-
type:
|
|
132
|
-
default:
|
|
131
|
+
type: Number,
|
|
132
|
+
default: null
|
|
133
133
|
},
|
|
134
134
|
bedrooms: {
|
|
135
|
-
type:
|
|
136
|
-
default:
|
|
135
|
+
type: Number,
|
|
136
|
+
default: null
|
|
137
137
|
},
|
|
138
138
|
bathrooms: {
|
|
139
|
-
type:
|
|
140
|
-
default:
|
|
139
|
+
type: Number,
|
|
140
|
+
default: null
|
|
141
141
|
},
|
|
142
142
|
separateWc: {
|
|
143
|
-
type:
|
|
144
|
-
default:
|
|
143
|
+
type: Number,
|
|
144
|
+
default: null
|
|
145
145
|
},
|
|
146
146
|
basement: {
|
|
147
|
-
type:
|
|
148
|
-
default:
|
|
147
|
+
type: Number,
|
|
148
|
+
default: null
|
|
149
149
|
},
|
|
150
150
|
garage: {
|
|
151
|
-
type:
|
|
152
|
-
default:
|
|
151
|
+
type: Number,
|
|
152
|
+
default: null
|
|
153
153
|
},
|
|
154
154
|
parking: {
|
|
155
|
-
type:
|
|
156
|
-
default:
|
|
155
|
+
type: Number,
|
|
156
|
+
default: null
|
|
157
157
|
},
|
|
158
158
|
gardens: {
|
|
159
|
-
type:
|
|
160
|
-
default:
|
|
159
|
+
type: Boolean,
|
|
160
|
+
default: false
|
|
161
161
|
},
|
|
162
162
|
privateOrCommunal: {
|
|
163
163
|
type: String,
|
|
164
|
-
default:
|
|
164
|
+
default: null
|
|
165
165
|
},
|
|
166
166
|
numberOfOutbuildings: {
|
|
167
|
-
type:
|
|
168
|
-
default:
|
|
167
|
+
type: Number,
|
|
168
|
+
default: null
|
|
169
169
|
},
|
|
170
170
|
outbuildingDetails: {
|
|
171
171
|
type: String,
|
|
172
|
-
default:
|
|
172
|
+
default: null
|
|
173
173
|
},
|
|
174
174
|
grossFloorAreaOfDwelling: {
|
|
175
|
-
type:
|
|
176
|
-
default:
|
|
175
|
+
type: Number,
|
|
176
|
+
default: null
|
|
177
177
|
}
|
|
178
178
|
});
|
|
179
179
|
const newBuildSchema = new mongoose.Schema({
|
|
180
180
|
isNewBuildOrRecentlyConverted: {
|
|
181
|
-
type:
|
|
182
|
-
default:
|
|
181
|
+
type: Boolean,
|
|
182
|
+
default: false
|
|
183
183
|
},
|
|
184
184
|
newBuildStatus: {
|
|
185
185
|
type: String,
|
|
186
|
-
default:
|
|
186
|
+
default: null
|
|
187
187
|
},
|
|
188
188
|
isFinalInspectionRequired: {
|
|
189
|
-
type:
|
|
190
|
-
default:
|
|
189
|
+
type: Boolean,
|
|
190
|
+
default: false
|
|
191
191
|
},
|
|
192
|
-
|
|
192
|
+
nhbcCert: {
|
|
193
193
|
type: String,
|
|
194
|
-
default:
|
|
194
|
+
default: null
|
|
195
195
|
},
|
|
196
|
-
|
|
196
|
+
buildZone: {
|
|
197
197
|
type: String,
|
|
198
|
-
default:
|
|
198
|
+
default: null
|
|
199
199
|
},
|
|
200
|
-
|
|
200
|
+
premier: {
|
|
201
201
|
type: String,
|
|
202
|
-
default:
|
|
202
|
+
default: null
|
|
203
203
|
},
|
|
204
|
-
|
|
204
|
+
professionalConsultant: {
|
|
205
205
|
type: String,
|
|
206
|
-
default:
|
|
206
|
+
default: null
|
|
207
207
|
},
|
|
208
208
|
otherCertDetails: {
|
|
209
209
|
type: String,
|
|
210
|
-
default:
|
|
210
|
+
default: null
|
|
211
211
|
},
|
|
212
212
|
isSelfBuildProject: {
|
|
213
|
-
type:
|
|
214
|
-
default:
|
|
213
|
+
type: Boolean,
|
|
214
|
+
default: false
|
|
215
215
|
},
|
|
216
|
-
|
|
217
|
-
type:
|
|
218
|
-
default:
|
|
216
|
+
isInvolvesPartExchange: {
|
|
217
|
+
type: Boolean,
|
|
218
|
+
default: false
|
|
219
219
|
},
|
|
220
|
-
|
|
221
|
-
type:
|
|
222
|
-
default:
|
|
220
|
+
isDisclosureOfIncentivesSeen: {
|
|
221
|
+
type: Boolean,
|
|
222
|
+
default: false
|
|
223
223
|
},
|
|
224
224
|
incentivesDetails: {
|
|
225
225
|
type: String,
|
|
226
|
-
default:
|
|
226
|
+
default: null
|
|
227
227
|
},
|
|
228
228
|
newBuildDeveloperName: {
|
|
229
229
|
type: String,
|
|
230
|
-
default:
|
|
230
|
+
default: null
|
|
231
231
|
}
|
|
232
232
|
});
|
|
233
233
|
const currentOccupencySchema = new mongoose.Schema({
|
|
234
|
-
|
|
235
|
-
type:
|
|
236
|
-
default:
|
|
234
|
+
isEverOccupied: {
|
|
235
|
+
type: Boolean,
|
|
236
|
+
default: false
|
|
237
237
|
},
|
|
238
238
|
numberOfAdultsInProperty: {
|
|
239
|
-
type:
|
|
240
|
-
default:
|
|
239
|
+
type: Number,
|
|
240
|
+
default: null
|
|
241
241
|
},
|
|
242
242
|
isHmoOrMultiUnitFreeholdBlock: {
|
|
243
|
-
type:
|
|
244
|
-
default:
|
|
243
|
+
type: Boolean,
|
|
244
|
+
default: false
|
|
245
245
|
},
|
|
246
246
|
isCurrentlyTenanted: {
|
|
247
|
-
type:
|
|
248
|
-
default:
|
|
247
|
+
type: Boolean,
|
|
248
|
+
default: false
|
|
249
249
|
},
|
|
250
250
|
hmoOrMultiUnitDetails: {
|
|
251
251
|
type: String,
|
|
252
|
-
default:
|
|
252
|
+
default: null
|
|
253
253
|
},
|
|
254
254
|
});
|
|
255
255
|
const constructionSchema = new mongoose.Schema({
|
|
256
256
|
isStandardConstruction: {
|
|
257
|
-
type:
|
|
258
|
-
default:
|
|
257
|
+
type: Boolean,
|
|
258
|
+
default: false
|
|
259
259
|
},
|
|
260
260
|
nonStandardConstructionType: {
|
|
261
261
|
type: String,
|
|
262
|
-
default:
|
|
262
|
+
default: null
|
|
263
263
|
},
|
|
264
264
|
mainWalls: {
|
|
265
265
|
type: String,
|
|
266
|
-
default:
|
|
266
|
+
default: null
|
|
267
267
|
},
|
|
268
268
|
mainRoof: {
|
|
269
269
|
type: String,
|
|
270
|
-
default:
|
|
270
|
+
default: null
|
|
271
271
|
},
|
|
272
272
|
garageConstruction: {
|
|
273
273
|
type: String,
|
|
274
|
-
default:
|
|
274
|
+
default: null
|
|
275
275
|
},
|
|
276
276
|
outbuildingsConstruction: {
|
|
277
277
|
type: String,
|
|
278
|
-
default:
|
|
278
|
+
default: null
|
|
279
279
|
},
|
|
280
|
-
|
|
281
|
-
type:
|
|
282
|
-
default:
|
|
280
|
+
isHasAlterationsOrExtensions: {
|
|
281
|
+
type: Boolean,
|
|
282
|
+
default: false
|
|
283
283
|
},
|
|
284
|
-
|
|
285
|
-
type:
|
|
286
|
-
default:
|
|
284
|
+
isAlterationsRequireConsents: {
|
|
285
|
+
type: Boolean,
|
|
286
|
+
default: false
|
|
287
287
|
},
|
|
288
288
|
alterationsAge: {
|
|
289
|
-
type:
|
|
290
|
-
default:
|
|
289
|
+
type: Number,
|
|
290
|
+
default: null
|
|
291
291
|
}
|
|
292
292
|
});
|
|
293
293
|
const localityAndDemandSchema = new mongoose.Schema({
|
|
@@ -311,37 +311,37 @@ const localityAndDemandSchema = new mongoose.Schema({
|
|
|
311
311
|
type: String,
|
|
312
312
|
default: ""
|
|
313
313
|
},
|
|
314
|
-
|
|
315
|
-
type:
|
|
316
|
-
default:
|
|
314
|
+
isAffectedByCompulsoryPurchase: {
|
|
315
|
+
type: Boolean,
|
|
316
|
+
default: false
|
|
317
317
|
},
|
|
318
318
|
compulsoryPurchaseDetails: {
|
|
319
319
|
type: String,
|
|
320
|
-
default:
|
|
320
|
+
default: null
|
|
321
321
|
},
|
|
322
|
-
|
|
323
|
-
type:
|
|
324
|
-
default:
|
|
322
|
+
isVacantOrBoardedPropertiesNearby: {
|
|
323
|
+
type: Boolean,
|
|
324
|
+
default: false
|
|
325
325
|
},
|
|
326
326
|
vacantOrBoardedDetails: {
|
|
327
327
|
type: String,
|
|
328
|
-
default:
|
|
328
|
+
default: null
|
|
329
329
|
},
|
|
330
|
-
|
|
331
|
-
type:
|
|
332
|
-
default:
|
|
330
|
+
isOccupancyRestrictionPossible: {
|
|
331
|
+
type: Boolean,
|
|
332
|
+
default: false
|
|
333
333
|
},
|
|
334
334
|
occupancyRestrictionDetails: {
|
|
335
335
|
type: String,
|
|
336
|
-
default:
|
|
336
|
+
default: null
|
|
337
337
|
},
|
|
338
|
-
|
|
339
|
-
type:
|
|
340
|
-
default:
|
|
338
|
+
isCloseToHighVoltageEquipment: {
|
|
339
|
+
type: Boolean,
|
|
340
|
+
default: false
|
|
341
341
|
},
|
|
342
342
|
highVoltageEquipmentDetails: {
|
|
343
343
|
type: String,
|
|
344
|
-
default:
|
|
344
|
+
default: null
|
|
345
345
|
}
|
|
346
346
|
});
|
|
347
347
|
const servicesSchema = new mongoose.Schema({
|
|
@@ -389,13 +389,13 @@ const servicesSchema = new mongoose.Schema({
|
|
|
389
389
|
type: String,
|
|
390
390
|
default: ""
|
|
391
391
|
},
|
|
392
|
-
|
|
393
|
-
type:
|
|
394
|
-
default:
|
|
392
|
+
isHasEasementsOrRightsOfWay: {
|
|
393
|
+
type: Boolean,
|
|
394
|
+
default: false
|
|
395
395
|
},
|
|
396
396
|
easementsOrRightsDetails: {
|
|
397
397
|
type: String,
|
|
398
|
-
default:
|
|
398
|
+
default: null
|
|
399
399
|
},
|
|
400
400
|
servicesSeparateForFlats: {
|
|
401
401
|
type: String,
|
|
@@ -409,25 +409,25 @@ const servicesSchema = new mongoose.Schema({
|
|
|
409
409
|
const energyEfficiencySchema = new mongoose.Schema({
|
|
410
410
|
epcRating: {
|
|
411
411
|
type: String,
|
|
412
|
-
default:
|
|
412
|
+
default: null
|
|
413
413
|
},
|
|
414
414
|
epcScore: {
|
|
415
|
-
type:
|
|
416
|
-
default:
|
|
415
|
+
type: Number,
|
|
416
|
+
default: null
|
|
417
417
|
}
|
|
418
418
|
});
|
|
419
419
|
const essentialRepairsSchema = new mongoose.Schema({
|
|
420
|
-
|
|
421
|
-
type:
|
|
422
|
-
default:
|
|
420
|
+
isEssentialRepairsRequired: {
|
|
421
|
+
type: Boolean,
|
|
422
|
+
default: false
|
|
423
423
|
},
|
|
424
424
|
essentialRepairsDetails: {
|
|
425
425
|
type: String,
|
|
426
|
-
default:
|
|
426
|
+
default: null
|
|
427
427
|
},
|
|
428
|
-
|
|
429
|
-
type:
|
|
430
|
-
default:
|
|
428
|
+
isReinspectionRequired: {
|
|
429
|
+
type: Boolean,
|
|
430
|
+
default: false
|
|
431
431
|
}
|
|
432
432
|
});
|
|
433
433
|
const reportsSchema = new mongoose.Schema({
|
|
@@ -507,122 +507,122 @@ const propertyProneToSchema = new mongoose.Schema({
|
|
|
507
507
|
}
|
|
508
508
|
});
|
|
509
509
|
const conditionsOfPropertySchema = new mongoose.Schema({
|
|
510
|
-
|
|
511
|
-
type:
|
|
512
|
-
default:
|
|
510
|
+
isStructuralMovement: {
|
|
511
|
+
type: Boolean,
|
|
512
|
+
default: false
|
|
513
513
|
},
|
|
514
|
-
|
|
515
|
-
type:
|
|
516
|
-
default:
|
|
514
|
+
isStructuralMovementHistoricOrNonProgressive: {
|
|
515
|
+
type: Boolean,
|
|
516
|
+
default: false
|
|
517
517
|
},
|
|
518
518
|
structuralMovementDetails: {
|
|
519
519
|
type: String,
|
|
520
520
|
default: ""
|
|
521
521
|
},
|
|
522
|
-
|
|
523
|
-
type:
|
|
524
|
-
default:
|
|
522
|
+
isStructuralModifications: {
|
|
523
|
+
type: Boolean,
|
|
524
|
+
default: false
|
|
525
525
|
},
|
|
526
526
|
structuralModificationsDetails: {
|
|
527
527
|
type: String,
|
|
528
|
-
default:
|
|
528
|
+
default: null
|
|
529
529
|
},
|
|
530
530
|
communalAreasMaintained: {
|
|
531
531
|
type: String,
|
|
532
532
|
default: ""
|
|
533
533
|
},
|
|
534
534
|
propertyProneTo: [propertyProneToSchema],
|
|
535
|
-
|
|
536
|
-
type:
|
|
537
|
-
default:
|
|
535
|
+
isPlotBoundariesDefinedUnderPointFourHectares: {
|
|
536
|
+
type: Boolean,
|
|
537
|
+
default: false
|
|
538
538
|
},
|
|
539
|
-
|
|
540
|
-
type:
|
|
541
|
-
default:
|
|
539
|
+
isTreesWithinInfluencingDistance: {
|
|
540
|
+
type: Boolean,
|
|
541
|
+
default: false
|
|
542
542
|
},
|
|
543
543
|
treesInfluenceDetails: {
|
|
544
544
|
type: String,
|
|
545
|
-
default:
|
|
545
|
+
default: null
|
|
546
546
|
},
|
|
547
|
-
|
|
548
|
-
type:
|
|
549
|
-
default:
|
|
547
|
+
isBuiltOnSteepSlope: {
|
|
548
|
+
type: Boolean,
|
|
549
|
+
default: false
|
|
550
550
|
},
|
|
551
551
|
steepSlopeDetails: {
|
|
552
552
|
type: String,
|
|
553
|
-
default:
|
|
553
|
+
default: null
|
|
554
554
|
}
|
|
555
555
|
});
|
|
556
556
|
const rentalInformationSchema = new mongoose.Schema({
|
|
557
|
-
|
|
558
|
-
type:
|
|
559
|
-
default:
|
|
557
|
+
isRentalDemandInLocality: {
|
|
558
|
+
type: Boolean,
|
|
559
|
+
default: false
|
|
560
560
|
},
|
|
561
561
|
rentalDemandDetails: {
|
|
562
562
|
type: String,
|
|
563
|
-
default:
|
|
563
|
+
default: null
|
|
564
564
|
},
|
|
565
565
|
monthlyMarketRentPresentCondition: {
|
|
566
|
-
type:
|
|
567
|
-
default:
|
|
566
|
+
type: Number,
|
|
567
|
+
default: null
|
|
568
568
|
},
|
|
569
569
|
monthlyMarketRentImprovedCondition: {
|
|
570
|
-
type:
|
|
571
|
-
default:
|
|
570
|
+
type: Number,
|
|
571
|
+
default: null
|
|
572
572
|
},
|
|
573
|
-
|
|
574
|
-
type:
|
|
575
|
-
default:
|
|
573
|
+
isOtherLettingDemandFactors: {
|
|
574
|
+
type: Boolean,
|
|
575
|
+
default: false
|
|
576
576
|
},
|
|
577
577
|
otherLettingDemandDetails: {
|
|
578
578
|
type: String,
|
|
579
|
-
default:
|
|
579
|
+
default: null
|
|
580
580
|
},
|
|
581
|
-
|
|
582
|
-
type:
|
|
583
|
-
default:
|
|
581
|
+
isInvestorOnlyDemand: {
|
|
582
|
+
type: Boolean,
|
|
583
|
+
default: false
|
|
584
584
|
},
|
|
585
585
|
investorOnlyDemandDetails: {
|
|
586
586
|
type: String,
|
|
587
|
-
default:
|
|
587
|
+
default: null
|
|
588
588
|
}
|
|
589
589
|
});
|
|
590
590
|
const valuationForFinancePurposeSchema = new mongoose.Schema({
|
|
591
591
|
valuationComparativeOnly: {
|
|
592
592
|
type: String,
|
|
593
|
-
default:
|
|
593
|
+
default: null
|
|
594
594
|
},
|
|
595
|
-
|
|
596
|
-
type:
|
|
597
|
-
default:
|
|
595
|
+
isSuitableForFinance: {
|
|
596
|
+
type: Boolean,
|
|
597
|
+
default: false
|
|
598
598
|
},
|
|
599
599
|
financeSuitabilityDetails: {
|
|
600
600
|
type: String,
|
|
601
601
|
default: ""
|
|
602
602
|
},
|
|
603
603
|
marketValuePresentCondition: {
|
|
604
|
-
type:
|
|
605
|
-
default:
|
|
604
|
+
type: Number,
|
|
605
|
+
default: null
|
|
606
606
|
},
|
|
607
607
|
marketValueAfterRepairs: {
|
|
608
|
-
type:
|
|
609
|
-
default:
|
|
608
|
+
type: Number,
|
|
609
|
+
default: null
|
|
610
610
|
},
|
|
611
611
|
purchasePriceOrBorrowerEstimate: {
|
|
612
|
-
type:
|
|
613
|
-
default:
|
|
612
|
+
type: Number,
|
|
613
|
+
default: null
|
|
614
614
|
},
|
|
615
615
|
buildingInsuranceReinstatementCost: {
|
|
616
|
-
type:
|
|
617
|
-
default:
|
|
616
|
+
type: Number,
|
|
617
|
+
default: null
|
|
618
618
|
},
|
|
619
|
-
|
|
620
|
-
type:
|
|
621
|
-
default:
|
|
619
|
+
isInsurancePremiumLoadingRisk: {
|
|
620
|
+
type: Boolean,
|
|
621
|
+
default: false
|
|
622
622
|
},
|
|
623
623
|
insurancePremiumLoadingDetails: {
|
|
624
624
|
type: String,
|
|
625
|
-
default:
|
|
625
|
+
default: null
|
|
626
626
|
}
|
|
627
627
|
});
|
|
628
628
|
const valuerQualificationsSchema = new mongoose.Schema({
|
|
@@ -641,8 +641,8 @@ const valuerQualificationsSchema = new mongoose.Schema({
|
|
|
641
641
|
});
|
|
642
642
|
const valuersDeclarationSchema = new mongoose.Schema({
|
|
643
643
|
valuerSignature: {
|
|
644
|
-
type:
|
|
645
|
-
default:
|
|
644
|
+
type: Number,
|
|
645
|
+
default: null
|
|
646
646
|
},
|
|
647
647
|
valuerName: {
|
|
648
648
|
type: String,
|
|
@@ -653,12 +653,12 @@ const valuersDeclarationSchema = new mongoose.Schema({
|
|
|
653
653
|
default: ""
|
|
654
654
|
},
|
|
655
655
|
telephone: {
|
|
656
|
-
type:
|
|
657
|
-
default:
|
|
656
|
+
type: Number,
|
|
657
|
+
default: null
|
|
658
658
|
},
|
|
659
659
|
fax: {
|
|
660
|
-
type:
|
|
661
|
-
default:
|
|
660
|
+
type: Number,
|
|
661
|
+
default: null
|
|
662
662
|
},
|
|
663
663
|
email: {
|
|
664
664
|
type: String,
|
|
@@ -666,8 +666,8 @@ const valuersDeclarationSchema = new mongoose.Schema({
|
|
|
666
666
|
},
|
|
667
667
|
valuerQualifications: [valuerQualificationsSchema],
|
|
668
668
|
ricsNumber: {
|
|
669
|
-
type:
|
|
670
|
-
default:
|
|
669
|
+
type: Number,
|
|
670
|
+
default: null
|
|
671
671
|
},
|
|
672
672
|
valuerAddress: {
|
|
673
673
|
type: String,
|