@pdtf/schemas 3.6.0-dev.7 → 3.6.0-dev.8

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 (130) hide show
  1. package/busy-spence-79c6bf/CLAUDE.md +101 -0
  2. package/busy-spence-79c6bf/LICENSE +21 -0
  3. package/busy-spence-79c6bf/README.md +435 -0
  4. package/busy-spence-79c6bf/docs/branch-release-workflow.md +138 -0
  5. package/busy-spence-79c6bf/docs/sef25-extensions-ui-spec.md +355 -0
  6. package/busy-spence-79c6bf/index.js +654 -0
  7. package/busy-spence-79c6bf/package-lock.json +7299 -0
  8. package/busy-spence-79c6bf/package.json +44 -0
  9. package/busy-spence-79c6bf/scripts/ta6ed6-titles.js +403 -0
  10. package/busy-spence-79c6bf/scripts/ta7ed5-titles.js +183 -0
  11. package/busy-spence-79c6bf/src/examples/v1/exampleAddParticipantVouch.json +32 -0
  12. package/busy-spence-79c6bf/src/examples/v1/exampleDocumentedVouch.json +40 -0
  13. package/busy-spence-79c6bf/src/examples/v1/exampleElectronicRecord.json +30 -0
  14. package/busy-spence-79c6bf/src/examples/v1/exampleTransaction.json +878 -0
  15. package/busy-spence-79c6bf/src/examples/v1/exampleVouch.json +25 -0
  16. package/busy-spence-79c6bf/src/examples/v2/exampleTransaction.json +901 -0
  17. package/busy-spence-79c6bf/src/examples/v3/exampleAddParticipantVouch.json +38 -0
  18. package/busy-spence-79c6bf/src/examples/v3/exampleCustomOverlay.json +55 -0
  19. package/busy-spence-79c6bf/src/examples/v3/exampleCustomOverlay2.json +93 -0
  20. package/busy-spence-79c6bf/src/examples/v3/exampleDocumentedVouch.json +47 -0
  21. package/busy-spence-79c6bf/src/examples/v3/exampleElectronicRecord.json +36 -0
  22. package/busy-spence-79c6bf/src/examples/v3/exampleTransaction.json +1038 -0
  23. package/busy-spence-79c6bf/src/examples/v3/exampleVouch.json +32 -0
  24. package/busy-spence-79c6bf/src/mappings/SendPropertyDetailsRequestSchema.json +1588 -0
  25. package/busy-spence-79c6bf/src/mappings/adf.js +198 -0
  26. package/busy-spence-79c6bf/src/schemas/v1/GeoJSON.json +1279 -0
  27. package/busy-spence-79c6bf/src/schemas/v1/baspiNotes.html +102 -0
  28. package/busy-spence-79c6bf/src/schemas/v1/energy-performance-certificate.json +124 -0
  29. package/busy-spence-79c6bf/src/schemas/v1/freehold-information.json +2051 -0
  30. package/busy-spence-79c6bf/src/schemas/v1/leasehold-information.json +2064 -0
  31. package/busy-spence-79c6bf/src/schemas/v1/legal-information.json +1045 -0
  32. package/busy-spence-79c6bf/src/schemas/v1/material-facts.json +2109 -0
  33. package/busy-spence-79c6bf/src/schemas/v1/pdtf-transaction-search-results.json +40 -0
  34. package/busy-spence-79c6bf/src/schemas/v1/pdtf-transaction.json +191 -0
  35. package/busy-spence-79c6bf/src/schemas/v1/searches/drainage-and-water.json +261 -0
  36. package/busy-spence-79c6bf/src/schemas/v1/searches/local-land-charges.json +69 -0
  37. package/busy-spence-79c6bf/src/schemas/v1/searches/local-searches-required.json +857 -0
  38. package/busy-spence-79c6bf/src/schemas/v1/searches.json +237 -0
  39. package/busy-spence-79c6bf/src/schemas/v1/title-deed.json +841 -0
  40. package/busy-spence-79c6bf/src/schemas/v2/baspiNotes.html +102 -0
  41. package/busy-spence-79c6bf/src/schemas/v2/combined.json +37731 -0
  42. package/busy-spence-79c6bf/src/schemas/v2/overlays/baspi.json +8132 -0
  43. package/busy-spence-79c6bf/src/schemas/v2/overlays/con29DW.json +705 -0
  44. package/busy-spence-79c6bf/src/schemas/v2/overlays/con29R.json +2956 -0
  45. package/busy-spence-79c6bf/src/schemas/v2/overlays/fme1.json +1259 -0
  46. package/busy-spence-79c6bf/src/schemas/v2/overlays/llc1.json +25 -0
  47. package/busy-spence-79c6bf/src/schemas/v2/overlays/lpe1.json +2171 -0
  48. package/busy-spence-79c6bf/src/schemas/v2/overlays/nts.json +326 -0
  49. package/busy-spence-79c6bf/src/schemas/v2/overlays/oc1.json +2799 -0
  50. package/busy-spence-79c6bf/src/schemas/v2/overlays/piq.json +3419 -0
  51. package/busy-spence-79c6bf/src/schemas/v2/overlays/rds.json +3736 -0
  52. package/busy-spence-79c6bf/src/schemas/v2/overlays/ta10.json +5306 -0
  53. package/busy-spence-79c6bf/src/schemas/v2/overlays/ta6.json +4533 -0
  54. package/busy-spence-79c6bf/src/schemas/v2/overlays/ta7.json +1045 -0
  55. package/busy-spence-79c6bf/src/schemas/v2/pdtf-transaction.json +34351 -0
  56. package/busy-spence-79c6bf/src/schemas/v2/skeleton.json +3973 -0
  57. package/busy-spence-79c6bf/src/schemas/v3/combined.json +48643 -0
  58. package/busy-spence-79c6bf/src/schemas/v3/compactSkeleton.txt +4519 -0
  59. package/busy-spence-79c6bf/src/schemas/v3/overlays/README.md +299 -0
  60. package/busy-spence-79c6bf/src/schemas/v3/overlays/baspi4.json +8030 -0
  61. package/busy-spence-79c6bf/src/schemas/v3/overlays/baspi5.json +8180 -0
  62. package/busy-spence-79c6bf/src/schemas/v3/overlays/con29DW.json +716 -0
  63. package/busy-spence-79c6bf/src/schemas/v3/overlays/con29R.json +2981 -0
  64. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/ac.json +334 -0
  65. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/as.json +74 -0
  66. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/dk.json +33 -0
  67. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/dr.json +73 -0
  68. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/er.json +85 -0
  69. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/fd.json +75 -0
  70. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/hi.json +51 -0
  71. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/hs.json +73 -0
  72. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/ic.json +94 -0
  73. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/jk.json +96 -0
  74. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/la.json +85 -0
  75. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/lc.json +76 -0
  76. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/ma.json +90 -0
  77. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/mc.json +38 -0
  78. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/mi.json +70 -0
  79. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/nd.json +44 -0
  80. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/oa.json +24 -0
  81. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/oc.json +57 -0
  82. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/pc.json +38 -0
  83. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/ph.json +195 -0
  84. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/rw.json +69 -0
  85. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/sb.json +73 -0
  86. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/sc.json +133 -0
  87. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/sd.json +64 -0
  88. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/sf.json +74 -0
  89. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/sl.json +68 -0
  90. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/ta.json +204 -0
  91. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/tf.json +103 -0
  92. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/tr.json +74 -0
  93. package/busy-spence-79c6bf/src/schemas/v3/overlays/extensions/wg.json +351 -0
  94. package/busy-spence-79c6bf/src/schemas/v3/overlays/fme1.json +1266 -0
  95. package/busy-spence-79c6bf/src/schemas/v3/overlays/llc1.json +25 -0
  96. package/busy-spence-79c6bf/src/schemas/v3/overlays/lpe1.json +2199 -0
  97. package/busy-spence-79c6bf/src/schemas/v3/overlays/nts.json +2159 -0
  98. package/busy-spence-79c6bf/src/schemas/v3/overlays/nts2.json +2744 -0
  99. package/busy-spence-79c6bf/src/schemas/v3/overlays/ntsl.json +1815 -0
  100. package/busy-spence-79c6bf/src/schemas/v3/overlays/ntsl2.json +2219 -0
  101. package/busy-spence-79c6bf/src/schemas/v3/overlays/oc1.json +2817 -0
  102. package/busy-spence-79c6bf/src/schemas/v3/overlays/piq.json +3324 -0
  103. package/busy-spence-79c6bf/src/schemas/v3/overlays/rds.json +3668 -0
  104. package/busy-spence-79c6bf/src/schemas/v3/overlays/sef25.json +1653 -0
  105. package/busy-spence-79c6bf/src/schemas/v3/overlays/sr24.json +38 -0
  106. package/busy-spence-79c6bf/src/schemas/v3/overlays/ta10.json +4645 -0
  107. package/busy-spence-79c6bf/src/schemas/v3/overlays/ta6.json +4572 -0
  108. package/busy-spence-79c6bf/src/schemas/v3/overlays/ta6ed6.json +6665 -0
  109. package/busy-spence-79c6bf/src/schemas/v3/overlays/ta7.json +1537 -0
  110. package/busy-spence-79c6bf/src/schemas/v3/overlays/ta7ed5.json +1585 -0
  111. package/busy-spence-79c6bf/src/schemas/v3/pdtf-transaction.json +41570 -0
  112. package/busy-spence-79c6bf/src/schemas/v3/skeleton.json +5767 -0
  113. package/busy-spence-79c6bf/src/schemas/verifiedClaims/README.md +21 -0
  114. package/busy-spence-79c6bf/src/schemas/verifiedClaims/pdtf-verified-claims.json +447 -0
  115. package/busy-spence-79c6bf/src/utils/compactSkeleton.js +84 -0
  116. package/busy-spence-79c6bf/src/utils/countTokens.js +67 -0
  117. package/busy-spence-79c6bf/src/utils/extractExtensionOverlays.js +633 -0
  118. package/busy-spence-79c6bf/src/utils/extractOverlay.js +381 -0
  119. package/busy-spence-79c6bf/src/utils/extractProperties.js +44 -0
  120. package/busy-spence-79c6bf/src/utils/listPathTitles.js +36 -0
  121. package/busy-spence-79c6bf/src/utils/minimalSkeleton.js +85 -0
  122. package/busy-spence-79c6bf/src/utils/pathList.csv +903 -0
  123. package/busy-spence-79c6bf/src/utils/pathSkeleton.js +181 -0
  124. package/busy-spence-79c6bf/ta6ed6-titles-plan.md +118 -0
  125. package/busy-spence-79c6bf/ta7ed5-titles-spec.md +89 -0
  126. package/package.json +1 -1
  127. package/src/schemas/v3/combined.json +225 -47
  128. package/src/schemas/v3/overlays/llc1.json +1 -2
  129. package/src/schemas/v3/overlays/ta6ed6.json +204 -75
  130. package/src/schemas/v3/overlays/ta7ed5.json +54 -20
@@ -0,0 +1,2219 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://trust.propdata.org.uk/schemas/v3/overlays/ntsl2.json",
4
+ "required": [
5
+ "propertyPack"
6
+ ],
7
+ "properties": {
8
+ "propertyPack": {
9
+ "ntsl2Ref": "0",
10
+ "required": [
11
+ "lettingInformation",
12
+ "councilTax",
13
+ "energyEfficiency",
14
+ "buildInformation",
15
+ "typeOfConstruction",
16
+ "electricity",
17
+ "connectivity",
18
+ "waterAndDrainage",
19
+ "heating",
20
+ "parking",
21
+ "listingAndConservation",
22
+ "rightsAndInformalArrangements",
23
+ "environmentalIssues",
24
+ "notices",
25
+ "specialistIssues"
26
+ ],
27
+ "properties": {
28
+ "lettingInformation": {
29
+ "ntsl2Ref": "A2",
30
+ "required": [
31
+ "rent",
32
+ "rentFrequency"
33
+ ],
34
+ "properties": {
35
+ "rent": {
36
+ "ntsl2Ref": "A2.1"
37
+ },
38
+ "rentFrequency": {
39
+ "ntsl2Ref": "A2.2"
40
+ },
41
+ "securityDeposit": {
42
+ "ntsl2Ref": "A3.1"
43
+ },
44
+ "holdingDeposit": {
45
+ "ntsl2Ref": "A3.2"
46
+ }
47
+ }
48
+ },
49
+ "buildInformation": {
50
+ "ntsl2Ref": "B1.1",
51
+ "required": [
52
+ "building"
53
+ ],
54
+ "properties": {
55
+ "building": {
56
+ "ntsl2Ref": "B1.1.1",
57
+ "discriminator": {
58
+ "propertyName": "propertyType"
59
+ },
60
+ "oneOf": [
61
+ {
62
+ "properties": {
63
+ "propertyType": {
64
+ "enum": [
65
+ "Other"
66
+ ]
67
+ },
68
+ "otherType": {
69
+ "ntsl2Ref": "B1.1.1.1"
70
+ }
71
+ },
72
+ "required": [
73
+ "otherType"
74
+ ]
75
+ },
76
+ {
77
+ "properties": {
78
+ "propertyType": {
79
+ "enum": [
80
+ "House",
81
+ "Bungalow",
82
+ "Park home"
83
+ ]
84
+ }
85
+ }
86
+ },
87
+ {
88
+ "properties": {
89
+ "propertyType": {
90
+ "enum": [
91
+ "Maisonette",
92
+ "Flat"
93
+ ]
94
+ },
95
+ "numberOfFloors": {
96
+ "ntsl2Ref": "B1.1.3"
97
+ },
98
+ "entranceFloor": {
99
+ "ntsl2Ref": "B1.1.4"
100
+ },
101
+ "hasLift": {
102
+ "ntsl2Ref": "B1.1.5"
103
+ },
104
+ "overCommercialPremises": {
105
+ "ntsl2Ref": "B1.1.6",
106
+ "discriminator": {
107
+ "propertyName": "isLocatedOverCommercialPremises"
108
+ },
109
+ "oneOf": [
110
+ {
111
+ "properties": {
112
+ "isLocatedOverCommercialPremises": {
113
+ "enum": [
114
+ "No"
115
+ ]
116
+ }
117
+ }
118
+ },
119
+ {
120
+ "properties": {
121
+ "isLocatedOverCommercialPremises": {
122
+ "enum": [
123
+ "Yes"
124
+ ]
125
+ },
126
+ "details": {
127
+ "ntsl2Ref": "B1.1.6.2"
128
+ }
129
+ },
130
+ "required": [
131
+ "details"
132
+ ]
133
+ }
134
+ ],
135
+ "properties": {
136
+ "isLocatedOverCommercialPremises": {
137
+ "ntsl2Ref": "B1.1.6.1"
138
+ }
139
+ }
140
+ }
141
+ }
142
+ }
143
+ ],
144
+ "required": [
145
+ "builtForm",
146
+ "propertyType"
147
+ ],
148
+ "properties": {
149
+ "builtForm": {
150
+ "ntsl2Ref": "B1.1.2"
151
+ },
152
+ "propertyType": {
153
+ "ntsl2Ref": "B1.1.1.1"
154
+ }
155
+ }
156
+ },
157
+ "roomDimensions": {
158
+ "ntsl2Ref": "B2",
159
+ "discriminator": {
160
+ "propertyName": "hasFloorplan"
161
+ },
162
+ "oneOf": [
163
+ {
164
+ "properties": {
165
+ "hasFloorplan": {
166
+ "enum": [
167
+ "Yes"
168
+ ]
169
+ },
170
+ "attachments": {
171
+ "ntsl2Ref": "B2.1.1"
172
+ }
173
+ }
174
+ },
175
+ {
176
+ "properties": {
177
+ "hasFloorplan": {
178
+ "enum": [
179
+ "No"
180
+ ]
181
+ },
182
+ "rooms": {
183
+ "ntsl2Ref": "B2.2",
184
+ "items": {
185
+ "required": [
186
+ "roomName",
187
+ "length",
188
+ "width",
189
+ "units"
190
+ ],
191
+ "properties": {
192
+ "roomName": {
193
+ "ntsl2Ref": "B2.2.1"
194
+ },
195
+ "description": {
196
+ "ntsl2Ref": "B2.2.2"
197
+ },
198
+ "length": {
199
+ "ntsl2Ref": "B2.2.3"
200
+ },
201
+ "width": {
202
+ "ntsl2Ref": "B2.2.4"
203
+ },
204
+ "units": {
205
+ "ntsl2Ref": "B2.2.5"
206
+ },
207
+ "dimensionDetails": {
208
+ "ntsl2Ref": "B2.6"
209
+ }
210
+ }
211
+ }
212
+ }
213
+ }
214
+ }
215
+ ],
216
+ "required": [
217
+ "hasFloorplan"
218
+ ],
219
+ "properties": {
220
+ "hasFloorplan": {
221
+ "ntsl2Ref": "B2.1"
222
+ }
223
+ }
224
+ }
225
+ }
226
+ },
227
+ "residentialPropertyFeatures": {
228
+ "ntsl2Ref": "B5",
229
+ "required": [
230
+ "outsideAreas"
231
+ ],
232
+ "properties": {
233
+ "bedrooms": {
234
+ "ntsl2Ref": "B5.1"
235
+ },
236
+ "bathrooms": {
237
+ "ntsl2Ref": "B5.2"
238
+ },
239
+ "receptions": {
240
+ "ntsl2Ref": "B5.3"
241
+ },
242
+ "kitchens": {
243
+ "ntsl2Ref": "B5.4"
244
+ },
245
+ "diningAreas": {
246
+ "ntsl2Ref": "B5.5"
247
+ },
248
+ "outsideAreas": {
249
+ "ntsl2Ref": "B5.1"
250
+ }
251
+ }
252
+ },
253
+ "parking": {
254
+ "ntsl2Ref": "B4",
255
+ "required": [
256
+ "parkingArrangements",
257
+ "disabledParking",
258
+ "controlledParking",
259
+ "electricVehicleChargingPoint"
260
+ ],
261
+ "properties": {
262
+ "parkingArrangements": {
263
+ "ntsl2Ref": "B4.1",
264
+ "items": {
265
+ "ntsl2Ref": "B4.1.1"
266
+ }
267
+ },
268
+ "disabledParking": {
269
+ "ntsl2Ref": "B4.2",
270
+ "required": [
271
+ "yesNo"
272
+ ],
273
+ "properties": {
274
+ "yesNo": {
275
+ "ntsl2Ref": "B4.2.1"
276
+ }
277
+ }
278
+ },
279
+ "controlledParking": {
280
+ "ntsl2Ref": "B4.3",
281
+ "discriminator": {
282
+ "propertyName": "yesNo"
283
+ },
284
+ "oneOf": [
285
+ {
286
+ "properties": {
287
+ "yesNo": {
288
+ "enum": [
289
+ "No",
290
+ "Not known"
291
+ ]
292
+ }
293
+ }
294
+ },
295
+ {
296
+ "properties": {
297
+ "yesNo": {
298
+ "enum": [
299
+ "Yes"
300
+ ]
301
+ }
302
+ }
303
+ }
304
+ ],
305
+ "required": [
306
+ "yesNo"
307
+ ],
308
+ "properties": {
309
+ "yesNo": {
310
+ "ntsl2Ref": "B4.3.1"
311
+ }
312
+ }
313
+ },
314
+ "electricVehicleChargingPoint": {
315
+ "ntsl2Ref": "B4.4",
316
+ "discriminator": {
317
+ "propertyName": "yesNo"
318
+ },
319
+ "oneOf": [
320
+ {
321
+ "properties": {
322
+ "yesNo": {
323
+ "enum": [
324
+ "No"
325
+ ]
326
+ }
327
+ }
328
+ },
329
+ {
330
+ "properties": {
331
+ "yesNo": {
332
+ "enum": [
333
+ "Yes"
334
+ ]
335
+ }
336
+ }
337
+ }
338
+ ],
339
+ "required": [
340
+ "yesNo"
341
+ ],
342
+ "properties": {
343
+ "yesNo": {
344
+ "ntsl2Ref": "B4.4.1"
345
+ }
346
+ }
347
+ }
348
+ }
349
+ },
350
+ "listingAndConservation": {
351
+ "ntsl2Ref": "C2.1",
352
+ "required": [
353
+ "isListed",
354
+ "isConservationArea",
355
+ "hasTreePreservationOrder"
356
+ ],
357
+ "properties": {
358
+ "isListed": {
359
+ "ntsl2Ref": "C2.1.1",
360
+ "discriminator": {
361
+ "propertyName": "yesNo"
362
+ },
363
+ "oneOf": [
364
+ {
365
+ "properties": {
366
+ "yesNo": {
367
+ "enum": [
368
+ "No",
369
+ "Not known"
370
+ ]
371
+ }
372
+ }
373
+ },
374
+ {
375
+ "properties": {
376
+ "yesNo": {
377
+ "enum": [
378
+ "Yes"
379
+ ]
380
+ },
381
+ "details": {
382
+ "ntsl2Ref": "C2.1.1.2"
383
+ }
384
+ },
385
+ "required": [
386
+ "details"
387
+ ]
388
+ }
389
+ ],
390
+ "required": [
391
+ "yesNo"
392
+ ],
393
+ "properties": {
394
+ "yesNo": {
395
+ "ntsl2Ref": "C2.1.1.1",
396
+ "enum": [
397
+ "Yes",
398
+ "No"
399
+ ]
400
+ }
401
+ }
402
+ },
403
+ "isConservationArea": {
404
+ "ntsl2Ref": "C2.1.2",
405
+ "discriminator": {
406
+ "propertyName": "yesNo"
407
+ },
408
+ "oneOf": [
409
+ {
410
+ "properties": {
411
+ "yesNo": {
412
+ "enum": [
413
+ "No",
414
+ "Not known"
415
+ ]
416
+ }
417
+ }
418
+ },
419
+ {
420
+ "properties": {
421
+ "yesNo": {
422
+ "enum": [
423
+ "Yes"
424
+ ]
425
+ },
426
+ "details": {
427
+ "ntsl2Ref": "C2.1.2.2"
428
+ }
429
+ },
430
+ "required": [
431
+ "details"
432
+ ]
433
+ }
434
+ ],
435
+ "required": [
436
+ "yesNo"
437
+ ],
438
+ "properties": {
439
+ "yesNo": {
440
+ "ntsl2Ref": "C2.1.2.1",
441
+ "enum": [
442
+ "Yes",
443
+ "No"
444
+ ]
445
+ }
446
+ }
447
+ },
448
+ "hasTreePreservationOrder": {
449
+ "ntsl2Ref": "C2.1.3",
450
+ "discriminator": {
451
+ "propertyName": "yesNo"
452
+ },
453
+ "oneOf": [
454
+ {
455
+ "properties": {
456
+ "yesNo": {
457
+ "enum": [
458
+ "No",
459
+ "Not known"
460
+ ]
461
+ }
462
+ }
463
+ },
464
+ {
465
+ "properties": {
466
+ "yesNo": {
467
+ "enum": [
468
+ "Yes"
469
+ ]
470
+ },
471
+ "workCarriedOut": {
472
+ "ntsl2Ref": "C2.1.3.2",
473
+ "discriminator": {
474
+ "propertyName": "yesNo"
475
+ },
476
+ "oneOf": [
477
+ {
478
+ "properties": {
479
+ "yesNo": {
480
+ "enum": [
481
+ "No"
482
+ ]
483
+ }
484
+ }
485
+ },
486
+ {
487
+ "properties": {
488
+ "yesNo": {
489
+ "enum": [
490
+ "Yes"
491
+ ]
492
+ },
493
+ "consentsObtained": {
494
+ "ntsl2Ref": "C2.1.3.3"
495
+ }
496
+ },
497
+ "required": [
498
+ "consentsObtained"
499
+ ]
500
+ }
501
+ ],
502
+ "required": [
503
+ "yesNo"
504
+ ]
505
+ }
506
+ }
507
+ }
508
+ ],
509
+ "required": [
510
+ "yesNo"
511
+ ],
512
+ "properties": {
513
+ "yesNo": {
514
+ "ntsl2Ref": "C2.1.3.1",
515
+ "enum": [
516
+ "Yes",
517
+ "No"
518
+ ]
519
+ }
520
+ }
521
+ }
522
+ }
523
+ },
524
+ "typeOfConstruction": {
525
+ "ntsl2Ref": "A1.2",
526
+ "required": [
527
+ "isStandardForm",
528
+ "buildingSafety",
529
+ "loft",
530
+ "sprayFoamInsulation"
531
+ ],
532
+ "properties": {
533
+ "isStandardForm": {
534
+ "ntsl2Ref": "A1.2.1",
535
+ "discriminator": {
536
+ "propertyName": "yesNo"
537
+ },
538
+ "oneOf": [
539
+ {
540
+ "properties": {
541
+ "yesNo": {
542
+ "enum": [
543
+ "Yes"
544
+ ]
545
+ },
546
+ "constructionType": {
547
+ "ntsl2Ref": "A1.2.1.3"
548
+ }
549
+ },
550
+ "required": [
551
+ "constructionType"
552
+ ]
553
+ },
554
+ {
555
+ "properties": {
556
+ "yesNo": {
557
+ "enum": [
558
+ "No"
559
+ ]
560
+ },
561
+ "details": {
562
+ "ntsl2Ref": "A1.2.1.2"
563
+ }
564
+ },
565
+ "required": [
566
+ "details"
567
+ ]
568
+ }
569
+ ],
570
+ "required": [
571
+ "yesNo"
572
+ ],
573
+ "properties": {
574
+ "yesNo": {
575
+ "ntsl2Ref": "A1.2.1.1"
576
+ }
577
+ }
578
+ },
579
+ "buildingSafety": {
580
+ "ntsl2Ref": "C1",
581
+ "discriminator": {
582
+ "propertyName": "yesNo"
583
+ },
584
+ "oneOf": [
585
+ {
586
+ "properties": {
587
+ "yesNo": {
588
+ "enum": [
589
+ "No",
590
+ "Not applicable",
591
+ "Not known"
592
+ ]
593
+ }
594
+ }
595
+ },
596
+ {
597
+ "properties": {
598
+ "yesNo": {
599
+ "enum": [
600
+ "Yes"
601
+ ]
602
+ },
603
+ "details": {
604
+ "ntsl2Ref": "C1.2"
605
+ },
606
+ "workAlreadyDone": {
607
+ "ntsl2Ref": "C1.3"
608
+ },
609
+ "workToBeDone": {
610
+ "ntsl2Ref": "C1.4"
611
+ },
612
+ "potentialCost": {
613
+ "ntsl2Ref": "C1.5"
614
+ },
615
+ "abilityToResideAtProperty": {
616
+ "ntsl2Ref": "C1.6"
617
+ }
618
+ }
619
+ }
620
+ ],
621
+ "required": [
622
+ "yesNo"
623
+ ],
624
+ "properties": {
625
+ "yesNo": {
626
+ "ntsl2Ref": "C1.1",
627
+ "enum": [
628
+ "Yes",
629
+ "No"
630
+ ]
631
+ }
632
+ }
633
+ },
634
+ "loft": {
635
+ "ntsl2Ref": "A1.2.4",
636
+ "discriminator": {
637
+ "propertyName": "loftAccess"
638
+ },
639
+ "oneOf": [
640
+ {
641
+ "properties": {
642
+ "loftAccess": {
643
+ "enum": [
644
+ "No"
645
+ ]
646
+ }
647
+ }
648
+ },
649
+ {
650
+ "properties": {
651
+ "loftAccess": {
652
+ "enum": [
653
+ "Yes"
654
+ ]
655
+ },
656
+ "details": {
657
+ "ntsl2Ref": "A1.2.4.2"
658
+ },
659
+ "loftBoarded": {
660
+ "ntsl2Ref": "A1.2.4.3"
661
+ },
662
+ "loftInsulated": {
663
+ "ntsl2Ref": "A1.2.4.4"
664
+ }
665
+ },
666
+ "required": [
667
+ "details",
668
+ "loftBoarded",
669
+ "loftInsulated"
670
+ ]
671
+ }
672
+ ],
673
+ "required": [
674
+ "loftAccess"
675
+ ],
676
+ "properties": {
677
+ "loftAccess": {
678
+ "ntsl2Ref": "A1.2.4.1"
679
+ }
680
+ }
681
+ },
682
+ "sprayFoamInsulation": {
683
+ "ntsl2Ref": "A4.2",
684
+ "discriminator": {
685
+ "propertyName": "hasSprayFoamInstalled"
686
+ },
687
+ "oneOf": [
688
+ {
689
+ "properties": {
690
+ "hasSprayFoamInstalled": {
691
+ "enum": [
692
+ "No"
693
+ ]
694
+ }
695
+ }
696
+ },
697
+ {
698
+ "properties": {
699
+ "hasSprayFoamInstalled": {
700
+ "enum": [
701
+ "Yes"
702
+ ]
703
+ },
704
+ "details": {
705
+ "ntsl2Ref": "A4.2.2",
706
+ "title": "Please give details"
707
+ }
708
+ },
709
+ "required": [
710
+ "details"
711
+ ]
712
+ }
713
+ ],
714
+ "required": [
715
+ "hasSprayFoamInstalled"
716
+ ],
717
+ "properties": {
718
+ "hasSprayFoamInstalled": {
719
+ "ntsl2Ref": "A4.2.1"
720
+ }
721
+ }
722
+ },
723
+ "accessibilityAndAdaptations": {
724
+ "ntsl2Ref": "C5"
725
+ }
726
+ }
727
+ },
728
+ "energyEfficiency": {
729
+ "ntsl2Ref": "A4",
730
+ "required": [
731
+ "certificate"
732
+ ],
733
+ "properties": {
734
+ "certificate": {
735
+ "ntsl2Ref": "A4.1",
736
+ "required": [
737
+ "currentEnergyRating"
738
+ ],
739
+ "properties": {
740
+ "currentEnergyRating": {
741
+ "ntsl2Ref": "A4.1.1"
742
+ }
743
+ }
744
+ }
745
+ }
746
+ },
747
+ "councilTax": {
748
+ "ntsl2Ref": "A1",
749
+ "required": [
750
+ "councilTaxBand",
751
+ "councilTaxAffectingAlterations"
752
+ ],
753
+ "properties": {
754
+ "councilTaxBand": {
755
+ "ntsl2Ref": "A1.1"
756
+ },
757
+ "councilTaxAffectingAlterations": {
758
+ "ntsl2Ref": "A1.2",
759
+ "discriminator": {
760
+ "propertyName": "yesNo"
761
+ },
762
+ "oneOf": [
763
+ {
764
+ "properties": {
765
+ "yesNo": {
766
+ "enum": [
767
+ "No"
768
+ ]
769
+ }
770
+ }
771
+ },
772
+ {
773
+ "properties": {
774
+ "yesNo": {
775
+ "enum": [
776
+ "Yes"
777
+ ]
778
+ },
779
+ "details": {
780
+ "ntsl2Ref": "A1.2.2"
781
+ },
782
+ "attachments": {
783
+ "ntsl2Ref": "A1.2.3"
784
+ }
785
+ },
786
+ "required": [
787
+ "details"
788
+ ]
789
+ }
790
+ ],
791
+ "required": [
792
+ "yesNo"
793
+ ],
794
+ "properties": {
795
+ "yesNo": {
796
+ "ntsl2Ref": "A1.2.1"
797
+ }
798
+ }
799
+ }
800
+ }
801
+ },
802
+ "notices": {
803
+ "ntsl2Ref": "C4",
804
+ "required": [
805
+ "neighbourDevelopment",
806
+ "planningApplication"
807
+ ],
808
+ "properties": {
809
+ "neighbourDevelopment": {
810
+ "ntsl2Ref": "C4.1",
811
+ "discriminator": {
812
+ "propertyName": "yesNo"
813
+ },
814
+ "oneOf": [
815
+ {
816
+ "properties": {
817
+ "yesNo": {
818
+ "enum": [
819
+ "No"
820
+ ]
821
+ }
822
+ }
823
+ },
824
+ {
825
+ "properties": {
826
+ "yesNo": {
827
+ "enum": [
828
+ "Yes"
829
+ ]
830
+ },
831
+ "details": {
832
+ "ntsl2Ref": "C4.1.2"
833
+ }
834
+ },
835
+ "required": [
836
+ "details"
837
+ ]
838
+ }
839
+ ],
840
+ "required": [
841
+ "yesNo"
842
+ ],
843
+ "properties": {
844
+ "yesNo": {
845
+ "ntsl2Ref": "C4.1.1"
846
+ }
847
+ }
848
+ },
849
+ "planningApplication": {
850
+ "ntsl2Ref": "C4.2",
851
+ "discriminator": {
852
+ "propertyName": "yesNo"
853
+ },
854
+ "oneOf": [
855
+ {
856
+ "properties": {
857
+ "yesNo": {
858
+ "enum": [
859
+ "No"
860
+ ]
861
+ }
862
+ }
863
+ },
864
+ {
865
+ "properties": {
866
+ "yesNo": {
867
+ "enum": [
868
+ "Yes"
869
+ ]
870
+ },
871
+ "details": {
872
+ "ntsl2Ref": "C4.2.2"
873
+ }
874
+ },
875
+ "required": [
876
+ "details"
877
+ ]
878
+ }
879
+ ],
880
+ "required": [
881
+ "yesNo"
882
+ ],
883
+ "properties": {
884
+ "yesNo": {
885
+ "ntsl2Ref": "C4.2.1"
886
+ }
887
+ }
888
+ }
889
+ }
890
+ },
891
+ "specialistIssues": {
892
+ "ntsl2Ref": "A5",
893
+ "required": [
894
+ "dryRotEtcTreatment",
895
+ "containsAsbestos",
896
+ "japaneseKnotweed",
897
+ "subsidenceOrStructuralFault",
898
+ "ongoingHealthOrSafetyIssue"
899
+ ],
900
+ "properties": {
901
+ "dryRotEtcTreatment": {
902
+ "ntsl2Ref": "A5.1",
903
+ "discriminator": {
904
+ "propertyName": "yesNo"
905
+ },
906
+ "oneOf": [
907
+ {
908
+ "properties": {
909
+ "yesNo": {
910
+ "enum": [
911
+ "No"
912
+ ]
913
+ }
914
+ }
915
+ },
916
+ {
917
+ "properties": {
918
+ "yesNo": {
919
+ "enum": [
920
+ "Yes"
921
+ ]
922
+ },
923
+ "details": {
924
+ "ntsl2Ref": "A5.1.2"
925
+ }
926
+ },
927
+ "required": [
928
+ "details"
929
+ ]
930
+ }
931
+ ],
932
+ "required": [
933
+ "yesNo"
934
+ ],
935
+ "properties": {
936
+ "yesNo": {
937
+ "ntsl2Ref": "A5.1.1"
938
+ }
939
+ }
940
+ },
941
+ "containsAsbestos": {
942
+ "ntsl2Ref": "A5.2",
943
+ "discriminator": {
944
+ "propertyName": "yesNo"
945
+ },
946
+ "oneOf": [
947
+ {
948
+ "properties": {
949
+ "yesNo": {
950
+ "enum": [
951
+ "No"
952
+ ]
953
+ }
954
+ }
955
+ },
956
+ {
957
+ "properties": {
958
+ "yesNo": {
959
+ "enum": [
960
+ "Yes"
961
+ ]
962
+ },
963
+ "details": {
964
+ "ntsl2Ref": "A5.2.2",
965
+ "title": "Details"
966
+ }
967
+ },
968
+ "required": [
969
+ "details"
970
+ ]
971
+ }
972
+ ],
973
+ "required": [
974
+ "yesNo"
975
+ ],
976
+ "properties": {
977
+ "yesNo": {
978
+ "ntsl2Ref": "A5.2.1"
979
+ }
980
+ }
981
+ },
982
+ "japaneseKnotweed": {
983
+ "ntsl2Ref": "A5.3",
984
+ "discriminator": {
985
+ "propertyName": "yesNo"
986
+ },
987
+ "oneOf": [
988
+ {
989
+ "properties": {
990
+ "yesNo": {
991
+ "enum": [
992
+ "No",
993
+ "Not known"
994
+ ]
995
+ }
996
+ }
997
+ },
998
+ {
999
+ "properties": {
1000
+ "yesNo": {
1001
+ "enum": [
1002
+ "Yes"
1003
+ ]
1004
+ },
1005
+ "managementPlanInPlace": {
1006
+ "ntsl2Ref": "A5.3.2"
1007
+ }
1008
+ },
1009
+ "required": [
1010
+ "managementPlanInPlace"
1011
+ ]
1012
+ }
1013
+ ],
1014
+ "required": [
1015
+ "yesNo"
1016
+ ],
1017
+ "properties": {
1018
+ "yesNo": {
1019
+ "ntsl2Ref": "A5.3.1"
1020
+ }
1021
+ }
1022
+ },
1023
+ "subsidenceOrStructuralFault": {
1024
+ "ntsl2Ref": "A5.4",
1025
+ "discriminator": {
1026
+ "propertyName": "yesNo"
1027
+ },
1028
+ "oneOf": [
1029
+ {
1030
+ "properties": {
1031
+ "yesNo": {
1032
+ "enum": [
1033
+ "No"
1034
+ ]
1035
+ }
1036
+ }
1037
+ },
1038
+ {
1039
+ "properties": {
1040
+ "yesNo": {
1041
+ "enum": [
1042
+ "Yes"
1043
+ ]
1044
+ },
1045
+ "details": {
1046
+ "ntsl2Ref": "A5.4.2"
1047
+ }
1048
+ },
1049
+ "required": [
1050
+ "details"
1051
+ ]
1052
+ }
1053
+ ],
1054
+ "required": [
1055
+ "yesNo"
1056
+ ],
1057
+ "properties": {
1058
+ "yesNo": {
1059
+ "ntsl2Ref": "A5.4.1"
1060
+ }
1061
+ }
1062
+ },
1063
+ "ongoingHealthOrSafetyIssue": {
1064
+ "ntsl2Ref": "A5.5",
1065
+ "discriminator": {
1066
+ "propertyName": "yesNo"
1067
+ },
1068
+ "oneOf": [
1069
+ {
1070
+ "properties": {
1071
+ "yesNo": {
1072
+ "enum": [
1073
+ "No"
1074
+ ]
1075
+ }
1076
+ }
1077
+ },
1078
+ {
1079
+ "properties": {
1080
+ "yesNo": {
1081
+ "enum": [
1082
+ "Yes"
1083
+ ]
1084
+ },
1085
+ "details": {
1086
+ "ntsl2Ref": "A5.5.2"
1087
+ }
1088
+ },
1089
+ "required": [
1090
+ "details"
1091
+ ]
1092
+ }
1093
+ ],
1094
+ "required": [
1095
+ "yesNo"
1096
+ ],
1097
+ "properties": {
1098
+ "yesNo": {
1099
+ "ntsl2Ref": "A5.5.1"
1100
+ }
1101
+ }
1102
+ }
1103
+ }
1104
+ },
1105
+ "electricity": {
1106
+ "ntsl2Ref": "B3.1",
1107
+ "required": [
1108
+ "mainsElectricity",
1109
+ "solarPanels",
1110
+ "heatPump",
1111
+ "otherSources"
1112
+ ],
1113
+ "properties": {
1114
+ "mainsElectricity": {
1115
+ "ntsl2Ref": "B3.1",
1116
+ "discriminator": {
1117
+ "propertyName": "yesNo"
1118
+ },
1119
+ "oneOf": [
1120
+ {
1121
+ "properties": {
1122
+ "yesNo": {
1123
+ "enum": [
1124
+ "No"
1125
+ ]
1126
+ }
1127
+ }
1128
+ },
1129
+ {
1130
+ "properties": {
1131
+ "yesNo": {
1132
+ "enum": [
1133
+ "Yes"
1134
+ ]
1135
+ }
1136
+ }
1137
+ },
1138
+ {
1139
+ "properties": {
1140
+ "yesNo": {
1141
+ "enum": [
1142
+ "To be connected"
1143
+ ]
1144
+ }
1145
+ }
1146
+ }
1147
+ ],
1148
+ "required": [
1149
+ "yesNo"
1150
+ ],
1151
+ "properties": {
1152
+ "yesNo": {
1153
+ "ntsl2Ref": "B3.1.1",
1154
+ "enum": [
1155
+ "Yes",
1156
+ "No"
1157
+ ]
1158
+ }
1159
+ }
1160
+ },
1161
+ "solarPanels": {
1162
+ "ntsl2Ref": "B3.7",
1163
+ "discriminator": {
1164
+ "propertyName": "yesNo"
1165
+ },
1166
+ "oneOf": [
1167
+ {
1168
+ "properties": {
1169
+ "yesNo": {
1170
+ "enum": [
1171
+ "No"
1172
+ ]
1173
+ }
1174
+ }
1175
+ },
1176
+ {
1177
+ "properties": {
1178
+ "yesNo": {
1179
+ "enum": [
1180
+ "Yes"
1181
+ ]
1182
+ },
1183
+ "panelsOwnedOutright": {
1184
+ "ntsl2Ref": "B3.7.1",
1185
+ "discriminator": {
1186
+ "propertyName": "yesNo"
1187
+ },
1188
+ "oneOf": [
1189
+ {
1190
+ "properties": {
1191
+ "yesNo": {
1192
+ "enum": [
1193
+ "Yes"
1194
+ ]
1195
+ }
1196
+ }
1197
+ },
1198
+ {
1199
+ "properties": {
1200
+ "yesNo": {
1201
+ "enum": [
1202
+ "No"
1203
+ ]
1204
+ }
1205
+ }
1206
+ }
1207
+ ],
1208
+ "required": [
1209
+ "yesNo"
1210
+ ],
1211
+ "properties": {
1212
+ "yesNo": {
1213
+ "ntsl2Ref": "B3.7.1.1"
1214
+ }
1215
+ }
1216
+ }
1217
+ }
1218
+ },
1219
+ {
1220
+ "properties": {
1221
+ "yesNo": {
1222
+ "enum": [
1223
+ "To be connected"
1224
+ ]
1225
+ }
1226
+ }
1227
+ }
1228
+ ],
1229
+ "required": [
1230
+ "yesNo"
1231
+ ],
1232
+ "properties": {
1233
+ "yesNo": {
1234
+ "ntsl2Ref": "B3.7.1",
1235
+ "enum": [
1236
+ "Yes",
1237
+ "No"
1238
+ ]
1239
+ }
1240
+ }
1241
+ },
1242
+ "heatPump": {
1243
+ "ntsl2Ref": "B3.8",
1244
+ "discriminator": {
1245
+ "propertyName": "yesNo"
1246
+ },
1247
+ "oneOf": [
1248
+ {
1249
+ "properties": {
1250
+ "yesNo": {
1251
+ "enum": [
1252
+ "No"
1253
+ ]
1254
+ }
1255
+ }
1256
+ },
1257
+ {
1258
+ "properties": {
1259
+ "yesNo": {
1260
+ "enum": [
1261
+ "Yes"
1262
+ ]
1263
+ },
1264
+ "details": {
1265
+ "ntsl2Ref": "3.8.2"
1266
+ }
1267
+ },
1268
+ "required": [
1269
+ "details"
1270
+ ]
1271
+ },
1272
+ {
1273
+ "properties": {
1274
+ "yesNo": {
1275
+ "enum": [
1276
+ "To be connected"
1277
+ ]
1278
+ },
1279
+ "details": {
1280
+ "ntsl2Ref": "3.8.2"
1281
+ }
1282
+ }
1283
+ }
1284
+ ],
1285
+ "required": [
1286
+ "yesNo"
1287
+ ],
1288
+ "properties": {
1289
+ "yesNo": {
1290
+ "ntsl2Ref": "B3.8.1",
1291
+ "enum": [
1292
+ "Yes",
1293
+ "No"
1294
+ ]
1295
+ }
1296
+ }
1297
+ },
1298
+ "otherSources": {
1299
+ "ntsl2Ref": "B3.9",
1300
+ "discriminator": {
1301
+ "propertyName": "yesNo"
1302
+ },
1303
+ "oneOf": [
1304
+ {
1305
+ "properties": {
1306
+ "yesNo": {
1307
+ "enum": [
1308
+ "No"
1309
+ ]
1310
+ }
1311
+ }
1312
+ },
1313
+ {
1314
+ "properties": {
1315
+ "yesNo": {
1316
+ "enum": [
1317
+ "Yes"
1318
+ ]
1319
+ },
1320
+ "details": {
1321
+ "ntsl2Ref": "B3.9.2"
1322
+ }
1323
+ },
1324
+ "required": [
1325
+ "details"
1326
+ ]
1327
+ },
1328
+ {
1329
+ "properties": {
1330
+ "yesNo": {
1331
+ "enum": [
1332
+ "To be connected"
1333
+ ]
1334
+ },
1335
+ "details": {
1336
+ "ntsl2Ref": "B3.9.2"
1337
+ }
1338
+ }
1339
+ }
1340
+ ],
1341
+ "required": [
1342
+ "yesNo"
1343
+ ],
1344
+ "properties": {
1345
+ "yesNo": {
1346
+ "ntsl2Ref": "B3.9.1",
1347
+ "enum": [
1348
+ "Yes",
1349
+ "No"
1350
+ ]
1351
+ }
1352
+ }
1353
+ }
1354
+ }
1355
+ },
1356
+ "waterAndDrainage": {
1357
+ "ntsl2Ref": "B3.2",
1358
+ "required": [
1359
+ "water",
1360
+ "drainage"
1361
+ ],
1362
+ "properties": {
1363
+ "water": {
1364
+ "ntsl2Ref": "B3.2",
1365
+ "required": [
1366
+ "mainsWater"
1367
+ ],
1368
+ "properties": {
1369
+ "mainsWater": {
1370
+ "ntsl2Ref": "B3.2",
1371
+ "discriminator": {
1372
+ "propertyName": "yesNo"
1373
+ },
1374
+ "oneOf": [
1375
+ {
1376
+ "properties": {
1377
+ "yesNo": {
1378
+ "enum": [
1379
+ "No"
1380
+ ]
1381
+ },
1382
+ "details": {
1383
+ "ntsl2Ref": "3.2.2"
1384
+ }
1385
+ },
1386
+ "required": [
1387
+ "details"
1388
+ ]
1389
+ },
1390
+ {
1391
+ "properties": {
1392
+ "yesNo": {
1393
+ "enum": [
1394
+ "Yes"
1395
+ ]
1396
+ },
1397
+ "waterMeter": {
1398
+ "ntsl2Ref": "B3.2.1.1",
1399
+ "discriminator": {
1400
+ "propertyName": "isSupplyMetered"
1401
+ },
1402
+ "oneOf": [
1403
+ {
1404
+ "properties": {
1405
+ "isSupplyMetered": {
1406
+ "enum": [
1407
+ "No"
1408
+ ]
1409
+ }
1410
+ }
1411
+ },
1412
+ {
1413
+ "properties": {
1414
+ "isSupplyMetered": {
1415
+ "enum": [
1416
+ "Yes"
1417
+ ]
1418
+ }
1419
+ }
1420
+ }
1421
+ ],
1422
+ "required": [
1423
+ "isSupplyMetered"
1424
+ ],
1425
+ "properties": {
1426
+ "isSupplyMetered": {
1427
+ "ntsl2Ref": "3.2.3"
1428
+ }
1429
+ }
1430
+ }
1431
+ },
1432
+ "required": [
1433
+ "waterMeter"
1434
+ ]
1435
+ },
1436
+ {
1437
+ "properties": {
1438
+ "yesNo": {
1439
+ "enum": [
1440
+ "To be connected"
1441
+ ]
1442
+ }
1443
+ }
1444
+ }
1445
+ ],
1446
+ "required": [
1447
+ "yesNo"
1448
+ ],
1449
+ "properties": {
1450
+ "yesNo": {
1451
+ "ntsl2Ref": "B3.2.1",
1452
+ "enum": [
1453
+ "Yes",
1454
+ "No"
1455
+ ]
1456
+ }
1457
+ }
1458
+ }
1459
+ }
1460
+ },
1461
+ "drainage": {
1462
+ "ntsl2Ref": "B3.3",
1463
+ "required": [
1464
+ "mainsSurfaceWaterDrainage",
1465
+ "mainsFoulDrainage"
1466
+ ],
1467
+ "properties": {
1468
+ "mainsSurfaceWaterDrainage": {
1469
+ "ntsl2Ref": "B3.3.1",
1470
+ "discriminator": {
1471
+ "propertyName": "yesNo"
1472
+ },
1473
+ "oneOf": [
1474
+ {
1475
+ "properties": {
1476
+ "yesNo": {
1477
+ "enum": [
1478
+ "No",
1479
+ "Not known"
1480
+ ]
1481
+ }
1482
+ }
1483
+ },
1484
+ {
1485
+ "properties": {
1486
+ "yesNo": {
1487
+ "enum": [
1488
+ "Yes"
1489
+ ]
1490
+ }
1491
+ }
1492
+ },
1493
+ {
1494
+ "properties": {
1495
+ "yesNo": {
1496
+ "enum": [
1497
+ "To be connected"
1498
+ ]
1499
+ }
1500
+ }
1501
+ }
1502
+ ],
1503
+ "required": [
1504
+ "yesNo"
1505
+ ],
1506
+ "properties": {
1507
+ "yesNo": {
1508
+ "ntsl2Ref": "B3.3.1.1",
1509
+ "enum": [
1510
+ "Yes",
1511
+ "No"
1512
+ ]
1513
+ }
1514
+ }
1515
+ },
1516
+ "mainsFoulDrainage": {
1517
+ "ntsl2Ref": "B3.3.2",
1518
+ "discriminator": {
1519
+ "propertyName": "yesNo"
1520
+ },
1521
+ "oneOf": [
1522
+ {
1523
+ "properties": {
1524
+ "yesNo": {
1525
+ "enum": [
1526
+ "Yes"
1527
+ ]
1528
+ }
1529
+ }
1530
+ },
1531
+ {
1532
+ "properties": {
1533
+ "yesNo": {
1534
+ "enum": [
1535
+ "To be connected"
1536
+ ]
1537
+ }
1538
+ }
1539
+ },
1540
+ {
1541
+ "properties": {
1542
+ "yesNo": {
1543
+ "enum": [
1544
+ "No",
1545
+ "Not known"
1546
+ ]
1547
+ },
1548
+ "offMainsDrainageSystem": {
1549
+ "ntsl2Ref": "B3.3.3",
1550
+ "discriminator": {
1551
+ "propertyName": "offMainsDrainageSystemType"
1552
+ },
1553
+ "oneOf": [
1554
+ {
1555
+ "properties": {
1556
+ "offMainsDrainageSystemType": {
1557
+ "enum": [
1558
+ "Sustainable Drainage System"
1559
+ ]
1560
+ }
1561
+ }
1562
+ },
1563
+ {
1564
+ "properties": {
1565
+ "offMainsDrainageSystemType": {
1566
+ "enum": [
1567
+ "Septic tank"
1568
+ ]
1569
+ }
1570
+ }
1571
+ },
1572
+ {
1573
+ "properties": {
1574
+ "offMainsDrainageSystemType": {
1575
+ "enum": [
1576
+ "Cesspit"
1577
+ ]
1578
+ }
1579
+ }
1580
+ },
1581
+ {
1582
+ "properties": {
1583
+ "offMainsDrainageSystemType": {
1584
+ "enum": [
1585
+ "Sewerage treatment plant"
1586
+ ]
1587
+ }
1588
+ }
1589
+ },
1590
+ {
1591
+ "properties": {
1592
+ "offMainsDrainageSystemType": {
1593
+ "enum": [
1594
+ "Other",
1595
+ "Not known"
1596
+ ]
1597
+ },
1598
+ "details": {
1599
+ "ntsl2Ref": "B3.3.3.2"
1600
+ }
1601
+ },
1602
+ "required": [
1603
+ "details"
1604
+ ]
1605
+ }
1606
+ ],
1607
+ "required": [
1608
+ "offMainsDrainageSystemType"
1609
+ ],
1610
+ "properties": {
1611
+ "offMainsDrainageSystemType": {
1612
+ "ntsl2Ref": "B3.3.3.1"
1613
+ }
1614
+ }
1615
+ }
1616
+ },
1617
+ "required": [
1618
+ "offMainsDrainageSystem"
1619
+ ]
1620
+ }
1621
+ ],
1622
+ "required": [
1623
+ "yesNo"
1624
+ ],
1625
+ "properties": {
1626
+ "yesNo": {
1627
+ "ntsl2Ref": "B3.3.2.1",
1628
+ "enum": [
1629
+ "Yes",
1630
+ "No"
1631
+ ]
1632
+ }
1633
+ }
1634
+ }
1635
+ }
1636
+ }
1637
+ }
1638
+ },
1639
+ "heating": {
1640
+ "ntsl2Ref": "B3.4",
1641
+ "required": [
1642
+ "heatingSystem"
1643
+ ],
1644
+ "properties": {
1645
+ "heatingSystem": {
1646
+ "ntsl2Ref": "B3.4.1",
1647
+ "discriminator": {
1648
+ "propertyName": "heatingType"
1649
+ },
1650
+ "oneOf": [
1651
+ {
1652
+ "properties": {
1653
+ "heatingType": {
1654
+ "enum": [
1655
+ "None",
1656
+ "Room heaters only"
1657
+ ]
1658
+ }
1659
+ }
1660
+ },
1661
+ {
1662
+ "properties": {
1663
+ "heatingType": {
1664
+ "enum": [
1665
+ "Central heating"
1666
+ ]
1667
+ },
1668
+ "centralHeatingDetails": {
1669
+ "ntsl2Ref": "B3.4.3",
1670
+ "required": [
1671
+ "centralHeatingFuel",
1672
+ "centralHeatingInstalled"
1673
+ ],
1674
+ "properties": {
1675
+ "centralHeatingFuel": {
1676
+ "ntsl2Ref": "B3.4.3.1",
1677
+ "discriminator": {
1678
+ "propertyName": "centralHeatingFuelType"
1679
+ },
1680
+ "oneOf": [
1681
+ {
1682
+ "properties": {
1683
+ "centralHeatingFuelType": {
1684
+ "enum": [
1685
+ "Mains gas"
1686
+ ]
1687
+ }
1688
+ }
1689
+ },
1690
+ {
1691
+ "properties": {
1692
+ "centralHeatingFuelType": {
1693
+ "enum": [
1694
+ "Electricity"
1695
+ ]
1696
+ }
1697
+ }
1698
+ },
1699
+ {
1700
+ "properties": {
1701
+ "centralHeatingFuelType": {
1702
+ "enum": [
1703
+ "Oil",
1704
+ "LPG",
1705
+ "Biomass"
1706
+ ]
1707
+ }
1708
+ }
1709
+ },
1710
+ {
1711
+ "properties": {
1712
+ "centralHeatingFuelType": {
1713
+ "enum": [
1714
+ "Other"
1715
+ ]
1716
+ }
1717
+ }
1718
+ }
1719
+ ],
1720
+ "required": [
1721
+ "centralHeatingFuelType"
1722
+ ],
1723
+ "properties": {
1724
+ "centralHeatingFuelType": {
1725
+ "ntsl2Ref": "B3.4.3.1.1"
1726
+ }
1727
+ }
1728
+ },
1729
+ "centralHeatingInstalled": {
1730
+ "ntsl2Ref": "B3.4.3.2"
1731
+ }
1732
+ }
1733
+ }
1734
+ },
1735
+ "required": [
1736
+ "centralHeatingDetails"
1737
+ ]
1738
+ },
1739
+ {
1740
+ "properties": {
1741
+ "heatingType": {
1742
+ "enum": [
1743
+ "Communal heating system"
1744
+ ]
1745
+ },
1746
+ "details": {
1747
+ "ntsl2Ref": "B3.4.4"
1748
+ }
1749
+ },
1750
+ "required": [
1751
+ "details"
1752
+ ]
1753
+ }
1754
+ ],
1755
+ "required": [
1756
+ "heatingType"
1757
+ ],
1758
+ "properties": {
1759
+ "heatingType": {
1760
+ "ntsl2Ref": "B3.4.1"
1761
+ }
1762
+ }
1763
+ },
1764
+ "otherHeatingFeatures": {
1765
+ "ntsl2Ref": "B3.4.2",
1766
+ "items": {
1767
+ "enum": [
1768
+ "None",
1769
+ "Air conditioning",
1770
+ "Double glazing",
1771
+ "Triple glazing",
1772
+ "Night storage",
1773
+ "Solar water",
1774
+ "Underfloor heating",
1775
+ "Wood burner",
1776
+ "Aga/Rayburn",
1777
+ "Open fire",
1778
+ "Ground source heat pump",
1779
+ "Air source heat pump",
1780
+ "Solar thermal",
1781
+ "Passive House design"
1782
+ ]
1783
+ }
1784
+ }
1785
+ }
1786
+ },
1787
+ "connectivity": {
1788
+ "ntsl2Ref": "B3",
1789
+ "required": [
1790
+ "broadband"
1791
+ ],
1792
+ "properties": {
1793
+ "telephone": {
1794
+ "properties": {
1795
+ "yesNo": {
1796
+ "enum": [
1797
+ "Yes",
1798
+ "No"
1799
+ ]
1800
+ }
1801
+ }
1802
+ },
1803
+ "cableSatelliteTV": {
1804
+ "properties": {
1805
+ "yesNo": {
1806
+ "enum": [
1807
+ "Yes",
1808
+ "No"
1809
+ ]
1810
+ }
1811
+ }
1812
+ },
1813
+ "broadband": {
1814
+ "ntsl2Ref": "B3.5",
1815
+ "discriminator": {
1816
+ "propertyName": "typeOfConnection"
1817
+ },
1818
+ "oneOf": [
1819
+ {
1820
+ "properties": {
1821
+ "typeOfConnection": {
1822
+ "enum": [
1823
+ "None"
1824
+ ]
1825
+ }
1826
+ }
1827
+ },
1828
+ {
1829
+ "properties": {
1830
+ "typeOfConnection": {
1831
+ "enum": [
1832
+ "ADSL copper wire",
1833
+ "Cable",
1834
+ "FTTC (Fibre to the Cabinet)",
1835
+ "FTTP (Fibre to the Premises)"
1836
+ ]
1837
+ }
1838
+ }
1839
+ }
1840
+ ],
1841
+ "required": [
1842
+ "typeOfConnection"
1843
+ ],
1844
+ "properties": {
1845
+ "typeOfConnection": {
1846
+ "ntsl2Ref": "B3.5.2"
1847
+ }
1848
+ }
1849
+ },
1850
+ "mobilePhone": {
1851
+ "ntsl2Ref": "B3.6",
1852
+ "properties": {
1853
+ "knownSignalIssues": {
1854
+ "ntsl2Ref": "B3.6.1",
1855
+ "discriminator": {
1856
+ "propertyName": "yesNo"
1857
+ },
1858
+ "oneOf": [
1859
+ {
1860
+ "properties": {
1861
+ "yesNo": {
1862
+ "enum": [
1863
+ "No"
1864
+ ]
1865
+ }
1866
+ }
1867
+ },
1868
+ {
1869
+ "properties": {
1870
+ "yesNo": {
1871
+ "enum": [
1872
+ "Yes"
1873
+ ]
1874
+ },
1875
+ "details": {
1876
+ "ntsl2Ref": "B3.6.1.2"
1877
+ }
1878
+ },
1879
+ "required": [
1880
+ "details"
1881
+ ]
1882
+ }
1883
+ ],
1884
+ "required": [
1885
+ "yesNo"
1886
+ ],
1887
+ "properties": {
1888
+ "yesNo": {
1889
+ "ntsl2Ref": "B3.6.1.1"
1890
+ }
1891
+ }
1892
+ }
1893
+ }
1894
+ }
1895
+ }
1896
+ },
1897
+ "rightsAndInformalArrangements": {
1898
+ "ntsl2Ref": "C2.2",
1899
+ "required": [
1900
+ "rightsOrArrangements"
1901
+ ],
1902
+ "properties": {
1903
+ "rightsOrArrangements": {
1904
+ "ntsl2Ref": "C2.2.1",
1905
+ "required": [
1906
+ "publicRightOfWay"
1907
+ ],
1908
+ "properties": {
1909
+ "publicRightOfWay": {
1910
+ "ntsl2Ref": "C2.2.1",
1911
+ "discriminator": {
1912
+ "propertyName": "yesNo"
1913
+ },
1914
+ "oneOf": [
1915
+ {
1916
+ "properties": {
1917
+ "yesNo": {
1918
+ "enum": [
1919
+ "No"
1920
+ ]
1921
+ }
1922
+ }
1923
+ },
1924
+ {
1925
+ "properties": {
1926
+ "yesNo": {
1927
+ "enum": [
1928
+ "Yes"
1929
+ ]
1930
+ },
1931
+ "details": {
1932
+ "ntsl2Ref": "C2.2.1.2"
1933
+ }
1934
+ },
1935
+ "required": [
1936
+ "details"
1937
+ ]
1938
+ }
1939
+ ],
1940
+ "required": [
1941
+ "yesNo"
1942
+ ],
1943
+ "properties": {
1944
+ "yesNo": {
1945
+ "ntsl2Ref": "C2.2.1.1"
1946
+ }
1947
+ }
1948
+ }
1949
+ }
1950
+ }
1951
+ }
1952
+ },
1953
+ "environmentalIssues": {
1954
+ "ntsl2Ref": "C3.1",
1955
+ "required": [
1956
+ "flooding",
1957
+ "coalMining",
1958
+ "nonCoalMining",
1959
+ "coastalErosion"
1960
+ ],
1961
+ "properties": {
1962
+ "flooding": {
1963
+ "ntsl2Ref": "C3.1.1",
1964
+ "required": [
1965
+ "floodRisk",
1966
+ "historicalFlooding",
1967
+ "floodDefences"
1968
+ ],
1969
+ "properties": {
1970
+ "floodRisk": {
1971
+ "ntsl2Ref": "C3.1.1.1",
1972
+ "discriminator": {
1973
+ "propertyName": "riskIndicator"
1974
+ },
1975
+ "oneOf": [
1976
+ {
1977
+ "properties": {
1978
+ "riskIndicator": {
1979
+ "enum": [
1980
+ "No"
1981
+ ]
1982
+ }
1983
+ }
1984
+ },
1985
+ {
1986
+ "properties": {
1987
+ "riskIndicator": {
1988
+ "enum": [
1989
+ "Yes"
1990
+ ]
1991
+ },
1992
+ "summary": {
1993
+ "ntsl2Ref": "C3.1.1.2",
1994
+ "title": "Please provide details"
1995
+ }
1996
+ },
1997
+ "required": [
1998
+ "summary"
1999
+ ]
2000
+ }
2001
+ ],
2002
+ "required": [
2003
+ "riskIndicator"
2004
+ ],
2005
+ "properties": {
2006
+ "riskIndicator": {
2007
+ "ntsl2Ref": "C3.1.1.1"
2008
+ }
2009
+ }
2010
+ },
2011
+ "historicalFlooding": {
2012
+ "ntsl2Ref": "C3.1.1.2",
2013
+ "discriminator": {
2014
+ "propertyName": "hasBeenFlooded"
2015
+ },
2016
+ "oneOf": [
2017
+ {
2018
+ "properties": {
2019
+ "hasBeenFlooded": {
2020
+ "enum": [
2021
+ "No"
2022
+ ]
2023
+ }
2024
+ }
2025
+ },
2026
+ {
2027
+ "properties": {
2028
+ "hasBeenFlooded": {
2029
+ "enum": [
2030
+ "Yes"
2031
+ ]
2032
+ },
2033
+ "typeOfFlooding": {
2034
+ "ntsl2Ref": "C3.1.1.3"
2035
+ },
2036
+ "details": {
2037
+ "ntsl2Ref": "C3.1.1.4"
2038
+ }
2039
+ },
2040
+ "required": [
2041
+ "typeOfFlooding",
2042
+ "details"
2043
+ ]
2044
+ }
2045
+ ],
2046
+ "required": [
2047
+ "hasBeenFlooded"
2048
+ ],
2049
+ "properties": {
2050
+ "hasBeenFlooded": {
2051
+ "ntsl2Ref": "C3.1.1.2.1"
2052
+ }
2053
+ }
2054
+ },
2055
+ "floodDefences": {
2056
+ "ntsl2Ref": "C3.1.1.3",
2057
+ "discriminator": {
2058
+ "propertyName": "hasFloodDefences"
2059
+ },
2060
+ "oneOf": [
2061
+ {
2062
+ "properties": {
2063
+ "hasFloodDefences": {
2064
+ "enum": [
2065
+ "No"
2066
+ ]
2067
+ }
2068
+ }
2069
+ },
2070
+ {
2071
+ "properties": {
2072
+ "hasFloodDefences": {
2073
+ "enum": [
2074
+ "Yes"
2075
+ ]
2076
+ },
2077
+ "details": {
2078
+ "ntsl2Ref": "C3.1.1.3.2"
2079
+ }
2080
+ },
2081
+ "required": [
2082
+ "details"
2083
+ ]
2084
+ }
2085
+ ],
2086
+ "required": [
2087
+ "hasFloodDefences"
2088
+ ],
2089
+ "properties": {
2090
+ "hasFloodDefences": {
2091
+ "ntsl2Ref": "C3.1.1.3.1"
2092
+ }
2093
+ }
2094
+ }
2095
+ }
2096
+ },
2097
+ "coalMining": {
2098
+ "ntsl2Ref": "C6.1",
2099
+ "discriminator": {
2100
+ "propertyName": "riskIndicator"
2101
+ },
2102
+ "oneOf": [
2103
+ {
2104
+ "properties": {
2105
+ "riskIndicator": {
2106
+ "enum": [
2107
+ "No"
2108
+ ]
2109
+ }
2110
+ }
2111
+ },
2112
+ {
2113
+ "properties": {
2114
+ "riskIndicator": {
2115
+ "enum": [
2116
+ "Yes"
2117
+ ]
2118
+ },
2119
+ "summary": {
2120
+ "ntsl2Ref": "C6.1.1"
2121
+ }
2122
+ }
2123
+ }
2124
+ ],
2125
+ "required": [
2126
+ "riskIndicator"
2127
+ ],
2128
+ "properties": {
2129
+ "riskIndicator": {
2130
+ "ntsl2Ref": "C6.1.1"
2131
+ }
2132
+ }
2133
+ },
2134
+ "nonCoalMining": {
2135
+ "ntsl2Ref": "C6.2",
2136
+ "discriminator": {
2137
+ "propertyName": "riskIndicator"
2138
+ },
2139
+ "oneOf": [
2140
+ {
2141
+ "properties": {
2142
+ "riskIndicator": {
2143
+ "enum": [
2144
+ "No"
2145
+ ]
2146
+ }
2147
+ }
2148
+ },
2149
+ {
2150
+ "properties": {
2151
+ "riskIndicator": {
2152
+ "enum": [
2153
+ "Yes"
2154
+ ]
2155
+ },
2156
+ "summary": {
2157
+ "ntsl2Ref": "C6.2.2"
2158
+ }
2159
+ },
2160
+ "required": [
2161
+ "summary"
2162
+ ]
2163
+ }
2164
+ ],
2165
+ "required": [
2166
+ "riskIndicator"
2167
+ ],
2168
+ "properties": {
2169
+ "riskIndicator": {
2170
+ "ntsl2Ref": "C6.2.1"
2171
+ }
2172
+ }
2173
+ },
2174
+ "coastalErosion": {
2175
+ "ntsl2Ref": "C3.2",
2176
+ "discriminator": {
2177
+ "propertyName": "riskIndicator"
2178
+ },
2179
+ "oneOf": [
2180
+ {
2181
+ "properties": {
2182
+ "riskIndicator": {
2183
+ "enum": [
2184
+ "No"
2185
+ ]
2186
+ }
2187
+ }
2188
+ },
2189
+ {
2190
+ "properties": {
2191
+ "riskIndicator": {
2192
+ "enum": [
2193
+ "Yes"
2194
+ ]
2195
+ },
2196
+ "summary": {
2197
+ "ntsl2Ref": "C3.2.2"
2198
+ }
2199
+ },
2200
+ "required": [
2201
+ "summary"
2202
+ ]
2203
+ }
2204
+ ],
2205
+ "required": [
2206
+ "riskIndicator"
2207
+ ],
2208
+ "properties": {
2209
+ "riskIndicator": {
2210
+ "ntsl2Ref": "C3.2.1"
2211
+ }
2212
+ }
2213
+ }
2214
+ }
2215
+ }
2216
+ }
2217
+ }
2218
+ }
2219
+ }