@pdtf/schemas 3.6.0-dev.16 → 3.6.0-dev.18

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.
@@ -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
  }
@@ -1248,6 +1301,215 @@
1248
1301
  "ntslRequired": ["building"],
1249
1302
  "ntsl2Required": ["building"],
1250
1303
  "properties": {
1304
+ "attributes": {
1305
+ "title": "Sourced building attributes",
1306
+ "description": "Objectively sourced physical attributes of the building that contains the property, as distinct from the dwelling itself. These sit alongside the seller-declared fields in buildInformation rather than within them: everything here is measured, surveyed or registered, and none of it is asked of the seller on a form. For a house the building and the dwelling are the same thing; for a flat or maisonette these attributes describe the whole block rather than the individual unit. Values here are measured, surveyed or registered rather than declared by the seller, so they are not mapped to any form overlay. The source and verification of each value is carried by the claim that supplies it, not by this schema.",
1307
+ "type": "object",
1308
+ "properties": {
1309
+ "storeyCount": {
1310
+ "title": "Number of storeys in the building",
1311
+ "description": "The number of occupiable storeys at or above ground level in the building as a whole. Unlike the sibling building/numberOfFloors, which is only available for flats and maisonettes, this is populated for every property type and always counts the whole building.",
1312
+ "type": "integer",
1313
+ "minimum": 0
1314
+ },
1315
+ "heightMetres": {
1316
+ "title": "Height of the building in metres",
1317
+ "description": "The height of the building measured on the basis used by the Building Safety Act, that is from ground level to the floor surface of the top occupied storey. Populate this only where a value on that basis is available, for example from the register of higher-risk buildings. Remotely sensed estimates belong in heightToRoofBaseMetres and heightToHighestPointMetres instead.",
1318
+ "type": "number",
1319
+ "minimum": 0
1320
+ },
1321
+ "heightToRoofBaseMetres": {
1322
+ "title": "Height to the base of the roof in metres",
1323
+ "description": "Height from the underlying ground surface to the point where the roof meets the external walls, that is the eaves. Where a building has sections of differing height this may reflect the lowest roofline within the footprint, so it acts as a lower bound on the height of the tallest part.",
1324
+ "type": "number",
1325
+ "minimum": 0
1326
+ },
1327
+ "heightToHighestPointMetres": {
1328
+ "title": "Height to the highest point in metres",
1329
+ "description": "Height from the underlying ground surface to the highest point of the building, which may include chimneys, aerials, plant or other roof structures. It therefore acts as an upper bound on the height of the occupied part of the building.",
1330
+ "type": "number",
1331
+ "minimum": 0
1332
+ },
1333
+ "heightMeasurementDate": {
1334
+ "title": "Date the building height was measured",
1335
+ "description": "The date of the survey or aerial imagery the height values were derived from. This is the age of the underlying evidence rather than the date the value was supplied, and matters where a building has been altered or extended since it was last measured.",
1336
+ "type": "string",
1337
+ "format": "date"
1338
+ },
1339
+ "footprintAreaSquareMetres": {
1340
+ "title": "Ground floor footprint area in square metres",
1341
+ "description": "The area covered by the outline of the building at ground level. This is the footprint of the building and is not the internal floor area of the dwelling.",
1342
+ "type": "number",
1343
+ "minimum": 0
1344
+ },
1345
+ "residentialUnitCount": {
1346
+ "title": "Number of residential units in the building",
1347
+ "description": "The number of separate residential units the building contains. Both the higher-risk building and relevant building tests under the Building Safety Act require at least two dwellings, so this is needed alongside height and storey count to apply them. Where it is derived from a count of addresses it may include non-residential addresses in a mixed use building.",
1348
+ "type": "integer",
1349
+ "minimum": 0
1350
+ },
1351
+ "constructionMaterial": {
1352
+ "title": "Primary construction material of the building",
1353
+ "description": "The predominant material of the external walls, for example \"Brick or block or stone\", \"Metal\", \"Timber\" or \"Other non standard or system build\". Left unconstrained because source vocabularies differ.",
1354
+ "type": "string"
1355
+ },
1356
+ "roofMaterial": {
1357
+ "title": "Primary roof material of the building",
1358
+ "description": "The predominant roof covering, for example \"Tile or stone or slate\", \"Waterproof membrane or concrete\", \"Thatch\" or \"Metal\". Left unconstrained because source vocabularies differ.",
1359
+ "type": "string"
1360
+ },
1361
+ "basementPresent": {
1362
+ "title": "Is a basement present in the building?",
1363
+ "type": "string",
1364
+ "enum": ["Yes", "No", "Not known"]
1365
+ },
1366
+ "solarPanelsPresent": {
1367
+ "title": "Are solar panels present on the roof of the building?",
1368
+ "type": "string",
1369
+ "enum": ["Yes", "No", "Not known"]
1370
+ },
1371
+ "constructionPeriod": {
1372
+ "title": "Period in which the building was constructed",
1373
+ "description": "A range of years within which the building was built, for example \"1870-1918\" or \"2020-2029\". Use constructionYear where a single year is known.",
1374
+ "type": "string"
1375
+ },
1376
+ "constructionYear": {
1377
+ "title": "Year in which the building was constructed",
1378
+ "type": "integer"
1379
+ }
1380
+ }
1381
+ },
1382
+ "higherRiskBuildingRegistration": {
1383
+ "title": "Higher-risk building registration",
1384
+ "description": "The building's entry on the register of higher-risk buildings maintained by the Building Safety Regulator under the Building Safety Act 2022. The register covers England only, and describes the building containing the property rather than the individual dwelling. Absence from the register is not proof that a building falls outside the higher-risk definition, only that no registration was found, so a \"Not found\" status should be read alongside the measured height and storey count in the sibling attributes node. Values here are taken from the register rather than declared by the seller, so they are not mapped to any form overlay.",
1385
+ "type": "object",
1386
+ "properties": {
1387
+ "registrationStatus": {
1388
+ "title": "Registration status",
1389
+ "description": "\"Registered\" where an entry for this building was found. \"Not found\" where the register returned no entry, which for a building over the height or storey threshold may itself be worth raising. \"Not known\" where the register could not be searched, or returned entries that could not be narrowed to this property.",
1390
+ "type": "string",
1391
+ "enum": ["Registered", "Not found", "Not known"]
1392
+ },
1393
+ "registrationNumber": {
1394
+ "title": "Registration number",
1395
+ "description": "The registration reference issued by the Building Safety Regulator, for example \"HRB15504S8K8\".",
1396
+ "type": "string"
1397
+ },
1398
+ "candidateCount": {
1399
+ "title": "Number of registered buildings that could not be told apart",
1400
+ "description": "Set only where the register returned more than one entry for the property's postcode and none could be matched to it. Recorded so the ambiguity is visible rather than resolved by guessing, and paired with a \"Not known\" registration status.",
1401
+ "type": "integer",
1402
+ "minimum": 0
1403
+ },
1404
+ "building": {
1405
+ "title": "Registered building particulars",
1406
+ "description": "The particulars the register holds for the building. These are as supplied by the person who registered it, so they may differ from the remotely measured values in the sibling attributes node.",
1407
+ "type": "object",
1408
+ "properties": {
1409
+ "name": {
1410
+ "title": "Registered building name",
1411
+ "type": "string"
1412
+ },
1413
+ "address": {
1414
+ "title": "Registered address",
1415
+ "type": "string"
1416
+ },
1417
+ "postcode": {
1418
+ "title": "Registered postcode",
1419
+ "type": "string"
1420
+ },
1421
+ "storeyCount": {
1422
+ "title": "Number of storeys above ground",
1423
+ "type": "integer",
1424
+ "minimum": 0
1425
+ },
1426
+ "heightMetres": {
1427
+ "title": "Registered height of the building in metres",
1428
+ "description": "The height as registered, measured on the Building Safety Act basis. This is the statutory measurement rather than a remotely sensed estimate.",
1429
+ "type": "number",
1430
+ "minimum": 0
1431
+ },
1432
+ "residentialUnitCount": {
1433
+ "title": "Number of residential units",
1434
+ "type": "integer",
1435
+ "minimum": 0
1436
+ },
1437
+ "yearOfCompletion": {
1438
+ "title": "Year the building was completed",
1439
+ "type": "integer"
1440
+ },
1441
+ "occupied": {
1442
+ "title": "Are people living in the building?",
1443
+ "type": "string",
1444
+ "enum": ["Yes", "No", "Not known"]
1445
+ }
1446
+ }
1447
+ },
1448
+ "completionCertificate": {
1449
+ "title": "Completion certificate",
1450
+ "type": "object",
1451
+ "properties": {
1452
+ "date": {
1453
+ "title": "Date of the completion certificate",
1454
+ "type": "string",
1455
+ "format": "date"
1456
+ },
1457
+ "issuer": {
1458
+ "title": "Who issued the completion certificate",
1459
+ "type": "string"
1460
+ },
1461
+ "reference": {
1462
+ "title": "Completion certificate reference",
1463
+ "type": "string"
1464
+ }
1465
+ }
1466
+ },
1467
+ "accountablePersons": {
1468
+ "title": "Accountable persons",
1469
+ "description": "The people or organisations accountable for the building's safety. Exactly one is the principal accountable person, who carries the duties for the structure and common parts.",
1470
+ "type": "array",
1471
+ "items": {
1472
+ "type": "object",
1473
+ "properties": {
1474
+ "role": {
1475
+ "title": "Role",
1476
+ "type": "string",
1477
+ "enum": [
1478
+ "Principal accountable person",
1479
+ "Accountable person"
1480
+ ]
1481
+ },
1482
+ "personType": {
1483
+ "title": "Is the accountable person an organisation or an individual?",
1484
+ "type": "string",
1485
+ "enum": ["Organisation", "Individual", "Not known"]
1486
+ },
1487
+ "name": {
1488
+ "title": "Name of the accountable person",
1489
+ "type": "string"
1490
+ },
1491
+ "accountability": {
1492
+ "title": "What this person is accountable for",
1493
+ "type": "array",
1494
+ "items": {
1495
+ "type": "object",
1496
+ "properties": {
1497
+ "section": {
1498
+ "title": "Part of the building",
1499
+ "type": "string"
1500
+ },
1501
+ "area": {
1502
+ "title": "Area of accountability",
1503
+ "type": "string"
1504
+ }
1505
+ }
1506
+ }
1507
+ }
1508
+ }
1509
+ }
1510
+ }
1511
+ }
1512
+ },
1251
1513
  "building": {
1252
1514
  "ntsRef": "B1.1.1",
1253
1515
  "nts2Ref": "B1.1.1",
@@ -16093,6 +16355,8 @@
16093
16355
  "baspi4Ref": "A4.6.3",
16094
16356
  "baspi5Ref": "A4.6.3",
16095
16357
  "ta6Ref": "1.6.3",
16358
+ "ta6ed6Ref": "2.5.3",
16359
+ "ta6ed6v2Ref": "2.5.3",
16096
16360
  "title": "Attachments",
16097
16361
  "type": "string",
16098
16362
  "enum": ["Attached", "To follow"]
@@ -26711,20 +26975,14 @@
26711
26975
  "minLength": 1
26712
26976
  },
26713
26977
  "disagreementOrComplaint": {
26714
- "ta6ed6Ref": "9.3",
26715
- "ta6ed6v2Ref": "9.3",
26716
26978
  "title": "Are you aware of any disagreement or complaint about any such right or arrangement?",
26717
26979
  "type": "object",
26718
26980
  "properties": {
26719
26981
  "yesNo": {
26720
- "ta6ed6Ref": "9.3.1",
26721
- "ta6ed6v2Ref": "9.3.1",
26722
26982
  "type": "string",
26723
26983
  "enum": ["Yes", "No", "Not known"]
26724
26984
  }
26725
26985
  },
26726
- "ta6ed6Required": ["yesNo"],
26727
- "ta6ed6v2Required": ["yesNo"],
26728
26986
  "discriminator": {
26729
26987
  "propertyName": "yesNo"
26730
26988
  },
@@ -26743,14 +27001,10 @@
26743
27001
  },
26744
27002
  "details": {
26745
27003
  "title": "Provide details",
26746
- "ta6ed6Ref": "9.3.2",
26747
- "ta6ed6v2Ref": "9.3.2",
26748
27004
  "type": "string",
26749
27005
  "minLength": 1
26750
27006
  }
26751
- },
26752
- "ta6ed6Required": ["details"],
26753
- "ta6ed6v2Required": ["details"]
27007
+ }
26754
27008
  }
26755
27009
  ]
26756
27010
  }
@@ -26758,8 +27012,8 @@
26758
27012
  "baspi4Required": ["details"],
26759
27013
  "baspi5Required": ["details"],
26760
27014
  "ta6Required": ["details"],
26761
- "ta6ed6Required": ["details", "disagreementOrComplaint"],
26762
- "ta6ed6v2Required": ["details", "disagreementOrComplaint"]
27015
+ "ta6ed6Required": ["details"],
27016
+ "ta6ed6v2Required": ["details"]
26763
27017
  }
26764
27018
  ]
26765
27019
  },
@@ -26786,6 +27040,49 @@
26786
27040
  "type": "string",
26787
27041
  "title": "",
26788
27042
  "enum": ["Yes", "No"]
27043
+ },
27044
+ "disagreementOrComplaint": {
27045
+ "ta6ed6Ref": "9.3",
27046
+ "ta6ed6v2Ref": "9.3",
27047
+ "title": "Are you aware of any disagreement or complaint about any such right or arrangement?",
27048
+ "type": "object",
27049
+ "properties": {
27050
+ "yesNo": {
27051
+ "ta6ed6Ref": "9.3.1",
27052
+ "ta6ed6v2Ref": "9.3.1",
27053
+ "type": "string",
27054
+ "enum": ["Yes", "No", "Not known"]
27055
+ }
27056
+ },
27057
+ "ta6ed6Required": ["yesNo"],
27058
+ "ta6ed6v2Required": ["yesNo"],
27059
+ "discriminator": {
27060
+ "propertyName": "yesNo"
27061
+ },
27062
+ "oneOf": [
27063
+ {
27064
+ "properties": {
27065
+ "yesNo": {
27066
+ "enum": ["No", "Not known"]
27067
+ }
27068
+ }
27069
+ },
27070
+ {
27071
+ "properties": {
27072
+ "yesNo": {
27073
+ "enum": ["Yes"]
27074
+ },
27075
+ "details": {
27076
+ "ta6ed6Ref": "9.3.2",
27077
+ "ta6ed6v2Ref": "9.3.2",
27078
+ "type": "string",
27079
+ "minLength": 1
27080
+ }
27081
+ },
27082
+ "ta6ed6Required": ["details"],
27083
+ "ta6ed6v2Required": ["details"]
27084
+ }
27085
+ ]
26789
27086
  }
26790
27087
  },
26791
27088
  "baspi4Required": ["yesNo"],
@@ -26822,49 +27119,6 @@
26822
27119
  "type": "string",
26823
27120
  "minLength": 1
26824
27121
  },
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
27122
  "attachments": {
26869
27123
  "baspi4Ref": "A10.2.3",
26870
27124
  "baspi5Ref": "A10.2.3",
@@ -27667,22 +27921,14 @@
27667
27921
  "minLength": 1
27668
27922
  },
27669
27923
  "disagreementOrComplaint": {
27670
- "ta6ed6Ref": "9.6",
27671
- "ta6ed6v2Ref": "9.6",
27672
27924
  "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
27925
  "type": "object",
27676
27926
  "properties": {
27677
27927
  "yesNo": {
27678
- "ta6ed6Ref": "9.6.1",
27679
- "ta6ed6v2Ref": "9.6.1",
27680
27928
  "type": "string",
27681
27929
  "enum": ["Yes", "No", "Not known"]
27682
27930
  }
27683
27931
  },
27684
- "ta6ed6Required": ["yesNo"],
27685
- "ta6ed6v2Required": ["yesNo"],
27686
27932
  "discriminator": {
27687
27933
  "propertyName": "yesNo"
27688
27934
  },
@@ -27700,22 +27946,16 @@
27700
27946
  "enum": ["Yes"]
27701
27947
  },
27702
27948
  "details": {
27703
- "ta6ed6Ref": "9.6.2",
27704
- "ta6ed6v2Ref": "9.6.2",
27705
- "ta6ed6Title": "Please give details",
27706
- "ta6ed6v2Title": "Please give details",
27707
27949
  "type": "string",
27708
27950
  "minLength": 1
27709
27951
  }
27710
- },
27711
- "ta6ed6Required": ["details"],
27712
- "ta6ed6v2Required": ["details"]
27952
+ }
27713
27953
  }
27714
27954
  ]
27715
27955
  }
27716
27956
  },
27717
- "ta6ed6Required": ["details", "disagreementOrComplaint"],
27718
- "ta6ed6v2Required": ["details", "disagreementOrComplaint"]
27957
+ "ta6ed6Required": ["details"],
27958
+ "ta6ed6v2Required": ["details"]
27719
27959
  }
27720
27960
  ]
27721
27961
  }
@@ -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
@@ -122,6 +130,46 @@
122
130
  caption
123
131
  ]
124
132
  buildInformation
133
+ attributes
134
+ storeyCount
135
+ heightMetres
136
+ heightToRoofBaseMetres
137
+ heightToHighestPointMetres
138
+ heightMeasurementDate
139
+ footprintAreaSquareMetres
140
+ residentialUnitCount
141
+ constructionMaterial
142
+ roofMaterial
143
+ basementPresent
144
+ solarPanelsPresent
145
+ constructionPeriod
146
+ constructionYear
147
+ higherRiskBuildingRegistration
148
+ registrationStatus
149
+ registrationNumber
150
+ candidateCount
151
+ building
152
+ name
153
+ address
154
+ postcode
155
+ storeyCount
156
+ heightMetres
157
+ residentialUnitCount
158
+ yearOfCompletion
159
+ occupied
160
+ completionCertificate
161
+ date
162
+ issuer
163
+ reference
164
+ accountablePersons[
165
+ role
166
+ personType
167
+ name
168
+ accountability[
169
+ section
170
+ area
171
+ ]
172
+ ]
125
173
  building
126
174
  builtForm
127
175
  propertyType
@@ -2171,10 +2219,10 @@
2171
2219
  details
2172
2220
  neighbouringLandRights
2173
2221
  yesNo
2174
- details
2175
2222
  disagreementOrComplaint
2176
2223
  yesNo
2177
2224
  details
2225
+ details
2178
2226
  attachments
2179
2227
  accessRestrictionAttempts
2180
2228
  yesNo
@@ -127,6 +127,15 @@
127
127
  "required": [
128
128
  "sellersCapacity"
129
129
  ]
130
+ },
131
+ {
132
+ "properties": {
133
+ "role": {
134
+ "enum": [
135
+ "Gift Donor"
136
+ ]
137
+ }
138
+ }
130
139
  }
131
140
  ],
132
141
  "required": [
@@ -127,6 +127,15 @@
127
127
  "required": [
128
128
  "sellersCapacity"
129
129
  ]
130
+ },
131
+ {
132
+ "properties": {
133
+ "role": {
134
+ "enum": [
135
+ "Gift Donor"
136
+ ]
137
+ }
138
+ }
130
139
  }
131
140
  ],
132
141
  "required": [
@@ -86,6 +86,15 @@
86
86
  ]
87
87
  }
88
88
  }
89
+ },
90
+ {
91
+ "properties": {
92
+ "role": {
93
+ "enum": [
94
+ "Gift Donor"
95
+ ]
96
+ }
97
+ }
89
98
  }
90
99
  ]
91
100
  }