@pdtf/schemas 0.11.0-5 → 0.12.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -30,22 +30,27 @@
|
|
|
30
30
|
"hasDelayFactors": { "yesNo": "No" }
|
|
31
31
|
},
|
|
32
32
|
"ownership": {
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
33
|
+
"ownershipsToBeTransferredOnSale": [
|
|
34
|
+
{
|
|
35
|
+
"titleNumber": "HD221222",
|
|
36
|
+
"ownershipType": "Leasehold",
|
|
37
|
+
"sharedOwnership": { "isSharedOwnership": "No" },
|
|
38
|
+
"startYearOfLease": 1900,
|
|
39
|
+
"lengthOfLeaseInYears": 999,
|
|
40
|
+
"currentGroundRent": 1750,
|
|
41
|
+
"rentIncrease": { "yesNo": "No" },
|
|
42
|
+
"annualServiceCharge": 250.23,
|
|
43
|
+
"largeAdditionalExpense": { "yesNo": "No" },
|
|
44
|
+
"additionalFeesOnSale": 0,
|
|
45
|
+
"freeholderContactDetails": {
|
|
46
|
+
"nameOrOrganisation": "Fleesum Properties"
|
|
47
|
+
},
|
|
48
|
+
"managingAgentContactDetails": {
|
|
49
|
+
"nameOrOrganisation": "Pricee Living"
|
|
50
|
+
},
|
|
51
|
+
"managementCompanyDirectorRequirement": { "yesNo": "No" }
|
|
52
|
+
}
|
|
53
|
+
]
|
|
49
54
|
},
|
|
50
55
|
"parking": {
|
|
51
56
|
"parkingArrangements": {
|
|
@@ -425,6 +430,7 @@
|
|
|
425
430
|
"legalOwners": {
|
|
426
431
|
"namesOfLegalOwners": [
|
|
427
432
|
{
|
|
433
|
+
"ownerType": "Private individual",
|
|
428
434
|
"firstName": "Peter",
|
|
429
435
|
"lastName": "Hetherington-Smythe"
|
|
430
436
|
}
|
|
@@ -487,37 +493,7 @@
|
|
|
487
493
|
"titlesToBeSold": [
|
|
488
494
|
{
|
|
489
495
|
"titleNumber": "HD221222",
|
|
490
|
-
"titleExtents": [
|
|
491
|
-
{
|
|
492
|
-
"type": "Feature",
|
|
493
|
-
"properties": {
|
|
494
|
-
"POLY_ID": 19851403,
|
|
495
|
-
"TITLE_NO": "HD221222",
|
|
496
|
-
"INSERT": "2016-02-05T13:36:55",
|
|
497
|
-
"UPDATE": "2016-02-05T13:36:55",
|
|
498
|
-
"REC_STATUS": "A"
|
|
499
|
-
},
|
|
500
|
-
"geometry": {
|
|
501
|
-
"type": "Polygon",
|
|
502
|
-
"coordinates": [
|
|
503
|
-
[
|
|
504
|
-
[-2.578781821932439, 51.48576411094672],
|
|
505
|
-
[-2.578669662492341, 51.48572105544199],
|
|
506
|
-
[-2.5786421470447154, 51.48570905261714],
|
|
507
|
-
[-2.5785524174118404, 51.48567442829361],
|
|
508
|
-
[-2.5785328794340825, 51.48566688186638],
|
|
509
|
-
[-2.5785279074169107, 51.4856723013566],
|
|
510
|
-
[-2.5784923376884157, 51.48570664492474],
|
|
511
|
-
[-2.5785118756765826, 51.48571419135863],
|
|
512
|
-
[-2.578603776881019, 51.48574970415372],
|
|
513
|
-
[-2.578629846557485, 51.48576126454427],
|
|
514
|
-
[-2.578738400129546, 51.48580388830907],
|
|
515
|
-
[-2.578781821932439, 51.48576411094672]
|
|
516
|
-
]
|
|
517
|
-
]
|
|
518
|
-
}
|
|
519
|
-
}
|
|
520
|
-
],
|
|
496
|
+
"titleExtents": "{'type':'Polygon','coordinates':[[[-2.5787833768108985,51.48576273335823],[-2.578739952913823,51.48580251052463],[-2.578631396439736,51.48575988696783],[-2.578605326085179,51.48574832663401],[-2.578513422397467,51.48571281401381],[-2.578493883879733,51.48570526761721],[-2.578529455342914,51.48567092421916],[-2.578534427612858,51.485665504755744],[-2.578553966121065,51.485673051145575],[-2.5786436981835235,51.48570767529821],[-2.578671214351269,51.48571967806404],[-2.5787833768108985,51.48576273335823]]]}",
|
|
521
497
|
"registerExtract": {
|
|
522
498
|
"OCSummaryData": {
|
|
523
499
|
"Title": {
|
|
@@ -24,39 +24,68 @@
|
|
|
24
24
|
"type": "object",
|
|
25
25
|
"properties": {
|
|
26
26
|
"namesOfLegalOwners": {
|
|
27
|
-
"baspiRef": "B1
|
|
27
|
+
"baspiRef": "B1",
|
|
28
28
|
"RDSRef": "RightsHolders",
|
|
29
|
-
"title": "
|
|
29
|
+
"title": "Names of all legal owners",
|
|
30
30
|
"type": "array",
|
|
31
31
|
"minItems": 1,
|
|
32
32
|
"items": {
|
|
33
|
+
"baspiRef": "B1",
|
|
34
|
+
"title": "Legal owner",
|
|
33
35
|
"type": "object",
|
|
34
|
-
"
|
|
35
|
-
"title": "Owner name",
|
|
36
|
-
"required": ["firstName", "lastName"],
|
|
36
|
+
"required": ["ownerType"],
|
|
37
37
|
"properties": {
|
|
38
|
-
"
|
|
39
|
-
"baspiRef": "B1.1.1",
|
|
40
|
-
"title": "First name",
|
|
38
|
+
"ownerType": {
|
|
41
39
|
"type": "string",
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
"title": "Type of owner",
|
|
41
|
+
"enum": ["Private individual", "Organisation"]
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"discriminator": { "propertyName": "ownerType" },
|
|
45
|
+
"oneOf": [
|
|
46
|
+
{
|
|
47
|
+
"properties": {
|
|
48
|
+
"ownerType": {
|
|
49
|
+
"enum": ["Private individual"]
|
|
50
|
+
},
|
|
51
|
+
"firstName": {
|
|
52
|
+
"baspiRef": "B1.1.1",
|
|
53
|
+
"title": "First name",
|
|
54
|
+
"type": "string",
|
|
55
|
+
"minLength": 1
|
|
56
|
+
},
|
|
57
|
+
"middleNames": {
|
|
58
|
+
"baspiRef": "B1.1.2",
|
|
59
|
+
"title": "Middle names",
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"lastName": {
|
|
63
|
+
"baspiRef": "B1.1.3",
|
|
64
|
+
"title": "Last name",
|
|
65
|
+
"type": "string",
|
|
66
|
+
"minLength": 1
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"required": ["firstName", "lastName"]
|
|
48
70
|
},
|
|
49
|
-
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
71
|
+
{
|
|
72
|
+
"properties": {
|
|
73
|
+
"ownerType": {
|
|
74
|
+
"enum": ["Organisation"]
|
|
75
|
+
},
|
|
76
|
+
"organisationName": {
|
|
77
|
+
"baspiRef": "B1.1.1",
|
|
78
|
+
"title": "Organisation name",
|
|
79
|
+
"type": "string",
|
|
80
|
+
"minLength": 1
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"required": ["organisationName"]
|
|
54
84
|
}
|
|
55
|
-
|
|
85
|
+
]
|
|
56
86
|
}
|
|
57
87
|
}
|
|
58
|
-
}
|
|
59
|
-
"required": ["namesOfLegalOwners"]
|
|
88
|
+
}
|
|
60
89
|
},
|
|
61
90
|
"sellersCapacity": {
|
|
62
91
|
"baspiRef": "B1.3",
|
|
@@ -775,7 +804,7 @@
|
|
|
775
804
|
"yesNo": {
|
|
776
805
|
"type": "string",
|
|
777
806
|
"title": "",
|
|
778
|
-
"enum": ["
|
|
807
|
+
"enum": ["Yes", "No"]
|
|
779
808
|
}
|
|
780
809
|
},
|
|
781
810
|
"required": ["yesNo"],
|
|
@@ -819,7 +848,7 @@
|
|
|
819
848
|
"yesNo": {
|
|
820
849
|
"type": "string",
|
|
821
850
|
"title": "",
|
|
822
|
-
"enum": ["
|
|
851
|
+
"enum": ["Yes", "No"]
|
|
823
852
|
}
|
|
824
853
|
},
|
|
825
854
|
"required": ["yesNo"],
|
|
@@ -164,254 +164,275 @@
|
|
|
164
164
|
"ntsRef": "A1.1",
|
|
165
165
|
"title": "Ownership",
|
|
166
166
|
"type": "object",
|
|
167
|
-
"required": ["
|
|
167
|
+
"required": ["ownershipsToBeTransferredOnSale"],
|
|
168
168
|
"properties": {
|
|
169
|
-
"
|
|
170
|
-
"baspiRef": "A1.3
|
|
171
|
-
"
|
|
172
|
-
"
|
|
173
|
-
"
|
|
174
|
-
"
|
|
175
|
-
"
|
|
176
|
-
|
|
177
|
-
"
|
|
178
|
-
"
|
|
179
|
-
"
|
|
180
|
-
"
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
"properties": {
|
|
202
|
-
"ownershipType": {
|
|
203
|
-
"enum": ["Managed Freehold", "Commonhold"]
|
|
204
|
-
},
|
|
205
|
-
"annualServiceCharge": {
|
|
206
|
-
"baspiRef": "A1.5.1",
|
|
207
|
-
"lawSocietyRef": "TA6/10.1",
|
|
208
|
-
"ntsRef": "A1.6",
|
|
209
|
-
"RDSRef": "TenureAgreements/ServiceCharges",
|
|
210
|
-
"title": "Amount of current annual service charge/estate rentcharge/maintenance contribution (£)",
|
|
211
|
-
"type": "number"
|
|
212
|
-
},
|
|
213
|
-
"largeAdditionalExpense": {
|
|
214
|
-
"baspiRef": "A1.5.2",
|
|
215
|
-
"lawSocietyRef": "TA6/10.1",
|
|
216
|
-
"RDSRef": "TenureAgreements/Repairs,TenureAgreements/ServicesCharges/Breakdown",
|
|
217
|
-
"title": "Have you received notice of any large expense in addition to the annual payment?",
|
|
218
|
-
"$ref": "#/$defs/yesNoDetailIfYes",
|
|
219
|
-
"description": "If yes, please provide details and confirm whether there is a reserve fund or sinking fund which will cover the cost of the works."
|
|
220
|
-
},
|
|
221
|
-
"additionalFeesOnSale": {
|
|
222
|
-
"baspiRef": "A1.5.3",
|
|
223
|
-
"lawSocietyRef": "TA6/10.1",
|
|
224
|
-
"RDSRef": "TenureAgreements/LegalCosts/Actual, TenureAgreements/LegalCosts/Estimated",
|
|
225
|
-
"title": "Additional fees payable on sale (£)",
|
|
226
|
-
"type": "number"
|
|
227
|
-
},
|
|
228
|
-
"freeholderContactDetails": {
|
|
229
|
-
"baspiRef": "A1.5.4",
|
|
230
|
-
"lawSocietyRef": "TA7/4.1a",
|
|
231
|
-
"RDSRef": "TenureAgreements/Assignor",
|
|
232
|
-
"title": "The contact details of the freeholder or rentcharge owner",
|
|
233
|
-
"$ref": "#/$defs/contactDetails"
|
|
234
|
-
},
|
|
235
|
-
"managingAgentContactDetails": {
|
|
236
|
-
"baspiRef": "A1.5.5",
|
|
237
|
-
"lawSocietyRef": "TA7/4.1a",
|
|
238
|
-
"RDSRef": "Participants/Role",
|
|
239
|
-
"title": "The contact details of the managing agent",
|
|
240
|
-
"$ref": "#/$defs/contactDetails"
|
|
241
|
-
},
|
|
242
|
-
"managementCompanyDirectorRequirement": {
|
|
243
|
-
"baspiRef": "A1.5.6",
|
|
244
|
-
"RDSRef": "Property/Flags",
|
|
245
|
-
"title": "Is the owner of the property required to become a director in a management company for the maintenance of shared amenities?",
|
|
246
|
-
"$ref": "#/$defs/yesNo"
|
|
247
|
-
}
|
|
248
|
-
},
|
|
249
|
-
"required": [
|
|
250
|
-
"annualServiceCharge",
|
|
251
|
-
"largeAdditionalExpense",
|
|
252
|
-
"additionalFeesOnSale",
|
|
253
|
-
"freeholderContactDetails",
|
|
254
|
-
"managingAgentContactDetails",
|
|
255
|
-
"managementCompanyDirectorRequirement"
|
|
256
|
-
]
|
|
257
|
-
},
|
|
258
|
-
{
|
|
259
|
-
"properties": {
|
|
260
|
-
"ownershipType": {
|
|
261
|
-
"enum": ["Leasehold"]
|
|
169
|
+
"ownershipsToBeTransferredOnSale": {
|
|
170
|
+
"baspiRef": "A1.3",
|
|
171
|
+
"lawSocietyRef": "TA7/1",
|
|
172
|
+
"title": "Ownerships to be transferred on sale",
|
|
173
|
+
"type": "array",
|
|
174
|
+
"minItems": 1,
|
|
175
|
+
"items": {
|
|
176
|
+
"baspiRef": "A1.3",
|
|
177
|
+
"title": "Ownership to be transferred",
|
|
178
|
+
"type": "object",
|
|
179
|
+
"required": ["ownershipType"],
|
|
180
|
+
"properties": {
|
|
181
|
+
"titleNumber": {
|
|
182
|
+
"title": "Title number (if registered)",
|
|
183
|
+
"type": "string",
|
|
184
|
+
"minLength": 1
|
|
185
|
+
},
|
|
186
|
+
"ownershipType": {
|
|
187
|
+
"baspiRef": "A1.3.1",
|
|
188
|
+
"RDSRef": "Tenure/Tenure",
|
|
189
|
+
"lawSocietyRef": "TA7/1.1",
|
|
190
|
+
"title": "What type of ownership is the property?",
|
|
191
|
+
"description": "A Managed Freehold is any freehold where there are shared amenities, the maintenance of which you pay for through an estate rentcharge, service charge, informal or formal contribution. Choose Leasehold if your property is under a Shared Ownership arrangement.",
|
|
192
|
+
"type": "string",
|
|
193
|
+
"enum": [
|
|
194
|
+
"Freehold",
|
|
195
|
+
"Managed Freehold",
|
|
196
|
+
"Commonhold",
|
|
197
|
+
"Leasehold",
|
|
198
|
+
"Other"
|
|
199
|
+
]
|
|
200
|
+
}
|
|
262
201
|
},
|
|
263
|
-
"
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
"
|
|
271
|
-
|
|
202
|
+
"discriminator": { "propertyName": "ownershipType" },
|
|
203
|
+
"oneOf": [
|
|
204
|
+
{
|
|
205
|
+
"properties": {
|
|
206
|
+
"ownershipType": {
|
|
207
|
+
"enum": ["Freehold"]
|
|
208
|
+
},
|
|
209
|
+
"wholeFreeholdForSale": {
|
|
210
|
+
"title": "Is the entire freehold being sold?",
|
|
211
|
+
"description": "If not, describe the share for sale (e.g. Ground floor flat only)",
|
|
212
|
+
"$ref": "#/$defs/yesNoDetailIfNo"
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
"required": ["wholeFreeholdForSale"]
|
|
272
216
|
},
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
217
|
+
{
|
|
218
|
+
"properties": {
|
|
219
|
+
"ownershipType": {
|
|
220
|
+
"enum": ["Managed Freehold", "Commonhold"]
|
|
221
|
+
},
|
|
222
|
+
"annualServiceCharge": {
|
|
223
|
+
"baspiRef": "A1.5.1",
|
|
224
|
+
"lawSocietyRef": "TA6/10.1",
|
|
225
|
+
"ntsRef": "A1.6",
|
|
226
|
+
"RDSRef": "TenureAgreements/ServiceCharges",
|
|
227
|
+
"title": "Amount of current annual service charge/estate rentcharge/maintenance contribution (£)",
|
|
228
|
+
"type": "number"
|
|
229
|
+
},
|
|
230
|
+
"largeAdditionalExpense": {
|
|
231
|
+
"baspiRef": "A1.5.2",
|
|
232
|
+
"lawSocietyRef": "TA6/10.1",
|
|
233
|
+
"RDSRef": "TenureAgreements/Repairs,TenureAgreements/ServicesCharges/Breakdown",
|
|
234
|
+
"title": "Have you received notice of any large expense in addition to the annual payment?",
|
|
235
|
+
"$ref": "#/$defs/yesNoDetailIfYes",
|
|
236
|
+
"description": "If yes, please provide details and confirm whether there is a reserve fund or sinking fund which will cover the cost of the works."
|
|
237
|
+
},
|
|
238
|
+
"additionalFeesOnSale": {
|
|
239
|
+
"baspiRef": "A1.5.3",
|
|
240
|
+
"lawSocietyRef": "TA6/10.1",
|
|
241
|
+
"RDSRef": "TenureAgreements/LegalCosts/Actual, TenureAgreements/LegalCosts/Estimated",
|
|
242
|
+
"title": "Additional fees payable on sale (£)",
|
|
243
|
+
"type": "number"
|
|
244
|
+
},
|
|
245
|
+
"freeholderContactDetails": {
|
|
246
|
+
"baspiRef": "A1.5.4",
|
|
247
|
+
"lawSocietyRef": "TA7/4.1a",
|
|
248
|
+
"RDSRef": "TenureAgreements/Assignor",
|
|
249
|
+
"title": "The contact details of the freeholder or rentcharge owner",
|
|
250
|
+
"$ref": "#/$defs/contactDetails"
|
|
251
|
+
},
|
|
252
|
+
"managingAgentContactDetails": {
|
|
253
|
+
"baspiRef": "A1.5.5",
|
|
254
|
+
"lawSocietyRef": "TA7/4.1a",
|
|
255
|
+
"RDSRef": "Participants/Role",
|
|
256
|
+
"title": "The contact details of the managing agent",
|
|
257
|
+
"$ref": "#/$defs/contactDetails"
|
|
258
|
+
},
|
|
259
|
+
"managementCompanyDirectorRequirement": {
|
|
260
|
+
"baspiRef": "A1.5.6",
|
|
261
|
+
"RDSRef": "Property/Flags",
|
|
262
|
+
"title": "Is the owner of the property required to become a director in a management company for the maintenance of shared amenities?",
|
|
263
|
+
"$ref": "#/$defs/yesNo"
|
|
281
264
|
}
|
|
282
265
|
},
|
|
283
|
-
|
|
284
|
-
"
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
"
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
266
|
+
"required": [
|
|
267
|
+
"annualServiceCharge",
|
|
268
|
+
"largeAdditionalExpense",
|
|
269
|
+
"additionalFeesOnSale",
|
|
270
|
+
"freeholderContactDetails",
|
|
271
|
+
"managingAgentContactDetails",
|
|
272
|
+
"managementCompanyDirectorRequirement"
|
|
273
|
+
]
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"properties": {
|
|
277
|
+
"ownershipType": {
|
|
278
|
+
"enum": ["Leasehold"]
|
|
279
|
+
},
|
|
280
|
+
"sharedOwnership": {
|
|
281
|
+
"ntsRef": "A1.7",
|
|
282
|
+
"title": "Shared ownership",
|
|
283
|
+
"type": "object",
|
|
284
|
+
"properties": {
|
|
285
|
+
"isSharedOwnership": {
|
|
286
|
+
"title": "Is the property under Shared Owenership or a Part-buy Part-rent arrangement?",
|
|
287
|
+
"type": "string",
|
|
288
|
+
"enum": ["Yes", "No"]
|
|
289
|
+
}
|
|
300
290
|
},
|
|
301
|
-
"
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
291
|
+
"required": ["isSharedOwnership"],
|
|
292
|
+
"discriminator": { "propertyName": "isSharedOwnership" },
|
|
293
|
+
"oneOf": [
|
|
294
|
+
{
|
|
295
|
+
"properties": {
|
|
296
|
+
"isSharedOwnership": {
|
|
297
|
+
"enum": ["No"]
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"properties": {
|
|
303
|
+
"isSharedOwnership": {
|
|
304
|
+
"enum": ["Yes"]
|
|
305
|
+
},
|
|
306
|
+
"sharedOwnershipPercentage": {
|
|
307
|
+
"ntsRef": "A1.7.1",
|
|
308
|
+
"title": "Shared ownership percentage",
|
|
309
|
+
"type": "integer",
|
|
310
|
+
"minimum": 5,
|
|
311
|
+
"exclusiveMaximum": 100
|
|
312
|
+
},
|
|
313
|
+
"sharedOwnershipRent": {
|
|
314
|
+
"ntsRef": "A1.7.2",
|
|
315
|
+
"title": "Shared ownership rent (£)",
|
|
316
|
+
"type": "number",
|
|
317
|
+
"minimum": 0
|
|
318
|
+
},
|
|
319
|
+
"sharedOwnershipRentFrequency": {
|
|
320
|
+
"ntsRef": "A1.7.3",
|
|
321
|
+
"title": "Shared ownership rent frequency",
|
|
322
|
+
"type": "string",
|
|
323
|
+
"enum": ["Yearly", "Monthly", "Weekly"]
|
|
324
|
+
}
|
|
325
|
+
},
|
|
326
|
+
"required": [
|
|
327
|
+
"sharedOwnershipPercentage",
|
|
328
|
+
"sharedOwnershipRent",
|
|
329
|
+
"sharedOwnershipRentFrequency"
|
|
330
|
+
]
|
|
331
|
+
}
|
|
332
|
+
]
|
|
307
333
|
},
|
|
308
|
-
"
|
|
309
|
-
"
|
|
310
|
-
"
|
|
311
|
-
"
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
"type": "string",
|
|
409
|
-
"minLength": 1
|
|
410
|
-
}
|
|
411
|
-
},
|
|
412
|
-
"required": ["otherOwnershipDetails"]
|
|
334
|
+
"startYearOfLease": {
|
|
335
|
+
"baspiRef": "A1.4.1b",
|
|
336
|
+
"ntsRef": "A1.2",
|
|
337
|
+
"title": "Year that the lease commenced",
|
|
338
|
+
"type": "integer",
|
|
339
|
+
"minimum": 1000
|
|
340
|
+
},
|
|
341
|
+
"lengthOfLeaseInYears": {
|
|
342
|
+
"baspiRef": "A1.4.1a",
|
|
343
|
+
"ntsRef": "A1.3",
|
|
344
|
+
"title": "Length of lease (years)",
|
|
345
|
+
"type": "integer"
|
|
346
|
+
},
|
|
347
|
+
"currentGroundRent": {
|
|
348
|
+
"baspiRef": "A1.4.2",
|
|
349
|
+
"ntsRef": "A1.4",
|
|
350
|
+
"RDSRef": "TenureAgreements/RentPayable/Value",
|
|
351
|
+
"lawSocietyRef": "TA7/1.2a",
|
|
352
|
+
"title": "Current annual ground rent (£)",
|
|
353
|
+
"type": "number"
|
|
354
|
+
},
|
|
355
|
+
"rentIncrease": {
|
|
356
|
+
"baspiRef": "A1.4.3",
|
|
357
|
+
"ntsRef": "A1.5",
|
|
358
|
+
"RDSRef": "TenureAgreement/isRentChangeable, TenureAgreements/RentChanges",
|
|
359
|
+
"title": "Does the ground rent increase?",
|
|
360
|
+
"$ref": "#/$defs/yesNoDetailIfYes",
|
|
361
|
+
"description": "Please provide full details of the ground rent increase e.g. how often and by how much and when the next increase is due."
|
|
362
|
+
},
|
|
363
|
+
"annualServiceCharge": {
|
|
364
|
+
"baspiRef": "A1.5.1",
|
|
365
|
+
"ntsRef": "A1.6",
|
|
366
|
+
"RDSRef": "TenureAgreements/ServiceCharges",
|
|
367
|
+
"title": "Amount of current annual service charge/estate rentcharge/maintenance contribution (£)",
|
|
368
|
+
"type": "number"
|
|
369
|
+
},
|
|
370
|
+
"largeAdditionalExpense": {
|
|
371
|
+
"baspiRef": "A1.5.2",
|
|
372
|
+
"RDSRef": "TenureAgreements/Repairs,TenureAgreements/ServicesCharges/Breakdown",
|
|
373
|
+
"title": "Have you received notice of any large expense in addition to the annual payment?",
|
|
374
|
+
"$ref": "#/$defs/yesNoDetailIfYes",
|
|
375
|
+
"description": "If yes, please provide details and confirm whether there is a reserve fund or sinking fund which will cover the cost of the works."
|
|
376
|
+
},
|
|
377
|
+
"additionalFeesOnSale": {
|
|
378
|
+
"baspiRef": "A1.5.3",
|
|
379
|
+
"RDSRef": "TenureAgreements/LegalCosts/Actual, TenureAgreements/LegalCosts/Estimated",
|
|
380
|
+
"title": "Additional fees payable on sale (£)",
|
|
381
|
+
"type": "number"
|
|
382
|
+
},
|
|
383
|
+
"freeholderContactDetails": {
|
|
384
|
+
"baspiRef": "A1.5.4",
|
|
385
|
+
"lawSocietyRef": "TA7/4.1a",
|
|
386
|
+
"RDSRef": "TenureAgreements/Assignor",
|
|
387
|
+
"title": "The name, address and email address of the freeholder or rentcharge owner",
|
|
388
|
+
"$ref": "#/$defs/contactDetails"
|
|
389
|
+
},
|
|
390
|
+
"managingAgentContactDetails": {
|
|
391
|
+
"baspiRef": "A1.5.5",
|
|
392
|
+
"lawSocietyRef": "TA7/4.1b",
|
|
393
|
+
"RDSRef": "Participants/Role",
|
|
394
|
+
"title": "The name, address and email address of the managing agent",
|
|
395
|
+
"$ref": "#/$defs/contactDetails"
|
|
396
|
+
},
|
|
397
|
+
"managementCompanyDirectorRequirement": {
|
|
398
|
+
"baspiRef": "A1.5.6",
|
|
399
|
+
"RDSRef": "Property/Flags",
|
|
400
|
+
"title": "Is the owner of the property required to become a director in a management company for the maintenance of shared amenities?",
|
|
401
|
+
"$ref": "#/$defs/yesNo"
|
|
402
|
+
}
|
|
403
|
+
},
|
|
404
|
+
"required": [
|
|
405
|
+
"sharedOwnership",
|
|
406
|
+
"startYearOfLease",
|
|
407
|
+
"lengthOfLeaseInYears",
|
|
408
|
+
"currentGroundRent",
|
|
409
|
+
"rentIncrease",
|
|
410
|
+
"annualServiceCharge",
|
|
411
|
+
"largeAdditionalExpense",
|
|
412
|
+
"additionalFeesOnSale",
|
|
413
|
+
"freeholderContactDetails",
|
|
414
|
+
"managingAgentContactDetails",
|
|
415
|
+
"managementCompanyDirectorRequirement"
|
|
416
|
+
]
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
"properties": {
|
|
420
|
+
"ownershipType": {
|
|
421
|
+
"enum": ["Other"]
|
|
422
|
+
},
|
|
423
|
+
"otherOwnershipDetails": {
|
|
424
|
+
"baspiRef": "A1.3.2",
|
|
425
|
+
"title": "Details of the ownership type",
|
|
426
|
+
"type": "string",
|
|
427
|
+
"minLength": 1
|
|
428
|
+
}
|
|
429
|
+
},
|
|
430
|
+
"required": ["otherOwnershipDetails"]
|
|
431
|
+
}
|
|
432
|
+
]
|
|
433
|
+
}
|
|
413
434
|
}
|
|
414
|
-
|
|
435
|
+
}
|
|
415
436
|
},
|
|
416
437
|
"parking": {
|
|
417
438
|
"baspiRef": "A1.6",
|
|
@@ -17,8 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"transactionId": {
|
|
19
19
|
"title": "UUID for the transaction",
|
|
20
|
-
"type": "string"
|
|
21
|
-
"format": "uuid"
|
|
20
|
+
"type": "string"
|
|
22
21
|
},
|
|
23
22
|
"status": {
|
|
24
23
|
"type": "string",
|
|
@@ -133,11 +132,8 @@
|
|
|
133
132
|
"titleExtents": {
|
|
134
133
|
"RDSRef": "",
|
|
135
134
|
"title": "Title Extents",
|
|
136
|
-
"description": "One or more index polygons describing indicative location of registered title from National Polygon Dataset",
|
|
137
|
-
"type": "
|
|
138
|
-
"items": {
|
|
139
|
-
"$ref": "https://geojson.org/schema/GeoJSON.json"
|
|
140
|
-
}
|
|
135
|
+
"description": "One or more index polygons describing indicative location of registered title from National Polygon Dataset, JSON.stringified to ensure compatibility",
|
|
136
|
+
"type": "string"
|
|
141
137
|
},
|
|
142
138
|
"registerExtract": {
|
|
143
139
|
"title": "HMLR Register Extract",
|
|
@@ -33,7 +33,7 @@ test("sample with missing dependent required fields is invalid", () => {
|
|
|
33
33
|
const clonedExampleTransaction = JSON.parse(
|
|
34
34
|
JSON.stringify(exampleTransaction)
|
|
35
35
|
);
|
|
36
|
-
clonedExampleTransaction.propertyPack.materialFacts.ownership.ownershipType =
|
|
36
|
+
clonedExampleTransaction.propertyPack.materialFacts.ownership.ownershipsToBeTransferredOnSale[0].ownershipType =
|
|
37
37
|
"leashold";
|
|
38
38
|
const isValid = validator(clonedExampleTransaction);
|
|
39
39
|
expect(isValid).toBe(false);
|
|
@@ -90,14 +90,14 @@ test("correctly gets a subschema through a dependency", () => {
|
|
|
90
90
|
|
|
91
91
|
test("correctly gets another subschema through a dependency", () => {
|
|
92
92
|
const subschema = getSubschema(
|
|
93
|
-
"/propertyPack/materialFacts/ownership/lengthOfLeaseInYears"
|
|
93
|
+
"/propertyPack/materialFacts/ownership/ownershipsToBeTransferredOnSale/0/lengthOfLeaseInYears"
|
|
94
94
|
);
|
|
95
95
|
expect(subschema.title).toBe("Length of lease (years)");
|
|
96
96
|
});
|
|
97
97
|
|
|
98
98
|
test("correctly gets yet another subschema through a dependency", () => {
|
|
99
99
|
const subschema = getSubschema(
|
|
100
|
-
"/propertyPack/materialFacts/ownership/rentIncrease/details"
|
|
100
|
+
"/propertyPack/materialFacts/ownership/ownershipsToBeTransferredOnSale/0/rentIncrease/details"
|
|
101
101
|
);
|
|
102
102
|
expect(subschema.title).toBe("Details");
|
|
103
103
|
});
|
|
@@ -145,19 +145,19 @@ test("correctly gets titles across schemas, arrays and non-existient title prope
|
|
|
145
145
|
expect(
|
|
146
146
|
getTitleAtPath(
|
|
147
147
|
transactionSchema,
|
|
148
|
-
"/propertyPack/materialFacts/ownership/ownershipType"
|
|
148
|
+
"/propertyPack/materialFacts/ownership/ownershipsToBeTransferredOnSale/0/ownershipType"
|
|
149
149
|
)
|
|
150
150
|
).toBe("What type of ownership is the property?");
|
|
151
151
|
expect(
|
|
152
152
|
getTitleAtPath(
|
|
153
153
|
transactionSchema,
|
|
154
|
-
"/propertyPack/materialFacts/ownership/lengthOfLeaseInYears"
|
|
154
|
+
"/propertyPack/materialFacts/ownership/ownershipsToBeTransferredOnSale/0/lengthOfLeaseInYears"
|
|
155
155
|
)
|
|
156
156
|
).toBe("Length of lease (years)");
|
|
157
157
|
expect(
|
|
158
158
|
getTitleAtPath(
|
|
159
159
|
transactionSchema,
|
|
160
|
-
"/propertyPack/materialFacts/ownership/annualServiceCharge"
|
|
160
|
+
"/propertyPack/materialFacts/ownership/ownershipsToBeTransferredOnSale/0/annualServiceCharge"
|
|
161
161
|
)
|
|
162
162
|
).toBe(
|
|
163
163
|
"Amount of current annual service charge/estate rentcharge/maintenance contribution (£)"
|