@dynamatix/gb-schemas 2.3.282 → 2.3.283

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.
Files changed (27) hide show
  1. package/README.md +308 -308
  2. package/dist/applicants/applicant-income-source.model.d.ts +26 -0
  3. package/dist/applicants/applicant-income-source.model.d.ts.map +1 -0
  4. package/dist/applicants/applicant-income.model.d.ts +160 -0
  5. package/dist/applicants/applicant-income.model.d.ts.map +1 -0
  6. package/dist/applicants/applicant-other-income.model.d.ts +85 -0
  7. package/dist/applicants/applicant-other-income.model.d.ts.map +1 -0
  8. package/dist/applicants/applicant-welcome-call.model.d.ts.map +1 -1
  9. package/dist/applicants/applicant-welcome-call.model.js +101 -7
  10. package/dist/applicants/applicant-welcome-call.type.d.ts +12 -0
  11. package/dist/applicants/applicant-welcome-call.type.d.ts.map +1 -1
  12. package/dist/applications/application-document.model.d.ts +158 -0
  13. package/dist/applications/application-document.model.d.ts.map +1 -0
  14. package/dist/applications/application-valuation-report.model.d.ts +2901 -219
  15. package/dist/applications/application-valuation-report.model.d.ts.map +1 -1
  16. package/dist/applications/application-valuation-report.model.js +16 -20
  17. package/dist/applications/document.model.d.ts +158 -0
  18. package/dist/applications/document.model.d.ts.map +1 -0
  19. package/dist/applications/productfeatures.model.d.ts +368 -0
  20. package/dist/applications/productfeatures.model.d.ts.map +1 -0
  21. package/dist/shared/document-type-model.d.ts +48 -0
  22. package/dist/shared/document-type-model.d.ts.map +1 -0
  23. package/dist/shared/workflow-trigger.model.d.ts.map +1 -1
  24. package/dist/shared/workflow-trigger.model.js +0 -4
  25. package/dist/shared/workflow-trigger.type.d.ts +0 -1
  26. package/dist/shared/workflow-trigger.type.d.ts.map +1 -1
  27. package/package.json +86 -86
@@ -33,9 +33,63 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
33
33
  applicationNumber: string;
34
34
  propertyAddress: string;
35
35
  postCode: string;
36
- generalRemarks: string;
37
- extractedText: string;
38
- propertyType?: {
36
+ propertyType: mongoose.Types.DocumentArray<{
37
+ isDetachedHouse: boolean;
38
+ isSemiDetachedHouse: boolean;
39
+ isTerracedHouse: boolean;
40
+ isBungalow: boolean;
41
+ isFlat: boolean;
42
+ isMaisonette: boolean;
43
+ flatMaisonetteFloor: number;
44
+ numberOfFloorsInBlock: number;
45
+ isBuiltOrOwnedByLocalAuthority: boolean;
46
+ ownerOccupationPercentage: number;
47
+ isFlatMaisonetteConverted: boolean;
48
+ conversionYear: number;
49
+ isPurposeBuilt: boolean;
50
+ numberOfUnitsInBlock: number;
51
+ isAboveCommercial: boolean;
52
+ residentialNatureImpact: string;
53
+ tenure: string;
54
+ isFlyingFreehold: boolean;
55
+ flyingFreeholdPercentage: number;
56
+ maintenanceCharge: number;
57
+ roadCharges: number;
58
+ groundRent: number;
59
+ remainingLeaseTermYears: number;
60
+ isPartCommercialUse: boolean;
61
+ commercialUsePercentage: number;
62
+ isPurchasedUnderSharedOwnership: boolean;
63
+ yearBuilt: number;
64
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
65
+ isDetachedHouse: boolean;
66
+ isSemiDetachedHouse: boolean;
67
+ isTerracedHouse: boolean;
68
+ isBungalow: boolean;
69
+ isFlat: boolean;
70
+ isMaisonette: boolean;
71
+ flatMaisonetteFloor: number;
72
+ numberOfFloorsInBlock: number;
73
+ isBuiltOrOwnedByLocalAuthority: boolean;
74
+ ownerOccupationPercentage: number;
75
+ isFlatMaisonetteConverted: boolean;
76
+ conversionYear: number;
77
+ isPurposeBuilt: boolean;
78
+ numberOfUnitsInBlock: number;
79
+ isAboveCommercial: boolean;
80
+ residentialNatureImpact: string;
81
+ tenure: string;
82
+ isFlyingFreehold: boolean;
83
+ flyingFreeholdPercentage: number;
84
+ maintenanceCharge: number;
85
+ roadCharges: number;
86
+ groundRent: number;
87
+ remainingLeaseTermYears: number;
88
+ isPartCommercialUse: boolean;
89
+ commercialUsePercentage: number;
90
+ isPurchasedUnderSharedOwnership: boolean;
91
+ yearBuilt: number;
92
+ }> & {
39
93
  isDetachedHouse: boolean;
40
94
  isSemiDetachedHouse: boolean;
41
95
  isTerracedHouse: boolean;
@@ -63,8 +117,44 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
63
117
  commercialUsePercentage: number;
64
118
  isPurchasedUnderSharedOwnership: boolean;
65
119
  yearBuilt: number;
66
- } | null | undefined;
67
- accommodation?: {
120
+ }>;
121
+ accommodation: mongoose.Types.DocumentArray<{
122
+ hall: number;
123
+ livingRooms: number;
124
+ kitchen: number;
125
+ isLiftPresent: boolean;
126
+ utility: number;
127
+ bedrooms: number;
128
+ bathrooms: number;
129
+ separateWc: number;
130
+ basement: number;
131
+ garage: number;
132
+ parking: number;
133
+ gardens: boolean;
134
+ isPrivate: boolean;
135
+ isCommunal: boolean;
136
+ numberOfOutbuildings: number;
137
+ outbuildingDetails: string;
138
+ grossFloorAreaOfDwelling: number;
139
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
140
+ hall: number;
141
+ livingRooms: number;
142
+ kitchen: number;
143
+ isLiftPresent: boolean;
144
+ utility: number;
145
+ bedrooms: number;
146
+ bathrooms: number;
147
+ separateWc: number;
148
+ basement: number;
149
+ garage: number;
150
+ parking: number;
151
+ gardens: boolean;
152
+ isPrivate: boolean;
153
+ isCommunal: boolean;
154
+ numberOfOutbuildings: number;
155
+ outbuildingDetails: string;
156
+ grossFloorAreaOfDwelling: number;
157
+ }> & {
68
158
  hall: number;
69
159
  livingRooms: number;
70
160
  kitchen: number;
@@ -82,15 +172,59 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
82
172
  numberOfOutbuildings: number;
83
173
  outbuildingDetails: string;
84
174
  grossFloorAreaOfDwelling: number;
85
- } | null | undefined;
86
- currentOccupency?: {
175
+ }>;
176
+ currentOccupency: mongoose.Types.DocumentArray<{
177
+ isEverOccupied: boolean;
178
+ numberOfAdultsInProperty: number;
179
+ isHmoOrMultiUnitFreeholdBlock: boolean;
180
+ isCurrentlyTenanted: boolean;
181
+ hmoOrMultiUnitDetails: string;
182
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
183
+ isEverOccupied: boolean;
184
+ numberOfAdultsInProperty: number;
185
+ isHmoOrMultiUnitFreeholdBlock: boolean;
186
+ isCurrentlyTenanted: boolean;
187
+ hmoOrMultiUnitDetails: string;
188
+ }> & {
87
189
  isEverOccupied: boolean;
88
190
  numberOfAdultsInProperty: number;
89
191
  isHmoOrMultiUnitFreeholdBlock: boolean;
90
192
  isCurrentlyTenanted: boolean;
91
193
  hmoOrMultiUnitDetails: string;
92
- } | null | undefined;
93
- newBuild?: {
194
+ }>;
195
+ newBuild: mongoose.Types.DocumentArray<{
196
+ isNewBuildOrRecentlyConverted: boolean;
197
+ isCompleted: boolean;
198
+ isUnderConstruction: boolean;
199
+ isFinalInspectionRequired: boolean;
200
+ isNhbcCert: boolean;
201
+ isBuildZone: boolean;
202
+ isPremier: boolean;
203
+ isProfessionalConsultant: boolean;
204
+ isOtherCert: boolean;
205
+ otherCertDetails: string;
206
+ isSelfBuildProject: boolean;
207
+ isInvolvesPartExchange: boolean;
208
+ isDisclosureOfIncentivesSeen: boolean;
209
+ incentivesDetails: string;
210
+ newBuildDeveloperName: string;
211
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
212
+ isNewBuildOrRecentlyConverted: boolean;
213
+ isCompleted: boolean;
214
+ isUnderConstruction: boolean;
215
+ isFinalInspectionRequired: boolean;
216
+ isNhbcCert: boolean;
217
+ isBuildZone: boolean;
218
+ isPremier: boolean;
219
+ isProfessionalConsultant: boolean;
220
+ isOtherCert: boolean;
221
+ otherCertDetails: string;
222
+ isSelfBuildProject: boolean;
223
+ isInvolvesPartExchange: boolean;
224
+ isDisclosureOfIncentivesSeen: boolean;
225
+ incentivesDetails: string;
226
+ newBuildDeveloperName: string;
227
+ }> & {
94
228
  isNewBuildOrRecentlyConverted: boolean;
95
229
  isCompleted: boolean;
96
230
  isUnderConstruction: boolean;
@@ -106,8 +240,28 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
106
240
  isDisclosureOfIncentivesSeen: boolean;
107
241
  incentivesDetails: string;
108
242
  newBuildDeveloperName: string;
109
- } | null | undefined;
110
- construction?: {
243
+ }>;
244
+ construction: mongoose.Types.DocumentArray<{
245
+ isStandardConstruction: boolean;
246
+ nonStandardConstructionType: string;
247
+ mainWalls: string;
248
+ mainRoof: string;
249
+ garageConstruction: string;
250
+ outbuildingsConstruction: string;
251
+ isHasAlterationsOrExtensions: boolean;
252
+ isAlterationsRequireConsents: boolean;
253
+ alterationsAge: number;
254
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
255
+ isStandardConstruction: boolean;
256
+ nonStandardConstructionType: string;
257
+ mainWalls: string;
258
+ mainRoof: string;
259
+ garageConstruction: string;
260
+ outbuildingsConstruction: string;
261
+ isHasAlterationsOrExtensions: boolean;
262
+ isAlterationsRequireConsents: boolean;
263
+ alterationsAge: number;
264
+ }> & {
111
265
  isStandardConstruction: boolean;
112
266
  nonStandardConstructionType: string;
113
267
  mainWalls: string;
@@ -117,8 +271,56 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
117
271
  isHasAlterationsOrExtensions: boolean;
118
272
  isAlterationsRequireConsents: boolean;
119
273
  alterationsAge: number;
120
- } | null | undefined;
121
- localityAndDemand?: {
274
+ }>;
275
+ localityAndDemand: mongoose.Types.DocumentArray<{
276
+ isUrban: boolean;
277
+ isSuburban: boolean;
278
+ isRural: boolean;
279
+ isGoodMarketAppeal: boolean;
280
+ isAverageMarketAppeal: boolean;
281
+ isPoorMarketAppeal: boolean;
282
+ isSimilarProperties: boolean;
283
+ isBetterProperties: boolean;
284
+ isWorseProperties: boolean;
285
+ isPricesRising: boolean;
286
+ isPricesStatic: boolean;
287
+ isPricesFalling: boolean;
288
+ isDemandRising: boolean;
289
+ isDemandStatic: boolean;
290
+ isDemandFalling: boolean;
291
+ isAffectedByCompulsoryPurchase: boolean;
292
+ compulsoryPurchaseDetails: string;
293
+ isVacantOrBoardedPropertiesNearby: boolean;
294
+ vacantOrBoardedDetails: string;
295
+ isOccupancyRestrictionPossible: boolean;
296
+ occupancyRestrictionDetails: string;
297
+ isCloseToHighVoltageEquipment: boolean;
298
+ highVoltageEquipmentDetails: string;
299
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
300
+ isUrban: boolean;
301
+ isSuburban: boolean;
302
+ isRural: boolean;
303
+ isGoodMarketAppeal: boolean;
304
+ isAverageMarketAppeal: boolean;
305
+ isPoorMarketAppeal: boolean;
306
+ isSimilarProperties: boolean;
307
+ isBetterProperties: boolean;
308
+ isWorseProperties: boolean;
309
+ isPricesRising: boolean;
310
+ isPricesStatic: boolean;
311
+ isPricesFalling: boolean;
312
+ isDemandRising: boolean;
313
+ isDemandStatic: boolean;
314
+ isDemandFalling: boolean;
315
+ isAffectedByCompulsoryPurchase: boolean;
316
+ compulsoryPurchaseDetails: string;
317
+ isVacantOrBoardedPropertiesNearby: boolean;
318
+ vacantOrBoardedDetails: string;
319
+ isOccupancyRestrictionPossible: boolean;
320
+ occupancyRestrictionDetails: string;
321
+ isCloseToHighVoltageEquipment: boolean;
322
+ highVoltageEquipmentDetails: string;
323
+ }> & {
122
324
  isUrban: boolean;
123
325
  isSuburban: boolean;
124
326
  isRural: boolean;
@@ -142,8 +344,42 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
142
344
  occupancyRestrictionDetails: string;
143
345
  isCloseToHighVoltageEquipment: boolean;
144
346
  highVoltageEquipmentDetails: string;
145
- } | null | undefined;
146
- services?: {
347
+ }>;
348
+ services: mongoose.Types.DocumentArray<{
349
+ isMainsWater: boolean;
350
+ isPrivateWater: boolean;
351
+ isUnknownWater: boolean;
352
+ isGasSupply: boolean;
353
+ isElectricitySupply: boolean;
354
+ isCentralHeating: boolean;
355
+ centralHeatingType: string;
356
+ isMainDrainage: boolean;
357
+ isSepticTankPlant: boolean;
358
+ isSolarPanels: boolean;
359
+ isSharedAccess: boolean;
360
+ isRoadAdopted: boolean;
361
+ isHasEasementsOrRightsOfWay: boolean;
362
+ easementsOrRightsDetails: string;
363
+ servicesSeparateForFlats: string;
364
+ servicesSeparateDetails: string;
365
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
366
+ isMainsWater: boolean;
367
+ isPrivateWater: boolean;
368
+ isUnknownWater: boolean;
369
+ isGasSupply: boolean;
370
+ isElectricitySupply: boolean;
371
+ isCentralHeating: boolean;
372
+ centralHeatingType: string;
373
+ isMainDrainage: boolean;
374
+ isSepticTankPlant: boolean;
375
+ isSolarPanels: boolean;
376
+ isSharedAccess: boolean;
377
+ isRoadAdopted: boolean;
378
+ isHasEasementsOrRightsOfWay: boolean;
379
+ easementsOrRightsDetails: string;
380
+ servicesSeparateForFlats: string;
381
+ servicesSeparateDetails: string;
382
+ }> & {
147
383
  isMainsWater: boolean;
148
384
  isPrivateWater: boolean;
149
385
  isUnknownWater: boolean;
@@ -153,7 +389,6 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
153
389
  centralHeatingType: string;
154
390
  isMainDrainage: boolean;
155
391
  isSepticTankPlant: boolean;
156
- isUnknownDrainage: boolean;
157
392
  isSolarPanels: boolean;
158
393
  isSharedAccess: boolean;
159
394
  isRoadAdopted: boolean;
@@ -161,52 +396,177 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
161
396
  easementsOrRightsDetails: string;
162
397
  servicesSeparateForFlats: string;
163
398
  servicesSeparateDetails: string;
164
- } | null | undefined;
165
- conditionsOfProperty?: {
399
+ }>;
400
+ conditionsOfProperty: mongoose.Types.DocumentArray<{
166
401
  isStructuralMovement: boolean;
167
402
  isStructuralMovementHistoricOrNonProgressive: boolean;
168
403
  structuralMovementDetails: string;
169
404
  isStructuralModifications: boolean;
170
405
  structuralModificationsDetails: string;
171
406
  communalAreasMaintained: string;
407
+ propertyProneTo: mongoose.Types.DocumentArray<{
408
+ flooding: boolean;
409
+ subsidence: boolean;
410
+ heave: boolean;
411
+ landslip: boolean;
412
+ details: string;
413
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
414
+ flooding: boolean;
415
+ subsidence: boolean;
416
+ heave: boolean;
417
+ landslip: boolean;
418
+ details: string;
419
+ }> & {
420
+ flooding: boolean;
421
+ subsidence: boolean;
422
+ heave: boolean;
423
+ landslip: boolean;
424
+ details: string;
425
+ }>;
172
426
  isPlotBoundariesDefinedUnderPointFourHectares: boolean;
173
427
  isTreesWithinInfluencingDistance: boolean;
174
428
  treesInfluenceDetails: string;
175
429
  isBuiltOnSteepSlope: boolean;
176
430
  steepSlopeDetails: string;
177
- propertyProneTo?: {
431
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
432
+ isStructuralMovement: boolean;
433
+ isStructuralMovementHistoricOrNonProgressive: boolean;
434
+ structuralMovementDetails: string;
435
+ isStructuralModifications: boolean;
436
+ structuralModificationsDetails: string;
437
+ communalAreasMaintained: string;
438
+ propertyProneTo: mongoose.Types.DocumentArray<{
178
439
  flooding: boolean;
179
440
  subsidence: boolean;
180
441
  heave: boolean;
181
442
  landslip: boolean;
182
443
  details: string;
183
- } | null | undefined;
184
- } | null | undefined;
185
- reports?: {
186
- isTimberDamp: boolean;
187
- isMining: boolean;
188
- isElectrical: boolean;
189
- isDrains: boolean;
190
- isStructuralEngineers: boolean;
191
- isArboricultural: boolean;
192
- isMundic: boolean;
193
- isWallTies: boolean;
194
- isRoof: boolean;
444
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
445
+ flooding: boolean;
446
+ subsidence: boolean;
447
+ heave: boolean;
448
+ landslip: boolean;
449
+ details: string;
450
+ }> & {
451
+ flooding: boolean;
452
+ subsidence: boolean;
453
+ heave: boolean;
454
+ landslip: boolean;
455
+ details: string;
456
+ }>;
457
+ isPlotBoundariesDefinedUnderPointFourHectares: boolean;
458
+ isTreesWithinInfluencingDistance: boolean;
459
+ treesInfluenceDetails: string;
460
+ isBuiltOnSteepSlope: boolean;
461
+ steepSlopeDetails: string;
462
+ }> & {
463
+ isStructuralMovement: boolean;
464
+ isStructuralMovementHistoricOrNonProgressive: boolean;
465
+ structuralMovementDetails: string;
466
+ isStructuralModifications: boolean;
467
+ structuralModificationsDetails: string;
468
+ communalAreasMaintained: string;
469
+ propertyProneTo: mongoose.Types.DocumentArray<{
470
+ flooding: boolean;
471
+ subsidence: boolean;
472
+ heave: boolean;
473
+ landslip: boolean;
474
+ details: string;
475
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
476
+ flooding: boolean;
477
+ subsidence: boolean;
478
+ heave: boolean;
479
+ landslip: boolean;
480
+ details: string;
481
+ }> & {
482
+ flooding: boolean;
483
+ subsidence: boolean;
484
+ heave: boolean;
485
+ landslip: boolean;
486
+ details: string;
487
+ }>;
488
+ isPlotBoundariesDefinedUnderPointFourHectares: boolean;
489
+ isTreesWithinInfluencingDistance: boolean;
490
+ treesInfluenceDetails: string;
491
+ isBuiltOnSteepSlope: boolean;
492
+ steepSlopeDetails: string;
493
+ }>;
494
+ reports: mongoose.Types.DocumentArray<{
495
+ isTimberDamp: boolean;
496
+ isMining: boolean;
497
+ isElectrical: boolean;
498
+ isDrains: boolean;
499
+ isStructuralEngineers: boolean;
500
+ isArboricultural: boolean;
501
+ isMundic: boolean;
502
+ isWallTies: boolean;
503
+ isRoof: boolean;
195
504
  isMetalliferous: boolean;
196
505
  isSulfateRedAsh: boolean;
197
506
  isOtherReport: boolean;
198
507
  otherReportDetails: string;
199
- } | null | undefined;
200
- energyEfficiency?: {
508
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
509
+ isTimberDamp: boolean;
510
+ isMining: boolean;
511
+ isElectrical: boolean;
512
+ isDrains: boolean;
513
+ isStructuralEngineers: boolean;
514
+ isArboricultural: boolean;
515
+ isMundic: boolean;
516
+ isWallTies: boolean;
517
+ isRoof: boolean;
518
+ isMetalliferous: boolean;
519
+ isSulfateRedAsh: boolean;
520
+ isOtherReport: boolean;
521
+ otherReportDetails: string;
522
+ }> & {
523
+ isTimberDamp: boolean;
524
+ isMining: boolean;
525
+ isElectrical: boolean;
526
+ isDrains: boolean;
527
+ isStructuralEngineers: boolean;
528
+ isArboricultural: boolean;
529
+ isMundic: boolean;
530
+ isWallTies: boolean;
531
+ isRoof: boolean;
532
+ isMetalliferous: boolean;
533
+ isSulfateRedAsh: boolean;
534
+ isOtherReport: boolean;
535
+ otherReportDetails: string;
536
+ }>;
537
+ energyEfficiency: mongoose.Types.DocumentArray<{
538
+ epcRating: string;
539
+ epcScore: number;
540
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
201
541
  epcRating: string;
202
542
  epcScore: number;
203
- } | null | undefined;
204
- essentialRepairs?: {
543
+ }> & {
544
+ epcRating: string;
545
+ epcScore: number;
546
+ }>;
547
+ essentialRepairs: mongoose.Types.DocumentArray<{
548
+ isEssentialRepairsRequired: boolean;
549
+ essentialRepairsDetails: string;
550
+ isReinspectionRequired: boolean;
551
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
552
+ isEssentialRepairsRequired: boolean;
553
+ essentialRepairsDetails: string;
554
+ isReinspectionRequired: boolean;
555
+ }> & {
205
556
  isEssentialRepairsRequired: boolean;
206
557
  essentialRepairsDetails: string;
207
558
  isReinspectionRequired: boolean;
208
- } | null | undefined;
209
- rentalInformation?: {
559
+ }>;
560
+ rentalInformation: mongoose.Types.DocumentArray<{
561
+ isRentalDemandInLocality: boolean;
562
+ rentalDemandDetails: string;
563
+ monthlyMarketRentPresentCondition: number;
564
+ monthlyMarketRentImprovedCondition: number;
565
+ isOtherLettingDemandFactors: boolean;
566
+ otherLettingDemandDetails: string;
567
+ investorOnlyDemand: boolean;
568
+ investorOnlyDemandDetails: string;
569
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
210
570
  isRentalDemandInLocality: boolean;
211
571
  rentalDemandDetails: string;
212
572
  monthlyMarketRentPresentCondition: number;
@@ -215,8 +575,17 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
215
575
  otherLettingDemandDetails: string;
216
576
  investorOnlyDemand: boolean;
217
577
  investorOnlyDemandDetails: string;
218
- } | null | undefined;
219
- valuationForFinancePurpose?: {
578
+ }> & {
579
+ isRentalDemandInLocality: boolean;
580
+ rentalDemandDetails: string;
581
+ monthlyMarketRentPresentCondition: number;
582
+ monthlyMarketRentImprovedCondition: number;
583
+ isOtherLettingDemandFactors: boolean;
584
+ otherLettingDemandDetails: string;
585
+ investorOnlyDemand: boolean;
586
+ investorOnlyDemandDetails: string;
587
+ }>;
588
+ valuationForFinancePurpose: mongoose.Types.DocumentArray<{
220
589
  valuationComparativeOnly: string;
221
590
  isSuitableForFinance: boolean;
222
591
  financeSuitabilityDetails: string;
@@ -226,33 +595,165 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
226
595
  buildingInsuranceReinstatementCost: number;
227
596
  isInsurancePremiumLoadingRisk: boolean;
228
597
  insurancePremiumLoadingDetails: string;
229
- } | null | undefined;
230
- valuersDeclaration?: {
598
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
599
+ valuationComparativeOnly: string;
600
+ isSuitableForFinance: boolean;
601
+ financeSuitabilityDetails: string;
602
+ marketValuePresentCondition: number;
603
+ marketValueAfterRepairs: number;
604
+ purchasePriceOrBorrowerEstimate: number;
605
+ buildingInsuranceReinstatementCost: number;
606
+ isInsurancePremiumLoadingRisk: boolean;
607
+ insurancePremiumLoadingDetails: string;
608
+ }> & {
609
+ valuationComparativeOnly: string;
610
+ isSuitableForFinance: boolean;
611
+ financeSuitabilityDetails: string;
612
+ marketValuePresentCondition: number;
613
+ marketValueAfterRepairs: number;
614
+ purchasePriceOrBorrowerEstimate: number;
615
+ buildingInsuranceReinstatementCost: number;
616
+ isInsurancePremiumLoadingRisk: boolean;
617
+ insurancePremiumLoadingDetails: string;
618
+ }>;
619
+ generalRemarks: string;
620
+ valuersDeclaration: mongoose.Types.DocumentArray<{
231
621
  valuerSignature: number;
232
622
  valuerName: string;
233
623
  onBehalfOf: string;
234
624
  telephone: number;
235
625
  fax: number;
236
626
  email: string;
627
+ valuerQualifications: mongoose.Types.DocumentArray<{
628
+ mrics: boolean;
629
+ frics: boolean;
630
+ assocRics: boolean;
631
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
632
+ mrics: boolean;
633
+ frics: boolean;
634
+ assocRics: boolean;
635
+ }> & {
636
+ mrics: boolean;
637
+ frics: boolean;
638
+ assocRics: boolean;
639
+ }>;
640
+ ricsNumber: number;
641
+ valuerAddress: string;
642
+ valuerPostcode: string;
643
+ reportDate: number;
644
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
645
+ valuerSignature: number;
646
+ valuerName: string;
647
+ onBehalfOf: string;
648
+ telephone: number;
649
+ fax: number;
650
+ email: string;
651
+ valuerQualifications: mongoose.Types.DocumentArray<{
652
+ mrics: boolean;
653
+ frics: boolean;
654
+ assocRics: boolean;
655
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
656
+ mrics: boolean;
657
+ frics: boolean;
658
+ assocRics: boolean;
659
+ }> & {
660
+ mrics: boolean;
661
+ frics: boolean;
662
+ assocRics: boolean;
663
+ }>;
237
664
  ricsNumber: number;
238
665
  valuerAddress: string;
239
666
  valuerPostcode: string;
240
667
  reportDate: number;
241
- valuerQualifications?: {
668
+ }> & {
669
+ valuerSignature: number;
670
+ valuerName: string;
671
+ onBehalfOf: string;
672
+ telephone: number;
673
+ fax: number;
674
+ email: string;
675
+ valuerQualifications: mongoose.Types.DocumentArray<{
676
+ mrics: boolean;
677
+ frics: boolean;
678
+ assocRics: boolean;
679
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
680
+ mrics: boolean;
681
+ frics: boolean;
682
+ assocRics: boolean;
683
+ }> & {
242
684
  mrics: boolean;
243
685
  frics: boolean;
244
686
  assocRics: boolean;
245
- } | null | undefined;
246
- } | null | undefined;
687
+ }>;
688
+ ricsNumber: number;
689
+ valuerAddress: string;
690
+ valuerPostcode: string;
691
+ reportDate: number;
692
+ }>;
693
+ extractedText: string;
247
694
  }, {}, {}, {}, mongoose.Document<unknown, {}, {
248
695
  applicationId: mongoose.Types.ObjectId;
249
696
  applicantName: string;
250
697
  applicationNumber: string;
251
698
  propertyAddress: string;
252
699
  postCode: string;
253
- generalRemarks: string;
254
- extractedText: string;
255
- propertyType?: {
700
+ propertyType: mongoose.Types.DocumentArray<{
701
+ isDetachedHouse: boolean;
702
+ isSemiDetachedHouse: boolean;
703
+ isTerracedHouse: boolean;
704
+ isBungalow: boolean;
705
+ isFlat: boolean;
706
+ isMaisonette: boolean;
707
+ flatMaisonetteFloor: number;
708
+ numberOfFloorsInBlock: number;
709
+ isBuiltOrOwnedByLocalAuthority: boolean;
710
+ ownerOccupationPercentage: number;
711
+ isFlatMaisonetteConverted: boolean;
712
+ conversionYear: number;
713
+ isPurposeBuilt: boolean;
714
+ numberOfUnitsInBlock: number;
715
+ isAboveCommercial: boolean;
716
+ residentialNatureImpact: string;
717
+ tenure: string;
718
+ isFlyingFreehold: boolean;
719
+ flyingFreeholdPercentage: number;
720
+ maintenanceCharge: number;
721
+ roadCharges: number;
722
+ groundRent: number;
723
+ remainingLeaseTermYears: number;
724
+ isPartCommercialUse: boolean;
725
+ commercialUsePercentage: number;
726
+ isPurchasedUnderSharedOwnership: boolean;
727
+ yearBuilt: number;
728
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
729
+ isDetachedHouse: boolean;
730
+ isSemiDetachedHouse: boolean;
731
+ isTerracedHouse: boolean;
732
+ isBungalow: boolean;
733
+ isFlat: boolean;
734
+ isMaisonette: boolean;
735
+ flatMaisonetteFloor: number;
736
+ numberOfFloorsInBlock: number;
737
+ isBuiltOrOwnedByLocalAuthority: boolean;
738
+ ownerOccupationPercentage: number;
739
+ isFlatMaisonetteConverted: boolean;
740
+ conversionYear: number;
741
+ isPurposeBuilt: boolean;
742
+ numberOfUnitsInBlock: number;
743
+ isAboveCommercial: boolean;
744
+ residentialNatureImpact: string;
745
+ tenure: string;
746
+ isFlyingFreehold: boolean;
747
+ flyingFreeholdPercentage: number;
748
+ maintenanceCharge: number;
749
+ roadCharges: number;
750
+ groundRent: number;
751
+ remainingLeaseTermYears: number;
752
+ isPartCommercialUse: boolean;
753
+ commercialUsePercentage: number;
754
+ isPurchasedUnderSharedOwnership: boolean;
755
+ yearBuilt: number;
756
+ }> & {
256
757
  isDetachedHouse: boolean;
257
758
  isSemiDetachedHouse: boolean;
258
759
  isTerracedHouse: boolean;
@@ -280,8 +781,8 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
280
781
  commercialUsePercentage: number;
281
782
  isPurchasedUnderSharedOwnership: boolean;
282
783
  yearBuilt: number;
283
- } | null | undefined;
284
- accommodation?: {
784
+ }>;
785
+ accommodation: mongoose.Types.DocumentArray<{
285
786
  hall: number;
286
787
  livingRooms: number;
287
788
  kitchen: number;
@@ -299,15 +800,95 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
299
800
  numberOfOutbuildings: number;
300
801
  outbuildingDetails: string;
301
802
  grossFloorAreaOfDwelling: number;
302
- } | null | undefined;
303
- currentOccupency?: {
803
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
804
+ hall: number;
805
+ livingRooms: number;
806
+ kitchen: number;
807
+ isLiftPresent: boolean;
808
+ utility: number;
809
+ bedrooms: number;
810
+ bathrooms: number;
811
+ separateWc: number;
812
+ basement: number;
813
+ garage: number;
814
+ parking: number;
815
+ gardens: boolean;
816
+ isPrivate: boolean;
817
+ isCommunal: boolean;
818
+ numberOfOutbuildings: number;
819
+ outbuildingDetails: string;
820
+ grossFloorAreaOfDwelling: number;
821
+ }> & {
822
+ hall: number;
823
+ livingRooms: number;
824
+ kitchen: number;
825
+ isLiftPresent: boolean;
826
+ utility: number;
827
+ bedrooms: number;
828
+ bathrooms: number;
829
+ separateWc: number;
830
+ basement: number;
831
+ garage: number;
832
+ parking: number;
833
+ gardens: boolean;
834
+ isPrivate: boolean;
835
+ isCommunal: boolean;
836
+ numberOfOutbuildings: number;
837
+ outbuildingDetails: string;
838
+ grossFloorAreaOfDwelling: number;
839
+ }>;
840
+ currentOccupency: mongoose.Types.DocumentArray<{
304
841
  isEverOccupied: boolean;
305
842
  numberOfAdultsInProperty: number;
306
843
  isHmoOrMultiUnitFreeholdBlock: boolean;
307
844
  isCurrentlyTenanted: boolean;
308
845
  hmoOrMultiUnitDetails: string;
309
- } | null | undefined;
310
- newBuild?: {
846
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
847
+ isEverOccupied: boolean;
848
+ numberOfAdultsInProperty: number;
849
+ isHmoOrMultiUnitFreeholdBlock: boolean;
850
+ isCurrentlyTenanted: boolean;
851
+ hmoOrMultiUnitDetails: string;
852
+ }> & {
853
+ isEverOccupied: boolean;
854
+ numberOfAdultsInProperty: number;
855
+ isHmoOrMultiUnitFreeholdBlock: boolean;
856
+ isCurrentlyTenanted: boolean;
857
+ hmoOrMultiUnitDetails: string;
858
+ }>;
859
+ newBuild: mongoose.Types.DocumentArray<{
860
+ isNewBuildOrRecentlyConverted: boolean;
861
+ isCompleted: boolean;
862
+ isUnderConstruction: boolean;
863
+ isFinalInspectionRequired: boolean;
864
+ isNhbcCert: boolean;
865
+ isBuildZone: boolean;
866
+ isPremier: boolean;
867
+ isProfessionalConsultant: boolean;
868
+ isOtherCert: boolean;
869
+ otherCertDetails: string;
870
+ isSelfBuildProject: boolean;
871
+ isInvolvesPartExchange: boolean;
872
+ isDisclosureOfIncentivesSeen: boolean;
873
+ incentivesDetails: string;
874
+ newBuildDeveloperName: string;
875
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
876
+ isNewBuildOrRecentlyConverted: boolean;
877
+ isCompleted: boolean;
878
+ isUnderConstruction: boolean;
879
+ isFinalInspectionRequired: boolean;
880
+ isNhbcCert: boolean;
881
+ isBuildZone: boolean;
882
+ isPremier: boolean;
883
+ isProfessionalConsultant: boolean;
884
+ isOtherCert: boolean;
885
+ otherCertDetails: string;
886
+ isSelfBuildProject: boolean;
887
+ isInvolvesPartExchange: boolean;
888
+ isDisclosureOfIncentivesSeen: boolean;
889
+ incentivesDetails: string;
890
+ newBuildDeveloperName: string;
891
+ }> & {
311
892
  isNewBuildOrRecentlyConverted: boolean;
312
893
  isCompleted: boolean;
313
894
  isUnderConstruction: boolean;
@@ -323,8 +904,8 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
323
904
  isDisclosureOfIncentivesSeen: boolean;
324
905
  incentivesDetails: string;
325
906
  newBuildDeveloperName: string;
326
- } | null | undefined;
327
- construction?: {
907
+ }>;
908
+ construction: mongoose.Types.DocumentArray<{
328
909
  isStandardConstruction: boolean;
329
910
  nonStandardConstructionType: string;
330
911
  mainWalls: string;
@@ -334,8 +915,76 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
334
915
  isHasAlterationsOrExtensions: boolean;
335
916
  isAlterationsRequireConsents: boolean;
336
917
  alterationsAge: number;
337
- } | null | undefined;
338
- localityAndDemand?: {
918
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
919
+ isStandardConstruction: boolean;
920
+ nonStandardConstructionType: string;
921
+ mainWalls: string;
922
+ mainRoof: string;
923
+ garageConstruction: string;
924
+ outbuildingsConstruction: string;
925
+ isHasAlterationsOrExtensions: boolean;
926
+ isAlterationsRequireConsents: boolean;
927
+ alterationsAge: number;
928
+ }> & {
929
+ isStandardConstruction: boolean;
930
+ nonStandardConstructionType: string;
931
+ mainWalls: string;
932
+ mainRoof: string;
933
+ garageConstruction: string;
934
+ outbuildingsConstruction: string;
935
+ isHasAlterationsOrExtensions: boolean;
936
+ isAlterationsRequireConsents: boolean;
937
+ alterationsAge: number;
938
+ }>;
939
+ localityAndDemand: mongoose.Types.DocumentArray<{
940
+ isUrban: boolean;
941
+ isSuburban: boolean;
942
+ isRural: boolean;
943
+ isGoodMarketAppeal: boolean;
944
+ isAverageMarketAppeal: boolean;
945
+ isPoorMarketAppeal: boolean;
946
+ isSimilarProperties: boolean;
947
+ isBetterProperties: boolean;
948
+ isWorseProperties: boolean;
949
+ isPricesRising: boolean;
950
+ isPricesStatic: boolean;
951
+ isPricesFalling: boolean;
952
+ isDemandRising: boolean;
953
+ isDemandStatic: boolean;
954
+ isDemandFalling: boolean;
955
+ isAffectedByCompulsoryPurchase: boolean;
956
+ compulsoryPurchaseDetails: string;
957
+ isVacantOrBoardedPropertiesNearby: boolean;
958
+ vacantOrBoardedDetails: string;
959
+ isOccupancyRestrictionPossible: boolean;
960
+ occupancyRestrictionDetails: string;
961
+ isCloseToHighVoltageEquipment: boolean;
962
+ highVoltageEquipmentDetails: string;
963
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
964
+ isUrban: boolean;
965
+ isSuburban: boolean;
966
+ isRural: boolean;
967
+ isGoodMarketAppeal: boolean;
968
+ isAverageMarketAppeal: boolean;
969
+ isPoorMarketAppeal: boolean;
970
+ isSimilarProperties: boolean;
971
+ isBetterProperties: boolean;
972
+ isWorseProperties: boolean;
973
+ isPricesRising: boolean;
974
+ isPricesStatic: boolean;
975
+ isPricesFalling: boolean;
976
+ isDemandRising: boolean;
977
+ isDemandStatic: boolean;
978
+ isDemandFalling: boolean;
979
+ isAffectedByCompulsoryPurchase: boolean;
980
+ compulsoryPurchaseDetails: string;
981
+ isVacantOrBoardedPropertiesNearby: boolean;
982
+ vacantOrBoardedDetails: string;
983
+ isOccupancyRestrictionPossible: boolean;
984
+ occupancyRestrictionDetails: string;
985
+ isCloseToHighVoltageEquipment: boolean;
986
+ highVoltageEquipmentDetails: string;
987
+ }> & {
339
988
  isUrban: boolean;
340
989
  isSuburban: boolean;
341
990
  isRural: boolean;
@@ -359,8 +1008,8 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
359
1008
  occupancyRestrictionDetails: string;
360
1009
  isCloseToHighVoltageEquipment: boolean;
361
1010
  highVoltageEquipmentDetails: string;
362
- } | null | undefined;
363
- services?: {
1011
+ }>;
1012
+ services: mongoose.Types.DocumentArray<{
364
1013
  isMainsWater: boolean;
365
1014
  isPrivateWater: boolean;
366
1015
  isUnknownWater: boolean;
@@ -370,7 +1019,6 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
370
1019
  centralHeatingType: string;
371
1020
  isMainDrainage: boolean;
372
1021
  isSepticTankPlant: boolean;
373
- isUnknownDrainage: boolean;
374
1022
  isSolarPanels: boolean;
375
1023
  isSharedAccess: boolean;
376
1024
  isRoadAdopted: boolean;
@@ -378,28 +1026,164 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
378
1026
  easementsOrRightsDetails: string;
379
1027
  servicesSeparateForFlats: string;
380
1028
  servicesSeparateDetails: string;
381
- } | null | undefined;
382
- conditionsOfProperty?: {
1029
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1030
+ isMainsWater: boolean;
1031
+ isPrivateWater: boolean;
1032
+ isUnknownWater: boolean;
1033
+ isGasSupply: boolean;
1034
+ isElectricitySupply: boolean;
1035
+ isCentralHeating: boolean;
1036
+ centralHeatingType: string;
1037
+ isMainDrainage: boolean;
1038
+ isSepticTankPlant: boolean;
1039
+ isSolarPanels: boolean;
1040
+ isSharedAccess: boolean;
1041
+ isRoadAdopted: boolean;
1042
+ isHasEasementsOrRightsOfWay: boolean;
1043
+ easementsOrRightsDetails: string;
1044
+ servicesSeparateForFlats: string;
1045
+ servicesSeparateDetails: string;
1046
+ }> & {
1047
+ isMainsWater: boolean;
1048
+ isPrivateWater: boolean;
1049
+ isUnknownWater: boolean;
1050
+ isGasSupply: boolean;
1051
+ isElectricitySupply: boolean;
1052
+ isCentralHeating: boolean;
1053
+ centralHeatingType: string;
1054
+ isMainDrainage: boolean;
1055
+ isSepticTankPlant: boolean;
1056
+ isSolarPanels: boolean;
1057
+ isSharedAccess: boolean;
1058
+ isRoadAdopted: boolean;
1059
+ isHasEasementsOrRightsOfWay: boolean;
1060
+ easementsOrRightsDetails: string;
1061
+ servicesSeparateForFlats: string;
1062
+ servicesSeparateDetails: string;
1063
+ }>;
1064
+ conditionsOfProperty: mongoose.Types.DocumentArray<{
1065
+ isStructuralMovement: boolean;
1066
+ isStructuralMovementHistoricOrNonProgressive: boolean;
1067
+ structuralMovementDetails: string;
1068
+ isStructuralModifications: boolean;
1069
+ structuralModificationsDetails: string;
1070
+ communalAreasMaintained: string;
1071
+ propertyProneTo: mongoose.Types.DocumentArray<{
1072
+ flooding: boolean;
1073
+ subsidence: boolean;
1074
+ heave: boolean;
1075
+ landslip: boolean;
1076
+ details: string;
1077
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1078
+ flooding: boolean;
1079
+ subsidence: boolean;
1080
+ heave: boolean;
1081
+ landslip: boolean;
1082
+ details: string;
1083
+ }> & {
1084
+ flooding: boolean;
1085
+ subsidence: boolean;
1086
+ heave: boolean;
1087
+ landslip: boolean;
1088
+ details: string;
1089
+ }>;
1090
+ isPlotBoundariesDefinedUnderPointFourHectares: boolean;
1091
+ isTreesWithinInfluencingDistance: boolean;
1092
+ treesInfluenceDetails: string;
1093
+ isBuiltOnSteepSlope: boolean;
1094
+ steepSlopeDetails: string;
1095
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
383
1096
  isStructuralMovement: boolean;
384
1097
  isStructuralMovementHistoricOrNonProgressive: boolean;
385
1098
  structuralMovementDetails: string;
386
1099
  isStructuralModifications: boolean;
387
1100
  structuralModificationsDetails: string;
388
1101
  communalAreasMaintained: string;
1102
+ propertyProneTo: mongoose.Types.DocumentArray<{
1103
+ flooding: boolean;
1104
+ subsidence: boolean;
1105
+ heave: boolean;
1106
+ landslip: boolean;
1107
+ details: string;
1108
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1109
+ flooding: boolean;
1110
+ subsidence: boolean;
1111
+ heave: boolean;
1112
+ landslip: boolean;
1113
+ details: string;
1114
+ }> & {
1115
+ flooding: boolean;
1116
+ subsidence: boolean;
1117
+ heave: boolean;
1118
+ landslip: boolean;
1119
+ details: string;
1120
+ }>;
389
1121
  isPlotBoundariesDefinedUnderPointFourHectares: boolean;
390
1122
  isTreesWithinInfluencingDistance: boolean;
391
1123
  treesInfluenceDetails: string;
392
1124
  isBuiltOnSteepSlope: boolean;
393
1125
  steepSlopeDetails: string;
394
- propertyProneTo?: {
1126
+ }> & {
1127
+ isStructuralMovement: boolean;
1128
+ isStructuralMovementHistoricOrNonProgressive: boolean;
1129
+ structuralMovementDetails: string;
1130
+ isStructuralModifications: boolean;
1131
+ structuralModificationsDetails: string;
1132
+ communalAreasMaintained: string;
1133
+ propertyProneTo: mongoose.Types.DocumentArray<{
1134
+ flooding: boolean;
1135
+ subsidence: boolean;
1136
+ heave: boolean;
1137
+ landslip: boolean;
1138
+ details: string;
1139
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1140
+ flooding: boolean;
1141
+ subsidence: boolean;
1142
+ heave: boolean;
1143
+ landslip: boolean;
1144
+ details: string;
1145
+ }> & {
395
1146
  flooding: boolean;
396
1147
  subsidence: boolean;
397
1148
  heave: boolean;
398
1149
  landslip: boolean;
399
1150
  details: string;
400
- } | null | undefined;
401
- } | null | undefined;
402
- reports?: {
1151
+ }>;
1152
+ isPlotBoundariesDefinedUnderPointFourHectares: boolean;
1153
+ isTreesWithinInfluencingDistance: boolean;
1154
+ treesInfluenceDetails: string;
1155
+ isBuiltOnSteepSlope: boolean;
1156
+ steepSlopeDetails: string;
1157
+ }>;
1158
+ reports: mongoose.Types.DocumentArray<{
1159
+ isTimberDamp: boolean;
1160
+ isMining: boolean;
1161
+ isElectrical: boolean;
1162
+ isDrains: boolean;
1163
+ isStructuralEngineers: boolean;
1164
+ isArboricultural: boolean;
1165
+ isMundic: boolean;
1166
+ isWallTies: boolean;
1167
+ isRoof: boolean;
1168
+ isMetalliferous: boolean;
1169
+ isSulfateRedAsh: boolean;
1170
+ isOtherReport: boolean;
1171
+ otherReportDetails: string;
1172
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1173
+ isTimberDamp: boolean;
1174
+ isMining: boolean;
1175
+ isElectrical: boolean;
1176
+ isDrains: boolean;
1177
+ isStructuralEngineers: boolean;
1178
+ isArboricultural: boolean;
1179
+ isMundic: boolean;
1180
+ isWallTies: boolean;
1181
+ isRoof: boolean;
1182
+ isMetalliferous: boolean;
1183
+ isSulfateRedAsh: boolean;
1184
+ isOtherReport: boolean;
1185
+ otherReportDetails: string;
1186
+ }> & {
403
1187
  isTimberDamp: boolean;
404
1188
  isMining: boolean;
405
1189
  isElectrical: boolean;
@@ -413,17 +1197,31 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
413
1197
  isSulfateRedAsh: boolean;
414
1198
  isOtherReport: boolean;
415
1199
  otherReportDetails: string;
416
- } | null | undefined;
417
- energyEfficiency?: {
1200
+ }>;
1201
+ energyEfficiency: mongoose.Types.DocumentArray<{
1202
+ epcRating: string;
1203
+ epcScore: number;
1204
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
418
1205
  epcRating: string;
419
1206
  epcScore: number;
420
- } | null | undefined;
421
- essentialRepairs?: {
1207
+ }> & {
1208
+ epcRating: string;
1209
+ epcScore: number;
1210
+ }>;
1211
+ essentialRepairs: mongoose.Types.DocumentArray<{
1212
+ isEssentialRepairsRequired: boolean;
1213
+ essentialRepairsDetails: string;
1214
+ isReinspectionRequired: boolean;
1215
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1216
+ isEssentialRepairsRequired: boolean;
1217
+ essentialRepairsDetails: string;
1218
+ isReinspectionRequired: boolean;
1219
+ }> & {
422
1220
  isEssentialRepairsRequired: boolean;
423
1221
  essentialRepairsDetails: string;
424
1222
  isReinspectionRequired: boolean;
425
- } | null | undefined;
426
- rentalInformation?: {
1223
+ }>;
1224
+ rentalInformation: mongoose.Types.DocumentArray<{
427
1225
  isRentalDemandInLocality: boolean;
428
1226
  rentalDemandDetails: string;
429
1227
  monthlyMarketRentPresentCondition: number;
@@ -432,8 +1230,46 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
432
1230
  otherLettingDemandDetails: string;
433
1231
  investorOnlyDemand: boolean;
434
1232
  investorOnlyDemandDetails: string;
435
- } | null | undefined;
436
- valuationForFinancePurpose?: {
1233
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1234
+ isRentalDemandInLocality: boolean;
1235
+ rentalDemandDetails: string;
1236
+ monthlyMarketRentPresentCondition: number;
1237
+ monthlyMarketRentImprovedCondition: number;
1238
+ isOtherLettingDemandFactors: boolean;
1239
+ otherLettingDemandDetails: string;
1240
+ investorOnlyDemand: boolean;
1241
+ investorOnlyDemandDetails: string;
1242
+ }> & {
1243
+ isRentalDemandInLocality: boolean;
1244
+ rentalDemandDetails: string;
1245
+ monthlyMarketRentPresentCondition: number;
1246
+ monthlyMarketRentImprovedCondition: number;
1247
+ isOtherLettingDemandFactors: boolean;
1248
+ otherLettingDemandDetails: string;
1249
+ investorOnlyDemand: boolean;
1250
+ investorOnlyDemandDetails: string;
1251
+ }>;
1252
+ valuationForFinancePurpose: mongoose.Types.DocumentArray<{
1253
+ valuationComparativeOnly: string;
1254
+ isSuitableForFinance: boolean;
1255
+ financeSuitabilityDetails: string;
1256
+ marketValuePresentCondition: number;
1257
+ marketValueAfterRepairs: number;
1258
+ purchasePriceOrBorrowerEstimate: number;
1259
+ buildingInsuranceReinstatementCost: number;
1260
+ isInsurancePremiumLoadingRisk: boolean;
1261
+ insurancePremiumLoadingDetails: string;
1262
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1263
+ valuationComparativeOnly: string;
1264
+ isSuitableForFinance: boolean;
1265
+ financeSuitabilityDetails: string;
1266
+ marketValuePresentCondition: number;
1267
+ marketValueAfterRepairs: number;
1268
+ purchasePriceOrBorrowerEstimate: number;
1269
+ buildingInsuranceReinstatementCost: number;
1270
+ isInsurancePremiumLoadingRisk: boolean;
1271
+ insurancePremiumLoadingDetails: string;
1272
+ }> & {
437
1273
  valuationComparativeOnly: string;
438
1274
  isSuitableForFinance: boolean;
439
1275
  financeSuitabilityDetails: string;
@@ -443,33 +1279,145 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
443
1279
  buildingInsuranceReinstatementCost: number;
444
1280
  isInsurancePremiumLoadingRisk: boolean;
445
1281
  insurancePremiumLoadingDetails: string;
446
- } | null | undefined;
447
- valuersDeclaration?: {
1282
+ }>;
1283
+ generalRemarks: string;
1284
+ valuersDeclaration: mongoose.Types.DocumentArray<{
1285
+ valuerSignature: number;
1286
+ valuerName: string;
1287
+ onBehalfOf: string;
1288
+ telephone: number;
1289
+ fax: number;
1290
+ email: string;
1291
+ valuerQualifications: mongoose.Types.DocumentArray<{
1292
+ mrics: boolean;
1293
+ frics: boolean;
1294
+ assocRics: boolean;
1295
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1296
+ mrics: boolean;
1297
+ frics: boolean;
1298
+ assocRics: boolean;
1299
+ }> & {
1300
+ mrics: boolean;
1301
+ frics: boolean;
1302
+ assocRics: boolean;
1303
+ }>;
1304
+ ricsNumber: number;
1305
+ valuerAddress: string;
1306
+ valuerPostcode: string;
1307
+ reportDate: number;
1308
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
448
1309
  valuerSignature: number;
449
1310
  valuerName: string;
450
1311
  onBehalfOf: string;
451
1312
  telephone: number;
452
1313
  fax: number;
453
1314
  email: string;
1315
+ valuerQualifications: mongoose.Types.DocumentArray<{
1316
+ mrics: boolean;
1317
+ frics: boolean;
1318
+ assocRics: boolean;
1319
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1320
+ mrics: boolean;
1321
+ frics: boolean;
1322
+ assocRics: boolean;
1323
+ }> & {
1324
+ mrics: boolean;
1325
+ frics: boolean;
1326
+ assocRics: boolean;
1327
+ }>;
454
1328
  ricsNumber: number;
455
1329
  valuerAddress: string;
456
1330
  valuerPostcode: string;
457
1331
  reportDate: number;
458
- valuerQualifications?: {
1332
+ }> & {
1333
+ valuerSignature: number;
1334
+ valuerName: string;
1335
+ onBehalfOf: string;
1336
+ telephone: number;
1337
+ fax: number;
1338
+ email: string;
1339
+ valuerQualifications: mongoose.Types.DocumentArray<{
1340
+ mrics: boolean;
1341
+ frics: boolean;
1342
+ assocRics: boolean;
1343
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
459
1344
  mrics: boolean;
460
1345
  frics: boolean;
461
1346
  assocRics: boolean;
462
- } | null | undefined;
463
- } | null | undefined;
1347
+ }> & {
1348
+ mrics: boolean;
1349
+ frics: boolean;
1350
+ assocRics: boolean;
1351
+ }>;
1352
+ ricsNumber: number;
1353
+ valuerAddress: string;
1354
+ valuerPostcode: string;
1355
+ reportDate: number;
1356
+ }>;
1357
+ extractedText: string;
464
1358
  }, {}> & {
465
1359
  applicationId: mongoose.Types.ObjectId;
466
1360
  applicantName: string;
467
1361
  applicationNumber: string;
468
1362
  propertyAddress: string;
469
1363
  postCode: string;
470
- generalRemarks: string;
471
- extractedText: string;
472
- propertyType?: {
1364
+ propertyType: mongoose.Types.DocumentArray<{
1365
+ isDetachedHouse: boolean;
1366
+ isSemiDetachedHouse: boolean;
1367
+ isTerracedHouse: boolean;
1368
+ isBungalow: boolean;
1369
+ isFlat: boolean;
1370
+ isMaisonette: boolean;
1371
+ flatMaisonetteFloor: number;
1372
+ numberOfFloorsInBlock: number;
1373
+ isBuiltOrOwnedByLocalAuthority: boolean;
1374
+ ownerOccupationPercentage: number;
1375
+ isFlatMaisonetteConverted: boolean;
1376
+ conversionYear: number;
1377
+ isPurposeBuilt: boolean;
1378
+ numberOfUnitsInBlock: number;
1379
+ isAboveCommercial: boolean;
1380
+ residentialNatureImpact: string;
1381
+ tenure: string;
1382
+ isFlyingFreehold: boolean;
1383
+ flyingFreeholdPercentage: number;
1384
+ maintenanceCharge: number;
1385
+ roadCharges: number;
1386
+ groundRent: number;
1387
+ remainingLeaseTermYears: number;
1388
+ isPartCommercialUse: boolean;
1389
+ commercialUsePercentage: number;
1390
+ isPurchasedUnderSharedOwnership: boolean;
1391
+ yearBuilt: number;
1392
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1393
+ isDetachedHouse: boolean;
1394
+ isSemiDetachedHouse: boolean;
1395
+ isTerracedHouse: boolean;
1396
+ isBungalow: boolean;
1397
+ isFlat: boolean;
1398
+ isMaisonette: boolean;
1399
+ flatMaisonetteFloor: number;
1400
+ numberOfFloorsInBlock: number;
1401
+ isBuiltOrOwnedByLocalAuthority: boolean;
1402
+ ownerOccupationPercentage: number;
1403
+ isFlatMaisonetteConverted: boolean;
1404
+ conversionYear: number;
1405
+ isPurposeBuilt: boolean;
1406
+ numberOfUnitsInBlock: number;
1407
+ isAboveCommercial: boolean;
1408
+ residentialNatureImpact: string;
1409
+ tenure: string;
1410
+ isFlyingFreehold: boolean;
1411
+ flyingFreeholdPercentage: number;
1412
+ maintenanceCharge: number;
1413
+ roadCharges: number;
1414
+ groundRent: number;
1415
+ remainingLeaseTermYears: number;
1416
+ isPartCommercialUse: boolean;
1417
+ commercialUsePercentage: number;
1418
+ isPurchasedUnderSharedOwnership: boolean;
1419
+ yearBuilt: number;
1420
+ }> & {
473
1421
  isDetachedHouse: boolean;
474
1422
  isSemiDetachedHouse: boolean;
475
1423
  isTerracedHouse: boolean;
@@ -497,8 +1445,44 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
497
1445
  commercialUsePercentage: number;
498
1446
  isPurchasedUnderSharedOwnership: boolean;
499
1447
  yearBuilt: number;
500
- } | null | undefined;
501
- accommodation?: {
1448
+ }>;
1449
+ accommodation: mongoose.Types.DocumentArray<{
1450
+ hall: number;
1451
+ livingRooms: number;
1452
+ kitchen: number;
1453
+ isLiftPresent: boolean;
1454
+ utility: number;
1455
+ bedrooms: number;
1456
+ bathrooms: number;
1457
+ separateWc: number;
1458
+ basement: number;
1459
+ garage: number;
1460
+ parking: number;
1461
+ gardens: boolean;
1462
+ isPrivate: boolean;
1463
+ isCommunal: boolean;
1464
+ numberOfOutbuildings: number;
1465
+ outbuildingDetails: string;
1466
+ grossFloorAreaOfDwelling: number;
1467
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1468
+ hall: number;
1469
+ livingRooms: number;
1470
+ kitchen: number;
1471
+ isLiftPresent: boolean;
1472
+ utility: number;
1473
+ bedrooms: number;
1474
+ bathrooms: number;
1475
+ separateWc: number;
1476
+ basement: number;
1477
+ garage: number;
1478
+ parking: number;
1479
+ gardens: boolean;
1480
+ isPrivate: boolean;
1481
+ isCommunal: boolean;
1482
+ numberOfOutbuildings: number;
1483
+ outbuildingDetails: string;
1484
+ grossFloorAreaOfDwelling: number;
1485
+ }> & {
502
1486
  hall: number;
503
1487
  livingRooms: number;
504
1488
  kitchen: number;
@@ -516,15 +1500,59 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
516
1500
  numberOfOutbuildings: number;
517
1501
  outbuildingDetails: string;
518
1502
  grossFloorAreaOfDwelling: number;
519
- } | null | undefined;
520
- currentOccupency?: {
1503
+ }>;
1504
+ currentOccupency: mongoose.Types.DocumentArray<{
1505
+ isEverOccupied: boolean;
1506
+ numberOfAdultsInProperty: number;
1507
+ isHmoOrMultiUnitFreeholdBlock: boolean;
1508
+ isCurrentlyTenanted: boolean;
1509
+ hmoOrMultiUnitDetails: string;
1510
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1511
+ isEverOccupied: boolean;
1512
+ numberOfAdultsInProperty: number;
1513
+ isHmoOrMultiUnitFreeholdBlock: boolean;
1514
+ isCurrentlyTenanted: boolean;
1515
+ hmoOrMultiUnitDetails: string;
1516
+ }> & {
521
1517
  isEverOccupied: boolean;
522
1518
  numberOfAdultsInProperty: number;
523
1519
  isHmoOrMultiUnitFreeholdBlock: boolean;
524
1520
  isCurrentlyTenanted: boolean;
525
1521
  hmoOrMultiUnitDetails: string;
526
- } | null | undefined;
527
- newBuild?: {
1522
+ }>;
1523
+ newBuild: mongoose.Types.DocumentArray<{
1524
+ isNewBuildOrRecentlyConverted: boolean;
1525
+ isCompleted: boolean;
1526
+ isUnderConstruction: boolean;
1527
+ isFinalInspectionRequired: boolean;
1528
+ isNhbcCert: boolean;
1529
+ isBuildZone: boolean;
1530
+ isPremier: boolean;
1531
+ isProfessionalConsultant: boolean;
1532
+ isOtherCert: boolean;
1533
+ otherCertDetails: string;
1534
+ isSelfBuildProject: boolean;
1535
+ isInvolvesPartExchange: boolean;
1536
+ isDisclosureOfIncentivesSeen: boolean;
1537
+ incentivesDetails: string;
1538
+ newBuildDeveloperName: string;
1539
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1540
+ isNewBuildOrRecentlyConverted: boolean;
1541
+ isCompleted: boolean;
1542
+ isUnderConstruction: boolean;
1543
+ isFinalInspectionRequired: boolean;
1544
+ isNhbcCert: boolean;
1545
+ isBuildZone: boolean;
1546
+ isPremier: boolean;
1547
+ isProfessionalConsultant: boolean;
1548
+ isOtherCert: boolean;
1549
+ otherCertDetails: string;
1550
+ isSelfBuildProject: boolean;
1551
+ isInvolvesPartExchange: boolean;
1552
+ isDisclosureOfIncentivesSeen: boolean;
1553
+ incentivesDetails: string;
1554
+ newBuildDeveloperName: string;
1555
+ }> & {
528
1556
  isNewBuildOrRecentlyConverted: boolean;
529
1557
  isCompleted: boolean;
530
1558
  isUnderConstruction: boolean;
@@ -540,8 +1568,28 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
540
1568
  isDisclosureOfIncentivesSeen: boolean;
541
1569
  incentivesDetails: string;
542
1570
  newBuildDeveloperName: string;
543
- } | null | undefined;
544
- construction?: {
1571
+ }>;
1572
+ construction: mongoose.Types.DocumentArray<{
1573
+ isStandardConstruction: boolean;
1574
+ nonStandardConstructionType: string;
1575
+ mainWalls: string;
1576
+ mainRoof: string;
1577
+ garageConstruction: string;
1578
+ outbuildingsConstruction: string;
1579
+ isHasAlterationsOrExtensions: boolean;
1580
+ isAlterationsRequireConsents: boolean;
1581
+ alterationsAge: number;
1582
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1583
+ isStandardConstruction: boolean;
1584
+ nonStandardConstructionType: string;
1585
+ mainWalls: string;
1586
+ mainRoof: string;
1587
+ garageConstruction: string;
1588
+ outbuildingsConstruction: string;
1589
+ isHasAlterationsOrExtensions: boolean;
1590
+ isAlterationsRequireConsents: boolean;
1591
+ alterationsAge: number;
1592
+ }> & {
545
1593
  isStandardConstruction: boolean;
546
1594
  nonStandardConstructionType: string;
547
1595
  mainWalls: string;
@@ -551,8 +1599,56 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
551
1599
  isHasAlterationsOrExtensions: boolean;
552
1600
  isAlterationsRequireConsents: boolean;
553
1601
  alterationsAge: number;
554
- } | null | undefined;
555
- localityAndDemand?: {
1602
+ }>;
1603
+ localityAndDemand: mongoose.Types.DocumentArray<{
1604
+ isUrban: boolean;
1605
+ isSuburban: boolean;
1606
+ isRural: boolean;
1607
+ isGoodMarketAppeal: boolean;
1608
+ isAverageMarketAppeal: boolean;
1609
+ isPoorMarketAppeal: boolean;
1610
+ isSimilarProperties: boolean;
1611
+ isBetterProperties: boolean;
1612
+ isWorseProperties: boolean;
1613
+ isPricesRising: boolean;
1614
+ isPricesStatic: boolean;
1615
+ isPricesFalling: boolean;
1616
+ isDemandRising: boolean;
1617
+ isDemandStatic: boolean;
1618
+ isDemandFalling: boolean;
1619
+ isAffectedByCompulsoryPurchase: boolean;
1620
+ compulsoryPurchaseDetails: string;
1621
+ isVacantOrBoardedPropertiesNearby: boolean;
1622
+ vacantOrBoardedDetails: string;
1623
+ isOccupancyRestrictionPossible: boolean;
1624
+ occupancyRestrictionDetails: string;
1625
+ isCloseToHighVoltageEquipment: boolean;
1626
+ highVoltageEquipmentDetails: string;
1627
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1628
+ isUrban: boolean;
1629
+ isSuburban: boolean;
1630
+ isRural: boolean;
1631
+ isGoodMarketAppeal: boolean;
1632
+ isAverageMarketAppeal: boolean;
1633
+ isPoorMarketAppeal: boolean;
1634
+ isSimilarProperties: boolean;
1635
+ isBetterProperties: boolean;
1636
+ isWorseProperties: boolean;
1637
+ isPricesRising: boolean;
1638
+ isPricesStatic: boolean;
1639
+ isPricesFalling: boolean;
1640
+ isDemandRising: boolean;
1641
+ isDemandStatic: boolean;
1642
+ isDemandFalling: boolean;
1643
+ isAffectedByCompulsoryPurchase: boolean;
1644
+ compulsoryPurchaseDetails: string;
1645
+ isVacantOrBoardedPropertiesNearby: boolean;
1646
+ vacantOrBoardedDetails: string;
1647
+ isOccupancyRestrictionPossible: boolean;
1648
+ occupancyRestrictionDetails: string;
1649
+ isCloseToHighVoltageEquipment: boolean;
1650
+ highVoltageEquipmentDetails: string;
1651
+ }> & {
556
1652
  isUrban: boolean;
557
1653
  isSuburban: boolean;
558
1654
  isRural: boolean;
@@ -576,8 +1672,42 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
576
1672
  occupancyRestrictionDetails: string;
577
1673
  isCloseToHighVoltageEquipment: boolean;
578
1674
  highVoltageEquipmentDetails: string;
579
- } | null | undefined;
580
- services?: {
1675
+ }>;
1676
+ services: mongoose.Types.DocumentArray<{
1677
+ isMainsWater: boolean;
1678
+ isPrivateWater: boolean;
1679
+ isUnknownWater: boolean;
1680
+ isGasSupply: boolean;
1681
+ isElectricitySupply: boolean;
1682
+ isCentralHeating: boolean;
1683
+ centralHeatingType: string;
1684
+ isMainDrainage: boolean;
1685
+ isSepticTankPlant: boolean;
1686
+ isSolarPanels: boolean;
1687
+ isSharedAccess: boolean;
1688
+ isRoadAdopted: boolean;
1689
+ isHasEasementsOrRightsOfWay: boolean;
1690
+ easementsOrRightsDetails: string;
1691
+ servicesSeparateForFlats: string;
1692
+ servicesSeparateDetails: string;
1693
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1694
+ isMainsWater: boolean;
1695
+ isPrivateWater: boolean;
1696
+ isUnknownWater: boolean;
1697
+ isGasSupply: boolean;
1698
+ isElectricitySupply: boolean;
1699
+ isCentralHeating: boolean;
1700
+ centralHeatingType: string;
1701
+ isMainDrainage: boolean;
1702
+ isSepticTankPlant: boolean;
1703
+ isSolarPanels: boolean;
1704
+ isSharedAccess: boolean;
1705
+ isRoadAdopted: boolean;
1706
+ isHasEasementsOrRightsOfWay: boolean;
1707
+ easementsOrRightsDetails: string;
1708
+ servicesSeparateForFlats: string;
1709
+ servicesSeparateDetails: string;
1710
+ }> & {
581
1711
  isMainsWater: boolean;
582
1712
  isPrivateWater: boolean;
583
1713
  isUnknownWater: boolean;
@@ -587,7 +1717,6 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
587
1717
  centralHeatingType: string;
588
1718
  isMainDrainage: boolean;
589
1719
  isSepticTankPlant: boolean;
590
- isUnknownDrainage: boolean;
591
1720
  isSolarPanels: boolean;
592
1721
  isSharedAccess: boolean;
593
1722
  isRoadAdopted: boolean;
@@ -595,28 +1724,130 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
595
1724
  easementsOrRightsDetails: string;
596
1725
  servicesSeparateForFlats: string;
597
1726
  servicesSeparateDetails: string;
598
- } | null | undefined;
599
- conditionsOfProperty?: {
1727
+ }>;
1728
+ conditionsOfProperty: mongoose.Types.DocumentArray<{
1729
+ isStructuralMovement: boolean;
1730
+ isStructuralMovementHistoricOrNonProgressive: boolean;
1731
+ structuralMovementDetails: string;
1732
+ isStructuralModifications: boolean;
1733
+ structuralModificationsDetails: string;
1734
+ communalAreasMaintained: string;
1735
+ propertyProneTo: mongoose.Types.DocumentArray<{
1736
+ flooding: boolean;
1737
+ subsidence: boolean;
1738
+ heave: boolean;
1739
+ landslip: boolean;
1740
+ details: string;
1741
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1742
+ flooding: boolean;
1743
+ subsidence: boolean;
1744
+ heave: boolean;
1745
+ landslip: boolean;
1746
+ details: string;
1747
+ }> & {
1748
+ flooding: boolean;
1749
+ subsidence: boolean;
1750
+ heave: boolean;
1751
+ landslip: boolean;
1752
+ details: string;
1753
+ }>;
1754
+ isPlotBoundariesDefinedUnderPointFourHectares: boolean;
1755
+ isTreesWithinInfluencingDistance: boolean;
1756
+ treesInfluenceDetails: string;
1757
+ isBuiltOnSteepSlope: boolean;
1758
+ steepSlopeDetails: string;
1759
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
600
1760
  isStructuralMovement: boolean;
601
1761
  isStructuralMovementHistoricOrNonProgressive: boolean;
602
1762
  structuralMovementDetails: string;
603
1763
  isStructuralModifications: boolean;
604
1764
  structuralModificationsDetails: string;
605
1765
  communalAreasMaintained: string;
1766
+ propertyProneTo: mongoose.Types.DocumentArray<{
1767
+ flooding: boolean;
1768
+ subsidence: boolean;
1769
+ heave: boolean;
1770
+ landslip: boolean;
1771
+ details: string;
1772
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1773
+ flooding: boolean;
1774
+ subsidence: boolean;
1775
+ heave: boolean;
1776
+ landslip: boolean;
1777
+ details: string;
1778
+ }> & {
1779
+ flooding: boolean;
1780
+ subsidence: boolean;
1781
+ heave: boolean;
1782
+ landslip: boolean;
1783
+ details: string;
1784
+ }>;
606
1785
  isPlotBoundariesDefinedUnderPointFourHectares: boolean;
607
1786
  isTreesWithinInfluencingDistance: boolean;
608
1787
  treesInfluenceDetails: string;
609
1788
  isBuiltOnSteepSlope: boolean;
610
1789
  steepSlopeDetails: string;
611
- propertyProneTo?: {
1790
+ }> & {
1791
+ isStructuralMovement: boolean;
1792
+ isStructuralMovementHistoricOrNonProgressive: boolean;
1793
+ structuralMovementDetails: string;
1794
+ isStructuralModifications: boolean;
1795
+ structuralModificationsDetails: string;
1796
+ communalAreasMaintained: string;
1797
+ propertyProneTo: mongoose.Types.DocumentArray<{
1798
+ flooding: boolean;
1799
+ subsidence: boolean;
1800
+ heave: boolean;
1801
+ landslip: boolean;
1802
+ details: string;
1803
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1804
+ flooding: boolean;
1805
+ subsidence: boolean;
1806
+ heave: boolean;
1807
+ landslip: boolean;
1808
+ details: string;
1809
+ }> & {
612
1810
  flooding: boolean;
613
1811
  subsidence: boolean;
614
1812
  heave: boolean;
615
1813
  landslip: boolean;
616
1814
  details: string;
617
- } | null | undefined;
618
- } | null | undefined;
619
- reports?: {
1815
+ }>;
1816
+ isPlotBoundariesDefinedUnderPointFourHectares: boolean;
1817
+ isTreesWithinInfluencingDistance: boolean;
1818
+ treesInfluenceDetails: string;
1819
+ isBuiltOnSteepSlope: boolean;
1820
+ steepSlopeDetails: string;
1821
+ }>;
1822
+ reports: mongoose.Types.DocumentArray<{
1823
+ isTimberDamp: boolean;
1824
+ isMining: boolean;
1825
+ isElectrical: boolean;
1826
+ isDrains: boolean;
1827
+ isStructuralEngineers: boolean;
1828
+ isArboricultural: boolean;
1829
+ isMundic: boolean;
1830
+ isWallTies: boolean;
1831
+ isRoof: boolean;
1832
+ isMetalliferous: boolean;
1833
+ isSulfateRedAsh: boolean;
1834
+ isOtherReport: boolean;
1835
+ otherReportDetails: string;
1836
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1837
+ isTimberDamp: boolean;
1838
+ isMining: boolean;
1839
+ isElectrical: boolean;
1840
+ isDrains: boolean;
1841
+ isStructuralEngineers: boolean;
1842
+ isArboricultural: boolean;
1843
+ isMundic: boolean;
1844
+ isWallTies: boolean;
1845
+ isRoof: boolean;
1846
+ isMetalliferous: boolean;
1847
+ isSulfateRedAsh: boolean;
1848
+ isOtherReport: boolean;
1849
+ otherReportDetails: string;
1850
+ }> & {
620
1851
  isTimberDamp: boolean;
621
1852
  isMining: boolean;
622
1853
  isElectrical: boolean;
@@ -630,17 +1861,49 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
630
1861
  isSulfateRedAsh: boolean;
631
1862
  isOtherReport: boolean;
632
1863
  otherReportDetails: string;
633
- } | null | undefined;
634
- energyEfficiency?: {
1864
+ }>;
1865
+ energyEfficiency: mongoose.Types.DocumentArray<{
1866
+ epcRating: string;
1867
+ epcScore: number;
1868
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
635
1869
  epcRating: string;
636
1870
  epcScore: number;
637
- } | null | undefined;
638
- essentialRepairs?: {
1871
+ }> & {
1872
+ epcRating: string;
1873
+ epcScore: number;
1874
+ }>;
1875
+ essentialRepairs: mongoose.Types.DocumentArray<{
1876
+ isEssentialRepairsRequired: boolean;
1877
+ essentialRepairsDetails: string;
1878
+ isReinspectionRequired: boolean;
1879
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1880
+ isEssentialRepairsRequired: boolean;
1881
+ essentialRepairsDetails: string;
1882
+ isReinspectionRequired: boolean;
1883
+ }> & {
639
1884
  isEssentialRepairsRequired: boolean;
640
1885
  essentialRepairsDetails: string;
641
1886
  isReinspectionRequired: boolean;
642
- } | null | undefined;
643
- rentalInformation?: {
1887
+ }>;
1888
+ rentalInformation: mongoose.Types.DocumentArray<{
1889
+ isRentalDemandInLocality: boolean;
1890
+ rentalDemandDetails: string;
1891
+ monthlyMarketRentPresentCondition: number;
1892
+ monthlyMarketRentImprovedCondition: number;
1893
+ isOtherLettingDemandFactors: boolean;
1894
+ otherLettingDemandDetails: string;
1895
+ investorOnlyDemand: boolean;
1896
+ investorOnlyDemandDetails: string;
1897
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1898
+ isRentalDemandInLocality: boolean;
1899
+ rentalDemandDetails: string;
1900
+ monthlyMarketRentPresentCondition: number;
1901
+ monthlyMarketRentImprovedCondition: number;
1902
+ isOtherLettingDemandFactors: boolean;
1903
+ otherLettingDemandDetails: string;
1904
+ investorOnlyDemand: boolean;
1905
+ investorOnlyDemandDetails: string;
1906
+ }> & {
644
1907
  isRentalDemandInLocality: boolean;
645
1908
  rentalDemandDetails: string;
646
1909
  monthlyMarketRentPresentCondition: number;
@@ -649,8 +1912,28 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
649
1912
  otherLettingDemandDetails: string;
650
1913
  investorOnlyDemand: boolean;
651
1914
  investorOnlyDemandDetails: string;
652
- } | null | undefined;
653
- valuationForFinancePurpose?: {
1915
+ }>;
1916
+ valuationForFinancePurpose: mongoose.Types.DocumentArray<{
1917
+ valuationComparativeOnly: string;
1918
+ isSuitableForFinance: boolean;
1919
+ financeSuitabilityDetails: string;
1920
+ marketValuePresentCondition: number;
1921
+ marketValueAfterRepairs: number;
1922
+ purchasePriceOrBorrowerEstimate: number;
1923
+ buildingInsuranceReinstatementCost: number;
1924
+ isInsurancePremiumLoadingRisk: boolean;
1925
+ insurancePremiumLoadingDetails: string;
1926
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1927
+ valuationComparativeOnly: string;
1928
+ isSuitableForFinance: boolean;
1929
+ financeSuitabilityDetails: string;
1930
+ marketValuePresentCondition: number;
1931
+ marketValueAfterRepairs: number;
1932
+ purchasePriceOrBorrowerEstimate: number;
1933
+ buildingInsuranceReinstatementCost: number;
1934
+ isInsurancePremiumLoadingRisk: boolean;
1935
+ insurancePremiumLoadingDetails: string;
1936
+ }> & {
654
1937
  valuationComparativeOnly: string;
655
1938
  isSuitableForFinance: boolean;
656
1939
  financeSuitabilityDetails: string;
@@ -660,24 +1943,82 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
660
1943
  buildingInsuranceReinstatementCost: number;
661
1944
  isInsurancePremiumLoadingRisk: boolean;
662
1945
  insurancePremiumLoadingDetails: string;
663
- } | null | undefined;
664
- valuersDeclaration?: {
1946
+ }>;
1947
+ generalRemarks: string;
1948
+ valuersDeclaration: mongoose.Types.DocumentArray<{
1949
+ valuerSignature: number;
1950
+ valuerName: string;
1951
+ onBehalfOf: string;
1952
+ telephone: number;
1953
+ fax: number;
1954
+ email: string;
1955
+ valuerQualifications: mongoose.Types.DocumentArray<{
1956
+ mrics: boolean;
1957
+ frics: boolean;
1958
+ assocRics: boolean;
1959
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1960
+ mrics: boolean;
1961
+ frics: boolean;
1962
+ assocRics: boolean;
1963
+ }> & {
1964
+ mrics: boolean;
1965
+ frics: boolean;
1966
+ assocRics: boolean;
1967
+ }>;
1968
+ ricsNumber: number;
1969
+ valuerAddress: string;
1970
+ valuerPostcode: string;
1971
+ reportDate: number;
1972
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
665
1973
  valuerSignature: number;
666
1974
  valuerName: string;
667
1975
  onBehalfOf: string;
668
1976
  telephone: number;
669
1977
  fax: number;
670
1978
  email: string;
1979
+ valuerQualifications: mongoose.Types.DocumentArray<{
1980
+ mrics: boolean;
1981
+ frics: boolean;
1982
+ assocRics: boolean;
1983
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1984
+ mrics: boolean;
1985
+ frics: boolean;
1986
+ assocRics: boolean;
1987
+ }> & {
1988
+ mrics: boolean;
1989
+ frics: boolean;
1990
+ assocRics: boolean;
1991
+ }>;
671
1992
  ricsNumber: number;
672
1993
  valuerAddress: string;
673
1994
  valuerPostcode: string;
674
1995
  reportDate: number;
675
- valuerQualifications?: {
1996
+ }> & {
1997
+ valuerSignature: number;
1998
+ valuerName: string;
1999
+ onBehalfOf: string;
2000
+ telephone: number;
2001
+ fax: number;
2002
+ email: string;
2003
+ valuerQualifications: mongoose.Types.DocumentArray<{
2004
+ mrics: boolean;
2005
+ frics: boolean;
2006
+ assocRics: boolean;
2007
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
676
2008
  mrics: boolean;
677
2009
  frics: boolean;
678
2010
  assocRics: boolean;
679
- } | null | undefined;
680
- } | null | undefined;
2011
+ }> & {
2012
+ mrics: boolean;
2013
+ frics: boolean;
2014
+ assocRics: boolean;
2015
+ }>;
2016
+ ricsNumber: number;
2017
+ valuerAddress: string;
2018
+ valuerPostcode: string;
2019
+ reportDate: number;
2020
+ }>;
2021
+ extractedText: string;
681
2022
  } & {
682
2023
  _id: mongoose.Types.ObjectId;
683
2024
  } & {
@@ -688,9 +2029,63 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
688
2029
  applicationNumber: string;
689
2030
  propertyAddress: string;
690
2031
  postCode: string;
691
- generalRemarks: string;
692
- extractedText: string;
693
- propertyType?: {
2032
+ propertyType: mongoose.Types.DocumentArray<{
2033
+ isDetachedHouse: boolean;
2034
+ isSemiDetachedHouse: boolean;
2035
+ isTerracedHouse: boolean;
2036
+ isBungalow: boolean;
2037
+ isFlat: boolean;
2038
+ isMaisonette: boolean;
2039
+ flatMaisonetteFloor: number;
2040
+ numberOfFloorsInBlock: number;
2041
+ isBuiltOrOwnedByLocalAuthority: boolean;
2042
+ ownerOccupationPercentage: number;
2043
+ isFlatMaisonetteConverted: boolean;
2044
+ conversionYear: number;
2045
+ isPurposeBuilt: boolean;
2046
+ numberOfUnitsInBlock: number;
2047
+ isAboveCommercial: boolean;
2048
+ residentialNatureImpact: string;
2049
+ tenure: string;
2050
+ isFlyingFreehold: boolean;
2051
+ flyingFreeholdPercentage: number;
2052
+ maintenanceCharge: number;
2053
+ roadCharges: number;
2054
+ groundRent: number;
2055
+ remainingLeaseTermYears: number;
2056
+ isPartCommercialUse: boolean;
2057
+ commercialUsePercentage: number;
2058
+ isPurchasedUnderSharedOwnership: boolean;
2059
+ yearBuilt: number;
2060
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2061
+ isDetachedHouse: boolean;
2062
+ isSemiDetachedHouse: boolean;
2063
+ isTerracedHouse: boolean;
2064
+ isBungalow: boolean;
2065
+ isFlat: boolean;
2066
+ isMaisonette: boolean;
2067
+ flatMaisonetteFloor: number;
2068
+ numberOfFloorsInBlock: number;
2069
+ isBuiltOrOwnedByLocalAuthority: boolean;
2070
+ ownerOccupationPercentage: number;
2071
+ isFlatMaisonetteConverted: boolean;
2072
+ conversionYear: number;
2073
+ isPurposeBuilt: boolean;
2074
+ numberOfUnitsInBlock: number;
2075
+ isAboveCommercial: boolean;
2076
+ residentialNatureImpact: string;
2077
+ tenure: string;
2078
+ isFlyingFreehold: boolean;
2079
+ flyingFreeholdPercentage: number;
2080
+ maintenanceCharge: number;
2081
+ roadCharges: number;
2082
+ groundRent: number;
2083
+ remainingLeaseTermYears: number;
2084
+ isPartCommercialUse: boolean;
2085
+ commercialUsePercentage: number;
2086
+ isPurchasedUnderSharedOwnership: boolean;
2087
+ yearBuilt: number;
2088
+ }> & {
694
2089
  isDetachedHouse: boolean;
695
2090
  isSemiDetachedHouse: boolean;
696
2091
  isTerracedHouse: boolean;
@@ -718,8 +2113,44 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
718
2113
  commercialUsePercentage: number;
719
2114
  isPurchasedUnderSharedOwnership: boolean;
720
2115
  yearBuilt: number;
721
- } | null | undefined;
722
- accommodation?: {
2116
+ }>;
2117
+ accommodation: mongoose.Types.DocumentArray<{
2118
+ hall: number;
2119
+ livingRooms: number;
2120
+ kitchen: number;
2121
+ isLiftPresent: boolean;
2122
+ utility: number;
2123
+ bedrooms: number;
2124
+ bathrooms: number;
2125
+ separateWc: number;
2126
+ basement: number;
2127
+ garage: number;
2128
+ parking: number;
2129
+ gardens: boolean;
2130
+ isPrivate: boolean;
2131
+ isCommunal: boolean;
2132
+ numberOfOutbuildings: number;
2133
+ outbuildingDetails: string;
2134
+ grossFloorAreaOfDwelling: number;
2135
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2136
+ hall: number;
2137
+ livingRooms: number;
2138
+ kitchen: number;
2139
+ isLiftPresent: boolean;
2140
+ utility: number;
2141
+ bedrooms: number;
2142
+ bathrooms: number;
2143
+ separateWc: number;
2144
+ basement: number;
2145
+ garage: number;
2146
+ parking: number;
2147
+ gardens: boolean;
2148
+ isPrivate: boolean;
2149
+ isCommunal: boolean;
2150
+ numberOfOutbuildings: number;
2151
+ outbuildingDetails: string;
2152
+ grossFloorAreaOfDwelling: number;
2153
+ }> & {
723
2154
  hall: number;
724
2155
  livingRooms: number;
725
2156
  kitchen: number;
@@ -737,15 +2168,59 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
737
2168
  numberOfOutbuildings: number;
738
2169
  outbuildingDetails: string;
739
2170
  grossFloorAreaOfDwelling: number;
740
- } | null | undefined;
741
- currentOccupency?: {
2171
+ }>;
2172
+ currentOccupency: mongoose.Types.DocumentArray<{
2173
+ isEverOccupied: boolean;
2174
+ numberOfAdultsInProperty: number;
2175
+ isHmoOrMultiUnitFreeholdBlock: boolean;
2176
+ isCurrentlyTenanted: boolean;
2177
+ hmoOrMultiUnitDetails: string;
2178
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2179
+ isEverOccupied: boolean;
2180
+ numberOfAdultsInProperty: number;
2181
+ isHmoOrMultiUnitFreeholdBlock: boolean;
2182
+ isCurrentlyTenanted: boolean;
2183
+ hmoOrMultiUnitDetails: string;
2184
+ }> & {
742
2185
  isEverOccupied: boolean;
743
2186
  numberOfAdultsInProperty: number;
744
2187
  isHmoOrMultiUnitFreeholdBlock: boolean;
745
2188
  isCurrentlyTenanted: boolean;
746
2189
  hmoOrMultiUnitDetails: string;
747
- } | null | undefined;
748
- newBuild?: {
2190
+ }>;
2191
+ newBuild: mongoose.Types.DocumentArray<{
2192
+ isNewBuildOrRecentlyConverted: boolean;
2193
+ isCompleted: boolean;
2194
+ isUnderConstruction: boolean;
2195
+ isFinalInspectionRequired: boolean;
2196
+ isNhbcCert: boolean;
2197
+ isBuildZone: boolean;
2198
+ isPremier: boolean;
2199
+ isProfessionalConsultant: boolean;
2200
+ isOtherCert: boolean;
2201
+ otherCertDetails: string;
2202
+ isSelfBuildProject: boolean;
2203
+ isInvolvesPartExchange: boolean;
2204
+ isDisclosureOfIncentivesSeen: boolean;
2205
+ incentivesDetails: string;
2206
+ newBuildDeveloperName: string;
2207
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2208
+ isNewBuildOrRecentlyConverted: boolean;
2209
+ isCompleted: boolean;
2210
+ isUnderConstruction: boolean;
2211
+ isFinalInspectionRequired: boolean;
2212
+ isNhbcCert: boolean;
2213
+ isBuildZone: boolean;
2214
+ isPremier: boolean;
2215
+ isProfessionalConsultant: boolean;
2216
+ isOtherCert: boolean;
2217
+ otherCertDetails: string;
2218
+ isSelfBuildProject: boolean;
2219
+ isInvolvesPartExchange: boolean;
2220
+ isDisclosureOfIncentivesSeen: boolean;
2221
+ incentivesDetails: string;
2222
+ newBuildDeveloperName: string;
2223
+ }> & {
749
2224
  isNewBuildOrRecentlyConverted: boolean;
750
2225
  isCompleted: boolean;
751
2226
  isUnderConstruction: boolean;
@@ -761,8 +2236,28 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
761
2236
  isDisclosureOfIncentivesSeen: boolean;
762
2237
  incentivesDetails: string;
763
2238
  newBuildDeveloperName: string;
764
- } | null | undefined;
765
- construction?: {
2239
+ }>;
2240
+ construction: mongoose.Types.DocumentArray<{
2241
+ isStandardConstruction: boolean;
2242
+ nonStandardConstructionType: string;
2243
+ mainWalls: string;
2244
+ mainRoof: string;
2245
+ garageConstruction: string;
2246
+ outbuildingsConstruction: string;
2247
+ isHasAlterationsOrExtensions: boolean;
2248
+ isAlterationsRequireConsents: boolean;
2249
+ alterationsAge: number;
2250
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2251
+ isStandardConstruction: boolean;
2252
+ nonStandardConstructionType: string;
2253
+ mainWalls: string;
2254
+ mainRoof: string;
2255
+ garageConstruction: string;
2256
+ outbuildingsConstruction: string;
2257
+ isHasAlterationsOrExtensions: boolean;
2258
+ isAlterationsRequireConsents: boolean;
2259
+ alterationsAge: number;
2260
+ }> & {
766
2261
  isStandardConstruction: boolean;
767
2262
  nonStandardConstructionType: string;
768
2263
  mainWalls: string;
@@ -772,8 +2267,56 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
772
2267
  isHasAlterationsOrExtensions: boolean;
773
2268
  isAlterationsRequireConsents: boolean;
774
2269
  alterationsAge: number;
775
- } | null | undefined;
776
- localityAndDemand?: {
2270
+ }>;
2271
+ localityAndDemand: mongoose.Types.DocumentArray<{
2272
+ isUrban: boolean;
2273
+ isSuburban: boolean;
2274
+ isRural: boolean;
2275
+ isGoodMarketAppeal: boolean;
2276
+ isAverageMarketAppeal: boolean;
2277
+ isPoorMarketAppeal: boolean;
2278
+ isSimilarProperties: boolean;
2279
+ isBetterProperties: boolean;
2280
+ isWorseProperties: boolean;
2281
+ isPricesRising: boolean;
2282
+ isPricesStatic: boolean;
2283
+ isPricesFalling: boolean;
2284
+ isDemandRising: boolean;
2285
+ isDemandStatic: boolean;
2286
+ isDemandFalling: boolean;
2287
+ isAffectedByCompulsoryPurchase: boolean;
2288
+ compulsoryPurchaseDetails: string;
2289
+ isVacantOrBoardedPropertiesNearby: boolean;
2290
+ vacantOrBoardedDetails: string;
2291
+ isOccupancyRestrictionPossible: boolean;
2292
+ occupancyRestrictionDetails: string;
2293
+ isCloseToHighVoltageEquipment: boolean;
2294
+ highVoltageEquipmentDetails: string;
2295
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2296
+ isUrban: boolean;
2297
+ isSuburban: boolean;
2298
+ isRural: boolean;
2299
+ isGoodMarketAppeal: boolean;
2300
+ isAverageMarketAppeal: boolean;
2301
+ isPoorMarketAppeal: boolean;
2302
+ isSimilarProperties: boolean;
2303
+ isBetterProperties: boolean;
2304
+ isWorseProperties: boolean;
2305
+ isPricesRising: boolean;
2306
+ isPricesStatic: boolean;
2307
+ isPricesFalling: boolean;
2308
+ isDemandRising: boolean;
2309
+ isDemandStatic: boolean;
2310
+ isDemandFalling: boolean;
2311
+ isAffectedByCompulsoryPurchase: boolean;
2312
+ compulsoryPurchaseDetails: string;
2313
+ isVacantOrBoardedPropertiesNearby: boolean;
2314
+ vacantOrBoardedDetails: string;
2315
+ isOccupancyRestrictionPossible: boolean;
2316
+ occupancyRestrictionDetails: string;
2317
+ isCloseToHighVoltageEquipment: boolean;
2318
+ highVoltageEquipmentDetails: string;
2319
+ }> & {
777
2320
  isUrban: boolean;
778
2321
  isSuburban: boolean;
779
2322
  isRural: boolean;
@@ -797,8 +2340,42 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
797
2340
  occupancyRestrictionDetails: string;
798
2341
  isCloseToHighVoltageEquipment: boolean;
799
2342
  highVoltageEquipmentDetails: string;
800
- } | null | undefined;
801
- services?: {
2343
+ }>;
2344
+ services: mongoose.Types.DocumentArray<{
2345
+ isMainsWater: boolean;
2346
+ isPrivateWater: boolean;
2347
+ isUnknownWater: boolean;
2348
+ isGasSupply: boolean;
2349
+ isElectricitySupply: boolean;
2350
+ isCentralHeating: boolean;
2351
+ centralHeatingType: string;
2352
+ isMainDrainage: boolean;
2353
+ isSepticTankPlant: boolean;
2354
+ isSolarPanels: boolean;
2355
+ isSharedAccess: boolean;
2356
+ isRoadAdopted: boolean;
2357
+ isHasEasementsOrRightsOfWay: boolean;
2358
+ easementsOrRightsDetails: string;
2359
+ servicesSeparateForFlats: string;
2360
+ servicesSeparateDetails: string;
2361
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2362
+ isMainsWater: boolean;
2363
+ isPrivateWater: boolean;
2364
+ isUnknownWater: boolean;
2365
+ isGasSupply: boolean;
2366
+ isElectricitySupply: boolean;
2367
+ isCentralHeating: boolean;
2368
+ centralHeatingType: string;
2369
+ isMainDrainage: boolean;
2370
+ isSepticTankPlant: boolean;
2371
+ isSolarPanels: boolean;
2372
+ isSharedAccess: boolean;
2373
+ isRoadAdopted: boolean;
2374
+ isHasEasementsOrRightsOfWay: boolean;
2375
+ easementsOrRightsDetails: string;
2376
+ servicesSeparateForFlats: string;
2377
+ servicesSeparateDetails: string;
2378
+ }> & {
802
2379
  isMainsWater: boolean;
803
2380
  isPrivateWater: boolean;
804
2381
  isUnknownWater: boolean;
@@ -808,7 +2385,6 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
808
2385
  centralHeatingType: string;
809
2386
  isMainDrainage: boolean;
810
2387
  isSepticTankPlant: boolean;
811
- isUnknownDrainage: boolean;
812
2388
  isSolarPanels: boolean;
813
2389
  isSharedAccess: boolean;
814
2390
  isRoadAdopted: boolean;
@@ -816,28 +2392,130 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
816
2392
  easementsOrRightsDetails: string;
817
2393
  servicesSeparateForFlats: string;
818
2394
  servicesSeparateDetails: string;
819
- } | null | undefined;
820
- conditionsOfProperty?: {
2395
+ }>;
2396
+ conditionsOfProperty: mongoose.Types.DocumentArray<{
2397
+ isStructuralMovement: boolean;
2398
+ isStructuralMovementHistoricOrNonProgressive: boolean;
2399
+ structuralMovementDetails: string;
2400
+ isStructuralModifications: boolean;
2401
+ structuralModificationsDetails: string;
2402
+ communalAreasMaintained: string;
2403
+ propertyProneTo: mongoose.Types.DocumentArray<{
2404
+ flooding: boolean;
2405
+ subsidence: boolean;
2406
+ heave: boolean;
2407
+ landslip: boolean;
2408
+ details: string;
2409
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2410
+ flooding: boolean;
2411
+ subsidence: boolean;
2412
+ heave: boolean;
2413
+ landslip: boolean;
2414
+ details: string;
2415
+ }> & {
2416
+ flooding: boolean;
2417
+ subsidence: boolean;
2418
+ heave: boolean;
2419
+ landslip: boolean;
2420
+ details: string;
2421
+ }>;
2422
+ isPlotBoundariesDefinedUnderPointFourHectares: boolean;
2423
+ isTreesWithinInfluencingDistance: boolean;
2424
+ treesInfluenceDetails: string;
2425
+ isBuiltOnSteepSlope: boolean;
2426
+ steepSlopeDetails: string;
2427
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
821
2428
  isStructuralMovement: boolean;
822
2429
  isStructuralMovementHistoricOrNonProgressive: boolean;
823
2430
  structuralMovementDetails: string;
824
2431
  isStructuralModifications: boolean;
825
2432
  structuralModificationsDetails: string;
826
2433
  communalAreasMaintained: string;
2434
+ propertyProneTo: mongoose.Types.DocumentArray<{
2435
+ flooding: boolean;
2436
+ subsidence: boolean;
2437
+ heave: boolean;
2438
+ landslip: boolean;
2439
+ details: string;
2440
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2441
+ flooding: boolean;
2442
+ subsidence: boolean;
2443
+ heave: boolean;
2444
+ landslip: boolean;
2445
+ details: string;
2446
+ }> & {
2447
+ flooding: boolean;
2448
+ subsidence: boolean;
2449
+ heave: boolean;
2450
+ landslip: boolean;
2451
+ details: string;
2452
+ }>;
827
2453
  isPlotBoundariesDefinedUnderPointFourHectares: boolean;
828
2454
  isTreesWithinInfluencingDistance: boolean;
829
2455
  treesInfluenceDetails: string;
830
2456
  isBuiltOnSteepSlope: boolean;
831
2457
  steepSlopeDetails: string;
832
- propertyProneTo?: {
2458
+ }> & {
2459
+ isStructuralMovement: boolean;
2460
+ isStructuralMovementHistoricOrNonProgressive: boolean;
2461
+ structuralMovementDetails: string;
2462
+ isStructuralModifications: boolean;
2463
+ structuralModificationsDetails: string;
2464
+ communalAreasMaintained: string;
2465
+ propertyProneTo: mongoose.Types.DocumentArray<{
2466
+ flooding: boolean;
2467
+ subsidence: boolean;
2468
+ heave: boolean;
2469
+ landslip: boolean;
2470
+ details: string;
2471
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2472
+ flooding: boolean;
2473
+ subsidence: boolean;
2474
+ heave: boolean;
2475
+ landslip: boolean;
2476
+ details: string;
2477
+ }> & {
833
2478
  flooding: boolean;
834
2479
  subsidence: boolean;
835
2480
  heave: boolean;
836
2481
  landslip: boolean;
837
2482
  details: string;
838
- } | null | undefined;
839
- } | null | undefined;
840
- reports?: {
2483
+ }>;
2484
+ isPlotBoundariesDefinedUnderPointFourHectares: boolean;
2485
+ isTreesWithinInfluencingDistance: boolean;
2486
+ treesInfluenceDetails: string;
2487
+ isBuiltOnSteepSlope: boolean;
2488
+ steepSlopeDetails: string;
2489
+ }>;
2490
+ reports: mongoose.Types.DocumentArray<{
2491
+ isTimberDamp: boolean;
2492
+ isMining: boolean;
2493
+ isElectrical: boolean;
2494
+ isDrains: boolean;
2495
+ isStructuralEngineers: boolean;
2496
+ isArboricultural: boolean;
2497
+ isMundic: boolean;
2498
+ isWallTies: boolean;
2499
+ isRoof: boolean;
2500
+ isMetalliferous: boolean;
2501
+ isSulfateRedAsh: boolean;
2502
+ isOtherReport: boolean;
2503
+ otherReportDetails: string;
2504
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2505
+ isTimberDamp: boolean;
2506
+ isMining: boolean;
2507
+ isElectrical: boolean;
2508
+ isDrains: boolean;
2509
+ isStructuralEngineers: boolean;
2510
+ isArboricultural: boolean;
2511
+ isMundic: boolean;
2512
+ isWallTies: boolean;
2513
+ isRoof: boolean;
2514
+ isMetalliferous: boolean;
2515
+ isSulfateRedAsh: boolean;
2516
+ isOtherReport: boolean;
2517
+ otherReportDetails: string;
2518
+ }> & {
841
2519
  isTimberDamp: boolean;
842
2520
  isMining: boolean;
843
2521
  isElectrical: boolean;
@@ -851,17 +2529,40 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
851
2529
  isSulfateRedAsh: boolean;
852
2530
  isOtherReport: boolean;
853
2531
  otherReportDetails: string;
854
- } | null | undefined;
855
- energyEfficiency?: {
2532
+ }>;
2533
+ energyEfficiency: mongoose.Types.DocumentArray<{
2534
+ epcRating: string;
2535
+ epcScore: number;
2536
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
856
2537
  epcRating: string;
857
2538
  epcScore: number;
858
- } | null | undefined;
859
- essentialRepairs?: {
2539
+ }> & {
2540
+ epcRating: string;
2541
+ epcScore: number;
2542
+ }>;
2543
+ essentialRepairs: mongoose.Types.DocumentArray<{
2544
+ isEssentialRepairsRequired: boolean;
2545
+ essentialRepairsDetails: string;
2546
+ isReinspectionRequired: boolean;
2547
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2548
+ isEssentialRepairsRequired: boolean;
2549
+ essentialRepairsDetails: string;
2550
+ isReinspectionRequired: boolean;
2551
+ }> & {
860
2552
  isEssentialRepairsRequired: boolean;
861
2553
  essentialRepairsDetails: string;
862
2554
  isReinspectionRequired: boolean;
863
- } | null | undefined;
864
- rentalInformation?: {
2555
+ }>;
2556
+ rentalInformation: mongoose.Types.DocumentArray<{
2557
+ isRentalDemandInLocality: boolean;
2558
+ rentalDemandDetails: string;
2559
+ monthlyMarketRentPresentCondition: number;
2560
+ monthlyMarketRentImprovedCondition: number;
2561
+ isOtherLettingDemandFactors: boolean;
2562
+ otherLettingDemandDetails: string;
2563
+ investorOnlyDemand: boolean;
2564
+ investorOnlyDemandDetails: string;
2565
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
865
2566
  isRentalDemandInLocality: boolean;
866
2567
  rentalDemandDetails: string;
867
2568
  monthlyMarketRentPresentCondition: number;
@@ -870,8 +2571,37 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
870
2571
  otherLettingDemandDetails: string;
871
2572
  investorOnlyDemand: boolean;
872
2573
  investorOnlyDemandDetails: string;
873
- } | null | undefined;
874
- valuationForFinancePurpose?: {
2574
+ }> & {
2575
+ isRentalDemandInLocality: boolean;
2576
+ rentalDemandDetails: string;
2577
+ monthlyMarketRentPresentCondition: number;
2578
+ monthlyMarketRentImprovedCondition: number;
2579
+ isOtherLettingDemandFactors: boolean;
2580
+ otherLettingDemandDetails: string;
2581
+ investorOnlyDemand: boolean;
2582
+ investorOnlyDemandDetails: string;
2583
+ }>;
2584
+ valuationForFinancePurpose: mongoose.Types.DocumentArray<{
2585
+ valuationComparativeOnly: string;
2586
+ isSuitableForFinance: boolean;
2587
+ financeSuitabilityDetails: string;
2588
+ marketValuePresentCondition: number;
2589
+ marketValueAfterRepairs: number;
2590
+ purchasePriceOrBorrowerEstimate: number;
2591
+ buildingInsuranceReinstatementCost: number;
2592
+ isInsurancePremiumLoadingRisk: boolean;
2593
+ insurancePremiumLoadingDetails: string;
2594
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2595
+ valuationComparativeOnly: string;
2596
+ isSuitableForFinance: boolean;
2597
+ financeSuitabilityDetails: string;
2598
+ marketValuePresentCondition: number;
2599
+ marketValueAfterRepairs: number;
2600
+ purchasePriceOrBorrowerEstimate: number;
2601
+ buildingInsuranceReinstatementCost: number;
2602
+ isInsurancePremiumLoadingRisk: boolean;
2603
+ insurancePremiumLoadingDetails: string;
2604
+ }> & {
875
2605
  valuationComparativeOnly: string;
876
2606
  isSuitableForFinance: boolean;
877
2607
  financeSuitabilityDetails: string;
@@ -881,33 +2611,145 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
881
2611
  buildingInsuranceReinstatementCost: number;
882
2612
  isInsurancePremiumLoadingRisk: boolean;
883
2613
  insurancePremiumLoadingDetails: string;
884
- } | null | undefined;
885
- valuersDeclaration?: {
2614
+ }>;
2615
+ generalRemarks: string;
2616
+ valuersDeclaration: mongoose.Types.DocumentArray<{
2617
+ valuerSignature: number;
2618
+ valuerName: string;
2619
+ onBehalfOf: string;
2620
+ telephone: number;
2621
+ fax: number;
2622
+ email: string;
2623
+ valuerQualifications: mongoose.Types.DocumentArray<{
2624
+ mrics: boolean;
2625
+ frics: boolean;
2626
+ assocRics: boolean;
2627
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2628
+ mrics: boolean;
2629
+ frics: boolean;
2630
+ assocRics: boolean;
2631
+ }> & {
2632
+ mrics: boolean;
2633
+ frics: boolean;
2634
+ assocRics: boolean;
2635
+ }>;
2636
+ ricsNumber: number;
2637
+ valuerAddress: string;
2638
+ valuerPostcode: string;
2639
+ reportDate: number;
2640
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
886
2641
  valuerSignature: number;
887
2642
  valuerName: string;
888
2643
  onBehalfOf: string;
889
2644
  telephone: number;
890
2645
  fax: number;
891
2646
  email: string;
2647
+ valuerQualifications: mongoose.Types.DocumentArray<{
2648
+ mrics: boolean;
2649
+ frics: boolean;
2650
+ assocRics: boolean;
2651
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2652
+ mrics: boolean;
2653
+ frics: boolean;
2654
+ assocRics: boolean;
2655
+ }> & {
2656
+ mrics: boolean;
2657
+ frics: boolean;
2658
+ assocRics: boolean;
2659
+ }>;
892
2660
  ricsNumber: number;
893
2661
  valuerAddress: string;
894
2662
  valuerPostcode: string;
895
2663
  reportDate: number;
896
- valuerQualifications?: {
2664
+ }> & {
2665
+ valuerSignature: number;
2666
+ valuerName: string;
2667
+ onBehalfOf: string;
2668
+ telephone: number;
2669
+ fax: number;
2670
+ email: string;
2671
+ valuerQualifications: mongoose.Types.DocumentArray<{
2672
+ mrics: boolean;
2673
+ frics: boolean;
2674
+ assocRics: boolean;
2675
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
897
2676
  mrics: boolean;
898
2677
  frics: boolean;
899
2678
  assocRics: boolean;
900
- } | null | undefined;
901
- } | null | undefined;
2679
+ }> & {
2680
+ mrics: boolean;
2681
+ frics: boolean;
2682
+ assocRics: boolean;
2683
+ }>;
2684
+ ricsNumber: number;
2685
+ valuerAddress: string;
2686
+ valuerPostcode: string;
2687
+ reportDate: number;
2688
+ }>;
2689
+ extractedText: string;
902
2690
  }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
903
2691
  applicationId: mongoose.Types.ObjectId;
904
2692
  applicantName: string;
905
2693
  applicationNumber: string;
906
2694
  propertyAddress: string;
907
2695
  postCode: string;
908
- generalRemarks: string;
909
- extractedText: string;
910
- propertyType?: {
2696
+ propertyType: mongoose.Types.DocumentArray<{
2697
+ isDetachedHouse: boolean;
2698
+ isSemiDetachedHouse: boolean;
2699
+ isTerracedHouse: boolean;
2700
+ isBungalow: boolean;
2701
+ isFlat: boolean;
2702
+ isMaisonette: boolean;
2703
+ flatMaisonetteFloor: number;
2704
+ numberOfFloorsInBlock: number;
2705
+ isBuiltOrOwnedByLocalAuthority: boolean;
2706
+ ownerOccupationPercentage: number;
2707
+ isFlatMaisonetteConverted: boolean;
2708
+ conversionYear: number;
2709
+ isPurposeBuilt: boolean;
2710
+ numberOfUnitsInBlock: number;
2711
+ isAboveCommercial: boolean;
2712
+ residentialNatureImpact: string;
2713
+ tenure: string;
2714
+ isFlyingFreehold: boolean;
2715
+ flyingFreeholdPercentage: number;
2716
+ maintenanceCharge: number;
2717
+ roadCharges: number;
2718
+ groundRent: number;
2719
+ remainingLeaseTermYears: number;
2720
+ isPartCommercialUse: boolean;
2721
+ commercialUsePercentage: number;
2722
+ isPurchasedUnderSharedOwnership: boolean;
2723
+ yearBuilt: number;
2724
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2725
+ isDetachedHouse: boolean;
2726
+ isSemiDetachedHouse: boolean;
2727
+ isTerracedHouse: boolean;
2728
+ isBungalow: boolean;
2729
+ isFlat: boolean;
2730
+ isMaisonette: boolean;
2731
+ flatMaisonetteFloor: number;
2732
+ numberOfFloorsInBlock: number;
2733
+ isBuiltOrOwnedByLocalAuthority: boolean;
2734
+ ownerOccupationPercentage: number;
2735
+ isFlatMaisonetteConverted: boolean;
2736
+ conversionYear: number;
2737
+ isPurposeBuilt: boolean;
2738
+ numberOfUnitsInBlock: number;
2739
+ isAboveCommercial: boolean;
2740
+ residentialNatureImpact: string;
2741
+ tenure: string;
2742
+ isFlyingFreehold: boolean;
2743
+ flyingFreeholdPercentage: number;
2744
+ maintenanceCharge: number;
2745
+ roadCharges: number;
2746
+ groundRent: number;
2747
+ remainingLeaseTermYears: number;
2748
+ isPartCommercialUse: boolean;
2749
+ commercialUsePercentage: number;
2750
+ isPurchasedUnderSharedOwnership: boolean;
2751
+ yearBuilt: number;
2752
+ }> & {
911
2753
  isDetachedHouse: boolean;
912
2754
  isSemiDetachedHouse: boolean;
913
2755
  isTerracedHouse: boolean;
@@ -935,8 +2777,44 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
935
2777
  commercialUsePercentage: number;
936
2778
  isPurchasedUnderSharedOwnership: boolean;
937
2779
  yearBuilt: number;
938
- } | null | undefined;
939
- accommodation?: {
2780
+ }>;
2781
+ accommodation: mongoose.Types.DocumentArray<{
2782
+ hall: number;
2783
+ livingRooms: number;
2784
+ kitchen: number;
2785
+ isLiftPresent: boolean;
2786
+ utility: number;
2787
+ bedrooms: number;
2788
+ bathrooms: number;
2789
+ separateWc: number;
2790
+ basement: number;
2791
+ garage: number;
2792
+ parking: number;
2793
+ gardens: boolean;
2794
+ isPrivate: boolean;
2795
+ isCommunal: boolean;
2796
+ numberOfOutbuildings: number;
2797
+ outbuildingDetails: string;
2798
+ grossFloorAreaOfDwelling: number;
2799
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2800
+ hall: number;
2801
+ livingRooms: number;
2802
+ kitchen: number;
2803
+ isLiftPresent: boolean;
2804
+ utility: number;
2805
+ bedrooms: number;
2806
+ bathrooms: number;
2807
+ separateWc: number;
2808
+ basement: number;
2809
+ garage: number;
2810
+ parking: number;
2811
+ gardens: boolean;
2812
+ isPrivate: boolean;
2813
+ isCommunal: boolean;
2814
+ numberOfOutbuildings: number;
2815
+ outbuildingDetails: string;
2816
+ grossFloorAreaOfDwelling: number;
2817
+ }> & {
940
2818
  hall: number;
941
2819
  livingRooms: number;
942
2820
  kitchen: number;
@@ -954,15 +2832,59 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
954
2832
  numberOfOutbuildings: number;
955
2833
  outbuildingDetails: string;
956
2834
  grossFloorAreaOfDwelling: number;
957
- } | null | undefined;
958
- currentOccupency?: {
2835
+ }>;
2836
+ currentOccupency: mongoose.Types.DocumentArray<{
2837
+ isEverOccupied: boolean;
2838
+ numberOfAdultsInProperty: number;
2839
+ isHmoOrMultiUnitFreeholdBlock: boolean;
2840
+ isCurrentlyTenanted: boolean;
2841
+ hmoOrMultiUnitDetails: string;
2842
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2843
+ isEverOccupied: boolean;
2844
+ numberOfAdultsInProperty: number;
2845
+ isHmoOrMultiUnitFreeholdBlock: boolean;
2846
+ isCurrentlyTenanted: boolean;
2847
+ hmoOrMultiUnitDetails: string;
2848
+ }> & {
959
2849
  isEverOccupied: boolean;
960
2850
  numberOfAdultsInProperty: number;
961
2851
  isHmoOrMultiUnitFreeholdBlock: boolean;
962
2852
  isCurrentlyTenanted: boolean;
963
2853
  hmoOrMultiUnitDetails: string;
964
- } | null | undefined;
965
- newBuild?: {
2854
+ }>;
2855
+ newBuild: mongoose.Types.DocumentArray<{
2856
+ isNewBuildOrRecentlyConverted: boolean;
2857
+ isCompleted: boolean;
2858
+ isUnderConstruction: boolean;
2859
+ isFinalInspectionRequired: boolean;
2860
+ isNhbcCert: boolean;
2861
+ isBuildZone: boolean;
2862
+ isPremier: boolean;
2863
+ isProfessionalConsultant: boolean;
2864
+ isOtherCert: boolean;
2865
+ otherCertDetails: string;
2866
+ isSelfBuildProject: boolean;
2867
+ isInvolvesPartExchange: boolean;
2868
+ isDisclosureOfIncentivesSeen: boolean;
2869
+ incentivesDetails: string;
2870
+ newBuildDeveloperName: string;
2871
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2872
+ isNewBuildOrRecentlyConverted: boolean;
2873
+ isCompleted: boolean;
2874
+ isUnderConstruction: boolean;
2875
+ isFinalInspectionRequired: boolean;
2876
+ isNhbcCert: boolean;
2877
+ isBuildZone: boolean;
2878
+ isPremier: boolean;
2879
+ isProfessionalConsultant: boolean;
2880
+ isOtherCert: boolean;
2881
+ otherCertDetails: string;
2882
+ isSelfBuildProject: boolean;
2883
+ isInvolvesPartExchange: boolean;
2884
+ isDisclosureOfIncentivesSeen: boolean;
2885
+ incentivesDetails: string;
2886
+ newBuildDeveloperName: string;
2887
+ }> & {
966
2888
  isNewBuildOrRecentlyConverted: boolean;
967
2889
  isCompleted: boolean;
968
2890
  isUnderConstruction: boolean;
@@ -978,8 +2900,28 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
978
2900
  isDisclosureOfIncentivesSeen: boolean;
979
2901
  incentivesDetails: string;
980
2902
  newBuildDeveloperName: string;
981
- } | null | undefined;
982
- construction?: {
2903
+ }>;
2904
+ construction: mongoose.Types.DocumentArray<{
2905
+ isStandardConstruction: boolean;
2906
+ nonStandardConstructionType: string;
2907
+ mainWalls: string;
2908
+ mainRoof: string;
2909
+ garageConstruction: string;
2910
+ outbuildingsConstruction: string;
2911
+ isHasAlterationsOrExtensions: boolean;
2912
+ isAlterationsRequireConsents: boolean;
2913
+ alterationsAge: number;
2914
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2915
+ isStandardConstruction: boolean;
2916
+ nonStandardConstructionType: string;
2917
+ mainWalls: string;
2918
+ mainRoof: string;
2919
+ garageConstruction: string;
2920
+ outbuildingsConstruction: string;
2921
+ isHasAlterationsOrExtensions: boolean;
2922
+ isAlterationsRequireConsents: boolean;
2923
+ alterationsAge: number;
2924
+ }> & {
983
2925
  isStandardConstruction: boolean;
984
2926
  nonStandardConstructionType: string;
985
2927
  mainWalls: string;
@@ -989,8 +2931,56 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
989
2931
  isHasAlterationsOrExtensions: boolean;
990
2932
  isAlterationsRequireConsents: boolean;
991
2933
  alterationsAge: number;
992
- } | null | undefined;
993
- localityAndDemand?: {
2934
+ }>;
2935
+ localityAndDemand: mongoose.Types.DocumentArray<{
2936
+ isUrban: boolean;
2937
+ isSuburban: boolean;
2938
+ isRural: boolean;
2939
+ isGoodMarketAppeal: boolean;
2940
+ isAverageMarketAppeal: boolean;
2941
+ isPoorMarketAppeal: boolean;
2942
+ isSimilarProperties: boolean;
2943
+ isBetterProperties: boolean;
2944
+ isWorseProperties: boolean;
2945
+ isPricesRising: boolean;
2946
+ isPricesStatic: boolean;
2947
+ isPricesFalling: boolean;
2948
+ isDemandRising: boolean;
2949
+ isDemandStatic: boolean;
2950
+ isDemandFalling: boolean;
2951
+ isAffectedByCompulsoryPurchase: boolean;
2952
+ compulsoryPurchaseDetails: string;
2953
+ isVacantOrBoardedPropertiesNearby: boolean;
2954
+ vacantOrBoardedDetails: string;
2955
+ isOccupancyRestrictionPossible: boolean;
2956
+ occupancyRestrictionDetails: string;
2957
+ isCloseToHighVoltageEquipment: boolean;
2958
+ highVoltageEquipmentDetails: string;
2959
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2960
+ isUrban: boolean;
2961
+ isSuburban: boolean;
2962
+ isRural: boolean;
2963
+ isGoodMarketAppeal: boolean;
2964
+ isAverageMarketAppeal: boolean;
2965
+ isPoorMarketAppeal: boolean;
2966
+ isSimilarProperties: boolean;
2967
+ isBetterProperties: boolean;
2968
+ isWorseProperties: boolean;
2969
+ isPricesRising: boolean;
2970
+ isPricesStatic: boolean;
2971
+ isPricesFalling: boolean;
2972
+ isDemandRising: boolean;
2973
+ isDemandStatic: boolean;
2974
+ isDemandFalling: boolean;
2975
+ isAffectedByCompulsoryPurchase: boolean;
2976
+ compulsoryPurchaseDetails: string;
2977
+ isVacantOrBoardedPropertiesNearby: boolean;
2978
+ vacantOrBoardedDetails: string;
2979
+ isOccupancyRestrictionPossible: boolean;
2980
+ occupancyRestrictionDetails: string;
2981
+ isCloseToHighVoltageEquipment: boolean;
2982
+ highVoltageEquipmentDetails: string;
2983
+ }> & {
994
2984
  isUrban: boolean;
995
2985
  isSuburban: boolean;
996
2986
  isRural: boolean;
@@ -1014,8 +3004,42 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1014
3004
  occupancyRestrictionDetails: string;
1015
3005
  isCloseToHighVoltageEquipment: boolean;
1016
3006
  highVoltageEquipmentDetails: string;
1017
- } | null | undefined;
1018
- services?: {
3007
+ }>;
3008
+ services: mongoose.Types.DocumentArray<{
3009
+ isMainsWater: boolean;
3010
+ isPrivateWater: boolean;
3011
+ isUnknownWater: boolean;
3012
+ isGasSupply: boolean;
3013
+ isElectricitySupply: boolean;
3014
+ isCentralHeating: boolean;
3015
+ centralHeatingType: string;
3016
+ isMainDrainage: boolean;
3017
+ isSepticTankPlant: boolean;
3018
+ isSolarPanels: boolean;
3019
+ isSharedAccess: boolean;
3020
+ isRoadAdopted: boolean;
3021
+ isHasEasementsOrRightsOfWay: boolean;
3022
+ easementsOrRightsDetails: string;
3023
+ servicesSeparateForFlats: string;
3024
+ servicesSeparateDetails: string;
3025
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3026
+ isMainsWater: boolean;
3027
+ isPrivateWater: boolean;
3028
+ isUnknownWater: boolean;
3029
+ isGasSupply: boolean;
3030
+ isElectricitySupply: boolean;
3031
+ isCentralHeating: boolean;
3032
+ centralHeatingType: string;
3033
+ isMainDrainage: boolean;
3034
+ isSepticTankPlant: boolean;
3035
+ isSolarPanels: boolean;
3036
+ isSharedAccess: boolean;
3037
+ isRoadAdopted: boolean;
3038
+ isHasEasementsOrRightsOfWay: boolean;
3039
+ easementsOrRightsDetails: string;
3040
+ servicesSeparateForFlats: string;
3041
+ servicesSeparateDetails: string;
3042
+ }> & {
1019
3043
  isMainsWater: boolean;
1020
3044
  isPrivateWater: boolean;
1021
3045
  isUnknownWater: boolean;
@@ -1025,7 +3049,6 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1025
3049
  centralHeatingType: string;
1026
3050
  isMainDrainage: boolean;
1027
3051
  isSepticTankPlant: boolean;
1028
- isUnknownDrainage: boolean;
1029
3052
  isSolarPanels: boolean;
1030
3053
  isSharedAccess: boolean;
1031
3054
  isRoadAdopted: boolean;
@@ -1033,28 +3056,130 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1033
3056
  easementsOrRightsDetails: string;
1034
3057
  servicesSeparateForFlats: string;
1035
3058
  servicesSeparateDetails: string;
1036
- } | null | undefined;
1037
- conditionsOfProperty?: {
3059
+ }>;
3060
+ conditionsOfProperty: mongoose.Types.DocumentArray<{
3061
+ isStructuralMovement: boolean;
3062
+ isStructuralMovementHistoricOrNonProgressive: boolean;
3063
+ structuralMovementDetails: string;
3064
+ isStructuralModifications: boolean;
3065
+ structuralModificationsDetails: string;
3066
+ communalAreasMaintained: string;
3067
+ propertyProneTo: mongoose.Types.DocumentArray<{
3068
+ flooding: boolean;
3069
+ subsidence: boolean;
3070
+ heave: boolean;
3071
+ landslip: boolean;
3072
+ details: string;
3073
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3074
+ flooding: boolean;
3075
+ subsidence: boolean;
3076
+ heave: boolean;
3077
+ landslip: boolean;
3078
+ details: string;
3079
+ }> & {
3080
+ flooding: boolean;
3081
+ subsidence: boolean;
3082
+ heave: boolean;
3083
+ landslip: boolean;
3084
+ details: string;
3085
+ }>;
3086
+ isPlotBoundariesDefinedUnderPointFourHectares: boolean;
3087
+ isTreesWithinInfluencingDistance: boolean;
3088
+ treesInfluenceDetails: string;
3089
+ isBuiltOnSteepSlope: boolean;
3090
+ steepSlopeDetails: string;
3091
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1038
3092
  isStructuralMovement: boolean;
1039
3093
  isStructuralMovementHistoricOrNonProgressive: boolean;
1040
3094
  structuralMovementDetails: string;
1041
3095
  isStructuralModifications: boolean;
1042
3096
  structuralModificationsDetails: string;
1043
3097
  communalAreasMaintained: string;
3098
+ propertyProneTo: mongoose.Types.DocumentArray<{
3099
+ flooding: boolean;
3100
+ subsidence: boolean;
3101
+ heave: boolean;
3102
+ landslip: boolean;
3103
+ details: string;
3104
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3105
+ flooding: boolean;
3106
+ subsidence: boolean;
3107
+ heave: boolean;
3108
+ landslip: boolean;
3109
+ details: string;
3110
+ }> & {
3111
+ flooding: boolean;
3112
+ subsidence: boolean;
3113
+ heave: boolean;
3114
+ landslip: boolean;
3115
+ details: string;
3116
+ }>;
1044
3117
  isPlotBoundariesDefinedUnderPointFourHectares: boolean;
1045
3118
  isTreesWithinInfluencingDistance: boolean;
1046
3119
  treesInfluenceDetails: string;
1047
3120
  isBuiltOnSteepSlope: boolean;
1048
3121
  steepSlopeDetails: string;
1049
- propertyProneTo?: {
3122
+ }> & {
3123
+ isStructuralMovement: boolean;
3124
+ isStructuralMovementHistoricOrNonProgressive: boolean;
3125
+ structuralMovementDetails: string;
3126
+ isStructuralModifications: boolean;
3127
+ structuralModificationsDetails: string;
3128
+ communalAreasMaintained: string;
3129
+ propertyProneTo: mongoose.Types.DocumentArray<{
3130
+ flooding: boolean;
3131
+ subsidence: boolean;
3132
+ heave: boolean;
3133
+ landslip: boolean;
3134
+ details: string;
3135
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3136
+ flooding: boolean;
3137
+ subsidence: boolean;
3138
+ heave: boolean;
3139
+ landslip: boolean;
3140
+ details: string;
3141
+ }> & {
1050
3142
  flooding: boolean;
1051
3143
  subsidence: boolean;
1052
3144
  heave: boolean;
1053
3145
  landslip: boolean;
1054
3146
  details: string;
1055
- } | null | undefined;
1056
- } | null | undefined;
1057
- reports?: {
3147
+ }>;
3148
+ isPlotBoundariesDefinedUnderPointFourHectares: boolean;
3149
+ isTreesWithinInfluencingDistance: boolean;
3150
+ treesInfluenceDetails: string;
3151
+ isBuiltOnSteepSlope: boolean;
3152
+ steepSlopeDetails: string;
3153
+ }>;
3154
+ reports: mongoose.Types.DocumentArray<{
3155
+ isTimberDamp: boolean;
3156
+ isMining: boolean;
3157
+ isElectrical: boolean;
3158
+ isDrains: boolean;
3159
+ isStructuralEngineers: boolean;
3160
+ isArboricultural: boolean;
3161
+ isMundic: boolean;
3162
+ isWallTies: boolean;
3163
+ isRoof: boolean;
3164
+ isMetalliferous: boolean;
3165
+ isSulfateRedAsh: boolean;
3166
+ isOtherReport: boolean;
3167
+ otherReportDetails: string;
3168
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3169
+ isTimberDamp: boolean;
3170
+ isMining: boolean;
3171
+ isElectrical: boolean;
3172
+ isDrains: boolean;
3173
+ isStructuralEngineers: boolean;
3174
+ isArboricultural: boolean;
3175
+ isMundic: boolean;
3176
+ isWallTies: boolean;
3177
+ isRoof: boolean;
3178
+ isMetalliferous: boolean;
3179
+ isSulfateRedAsh: boolean;
3180
+ isOtherReport: boolean;
3181
+ otherReportDetails: string;
3182
+ }> & {
1058
3183
  isTimberDamp: boolean;
1059
3184
  isMining: boolean;
1060
3185
  isElectrical: boolean;
@@ -1068,17 +3193,49 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1068
3193
  isSulfateRedAsh: boolean;
1069
3194
  isOtherReport: boolean;
1070
3195
  otherReportDetails: string;
1071
- } | null | undefined;
1072
- energyEfficiency?: {
3196
+ }>;
3197
+ energyEfficiency: mongoose.Types.DocumentArray<{
3198
+ epcRating: string;
3199
+ epcScore: number;
3200
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1073
3201
  epcRating: string;
1074
3202
  epcScore: number;
1075
- } | null | undefined;
1076
- essentialRepairs?: {
3203
+ }> & {
3204
+ epcRating: string;
3205
+ epcScore: number;
3206
+ }>;
3207
+ essentialRepairs: mongoose.Types.DocumentArray<{
3208
+ isEssentialRepairsRequired: boolean;
3209
+ essentialRepairsDetails: string;
3210
+ isReinspectionRequired: boolean;
3211
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3212
+ isEssentialRepairsRequired: boolean;
3213
+ essentialRepairsDetails: string;
3214
+ isReinspectionRequired: boolean;
3215
+ }> & {
1077
3216
  isEssentialRepairsRequired: boolean;
1078
3217
  essentialRepairsDetails: string;
1079
3218
  isReinspectionRequired: boolean;
1080
- } | null | undefined;
1081
- rentalInformation?: {
3219
+ }>;
3220
+ rentalInformation: mongoose.Types.DocumentArray<{
3221
+ isRentalDemandInLocality: boolean;
3222
+ rentalDemandDetails: string;
3223
+ monthlyMarketRentPresentCondition: number;
3224
+ monthlyMarketRentImprovedCondition: number;
3225
+ isOtherLettingDemandFactors: boolean;
3226
+ otherLettingDemandDetails: string;
3227
+ investorOnlyDemand: boolean;
3228
+ investorOnlyDemandDetails: string;
3229
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3230
+ isRentalDemandInLocality: boolean;
3231
+ rentalDemandDetails: string;
3232
+ monthlyMarketRentPresentCondition: number;
3233
+ monthlyMarketRentImprovedCondition: number;
3234
+ isOtherLettingDemandFactors: boolean;
3235
+ otherLettingDemandDetails: string;
3236
+ investorOnlyDemand: boolean;
3237
+ investorOnlyDemandDetails: string;
3238
+ }> & {
1082
3239
  isRentalDemandInLocality: boolean;
1083
3240
  rentalDemandDetails: string;
1084
3241
  monthlyMarketRentPresentCondition: number;
@@ -1087,8 +3244,28 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1087
3244
  otherLettingDemandDetails: string;
1088
3245
  investorOnlyDemand: boolean;
1089
3246
  investorOnlyDemandDetails: string;
1090
- } | null | undefined;
1091
- valuationForFinancePurpose?: {
3247
+ }>;
3248
+ valuationForFinancePurpose: mongoose.Types.DocumentArray<{
3249
+ valuationComparativeOnly: string;
3250
+ isSuitableForFinance: boolean;
3251
+ financeSuitabilityDetails: string;
3252
+ marketValuePresentCondition: number;
3253
+ marketValueAfterRepairs: number;
3254
+ purchasePriceOrBorrowerEstimate: number;
3255
+ buildingInsuranceReinstatementCost: number;
3256
+ isInsurancePremiumLoadingRisk: boolean;
3257
+ insurancePremiumLoadingDetails: string;
3258
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3259
+ valuationComparativeOnly: string;
3260
+ isSuitableForFinance: boolean;
3261
+ financeSuitabilityDetails: string;
3262
+ marketValuePresentCondition: number;
3263
+ marketValueAfterRepairs: number;
3264
+ purchasePriceOrBorrowerEstimate: number;
3265
+ buildingInsuranceReinstatementCost: number;
3266
+ isInsurancePremiumLoadingRisk: boolean;
3267
+ insurancePremiumLoadingDetails: string;
3268
+ }> & {
1092
3269
  valuationComparativeOnly: string;
1093
3270
  isSuitableForFinance: boolean;
1094
3271
  financeSuitabilityDetails: string;
@@ -1098,33 +3275,145 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1098
3275
  buildingInsuranceReinstatementCost: number;
1099
3276
  isInsurancePremiumLoadingRisk: boolean;
1100
3277
  insurancePremiumLoadingDetails: string;
1101
- } | null | undefined;
1102
- valuersDeclaration?: {
3278
+ }>;
3279
+ generalRemarks: string;
3280
+ valuersDeclaration: mongoose.Types.DocumentArray<{
3281
+ valuerSignature: number;
3282
+ valuerName: string;
3283
+ onBehalfOf: string;
3284
+ telephone: number;
3285
+ fax: number;
3286
+ email: string;
3287
+ valuerQualifications: mongoose.Types.DocumentArray<{
3288
+ mrics: boolean;
3289
+ frics: boolean;
3290
+ assocRics: boolean;
3291
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3292
+ mrics: boolean;
3293
+ frics: boolean;
3294
+ assocRics: boolean;
3295
+ }> & {
3296
+ mrics: boolean;
3297
+ frics: boolean;
3298
+ assocRics: boolean;
3299
+ }>;
3300
+ ricsNumber: number;
3301
+ valuerAddress: string;
3302
+ valuerPostcode: string;
3303
+ reportDate: number;
3304
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1103
3305
  valuerSignature: number;
1104
3306
  valuerName: string;
1105
3307
  onBehalfOf: string;
1106
3308
  telephone: number;
1107
3309
  fax: number;
1108
3310
  email: string;
3311
+ valuerQualifications: mongoose.Types.DocumentArray<{
3312
+ mrics: boolean;
3313
+ frics: boolean;
3314
+ assocRics: boolean;
3315
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3316
+ mrics: boolean;
3317
+ frics: boolean;
3318
+ assocRics: boolean;
3319
+ }> & {
3320
+ mrics: boolean;
3321
+ frics: boolean;
3322
+ assocRics: boolean;
3323
+ }>;
1109
3324
  ricsNumber: number;
1110
3325
  valuerAddress: string;
1111
3326
  valuerPostcode: string;
1112
3327
  reportDate: number;
1113
- valuerQualifications?: {
3328
+ }> & {
3329
+ valuerSignature: number;
3330
+ valuerName: string;
3331
+ onBehalfOf: string;
3332
+ telephone: number;
3333
+ fax: number;
3334
+ email: string;
3335
+ valuerQualifications: mongoose.Types.DocumentArray<{
3336
+ mrics: boolean;
3337
+ frics: boolean;
3338
+ assocRics: boolean;
3339
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1114
3340
  mrics: boolean;
1115
3341
  frics: boolean;
1116
3342
  assocRics: boolean;
1117
- } | null | undefined;
1118
- } | null | undefined;
3343
+ }> & {
3344
+ mrics: boolean;
3345
+ frics: boolean;
3346
+ assocRics: boolean;
3347
+ }>;
3348
+ ricsNumber: number;
3349
+ valuerAddress: string;
3350
+ valuerPostcode: string;
3351
+ reportDate: number;
3352
+ }>;
3353
+ extractedText: string;
1119
3354
  }>, {}> & mongoose.FlatRecord<{
1120
3355
  applicationId: mongoose.Types.ObjectId;
1121
3356
  applicantName: string;
1122
3357
  applicationNumber: string;
1123
3358
  propertyAddress: string;
1124
3359
  postCode: string;
1125
- generalRemarks: string;
1126
- extractedText: string;
1127
- propertyType?: {
3360
+ propertyType: mongoose.Types.DocumentArray<{
3361
+ isDetachedHouse: boolean;
3362
+ isSemiDetachedHouse: boolean;
3363
+ isTerracedHouse: boolean;
3364
+ isBungalow: boolean;
3365
+ isFlat: boolean;
3366
+ isMaisonette: boolean;
3367
+ flatMaisonetteFloor: number;
3368
+ numberOfFloorsInBlock: number;
3369
+ isBuiltOrOwnedByLocalAuthority: boolean;
3370
+ ownerOccupationPercentage: number;
3371
+ isFlatMaisonetteConverted: boolean;
3372
+ conversionYear: number;
3373
+ isPurposeBuilt: boolean;
3374
+ numberOfUnitsInBlock: number;
3375
+ isAboveCommercial: boolean;
3376
+ residentialNatureImpact: string;
3377
+ tenure: string;
3378
+ isFlyingFreehold: boolean;
3379
+ flyingFreeholdPercentage: number;
3380
+ maintenanceCharge: number;
3381
+ roadCharges: number;
3382
+ groundRent: number;
3383
+ remainingLeaseTermYears: number;
3384
+ isPartCommercialUse: boolean;
3385
+ commercialUsePercentage: number;
3386
+ isPurchasedUnderSharedOwnership: boolean;
3387
+ yearBuilt: number;
3388
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3389
+ isDetachedHouse: boolean;
3390
+ isSemiDetachedHouse: boolean;
3391
+ isTerracedHouse: boolean;
3392
+ isBungalow: boolean;
3393
+ isFlat: boolean;
3394
+ isMaisonette: boolean;
3395
+ flatMaisonetteFloor: number;
3396
+ numberOfFloorsInBlock: number;
3397
+ isBuiltOrOwnedByLocalAuthority: boolean;
3398
+ ownerOccupationPercentage: number;
3399
+ isFlatMaisonetteConverted: boolean;
3400
+ conversionYear: number;
3401
+ isPurposeBuilt: boolean;
3402
+ numberOfUnitsInBlock: number;
3403
+ isAboveCommercial: boolean;
3404
+ residentialNatureImpact: string;
3405
+ tenure: string;
3406
+ isFlyingFreehold: boolean;
3407
+ flyingFreeholdPercentage: number;
3408
+ maintenanceCharge: number;
3409
+ roadCharges: number;
3410
+ groundRent: number;
3411
+ remainingLeaseTermYears: number;
3412
+ isPartCommercialUse: boolean;
3413
+ commercialUsePercentage: number;
3414
+ isPurchasedUnderSharedOwnership: boolean;
3415
+ yearBuilt: number;
3416
+ }> & {
1128
3417
  isDetachedHouse: boolean;
1129
3418
  isSemiDetachedHouse: boolean;
1130
3419
  isTerracedHouse: boolean;
@@ -1152,8 +3441,44 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1152
3441
  commercialUsePercentage: number;
1153
3442
  isPurchasedUnderSharedOwnership: boolean;
1154
3443
  yearBuilt: number;
1155
- } | null | undefined;
1156
- accommodation?: {
3444
+ }>;
3445
+ accommodation: mongoose.Types.DocumentArray<{
3446
+ hall: number;
3447
+ livingRooms: number;
3448
+ kitchen: number;
3449
+ isLiftPresent: boolean;
3450
+ utility: number;
3451
+ bedrooms: number;
3452
+ bathrooms: number;
3453
+ separateWc: number;
3454
+ basement: number;
3455
+ garage: number;
3456
+ parking: number;
3457
+ gardens: boolean;
3458
+ isPrivate: boolean;
3459
+ isCommunal: boolean;
3460
+ numberOfOutbuildings: number;
3461
+ outbuildingDetails: string;
3462
+ grossFloorAreaOfDwelling: number;
3463
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3464
+ hall: number;
3465
+ livingRooms: number;
3466
+ kitchen: number;
3467
+ isLiftPresent: boolean;
3468
+ utility: number;
3469
+ bedrooms: number;
3470
+ bathrooms: number;
3471
+ separateWc: number;
3472
+ basement: number;
3473
+ garage: number;
3474
+ parking: number;
3475
+ gardens: boolean;
3476
+ isPrivate: boolean;
3477
+ isCommunal: boolean;
3478
+ numberOfOutbuildings: number;
3479
+ outbuildingDetails: string;
3480
+ grossFloorAreaOfDwelling: number;
3481
+ }> & {
1157
3482
  hall: number;
1158
3483
  livingRooms: number;
1159
3484
  kitchen: number;
@@ -1171,15 +3496,59 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1171
3496
  numberOfOutbuildings: number;
1172
3497
  outbuildingDetails: string;
1173
3498
  grossFloorAreaOfDwelling: number;
1174
- } | null | undefined;
1175
- currentOccupency?: {
3499
+ }>;
3500
+ currentOccupency: mongoose.Types.DocumentArray<{
3501
+ isEverOccupied: boolean;
3502
+ numberOfAdultsInProperty: number;
3503
+ isHmoOrMultiUnitFreeholdBlock: boolean;
3504
+ isCurrentlyTenanted: boolean;
3505
+ hmoOrMultiUnitDetails: string;
3506
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3507
+ isEverOccupied: boolean;
3508
+ numberOfAdultsInProperty: number;
3509
+ isHmoOrMultiUnitFreeholdBlock: boolean;
3510
+ isCurrentlyTenanted: boolean;
3511
+ hmoOrMultiUnitDetails: string;
3512
+ }> & {
1176
3513
  isEverOccupied: boolean;
1177
3514
  numberOfAdultsInProperty: number;
1178
3515
  isHmoOrMultiUnitFreeholdBlock: boolean;
1179
3516
  isCurrentlyTenanted: boolean;
1180
3517
  hmoOrMultiUnitDetails: string;
1181
- } | null | undefined;
1182
- newBuild?: {
3518
+ }>;
3519
+ newBuild: mongoose.Types.DocumentArray<{
3520
+ isNewBuildOrRecentlyConverted: boolean;
3521
+ isCompleted: boolean;
3522
+ isUnderConstruction: boolean;
3523
+ isFinalInspectionRequired: boolean;
3524
+ isNhbcCert: boolean;
3525
+ isBuildZone: boolean;
3526
+ isPremier: boolean;
3527
+ isProfessionalConsultant: boolean;
3528
+ isOtherCert: boolean;
3529
+ otherCertDetails: string;
3530
+ isSelfBuildProject: boolean;
3531
+ isInvolvesPartExchange: boolean;
3532
+ isDisclosureOfIncentivesSeen: boolean;
3533
+ incentivesDetails: string;
3534
+ newBuildDeveloperName: string;
3535
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3536
+ isNewBuildOrRecentlyConverted: boolean;
3537
+ isCompleted: boolean;
3538
+ isUnderConstruction: boolean;
3539
+ isFinalInspectionRequired: boolean;
3540
+ isNhbcCert: boolean;
3541
+ isBuildZone: boolean;
3542
+ isPremier: boolean;
3543
+ isProfessionalConsultant: boolean;
3544
+ isOtherCert: boolean;
3545
+ otherCertDetails: string;
3546
+ isSelfBuildProject: boolean;
3547
+ isInvolvesPartExchange: boolean;
3548
+ isDisclosureOfIncentivesSeen: boolean;
3549
+ incentivesDetails: string;
3550
+ newBuildDeveloperName: string;
3551
+ }> & {
1183
3552
  isNewBuildOrRecentlyConverted: boolean;
1184
3553
  isCompleted: boolean;
1185
3554
  isUnderConstruction: boolean;
@@ -1195,8 +3564,28 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1195
3564
  isDisclosureOfIncentivesSeen: boolean;
1196
3565
  incentivesDetails: string;
1197
3566
  newBuildDeveloperName: string;
1198
- } | null | undefined;
1199
- construction?: {
3567
+ }>;
3568
+ construction: mongoose.Types.DocumentArray<{
3569
+ isStandardConstruction: boolean;
3570
+ nonStandardConstructionType: string;
3571
+ mainWalls: string;
3572
+ mainRoof: string;
3573
+ garageConstruction: string;
3574
+ outbuildingsConstruction: string;
3575
+ isHasAlterationsOrExtensions: boolean;
3576
+ isAlterationsRequireConsents: boolean;
3577
+ alterationsAge: number;
3578
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3579
+ isStandardConstruction: boolean;
3580
+ nonStandardConstructionType: string;
3581
+ mainWalls: string;
3582
+ mainRoof: string;
3583
+ garageConstruction: string;
3584
+ outbuildingsConstruction: string;
3585
+ isHasAlterationsOrExtensions: boolean;
3586
+ isAlterationsRequireConsents: boolean;
3587
+ alterationsAge: number;
3588
+ }> & {
1200
3589
  isStandardConstruction: boolean;
1201
3590
  nonStandardConstructionType: string;
1202
3591
  mainWalls: string;
@@ -1206,8 +3595,8 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1206
3595
  isHasAlterationsOrExtensions: boolean;
1207
3596
  isAlterationsRequireConsents: boolean;
1208
3597
  alterationsAge: number;
1209
- } | null | undefined;
1210
- localityAndDemand?: {
3598
+ }>;
3599
+ localityAndDemand: mongoose.Types.DocumentArray<{
1211
3600
  isUrban: boolean;
1212
3601
  isSuburban: boolean;
1213
3602
  isRural: boolean;
@@ -1231,8 +3620,90 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1231
3620
  occupancyRestrictionDetails: string;
1232
3621
  isCloseToHighVoltageEquipment: boolean;
1233
3622
  highVoltageEquipmentDetails: string;
1234
- } | null | undefined;
1235
- services?: {
3623
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3624
+ isUrban: boolean;
3625
+ isSuburban: boolean;
3626
+ isRural: boolean;
3627
+ isGoodMarketAppeal: boolean;
3628
+ isAverageMarketAppeal: boolean;
3629
+ isPoorMarketAppeal: boolean;
3630
+ isSimilarProperties: boolean;
3631
+ isBetterProperties: boolean;
3632
+ isWorseProperties: boolean;
3633
+ isPricesRising: boolean;
3634
+ isPricesStatic: boolean;
3635
+ isPricesFalling: boolean;
3636
+ isDemandRising: boolean;
3637
+ isDemandStatic: boolean;
3638
+ isDemandFalling: boolean;
3639
+ isAffectedByCompulsoryPurchase: boolean;
3640
+ compulsoryPurchaseDetails: string;
3641
+ isVacantOrBoardedPropertiesNearby: boolean;
3642
+ vacantOrBoardedDetails: string;
3643
+ isOccupancyRestrictionPossible: boolean;
3644
+ occupancyRestrictionDetails: string;
3645
+ isCloseToHighVoltageEquipment: boolean;
3646
+ highVoltageEquipmentDetails: string;
3647
+ }> & {
3648
+ isUrban: boolean;
3649
+ isSuburban: boolean;
3650
+ isRural: boolean;
3651
+ isGoodMarketAppeal: boolean;
3652
+ isAverageMarketAppeal: boolean;
3653
+ isPoorMarketAppeal: boolean;
3654
+ isSimilarProperties: boolean;
3655
+ isBetterProperties: boolean;
3656
+ isWorseProperties: boolean;
3657
+ isPricesRising: boolean;
3658
+ isPricesStatic: boolean;
3659
+ isPricesFalling: boolean;
3660
+ isDemandRising: boolean;
3661
+ isDemandStatic: boolean;
3662
+ isDemandFalling: boolean;
3663
+ isAffectedByCompulsoryPurchase: boolean;
3664
+ compulsoryPurchaseDetails: string;
3665
+ isVacantOrBoardedPropertiesNearby: boolean;
3666
+ vacantOrBoardedDetails: string;
3667
+ isOccupancyRestrictionPossible: boolean;
3668
+ occupancyRestrictionDetails: string;
3669
+ isCloseToHighVoltageEquipment: boolean;
3670
+ highVoltageEquipmentDetails: string;
3671
+ }>;
3672
+ services: mongoose.Types.DocumentArray<{
3673
+ isMainsWater: boolean;
3674
+ isPrivateWater: boolean;
3675
+ isUnknownWater: boolean;
3676
+ isGasSupply: boolean;
3677
+ isElectricitySupply: boolean;
3678
+ isCentralHeating: boolean;
3679
+ centralHeatingType: string;
3680
+ isMainDrainage: boolean;
3681
+ isSepticTankPlant: boolean;
3682
+ isSolarPanels: boolean;
3683
+ isSharedAccess: boolean;
3684
+ isRoadAdopted: boolean;
3685
+ isHasEasementsOrRightsOfWay: boolean;
3686
+ easementsOrRightsDetails: string;
3687
+ servicesSeparateForFlats: string;
3688
+ servicesSeparateDetails: string;
3689
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3690
+ isMainsWater: boolean;
3691
+ isPrivateWater: boolean;
3692
+ isUnknownWater: boolean;
3693
+ isGasSupply: boolean;
3694
+ isElectricitySupply: boolean;
3695
+ isCentralHeating: boolean;
3696
+ centralHeatingType: string;
3697
+ isMainDrainage: boolean;
3698
+ isSepticTankPlant: boolean;
3699
+ isSolarPanels: boolean;
3700
+ isSharedAccess: boolean;
3701
+ isRoadAdopted: boolean;
3702
+ isHasEasementsOrRightsOfWay: boolean;
3703
+ easementsOrRightsDetails: string;
3704
+ servicesSeparateForFlats: string;
3705
+ servicesSeparateDetails: string;
3706
+ }> & {
1236
3707
  isMainsWater: boolean;
1237
3708
  isPrivateWater: boolean;
1238
3709
  isUnknownWater: boolean;
@@ -1242,7 +3713,6 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1242
3713
  centralHeatingType: string;
1243
3714
  isMainDrainage: boolean;
1244
3715
  isSepticTankPlant: boolean;
1245
- isUnknownDrainage: boolean;
1246
3716
  isSolarPanels: boolean;
1247
3717
  isSharedAccess: boolean;
1248
3718
  isRoadAdopted: boolean;
@@ -1250,28 +3720,130 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1250
3720
  easementsOrRightsDetails: string;
1251
3721
  servicesSeparateForFlats: string;
1252
3722
  servicesSeparateDetails: string;
1253
- } | null | undefined;
1254
- conditionsOfProperty?: {
3723
+ }>;
3724
+ conditionsOfProperty: mongoose.Types.DocumentArray<{
3725
+ isStructuralMovement: boolean;
3726
+ isStructuralMovementHistoricOrNonProgressive: boolean;
3727
+ structuralMovementDetails: string;
3728
+ isStructuralModifications: boolean;
3729
+ structuralModificationsDetails: string;
3730
+ communalAreasMaintained: string;
3731
+ propertyProneTo: mongoose.Types.DocumentArray<{
3732
+ flooding: boolean;
3733
+ subsidence: boolean;
3734
+ heave: boolean;
3735
+ landslip: boolean;
3736
+ details: string;
3737
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3738
+ flooding: boolean;
3739
+ subsidence: boolean;
3740
+ heave: boolean;
3741
+ landslip: boolean;
3742
+ details: string;
3743
+ }> & {
3744
+ flooding: boolean;
3745
+ subsidence: boolean;
3746
+ heave: boolean;
3747
+ landslip: boolean;
3748
+ details: string;
3749
+ }>;
3750
+ isPlotBoundariesDefinedUnderPointFourHectares: boolean;
3751
+ isTreesWithinInfluencingDistance: boolean;
3752
+ treesInfluenceDetails: string;
3753
+ isBuiltOnSteepSlope: boolean;
3754
+ steepSlopeDetails: string;
3755
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1255
3756
  isStructuralMovement: boolean;
1256
3757
  isStructuralMovementHistoricOrNonProgressive: boolean;
1257
3758
  structuralMovementDetails: string;
1258
3759
  isStructuralModifications: boolean;
1259
3760
  structuralModificationsDetails: string;
1260
3761
  communalAreasMaintained: string;
3762
+ propertyProneTo: mongoose.Types.DocumentArray<{
3763
+ flooding: boolean;
3764
+ subsidence: boolean;
3765
+ heave: boolean;
3766
+ landslip: boolean;
3767
+ details: string;
3768
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3769
+ flooding: boolean;
3770
+ subsidence: boolean;
3771
+ heave: boolean;
3772
+ landslip: boolean;
3773
+ details: string;
3774
+ }> & {
3775
+ flooding: boolean;
3776
+ subsidence: boolean;
3777
+ heave: boolean;
3778
+ landslip: boolean;
3779
+ details: string;
3780
+ }>;
1261
3781
  isPlotBoundariesDefinedUnderPointFourHectares: boolean;
1262
3782
  isTreesWithinInfluencingDistance: boolean;
1263
3783
  treesInfluenceDetails: string;
1264
3784
  isBuiltOnSteepSlope: boolean;
1265
3785
  steepSlopeDetails: string;
1266
- propertyProneTo?: {
3786
+ }> & {
3787
+ isStructuralMovement: boolean;
3788
+ isStructuralMovementHistoricOrNonProgressive: boolean;
3789
+ structuralMovementDetails: string;
3790
+ isStructuralModifications: boolean;
3791
+ structuralModificationsDetails: string;
3792
+ communalAreasMaintained: string;
3793
+ propertyProneTo: mongoose.Types.DocumentArray<{
3794
+ flooding: boolean;
3795
+ subsidence: boolean;
3796
+ heave: boolean;
3797
+ landslip: boolean;
3798
+ details: string;
3799
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3800
+ flooding: boolean;
3801
+ subsidence: boolean;
3802
+ heave: boolean;
3803
+ landslip: boolean;
3804
+ details: string;
3805
+ }> & {
1267
3806
  flooding: boolean;
1268
3807
  subsidence: boolean;
1269
3808
  heave: boolean;
1270
3809
  landslip: boolean;
1271
3810
  details: string;
1272
- } | null | undefined;
1273
- } | null | undefined;
1274
- reports?: {
3811
+ }>;
3812
+ isPlotBoundariesDefinedUnderPointFourHectares: boolean;
3813
+ isTreesWithinInfluencingDistance: boolean;
3814
+ treesInfluenceDetails: string;
3815
+ isBuiltOnSteepSlope: boolean;
3816
+ steepSlopeDetails: string;
3817
+ }>;
3818
+ reports: mongoose.Types.DocumentArray<{
3819
+ isTimberDamp: boolean;
3820
+ isMining: boolean;
3821
+ isElectrical: boolean;
3822
+ isDrains: boolean;
3823
+ isStructuralEngineers: boolean;
3824
+ isArboricultural: boolean;
3825
+ isMundic: boolean;
3826
+ isWallTies: boolean;
3827
+ isRoof: boolean;
3828
+ isMetalliferous: boolean;
3829
+ isSulfateRedAsh: boolean;
3830
+ isOtherReport: boolean;
3831
+ otherReportDetails: string;
3832
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3833
+ isTimberDamp: boolean;
3834
+ isMining: boolean;
3835
+ isElectrical: boolean;
3836
+ isDrains: boolean;
3837
+ isStructuralEngineers: boolean;
3838
+ isArboricultural: boolean;
3839
+ isMundic: boolean;
3840
+ isWallTies: boolean;
3841
+ isRoof: boolean;
3842
+ isMetalliferous: boolean;
3843
+ isSulfateRedAsh: boolean;
3844
+ isOtherReport: boolean;
3845
+ otherReportDetails: string;
3846
+ }> & {
1275
3847
  isTimberDamp: boolean;
1276
3848
  isMining: boolean;
1277
3849
  isElectrical: boolean;
@@ -1285,17 +3857,49 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1285
3857
  isSulfateRedAsh: boolean;
1286
3858
  isOtherReport: boolean;
1287
3859
  otherReportDetails: string;
1288
- } | null | undefined;
1289
- energyEfficiency?: {
3860
+ }>;
3861
+ energyEfficiency: mongoose.Types.DocumentArray<{
3862
+ epcRating: string;
3863
+ epcScore: number;
3864
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1290
3865
  epcRating: string;
1291
3866
  epcScore: number;
1292
- } | null | undefined;
1293
- essentialRepairs?: {
3867
+ }> & {
3868
+ epcRating: string;
3869
+ epcScore: number;
3870
+ }>;
3871
+ essentialRepairs: mongoose.Types.DocumentArray<{
3872
+ isEssentialRepairsRequired: boolean;
3873
+ essentialRepairsDetails: string;
3874
+ isReinspectionRequired: boolean;
3875
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3876
+ isEssentialRepairsRequired: boolean;
3877
+ essentialRepairsDetails: string;
3878
+ isReinspectionRequired: boolean;
3879
+ }> & {
1294
3880
  isEssentialRepairsRequired: boolean;
1295
3881
  essentialRepairsDetails: string;
1296
3882
  isReinspectionRequired: boolean;
1297
- } | null | undefined;
1298
- rentalInformation?: {
3883
+ }>;
3884
+ rentalInformation: mongoose.Types.DocumentArray<{
3885
+ isRentalDemandInLocality: boolean;
3886
+ rentalDemandDetails: string;
3887
+ monthlyMarketRentPresentCondition: number;
3888
+ monthlyMarketRentImprovedCondition: number;
3889
+ isOtherLettingDemandFactors: boolean;
3890
+ otherLettingDemandDetails: string;
3891
+ investorOnlyDemand: boolean;
3892
+ investorOnlyDemandDetails: string;
3893
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3894
+ isRentalDemandInLocality: boolean;
3895
+ rentalDemandDetails: string;
3896
+ monthlyMarketRentPresentCondition: number;
3897
+ monthlyMarketRentImprovedCondition: number;
3898
+ isOtherLettingDemandFactors: boolean;
3899
+ otherLettingDemandDetails: string;
3900
+ investorOnlyDemand: boolean;
3901
+ investorOnlyDemandDetails: string;
3902
+ }> & {
1299
3903
  isRentalDemandInLocality: boolean;
1300
3904
  rentalDemandDetails: string;
1301
3905
  monthlyMarketRentPresentCondition: number;
@@ -1304,8 +3908,8 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1304
3908
  otherLettingDemandDetails: string;
1305
3909
  investorOnlyDemand: boolean;
1306
3910
  investorOnlyDemandDetails: string;
1307
- } | null | undefined;
1308
- valuationForFinancePurpose?: {
3911
+ }>;
3912
+ valuationForFinancePurpose: mongoose.Types.DocumentArray<{
1309
3913
  valuationComparativeOnly: string;
1310
3914
  isSuitableForFinance: boolean;
1311
3915
  financeSuitabilityDetails: string;
@@ -1315,24 +3919,102 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1315
3919
  buildingInsuranceReinstatementCost: number;
1316
3920
  isInsurancePremiumLoadingRisk: boolean;
1317
3921
  insurancePremiumLoadingDetails: string;
1318
- } | null | undefined;
1319
- valuersDeclaration?: {
3922
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3923
+ valuationComparativeOnly: string;
3924
+ isSuitableForFinance: boolean;
3925
+ financeSuitabilityDetails: string;
3926
+ marketValuePresentCondition: number;
3927
+ marketValueAfterRepairs: number;
3928
+ purchasePriceOrBorrowerEstimate: number;
3929
+ buildingInsuranceReinstatementCost: number;
3930
+ isInsurancePremiumLoadingRisk: boolean;
3931
+ insurancePremiumLoadingDetails: string;
3932
+ }> & {
3933
+ valuationComparativeOnly: string;
3934
+ isSuitableForFinance: boolean;
3935
+ financeSuitabilityDetails: string;
3936
+ marketValuePresentCondition: number;
3937
+ marketValueAfterRepairs: number;
3938
+ purchasePriceOrBorrowerEstimate: number;
3939
+ buildingInsuranceReinstatementCost: number;
3940
+ isInsurancePremiumLoadingRisk: boolean;
3941
+ insurancePremiumLoadingDetails: string;
3942
+ }>;
3943
+ generalRemarks: string;
3944
+ valuersDeclaration: mongoose.Types.DocumentArray<{
3945
+ valuerSignature: number;
3946
+ valuerName: string;
3947
+ onBehalfOf: string;
3948
+ telephone: number;
3949
+ fax: number;
3950
+ email: string;
3951
+ valuerQualifications: mongoose.Types.DocumentArray<{
3952
+ mrics: boolean;
3953
+ frics: boolean;
3954
+ assocRics: boolean;
3955
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3956
+ mrics: boolean;
3957
+ frics: boolean;
3958
+ assocRics: boolean;
3959
+ }> & {
3960
+ mrics: boolean;
3961
+ frics: boolean;
3962
+ assocRics: boolean;
3963
+ }>;
3964
+ ricsNumber: number;
3965
+ valuerAddress: string;
3966
+ valuerPostcode: string;
3967
+ reportDate: number;
3968
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1320
3969
  valuerSignature: number;
1321
3970
  valuerName: string;
1322
3971
  onBehalfOf: string;
1323
3972
  telephone: number;
1324
3973
  fax: number;
1325
3974
  email: string;
3975
+ valuerQualifications: mongoose.Types.DocumentArray<{
3976
+ mrics: boolean;
3977
+ frics: boolean;
3978
+ assocRics: boolean;
3979
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
3980
+ mrics: boolean;
3981
+ frics: boolean;
3982
+ assocRics: boolean;
3983
+ }> & {
3984
+ mrics: boolean;
3985
+ frics: boolean;
3986
+ assocRics: boolean;
3987
+ }>;
1326
3988
  ricsNumber: number;
1327
3989
  valuerAddress: string;
1328
3990
  valuerPostcode: string;
1329
3991
  reportDate: number;
1330
- valuerQualifications?: {
3992
+ }> & {
3993
+ valuerSignature: number;
3994
+ valuerName: string;
3995
+ onBehalfOf: string;
3996
+ telephone: number;
3997
+ fax: number;
3998
+ email: string;
3999
+ valuerQualifications: mongoose.Types.DocumentArray<{
4000
+ mrics: boolean;
4001
+ frics: boolean;
4002
+ assocRics: boolean;
4003
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1331
4004
  mrics: boolean;
1332
4005
  frics: boolean;
1333
4006
  assocRics: boolean;
1334
- } | null | undefined;
1335
- } | null | undefined;
4007
+ }> & {
4008
+ mrics: boolean;
4009
+ frics: boolean;
4010
+ assocRics: boolean;
4011
+ }>;
4012
+ ricsNumber: number;
4013
+ valuerAddress: string;
4014
+ valuerPostcode: string;
4015
+ reportDate: number;
4016
+ }>;
4017
+ extractedText: string;
1336
4018
  }> & {
1337
4019
  _id: mongoose.Types.ObjectId;
1338
4020
  } & {