@pdtf/schemas 3.6.0-dev.16 → 3.6.0-dev.17
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/index.js +191 -0
- package/package.json +1 -1
- package/src/schemas/v3/combined.json +104 -73
- package/src/schemas/v3/compactSkeleton.txt +9 -1
- package/src/schemas/v3/overlays/baspi4.json +9 -0
- package/src/schemas/v3/overlays/baspi5.json +9 -0
- package/src/schemas/v3/overlays/piq.json +9 -0
- package/src/schemas/v3/overlays/ta6ed6.json +55 -129
- package/src/schemas/v3/overlays/ta6ed6v2.json +55 -129
- package/src/schemas/v3/pdtf-transaction.json +98 -39
- package/src/schemas/v3/skeleton.json +11 -2
package/index.js
CHANGED
|
@@ -225,6 +225,183 @@ const generateOverlayKey = (overlays) => {
|
|
|
225
225
|
return overlays.join(".");
|
|
226
226
|
};
|
|
227
227
|
|
|
228
|
+
|
|
229
|
+
// ---------------------------------------------------------------------------
|
|
230
|
+
// Overlay scoping
|
|
231
|
+
//
|
|
232
|
+
// A composed subschema is the CORE schema merged with the requested overlays,
|
|
233
|
+
// so it carries every field the core schema knows about — including questions
|
|
234
|
+
// the requested overlays never ask. Validating that full shape makes a form's
|
|
235
|
+
// completeness depend on questions it does not render: e.g. the NTS Material
|
|
236
|
+
// Information "Ownership" section validated the TA7 leasehold
|
|
237
|
+
// `ownershipAndManagement` node, so a seller who part-answered TA7 could never
|
|
238
|
+
// complete Material Information, with no field named in the error (the core
|
|
239
|
+
// schema keeps the `oneOf` but `extractOverlay` strips the `discriminator` that
|
|
240
|
+
// disambiguated it, so an absent tag matches EVERY branch: "must match exactly
|
|
241
|
+
// one schema in oneOf", passingSchemas [0,1]).
|
|
242
|
+
//
|
|
243
|
+
// Scoping prunes the composed subschema to the fields the requested overlays
|
|
244
|
+
// actually reference, so a form is validated against exactly what it asks.
|
|
245
|
+
//
|
|
246
|
+
// Discriminator tags are preserved even when unreferenced: they are structural,
|
|
247
|
+
// and removing one leaves AJV compiling a `discriminator` whose tag is gone
|
|
248
|
+
// ("oneOf subschemas must have properties/<tag>"). Tags are inherited into
|
|
249
|
+
// `oneOf` branches and `items`, because that is where the tag property lives.
|
|
250
|
+
// ---------------------------------------------------------------------------
|
|
251
|
+
|
|
252
|
+
// Every form overlay id -> the marker `extractOverlay` stamps for it. This must
|
|
253
|
+
// cover EVERY id in `overlaysMap`: an id missing here contributes no ref key, so
|
|
254
|
+
// its fields would look unreferenced and be pruned away. `getOverlayRefKeys`
|
|
255
|
+
// returns null if it sees an unknown id, which disables scoping altogether —
|
|
256
|
+
// under-scoping merely preserves today's behaviour, over-scoping would mark
|
|
257
|
+
// sections complete that are not.
|
|
258
|
+
const overlayToRefMapping = {
|
|
259
|
+
baspiV4: "baspi4Ref",
|
|
260
|
+
baspiV5: "baspi5Ref",
|
|
261
|
+
nts2023: "ntsRef",
|
|
262
|
+
nts2025: "nts2Ref",
|
|
263
|
+
ntsl2023: "ntslRef",
|
|
264
|
+
ntsl2025: "ntsl2Ref",
|
|
265
|
+
ta6ed4: "ta6Ref",
|
|
266
|
+
ta6ed6: "ta6ed6Ref",
|
|
267
|
+
ta6ed6v2: "ta6ed6v2Ref",
|
|
268
|
+
ta7ed3: "ta7Ref",
|
|
269
|
+
ta7ed5: "ta7ed5Ref",
|
|
270
|
+
ta10ed3: "ta10Ref",
|
|
271
|
+
lpe1ed4: "lpe1Ref",
|
|
272
|
+
fme1ed2: "fme1Ref",
|
|
273
|
+
llc1v2: "llc1Ref",
|
|
274
|
+
con29R2019: "con29RRef",
|
|
275
|
+
con29DW: "con29DWRef",
|
|
276
|
+
rdsV333: "rdsRef",
|
|
277
|
+
oc1v21: "oc1Ref",
|
|
278
|
+
piqV3: "piqRef",
|
|
279
|
+
sr24: "sr24Ref",
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
// Extension overlays contribute their host form's ref key(s). `ta` is the TA6
|
|
283
|
+
// compatibility overlay: it exists so TA6 answers can never invalidate the NTS
|
|
284
|
+
// sections, and its marker must therefore count as visible here too — otherwise
|
|
285
|
+
// scoping would prune away the very fields that overlay was added to protect.
|
|
286
|
+
const extensionOverlayToRefs = {
|
|
287
|
+
as: ["ntsRef"],
|
|
288
|
+
dr: ["ntsRef"],
|
|
289
|
+
er: ["ntsRef"],
|
|
290
|
+
fd: ["ntsRef"],
|
|
291
|
+
hi: ["ntsRef"],
|
|
292
|
+
hs: ["ntsRef"],
|
|
293
|
+
jk: ["ntsRef"],
|
|
294
|
+
la: ["ntsRef"],
|
|
295
|
+
ma: ["ntsRef"],
|
|
296
|
+
mc: ["ntsRef"],
|
|
297
|
+
oa: ["ntsRef"],
|
|
298
|
+
oc: ["ntsRef"],
|
|
299
|
+
sb: ["ntsRef"],
|
|
300
|
+
sf: ["ntsRef"],
|
|
301
|
+
sl: ["ntsRef"],
|
|
302
|
+
tf: ["ntsRef"],
|
|
303
|
+
dk: ["ntsRef", "sef25Ref"],
|
|
304
|
+
ic: ["ntsRef", "sef25Ref"],
|
|
305
|
+
lc: ["ntsRef", "sef25Ref"],
|
|
306
|
+
mi: ["ntsRef", "sef25Ref"],
|
|
307
|
+
nd: ["ntsRef", "sef25Ref"],
|
|
308
|
+
pc: ["ntsRef", "sef25Ref"],
|
|
309
|
+
ph: ["ntsRef", "sef25Ref"],
|
|
310
|
+
rw: ["ntsRef", "sef25Ref"],
|
|
311
|
+
sc: ["ntsRef", "sef25Ref"],
|
|
312
|
+
sd: ["ntsRef", "sef25Ref"],
|
|
313
|
+
tr: ["ntsRef", "sef25Ref"],
|
|
314
|
+
wg: ["ntsRef", "sef25Ref"],
|
|
315
|
+
ac: ["ntsRef", "sef25Ref"],
|
|
316
|
+
ta: ["ta6ed6CompatRef"],
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
// Returns the ref keys these overlays reference, or null when scoping must be
|
|
320
|
+
// skipped: an unrecognised overlay id (whose markers we therefore cannot
|
|
321
|
+
// identify) would otherwise have all of its fields pruned as unreferenced.
|
|
322
|
+
const getOverlayRefKeys = (overlays = []) => {
|
|
323
|
+
const overlayIds = (Array.isArray(overlays) ? overlays : [overlays]).filter(
|
|
324
|
+
(id) => id !== null && id !== undefined,
|
|
325
|
+
);
|
|
326
|
+
const refKeys = new Set();
|
|
327
|
+
for (const overlay of overlayIds) {
|
|
328
|
+
const refKey = overlayToRefMapping[overlay];
|
|
329
|
+
const extensionRefs = extensionOverlayToRefs[overlay];
|
|
330
|
+
if (!refKey && !extensionRefs) return null; // unknown id -> do not scope
|
|
331
|
+
if (refKey) refKeys.add(refKey);
|
|
332
|
+
(extensionRefs || []).forEach((k) => refKeys.add(k));
|
|
333
|
+
}
|
|
334
|
+
return [...refKeys];
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
// True when this node, or anything beneath it, is referenced by the overlays.
|
|
338
|
+
const schemaHasVisibleOverlayRef = (schema, refKeys = []) => {
|
|
339
|
+
if (!schema || typeof schema !== "object") return false;
|
|
340
|
+
if (refKeys.some((refKey) => !!schema[refKey])) return true;
|
|
341
|
+
if (schema.items && schemaHasVisibleOverlayRef(schema.items, refKeys))
|
|
342
|
+
return true;
|
|
343
|
+
if (schema.properties) {
|
|
344
|
+
if (
|
|
345
|
+
Object.values(schema.properties).some((p) =>
|
|
346
|
+
schemaHasVisibleOverlayRef(p, refKeys),
|
|
347
|
+
)
|
|
348
|
+
)
|
|
349
|
+
return true;
|
|
350
|
+
}
|
|
351
|
+
if (Array.isArray(schema.oneOf)) {
|
|
352
|
+
return schema.oneOf.some((b) => schemaHasVisibleOverlayRef(b, refKeys));
|
|
353
|
+
}
|
|
354
|
+
return false;
|
|
355
|
+
};
|
|
356
|
+
|
|
357
|
+
// The property names that discriminate this node's `oneOf`: the declared
|
|
358
|
+
// `discriminator`, plus — for a `oneOf` whose discriminator was stripped when
|
|
359
|
+
// the core schema was built — the enum key every branch constrains.
|
|
360
|
+
const discriminatingTags = (node) => {
|
|
361
|
+
const tags = new Set();
|
|
362
|
+
if (node.discriminator?.propertyName) tags.add(node.discriminator.propertyName);
|
|
363
|
+
if (Array.isArray(node.oneOf)) {
|
|
364
|
+
const branchKeys = node.oneOf.map(
|
|
365
|
+
(b) => new Set(Object.keys(b?.properties || {})),
|
|
366
|
+
);
|
|
367
|
+
const common = [...(branchKeys[0] || [])].filter((k) =>
|
|
368
|
+
branchKeys.every((s) => s.has(k)),
|
|
369
|
+
);
|
|
370
|
+
const inferred = common.find((k) =>
|
|
371
|
+
node.oneOf.every((b) => Array.isArray(b.properties[k]?.enum)),
|
|
372
|
+
);
|
|
373
|
+
if (inferred) tags.add(inferred);
|
|
374
|
+
}
|
|
375
|
+
return tags;
|
|
376
|
+
};
|
|
377
|
+
|
|
378
|
+
const pruneToOverlayScope = (node, refKeys, inheritedTags = new Set()) => {
|
|
379
|
+
if (!node || typeof node !== "object") return node;
|
|
380
|
+
const ownTags = discriminatingTags(node);
|
|
381
|
+
const keep = new Set([...ownTags, ...inheritedTags]);
|
|
382
|
+
|
|
383
|
+
if (node.properties) {
|
|
384
|
+
for (const [key, propertySchema] of Object.entries(node.properties)) {
|
|
385
|
+
if (!keep.has(key) && !schemaHasVisibleOverlayRef(propertySchema, refKeys)) {
|
|
386
|
+
delete node.properties[key];
|
|
387
|
+
if (Array.isArray(node.required)) {
|
|
388
|
+
node.required = node.required.filter((r) => r !== key);
|
|
389
|
+
}
|
|
390
|
+
} else {
|
|
391
|
+
pruneToOverlayScope(propertySchema, refKeys, new Set());
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
// Tags live inside branches and array items, so they must be inherited there.
|
|
396
|
+
if (node.items) pruneToOverlayScope(node.items, refKeys, ownTags);
|
|
397
|
+
if (Array.isArray(node.oneOf)) {
|
|
398
|
+
for (const branch of node.oneOf) {
|
|
399
|
+
pruneToOverlayScope(branch, refKeys, ownTags);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
return node;
|
|
403
|
+
};
|
|
404
|
+
|
|
228
405
|
// Enhanced caching function that stores both subschemas and validators
|
|
229
406
|
const getCachedSchemaData = (path, schemaId, overlays) => {
|
|
230
407
|
const overlayKey = generateOverlayKey(overlays);
|
|
@@ -313,6 +490,17 @@ const getCachedSchemaData = (path, schemaId, overlays) => {
|
|
|
313
490
|
}, sourceSchema);
|
|
314
491
|
}
|
|
315
492
|
|
|
493
|
+
// Scope the composed subschema to what these overlays actually ask, so a
|
|
494
|
+
// form's completeness never depends on questions it does not render.
|
|
495
|
+
// No overlays (or none carrying ref keys) => no scoping, shape unchanged.
|
|
496
|
+
const refKeys = getOverlayRefKeys(overlays);
|
|
497
|
+
if (refKeys && refKeys.length > 0 && subSchema && typeof subSchema === "object") {
|
|
498
|
+
subSchema = pruneToOverlayScope(
|
|
499
|
+
JSON.parse(JSON.stringify(subSchema)),
|
|
500
|
+
refKeys,
|
|
501
|
+
);
|
|
502
|
+
}
|
|
503
|
+
|
|
316
504
|
// Add schema to AJV and get validator
|
|
317
505
|
// Only add valid schemas to AJV
|
|
318
506
|
let validator;
|
|
@@ -641,6 +829,9 @@ module.exports = {
|
|
|
641
829
|
isPathValid,
|
|
642
830
|
getSubschemaValidator,
|
|
643
831
|
getTitleAtPath,
|
|
832
|
+
getOverlayRefKeys,
|
|
833
|
+
schemaHasVisibleOverlayRef,
|
|
834
|
+
pruneToOverlayScope,
|
|
644
835
|
verifiedClaimsSchema,
|
|
645
836
|
validateVerifiedClaims,
|
|
646
837
|
overlaysMap,
|
package/package.json
CHANGED
|
@@ -230,6 +230,7 @@
|
|
|
230
230
|
"Prospective Buyer",
|
|
231
231
|
"Buyer",
|
|
232
232
|
"Buyer's Conveyancer",
|
|
233
|
+
"Gift Donor",
|
|
233
234
|
"Estate Agent",
|
|
234
235
|
"Buyer's Agent",
|
|
235
236
|
"Surveyor",
|
|
@@ -611,6 +612,58 @@
|
|
|
611
612
|
"sellersCapacity",
|
|
612
613
|
"dateBecameOwnerOrAuthority"
|
|
613
614
|
]
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"properties": {
|
|
618
|
+
"role": {
|
|
619
|
+
"enum": ["Gift Donor"]
|
|
620
|
+
},
|
|
621
|
+
"offerId": {
|
|
622
|
+
"title": "Reference to an offer in the offers object",
|
|
623
|
+
"type": "string",
|
|
624
|
+
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:+-]*$"
|
|
625
|
+
},
|
|
626
|
+
"giftDetails": {
|
|
627
|
+
"title": "Details of the gift being made towards the purchase",
|
|
628
|
+
"description": "The terms on which a gift donor is contributing funds. These are the questions a conveyancer must resolve before reporting to a lender: whether the money is truly a gift rather than a loan, and whether the donor acquires any interest in or occupation of the property.",
|
|
629
|
+
"type": "object",
|
|
630
|
+
"properties": {
|
|
631
|
+
"amount": {
|
|
632
|
+
"title": "Amount being gifted",
|
|
633
|
+
"type": "number",
|
|
634
|
+
"minimum": 0
|
|
635
|
+
},
|
|
636
|
+
"currency": {
|
|
637
|
+
"title": "Currency of the gift",
|
|
638
|
+
"type": "string",
|
|
639
|
+
"default": "GBP"
|
|
640
|
+
},
|
|
641
|
+
"relationshipToBuyer": {
|
|
642
|
+
"title": "Donor's relationship to the buyer",
|
|
643
|
+
"type": "string"
|
|
644
|
+
},
|
|
645
|
+
"fundsTransferred": {
|
|
646
|
+
"title": "Whether the gift has been paid to the buyer yet",
|
|
647
|
+
"type": "string",
|
|
648
|
+
"enum": ["None", "Part", "All"]
|
|
649
|
+
},
|
|
650
|
+
"repayable": {
|
|
651
|
+
"title": "Whether the buyer must repay the money",
|
|
652
|
+
"description": "If true the funds are a loan rather than a gift, which most lenders treat differently.",
|
|
653
|
+
"type": "boolean"
|
|
654
|
+
},
|
|
655
|
+
"confersBeneficialInterest": {
|
|
656
|
+
"title": "Whether the donor acquires an interest in the property",
|
|
657
|
+
"type": "boolean"
|
|
658
|
+
},
|
|
659
|
+
"willOccupyProperty": {
|
|
660
|
+
"title": "Whether the donor will live in the property after completion",
|
|
661
|
+
"description": "An adult occupier who is not a legal owner may be required to sign a deed of consent or waiver of rights.",
|
|
662
|
+
"type": "boolean"
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
}
|
|
614
667
|
}
|
|
615
668
|
]
|
|
616
669
|
}
|
|
@@ -16093,6 +16146,8 @@
|
|
|
16093
16146
|
"baspi4Ref": "A4.6.3",
|
|
16094
16147
|
"baspi5Ref": "A4.6.3",
|
|
16095
16148
|
"ta6Ref": "1.6.3",
|
|
16149
|
+
"ta6ed6Ref": "2.5.3",
|
|
16150
|
+
"ta6ed6v2Ref": "2.5.3",
|
|
16096
16151
|
"title": "Attachments",
|
|
16097
16152
|
"type": "string",
|
|
16098
16153
|
"enum": ["Attached", "To follow"]
|
|
@@ -26711,20 +26766,14 @@
|
|
|
26711
26766
|
"minLength": 1
|
|
26712
26767
|
},
|
|
26713
26768
|
"disagreementOrComplaint": {
|
|
26714
|
-
"ta6ed6Ref": "9.3",
|
|
26715
|
-
"ta6ed6v2Ref": "9.3",
|
|
26716
26769
|
"title": "Are you aware of any disagreement or complaint about any such right or arrangement?",
|
|
26717
26770
|
"type": "object",
|
|
26718
26771
|
"properties": {
|
|
26719
26772
|
"yesNo": {
|
|
26720
|
-
"ta6ed6Ref": "9.3.1",
|
|
26721
|
-
"ta6ed6v2Ref": "9.3.1",
|
|
26722
26773
|
"type": "string",
|
|
26723
26774
|
"enum": ["Yes", "No", "Not known"]
|
|
26724
26775
|
}
|
|
26725
26776
|
},
|
|
26726
|
-
"ta6ed6Required": ["yesNo"],
|
|
26727
|
-
"ta6ed6v2Required": ["yesNo"],
|
|
26728
26777
|
"discriminator": {
|
|
26729
26778
|
"propertyName": "yesNo"
|
|
26730
26779
|
},
|
|
@@ -26743,14 +26792,10 @@
|
|
|
26743
26792
|
},
|
|
26744
26793
|
"details": {
|
|
26745
26794
|
"title": "Provide details",
|
|
26746
|
-
"ta6ed6Ref": "9.3.2",
|
|
26747
|
-
"ta6ed6v2Ref": "9.3.2",
|
|
26748
26795
|
"type": "string",
|
|
26749
26796
|
"minLength": 1
|
|
26750
26797
|
}
|
|
26751
|
-
}
|
|
26752
|
-
"ta6ed6Required": ["details"],
|
|
26753
|
-
"ta6ed6v2Required": ["details"]
|
|
26798
|
+
}
|
|
26754
26799
|
}
|
|
26755
26800
|
]
|
|
26756
26801
|
}
|
|
@@ -26758,8 +26803,8 @@
|
|
|
26758
26803
|
"baspi4Required": ["details"],
|
|
26759
26804
|
"baspi5Required": ["details"],
|
|
26760
26805
|
"ta6Required": ["details"],
|
|
26761
|
-
"ta6ed6Required": ["details"
|
|
26762
|
-
"ta6ed6v2Required": ["details"
|
|
26806
|
+
"ta6ed6Required": ["details"],
|
|
26807
|
+
"ta6ed6v2Required": ["details"]
|
|
26763
26808
|
}
|
|
26764
26809
|
]
|
|
26765
26810
|
},
|
|
@@ -26786,6 +26831,49 @@
|
|
|
26786
26831
|
"type": "string",
|
|
26787
26832
|
"title": "",
|
|
26788
26833
|
"enum": ["Yes", "No"]
|
|
26834
|
+
},
|
|
26835
|
+
"disagreementOrComplaint": {
|
|
26836
|
+
"ta6ed6Ref": "9.3",
|
|
26837
|
+
"ta6ed6v2Ref": "9.3",
|
|
26838
|
+
"title": "Are you aware of any disagreement or complaint about any such right or arrangement?",
|
|
26839
|
+
"type": "object",
|
|
26840
|
+
"properties": {
|
|
26841
|
+
"yesNo": {
|
|
26842
|
+
"ta6ed6Ref": "9.3.1",
|
|
26843
|
+
"ta6ed6v2Ref": "9.3.1",
|
|
26844
|
+
"type": "string",
|
|
26845
|
+
"enum": ["Yes", "No", "Not known"]
|
|
26846
|
+
}
|
|
26847
|
+
},
|
|
26848
|
+
"ta6ed6Required": ["yesNo"],
|
|
26849
|
+
"ta6ed6v2Required": ["yesNo"],
|
|
26850
|
+
"discriminator": {
|
|
26851
|
+
"propertyName": "yesNo"
|
|
26852
|
+
},
|
|
26853
|
+
"oneOf": [
|
|
26854
|
+
{
|
|
26855
|
+
"properties": {
|
|
26856
|
+
"yesNo": {
|
|
26857
|
+
"enum": ["No", "Not known"]
|
|
26858
|
+
}
|
|
26859
|
+
}
|
|
26860
|
+
},
|
|
26861
|
+
{
|
|
26862
|
+
"properties": {
|
|
26863
|
+
"yesNo": {
|
|
26864
|
+
"enum": ["Yes"]
|
|
26865
|
+
},
|
|
26866
|
+
"details": {
|
|
26867
|
+
"ta6ed6Ref": "9.3.2",
|
|
26868
|
+
"ta6ed6v2Ref": "9.3.2",
|
|
26869
|
+
"type": "string",
|
|
26870
|
+
"minLength": 1
|
|
26871
|
+
}
|
|
26872
|
+
},
|
|
26873
|
+
"ta6ed6Required": ["details"],
|
|
26874
|
+
"ta6ed6v2Required": ["details"]
|
|
26875
|
+
}
|
|
26876
|
+
]
|
|
26789
26877
|
}
|
|
26790
26878
|
},
|
|
26791
26879
|
"baspi4Required": ["yesNo"],
|
|
@@ -26822,49 +26910,6 @@
|
|
|
26822
26910
|
"type": "string",
|
|
26823
26911
|
"minLength": 1
|
|
26824
26912
|
},
|
|
26825
|
-
"disagreementOrComplaint": {
|
|
26826
|
-
"ta6ed6Ref": "9.3",
|
|
26827
|
-
"ta6ed6v2Ref": "9.3",
|
|
26828
|
-
"title": "Are you aware of any disagreement or complaint about any such right or arrangement?",
|
|
26829
|
-
"type": "object",
|
|
26830
|
-
"properties": {
|
|
26831
|
-
"yesNo": {
|
|
26832
|
-
"ta6ed6Ref": "9.3.1",
|
|
26833
|
-
"ta6ed6v2Ref": "9.3.1",
|
|
26834
|
-
"type": "string",
|
|
26835
|
-
"enum": ["Yes", "No", "Not known"]
|
|
26836
|
-
}
|
|
26837
|
-
},
|
|
26838
|
-
"ta6ed6Required": ["yesNo"],
|
|
26839
|
-
"ta6ed6v2Required": ["yesNo"],
|
|
26840
|
-
"discriminator": {
|
|
26841
|
-
"propertyName": "yesNo"
|
|
26842
|
-
},
|
|
26843
|
-
"oneOf": [
|
|
26844
|
-
{
|
|
26845
|
-
"properties": {
|
|
26846
|
-
"yesNo": {
|
|
26847
|
-
"enum": ["No", "Not known"]
|
|
26848
|
-
}
|
|
26849
|
-
}
|
|
26850
|
-
},
|
|
26851
|
-
{
|
|
26852
|
-
"properties": {
|
|
26853
|
-
"yesNo": {
|
|
26854
|
-
"enum": ["Yes"]
|
|
26855
|
-
},
|
|
26856
|
-
"details": {
|
|
26857
|
-
"ta6ed6Ref": "9.3.2",
|
|
26858
|
-
"ta6ed6v2Ref": "9.3.2",
|
|
26859
|
-
"type": "string",
|
|
26860
|
-
"minLength": 1
|
|
26861
|
-
}
|
|
26862
|
-
},
|
|
26863
|
-
"ta6ed6Required": ["details"],
|
|
26864
|
-
"ta6ed6v2Required": ["details"]
|
|
26865
|
-
}
|
|
26866
|
-
]
|
|
26867
|
-
},
|
|
26868
26913
|
"attachments": {
|
|
26869
26914
|
"baspi4Ref": "A10.2.3",
|
|
26870
26915
|
"baspi5Ref": "A10.2.3",
|
|
@@ -27667,22 +27712,14 @@
|
|
|
27667
27712
|
"minLength": 1
|
|
27668
27713
|
},
|
|
27669
27714
|
"disagreementOrComplaint": {
|
|
27670
|
-
"ta6ed6Ref": "9.6",
|
|
27671
|
-
"ta6ed6v2Ref": "9.6",
|
|
27672
27715
|
"title": "Are you aware of any disagreement or complaint about any such arrangements?",
|
|
27673
|
-
"ta6ed6Title": "Are you aware of any disagreement or complaint about any such right or arrangement?",
|
|
27674
|
-
"ta6ed6v2Title": "Are you aware of any disagreement or complaint about any such right or arrangement?",
|
|
27675
27716
|
"type": "object",
|
|
27676
27717
|
"properties": {
|
|
27677
27718
|
"yesNo": {
|
|
27678
|
-
"ta6ed6Ref": "9.6.1",
|
|
27679
|
-
"ta6ed6v2Ref": "9.6.1",
|
|
27680
27719
|
"type": "string",
|
|
27681
27720
|
"enum": ["Yes", "No", "Not known"]
|
|
27682
27721
|
}
|
|
27683
27722
|
},
|
|
27684
|
-
"ta6ed6Required": ["yesNo"],
|
|
27685
|
-
"ta6ed6v2Required": ["yesNo"],
|
|
27686
27723
|
"discriminator": {
|
|
27687
27724
|
"propertyName": "yesNo"
|
|
27688
27725
|
},
|
|
@@ -27700,22 +27737,16 @@
|
|
|
27700
27737
|
"enum": ["Yes"]
|
|
27701
27738
|
},
|
|
27702
27739
|
"details": {
|
|
27703
|
-
"ta6ed6Ref": "9.6.2",
|
|
27704
|
-
"ta6ed6v2Ref": "9.6.2",
|
|
27705
|
-
"ta6ed6Title": "Please give details",
|
|
27706
|
-
"ta6ed6v2Title": "Please give details",
|
|
27707
27740
|
"type": "string",
|
|
27708
27741
|
"minLength": 1
|
|
27709
27742
|
}
|
|
27710
|
-
}
|
|
27711
|
-
"ta6ed6Required": ["details"],
|
|
27712
|
-
"ta6ed6v2Required": ["details"]
|
|
27743
|
+
}
|
|
27713
27744
|
}
|
|
27714
27745
|
]
|
|
27715
27746
|
}
|
|
27716
27747
|
},
|
|
27717
|
-
"ta6ed6Required": ["details"
|
|
27718
|
-
"ta6ed6v2Required": ["details"
|
|
27748
|
+
"ta6ed6Required": ["details"],
|
|
27749
|
+
"ta6ed6v2Required": ["details"]
|
|
27719
27750
|
}
|
|
27720
27751
|
]
|
|
27721
27752
|
}
|
|
@@ -64,6 +64,14 @@
|
|
|
64
64
|
directorOrAuthorisedPerson
|
|
65
65
|
countryOfIncorporation
|
|
66
66
|
dateBecameOwnerOrAuthority
|
|
67
|
+
giftDetails
|
|
68
|
+
amount
|
|
69
|
+
currency
|
|
70
|
+
relationshipToBuyer
|
|
71
|
+
fundsTransferred
|
|
72
|
+
repayable
|
|
73
|
+
confersBeneficialInterest
|
|
74
|
+
willOccupyProperty
|
|
67
75
|
]
|
|
68
76
|
propertyPack
|
|
69
77
|
address
|
|
@@ -2171,10 +2179,10 @@
|
|
|
2171
2179
|
details
|
|
2172
2180
|
neighbouringLandRights
|
|
2173
2181
|
yesNo
|
|
2174
|
-
details
|
|
2175
2182
|
disagreementOrComplaint
|
|
2176
2183
|
yesNo
|
|
2177
2184
|
details
|
|
2185
|
+
details
|
|
2178
2186
|
attachments
|
|
2179
2187
|
accessRestrictionAttempts
|
|
2180
2188
|
yesNo
|
|
@@ -130,6 +130,15 @@
|
|
|
130
130
|
"sellersCapacity",
|
|
131
131
|
"dateBecameOwnerOrAuthority"
|
|
132
132
|
]
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"properties": {
|
|
136
|
+
"role": {
|
|
137
|
+
"enum": [
|
|
138
|
+
"Gift Donor"
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
}
|
|
133
142
|
}
|
|
134
143
|
],
|
|
135
144
|
"required": [
|
|
@@ -2665,6 +2674,9 @@
|
|
|
2665
2674
|
"details": {
|
|
2666
2675
|
"ta6ed6Ref": "2.5.2",
|
|
2667
2676
|
"title": "Supply a copy and give details of any works carried out or agreed"
|
|
2677
|
+
},
|
|
2678
|
+
"attachments": {
|
|
2679
|
+
"ta6ed6Ref": "2.5.3"
|
|
2668
2680
|
}
|
|
2669
2681
|
},
|
|
2670
2682
|
"required": [
|
|
@@ -4540,52 +4552,10 @@
|
|
|
4540
4552
|
"details": {
|
|
4541
4553
|
"ta6ed6Ref": "9.2.2",
|
|
4542
4554
|
"title": "Please give details of how much, how often and who you pay"
|
|
4543
|
-
},
|
|
4544
|
-
"disagreementOrComplaint": {
|
|
4545
|
-
"ta6ed6Ref": "9.3",
|
|
4546
|
-
"discriminator": {
|
|
4547
|
-
"propertyName": "yesNo"
|
|
4548
|
-
},
|
|
4549
|
-
"oneOf": [
|
|
4550
|
-
{
|
|
4551
|
-
"properties": {
|
|
4552
|
-
"yesNo": {
|
|
4553
|
-
"enum": [
|
|
4554
|
-
"No",
|
|
4555
|
-
"Not known"
|
|
4556
|
-
]
|
|
4557
|
-
}
|
|
4558
|
-
}
|
|
4559
|
-
},
|
|
4560
|
-
{
|
|
4561
|
-
"properties": {
|
|
4562
|
-
"yesNo": {
|
|
4563
|
-
"enum": [
|
|
4564
|
-
"Yes"
|
|
4565
|
-
]
|
|
4566
|
-
},
|
|
4567
|
-
"details": {
|
|
4568
|
-
"ta6ed6Ref": "9.3.2"
|
|
4569
|
-
}
|
|
4570
|
-
},
|
|
4571
|
-
"required": [
|
|
4572
|
-
"details"
|
|
4573
|
-
]
|
|
4574
|
-
}
|
|
4575
|
-
],
|
|
4576
|
-
"required": [
|
|
4577
|
-
"yesNo"
|
|
4578
|
-
],
|
|
4579
|
-
"properties": {
|
|
4580
|
-
"yesNo": {
|
|
4581
|
-
"ta6ed6Ref": "9.3.1"
|
|
4582
|
-
}
|
|
4583
|
-
}
|
|
4584
4555
|
}
|
|
4585
4556
|
},
|
|
4586
4557
|
"required": [
|
|
4587
|
-
"details"
|
|
4588
|
-
"disagreementOrComplaint"
|
|
4558
|
+
"details"
|
|
4589
4559
|
]
|
|
4590
4560
|
}
|
|
4591
4561
|
],
|
|
@@ -4625,47 +4595,6 @@
|
|
|
4625
4595
|
"details": {
|
|
4626
4596
|
"ta6ed6Ref": "9.1.2",
|
|
4627
4597
|
"title": "Please give details"
|
|
4628
|
-
},
|
|
4629
|
-
"disagreementOrComplaint": {
|
|
4630
|
-
"ta6ed6Ref": "9.3",
|
|
4631
|
-
"discriminator": {
|
|
4632
|
-
"propertyName": "yesNo"
|
|
4633
|
-
},
|
|
4634
|
-
"oneOf": [
|
|
4635
|
-
{
|
|
4636
|
-
"properties": {
|
|
4637
|
-
"yesNo": {
|
|
4638
|
-
"enum": [
|
|
4639
|
-
"No",
|
|
4640
|
-
"Not known"
|
|
4641
|
-
]
|
|
4642
|
-
}
|
|
4643
|
-
}
|
|
4644
|
-
},
|
|
4645
|
-
{
|
|
4646
|
-
"properties": {
|
|
4647
|
-
"yesNo": {
|
|
4648
|
-
"enum": [
|
|
4649
|
-
"Yes"
|
|
4650
|
-
]
|
|
4651
|
-
},
|
|
4652
|
-
"details": {
|
|
4653
|
-
"ta6ed6Ref": "9.3.2"
|
|
4654
|
-
}
|
|
4655
|
-
},
|
|
4656
|
-
"required": [
|
|
4657
|
-
"details"
|
|
4658
|
-
]
|
|
4659
|
-
}
|
|
4660
|
-
],
|
|
4661
|
-
"required": [
|
|
4662
|
-
"yesNo"
|
|
4663
|
-
],
|
|
4664
|
-
"properties": {
|
|
4665
|
-
"yesNo": {
|
|
4666
|
-
"ta6ed6Ref": "9.3.1"
|
|
4667
|
-
}
|
|
4668
|
-
}
|
|
4669
4598
|
}
|
|
4670
4599
|
},
|
|
4671
4600
|
"required": [
|
|
@@ -4681,6 +4610,47 @@
|
|
|
4681
4610
|
"properties": {
|
|
4682
4611
|
"yesNo": {
|
|
4683
4612
|
"ta6ed6Ref": "9.1.1"
|
|
4613
|
+
},
|
|
4614
|
+
"disagreementOrComplaint": {
|
|
4615
|
+
"ta6ed6Ref": "9.3",
|
|
4616
|
+
"discriminator": {
|
|
4617
|
+
"propertyName": "yesNo"
|
|
4618
|
+
},
|
|
4619
|
+
"oneOf": [
|
|
4620
|
+
{
|
|
4621
|
+
"properties": {
|
|
4622
|
+
"yesNo": {
|
|
4623
|
+
"enum": [
|
|
4624
|
+
"No",
|
|
4625
|
+
"Not known"
|
|
4626
|
+
]
|
|
4627
|
+
}
|
|
4628
|
+
}
|
|
4629
|
+
},
|
|
4630
|
+
{
|
|
4631
|
+
"properties": {
|
|
4632
|
+
"yesNo": {
|
|
4633
|
+
"enum": [
|
|
4634
|
+
"Yes"
|
|
4635
|
+
]
|
|
4636
|
+
},
|
|
4637
|
+
"details": {
|
|
4638
|
+
"ta6ed6Ref": "9.3.2"
|
|
4639
|
+
}
|
|
4640
|
+
},
|
|
4641
|
+
"required": [
|
|
4642
|
+
"details"
|
|
4643
|
+
]
|
|
4644
|
+
}
|
|
4645
|
+
],
|
|
4646
|
+
"required": [
|
|
4647
|
+
"yesNo"
|
|
4648
|
+
],
|
|
4649
|
+
"properties": {
|
|
4650
|
+
"yesNo": {
|
|
4651
|
+
"ta6ed6Ref": "9.3.1"
|
|
4652
|
+
}
|
|
4653
|
+
}
|
|
4684
4654
|
}
|
|
4685
4655
|
}
|
|
4686
4656
|
},
|
|
@@ -5112,54 +5082,10 @@
|
|
|
5112
5082
|
},
|
|
5113
5083
|
"details": {
|
|
5114
5084
|
"ta6ed6Ref": "9.5.2"
|
|
5115
|
-
},
|
|
5116
|
-
"disagreementOrComplaint": {
|
|
5117
|
-
"ta6ed6Ref": "9.6",
|
|
5118
|
-
"discriminator": {
|
|
5119
|
-
"propertyName": "yesNo"
|
|
5120
|
-
},
|
|
5121
|
-
"oneOf": [
|
|
5122
|
-
{
|
|
5123
|
-
"properties": {
|
|
5124
|
-
"yesNo": {
|
|
5125
|
-
"enum": [
|
|
5126
|
-
"No",
|
|
5127
|
-
"Not known"
|
|
5128
|
-
]
|
|
5129
|
-
}
|
|
5130
|
-
}
|
|
5131
|
-
},
|
|
5132
|
-
{
|
|
5133
|
-
"properties": {
|
|
5134
|
-
"yesNo": {
|
|
5135
|
-
"enum": [
|
|
5136
|
-
"Yes"
|
|
5137
|
-
]
|
|
5138
|
-
},
|
|
5139
|
-
"details": {
|
|
5140
|
-
"ta6ed6Ref": "9.6.2",
|
|
5141
|
-
"title": "Please give details"
|
|
5142
|
-
}
|
|
5143
|
-
},
|
|
5144
|
-
"required": [
|
|
5145
|
-
"details"
|
|
5146
|
-
]
|
|
5147
|
-
}
|
|
5148
|
-
],
|
|
5149
|
-
"required": [
|
|
5150
|
-
"yesNo"
|
|
5151
|
-
],
|
|
5152
|
-
"title": "Are you aware of any disagreement or complaint about any such right or arrangement?",
|
|
5153
|
-
"properties": {
|
|
5154
|
-
"yesNo": {
|
|
5155
|
-
"ta6ed6Ref": "9.6.1"
|
|
5156
|
-
}
|
|
5157
|
-
}
|
|
5158
5085
|
}
|
|
5159
5086
|
},
|
|
5160
5087
|
"required": [
|
|
5161
|
-
"details"
|
|
5162
|
-
"disagreementOrComplaint"
|
|
5088
|
+
"details"
|
|
5163
5089
|
]
|
|
5164
5090
|
}
|
|
5165
5091
|
],
|
|
@@ -130,6 +130,15 @@
|
|
|
130
130
|
"sellersCapacity",
|
|
131
131
|
"dateBecameOwnerOrAuthority"
|
|
132
132
|
]
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"properties": {
|
|
136
|
+
"role": {
|
|
137
|
+
"enum": [
|
|
138
|
+
"Gift Donor"
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
}
|
|
133
142
|
}
|
|
134
143
|
],
|
|
135
144
|
"required": [
|
|
@@ -1011,6 +1020,9 @@
|
|
|
1011
1020
|
"details": {
|
|
1012
1021
|
"ta6ed6v2Ref": "2.5.2",
|
|
1013
1022
|
"title": "Supply a copy and give details of any works carried out or agreed"
|
|
1023
|
+
},
|
|
1024
|
+
"attachments": {
|
|
1025
|
+
"ta6ed6v2Ref": "2.5.3"
|
|
1014
1026
|
}
|
|
1015
1027
|
},
|
|
1016
1028
|
"required": [
|
|
@@ -2634,52 +2646,10 @@
|
|
|
2634
2646
|
"details": {
|
|
2635
2647
|
"ta6ed6v2Ref": "9.2.2",
|
|
2636
2648
|
"title": "Please give details of how much, how often and who you pay"
|
|
2637
|
-
},
|
|
2638
|
-
"disagreementOrComplaint": {
|
|
2639
|
-
"ta6ed6v2Ref": "9.3",
|
|
2640
|
-
"discriminator": {
|
|
2641
|
-
"propertyName": "yesNo"
|
|
2642
|
-
},
|
|
2643
|
-
"oneOf": [
|
|
2644
|
-
{
|
|
2645
|
-
"properties": {
|
|
2646
|
-
"yesNo": {
|
|
2647
|
-
"enum": [
|
|
2648
|
-
"No",
|
|
2649
|
-
"Not known"
|
|
2650
|
-
]
|
|
2651
|
-
}
|
|
2652
|
-
}
|
|
2653
|
-
},
|
|
2654
|
-
{
|
|
2655
|
-
"properties": {
|
|
2656
|
-
"yesNo": {
|
|
2657
|
-
"enum": [
|
|
2658
|
-
"Yes"
|
|
2659
|
-
]
|
|
2660
|
-
},
|
|
2661
|
-
"details": {
|
|
2662
|
-
"ta6ed6v2Ref": "9.3.2"
|
|
2663
|
-
}
|
|
2664
|
-
},
|
|
2665
|
-
"required": [
|
|
2666
|
-
"details"
|
|
2667
|
-
]
|
|
2668
|
-
}
|
|
2669
|
-
],
|
|
2670
|
-
"required": [
|
|
2671
|
-
"yesNo"
|
|
2672
|
-
],
|
|
2673
|
-
"properties": {
|
|
2674
|
-
"yesNo": {
|
|
2675
|
-
"ta6ed6v2Ref": "9.3.1"
|
|
2676
|
-
}
|
|
2677
|
-
}
|
|
2678
2649
|
}
|
|
2679
2650
|
},
|
|
2680
2651
|
"required": [
|
|
2681
|
-
"details"
|
|
2682
|
-
"disagreementOrComplaint"
|
|
2652
|
+
"details"
|
|
2683
2653
|
]
|
|
2684
2654
|
}
|
|
2685
2655
|
],
|
|
@@ -2719,47 +2689,6 @@
|
|
|
2719
2689
|
"details": {
|
|
2720
2690
|
"ta6ed6v2Ref": "9.1.2",
|
|
2721
2691
|
"title": "Please give details"
|
|
2722
|
-
},
|
|
2723
|
-
"disagreementOrComplaint": {
|
|
2724
|
-
"ta6ed6v2Ref": "9.3",
|
|
2725
|
-
"discriminator": {
|
|
2726
|
-
"propertyName": "yesNo"
|
|
2727
|
-
},
|
|
2728
|
-
"oneOf": [
|
|
2729
|
-
{
|
|
2730
|
-
"properties": {
|
|
2731
|
-
"yesNo": {
|
|
2732
|
-
"enum": [
|
|
2733
|
-
"No",
|
|
2734
|
-
"Not known"
|
|
2735
|
-
]
|
|
2736
|
-
}
|
|
2737
|
-
}
|
|
2738
|
-
},
|
|
2739
|
-
{
|
|
2740
|
-
"properties": {
|
|
2741
|
-
"yesNo": {
|
|
2742
|
-
"enum": [
|
|
2743
|
-
"Yes"
|
|
2744
|
-
]
|
|
2745
|
-
},
|
|
2746
|
-
"details": {
|
|
2747
|
-
"ta6ed6v2Ref": "9.3.2"
|
|
2748
|
-
}
|
|
2749
|
-
},
|
|
2750
|
-
"required": [
|
|
2751
|
-
"details"
|
|
2752
|
-
]
|
|
2753
|
-
}
|
|
2754
|
-
],
|
|
2755
|
-
"required": [
|
|
2756
|
-
"yesNo"
|
|
2757
|
-
],
|
|
2758
|
-
"properties": {
|
|
2759
|
-
"yesNo": {
|
|
2760
|
-
"ta6ed6v2Ref": "9.3.1"
|
|
2761
|
-
}
|
|
2762
|
-
}
|
|
2763
2692
|
}
|
|
2764
2693
|
},
|
|
2765
2694
|
"required": [
|
|
@@ -2775,6 +2704,47 @@
|
|
|
2775
2704
|
"properties": {
|
|
2776
2705
|
"yesNo": {
|
|
2777
2706
|
"ta6ed6v2Ref": "9.1.1"
|
|
2707
|
+
},
|
|
2708
|
+
"disagreementOrComplaint": {
|
|
2709
|
+
"ta6ed6v2Ref": "9.3",
|
|
2710
|
+
"discriminator": {
|
|
2711
|
+
"propertyName": "yesNo"
|
|
2712
|
+
},
|
|
2713
|
+
"oneOf": [
|
|
2714
|
+
{
|
|
2715
|
+
"properties": {
|
|
2716
|
+
"yesNo": {
|
|
2717
|
+
"enum": [
|
|
2718
|
+
"No",
|
|
2719
|
+
"Not known"
|
|
2720
|
+
]
|
|
2721
|
+
}
|
|
2722
|
+
}
|
|
2723
|
+
},
|
|
2724
|
+
{
|
|
2725
|
+
"properties": {
|
|
2726
|
+
"yesNo": {
|
|
2727
|
+
"enum": [
|
|
2728
|
+
"Yes"
|
|
2729
|
+
]
|
|
2730
|
+
},
|
|
2731
|
+
"details": {
|
|
2732
|
+
"ta6ed6v2Ref": "9.3.2"
|
|
2733
|
+
}
|
|
2734
|
+
},
|
|
2735
|
+
"required": [
|
|
2736
|
+
"details"
|
|
2737
|
+
]
|
|
2738
|
+
}
|
|
2739
|
+
],
|
|
2740
|
+
"required": [
|
|
2741
|
+
"yesNo"
|
|
2742
|
+
],
|
|
2743
|
+
"properties": {
|
|
2744
|
+
"yesNo": {
|
|
2745
|
+
"ta6ed6v2Ref": "9.3.1"
|
|
2746
|
+
}
|
|
2747
|
+
}
|
|
2778
2748
|
}
|
|
2779
2749
|
}
|
|
2780
2750
|
},
|
|
@@ -3206,54 +3176,10 @@
|
|
|
3206
3176
|
},
|
|
3207
3177
|
"details": {
|
|
3208
3178
|
"ta6ed6v2Ref": "9.5.2"
|
|
3209
|
-
},
|
|
3210
|
-
"disagreementOrComplaint": {
|
|
3211
|
-
"ta6ed6v2Ref": "9.6",
|
|
3212
|
-
"discriminator": {
|
|
3213
|
-
"propertyName": "yesNo"
|
|
3214
|
-
},
|
|
3215
|
-
"oneOf": [
|
|
3216
|
-
{
|
|
3217
|
-
"properties": {
|
|
3218
|
-
"yesNo": {
|
|
3219
|
-
"enum": [
|
|
3220
|
-
"No",
|
|
3221
|
-
"Not known"
|
|
3222
|
-
]
|
|
3223
|
-
}
|
|
3224
|
-
}
|
|
3225
|
-
},
|
|
3226
|
-
{
|
|
3227
|
-
"properties": {
|
|
3228
|
-
"yesNo": {
|
|
3229
|
-
"enum": [
|
|
3230
|
-
"Yes"
|
|
3231
|
-
]
|
|
3232
|
-
},
|
|
3233
|
-
"details": {
|
|
3234
|
-
"ta6ed6v2Ref": "9.6.2",
|
|
3235
|
-
"title": "Please give details"
|
|
3236
|
-
}
|
|
3237
|
-
},
|
|
3238
|
-
"required": [
|
|
3239
|
-
"details"
|
|
3240
|
-
]
|
|
3241
|
-
}
|
|
3242
|
-
],
|
|
3243
|
-
"required": [
|
|
3244
|
-
"yesNo"
|
|
3245
|
-
],
|
|
3246
|
-
"title": "Are you aware of any disagreement or complaint about any such right or arrangement?",
|
|
3247
|
-
"properties": {
|
|
3248
|
-
"yesNo": {
|
|
3249
|
-
"ta6ed6v2Ref": "9.6.1"
|
|
3250
|
-
}
|
|
3251
|
-
}
|
|
3252
3179
|
}
|
|
3253
3180
|
},
|
|
3254
3181
|
"required": [
|
|
3255
|
-
"details"
|
|
3256
|
-
"disagreementOrComplaint"
|
|
3182
|
+
"details"
|
|
3257
3183
|
]
|
|
3258
3184
|
}
|
|
3259
3185
|
],
|
|
@@ -218,6 +218,7 @@
|
|
|
218
218
|
"Prospective Buyer",
|
|
219
219
|
"Buyer",
|
|
220
220
|
"Buyer's Conveyancer",
|
|
221
|
+
"Gift Donor",
|
|
221
222
|
"Estate Agent",
|
|
222
223
|
"Buyer's Agent",
|
|
223
224
|
"Surveyor",
|
|
@@ -561,6 +562,64 @@
|
|
|
561
562
|
"format": "date"
|
|
562
563
|
}
|
|
563
564
|
}
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"properties": {
|
|
568
|
+
"role": {
|
|
569
|
+
"enum": [
|
|
570
|
+
"Gift Donor"
|
|
571
|
+
]
|
|
572
|
+
},
|
|
573
|
+
"offerId": {
|
|
574
|
+
"title": "Reference to an offer in the offers object",
|
|
575
|
+
"type": "string",
|
|
576
|
+
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:+-]*$"
|
|
577
|
+
},
|
|
578
|
+
"giftDetails": {
|
|
579
|
+
"title": "Details of the gift being made towards the purchase",
|
|
580
|
+
"description": "The terms on which a gift donor is contributing funds. These are the questions a conveyancer must resolve before reporting to a lender: whether the money is truly a gift rather than a loan, and whether the donor acquires any interest in or occupation of the property.",
|
|
581
|
+
"type": "object",
|
|
582
|
+
"properties": {
|
|
583
|
+
"amount": {
|
|
584
|
+
"title": "Amount being gifted",
|
|
585
|
+
"type": "number",
|
|
586
|
+
"minimum": 0
|
|
587
|
+
},
|
|
588
|
+
"currency": {
|
|
589
|
+
"title": "Currency of the gift",
|
|
590
|
+
"type": "string",
|
|
591
|
+
"default": "GBP"
|
|
592
|
+
},
|
|
593
|
+
"relationshipToBuyer": {
|
|
594
|
+
"title": "Donor's relationship to the buyer",
|
|
595
|
+
"type": "string"
|
|
596
|
+
},
|
|
597
|
+
"fundsTransferred": {
|
|
598
|
+
"title": "Whether the gift has been paid to the buyer yet",
|
|
599
|
+
"type": "string",
|
|
600
|
+
"enum": [
|
|
601
|
+
"None",
|
|
602
|
+
"Part",
|
|
603
|
+
"All"
|
|
604
|
+
]
|
|
605
|
+
},
|
|
606
|
+
"repayable": {
|
|
607
|
+
"title": "Whether the buyer must repay the money",
|
|
608
|
+
"description": "If true the funds are a loan rather than a gift, which most lenders treat differently.",
|
|
609
|
+
"type": "boolean"
|
|
610
|
+
},
|
|
611
|
+
"confersBeneficialInterest": {
|
|
612
|
+
"title": "Whether the donor acquires an interest in the property",
|
|
613
|
+
"type": "boolean"
|
|
614
|
+
},
|
|
615
|
+
"willOccupyProperty": {
|
|
616
|
+
"title": "Whether the donor will live in the property after completion",
|
|
617
|
+
"description": "An adult occupier who is not a legal owner may be required to sign a deed of consent or waiver of rights.",
|
|
618
|
+
"type": "boolean"
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
}
|
|
564
623
|
}
|
|
565
624
|
]
|
|
566
625
|
}
|
|
@@ -21223,6 +21282,45 @@
|
|
|
21223
21282
|
"Yes",
|
|
21224
21283
|
"No"
|
|
21225
21284
|
]
|
|
21285
|
+
},
|
|
21286
|
+
"disagreementOrComplaint": {
|
|
21287
|
+
"title": "Are you aware of any disagreement or complaint about any such right or arrangement?",
|
|
21288
|
+
"type": "object",
|
|
21289
|
+
"properties": {
|
|
21290
|
+
"yesNo": {
|
|
21291
|
+
"type": "string",
|
|
21292
|
+
"enum": [
|
|
21293
|
+
"Yes",
|
|
21294
|
+
"No",
|
|
21295
|
+
"Not known"
|
|
21296
|
+
]
|
|
21297
|
+
}
|
|
21298
|
+
},
|
|
21299
|
+
"oneOf": [
|
|
21300
|
+
{
|
|
21301
|
+
"properties": {
|
|
21302
|
+
"yesNo": {
|
|
21303
|
+
"enum": [
|
|
21304
|
+
"No",
|
|
21305
|
+
"Not known"
|
|
21306
|
+
]
|
|
21307
|
+
}
|
|
21308
|
+
}
|
|
21309
|
+
},
|
|
21310
|
+
{
|
|
21311
|
+
"properties": {
|
|
21312
|
+
"yesNo": {
|
|
21313
|
+
"enum": [
|
|
21314
|
+
"Yes"
|
|
21315
|
+
]
|
|
21316
|
+
},
|
|
21317
|
+
"details": {
|
|
21318
|
+
"type": "string",
|
|
21319
|
+
"minLength": 1
|
|
21320
|
+
}
|
|
21321
|
+
}
|
|
21322
|
+
}
|
|
21323
|
+
]
|
|
21226
21324
|
}
|
|
21227
21325
|
},
|
|
21228
21326
|
"oneOf": [
|
|
@@ -21247,45 +21345,6 @@
|
|
|
21247
21345
|
"type": "string",
|
|
21248
21346
|
"minLength": 1
|
|
21249
21347
|
},
|
|
21250
|
-
"disagreementOrComplaint": {
|
|
21251
|
-
"title": "Are you aware of any disagreement or complaint about any such right or arrangement?",
|
|
21252
|
-
"type": "object",
|
|
21253
|
-
"properties": {
|
|
21254
|
-
"yesNo": {
|
|
21255
|
-
"type": "string",
|
|
21256
|
-
"enum": [
|
|
21257
|
-
"Yes",
|
|
21258
|
-
"No",
|
|
21259
|
-
"Not known"
|
|
21260
|
-
]
|
|
21261
|
-
}
|
|
21262
|
-
},
|
|
21263
|
-
"oneOf": [
|
|
21264
|
-
{
|
|
21265
|
-
"properties": {
|
|
21266
|
-
"yesNo": {
|
|
21267
|
-
"enum": [
|
|
21268
|
-
"No",
|
|
21269
|
-
"Not known"
|
|
21270
|
-
]
|
|
21271
|
-
}
|
|
21272
|
-
}
|
|
21273
|
-
},
|
|
21274
|
-
{
|
|
21275
|
-
"properties": {
|
|
21276
|
-
"yesNo": {
|
|
21277
|
-
"enum": [
|
|
21278
|
-
"Yes"
|
|
21279
|
-
]
|
|
21280
|
-
},
|
|
21281
|
-
"details": {
|
|
21282
|
-
"type": "string",
|
|
21283
|
-
"minLength": 1
|
|
21284
|
-
}
|
|
21285
|
-
}
|
|
21286
|
-
}
|
|
21287
|
-
]
|
|
21288
|
-
},
|
|
21289
21348
|
"attachments": {
|
|
21290
21349
|
"title": "Attachments",
|
|
21291
21350
|
"type": "string",
|
|
@@ -90,7 +90,16 @@
|
|
|
90
90
|
"directorOrAuthorisedPerson": "string",
|
|
91
91
|
"countryOfIncorporation": "string"
|
|
92
92
|
},
|
|
93
|
-
"dateBecameOwnerOrAuthority": "string"
|
|
93
|
+
"dateBecameOwnerOrAuthority": "string",
|
|
94
|
+
"giftDetails": {
|
|
95
|
+
"amount": "number",
|
|
96
|
+
"currency": "string",
|
|
97
|
+
"relationshipToBuyer": "string",
|
|
98
|
+
"fundsTransferred": "string",
|
|
99
|
+
"repayable": "boolean",
|
|
100
|
+
"confersBeneficialInterest": "boolean",
|
|
101
|
+
"willOccupyProperty": "boolean"
|
|
102
|
+
}
|
|
94
103
|
}
|
|
95
104
|
],
|
|
96
105
|
"propertyPack": {
|
|
@@ -2764,11 +2773,11 @@
|
|
|
2764
2773
|
},
|
|
2765
2774
|
"neighbouringLandRights": {
|
|
2766
2775
|
"yesNo": "variant",
|
|
2767
|
-
"details": "string",
|
|
2768
2776
|
"disagreementOrComplaint": {
|
|
2769
2777
|
"yesNo": "variant",
|
|
2770
2778
|
"details": "string"
|
|
2771
2779
|
},
|
|
2780
|
+
"details": "string",
|
|
2772
2781
|
"attachments": "string"
|
|
2773
2782
|
},
|
|
2774
2783
|
"accessRestrictionAttempts": {
|