@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.
@@ -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
  }
@@ -896,6 +955,235 @@
896
955
  "title": "About the property building",
897
956
  "type": "object",
898
957
  "properties": {
958
+ "attributes": {
959
+ "title": "Sourced building attributes",
960
+ "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.",
961
+ "type": "object",
962
+ "properties": {
963
+ "storeyCount": {
964
+ "title": "Number of storeys in the building",
965
+ "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.",
966
+ "type": "integer",
967
+ "minimum": 0
968
+ },
969
+ "heightMetres": {
970
+ "title": "Height of the building in metres",
971
+ "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.",
972
+ "type": "number",
973
+ "minimum": 0
974
+ },
975
+ "heightToRoofBaseMetres": {
976
+ "title": "Height to the base of the roof in metres",
977
+ "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.",
978
+ "type": "number",
979
+ "minimum": 0
980
+ },
981
+ "heightToHighestPointMetres": {
982
+ "title": "Height to the highest point in metres",
983
+ "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.",
984
+ "type": "number",
985
+ "minimum": 0
986
+ },
987
+ "heightMeasurementDate": {
988
+ "title": "Date the building height was measured",
989
+ "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.",
990
+ "type": "string",
991
+ "format": "date"
992
+ },
993
+ "footprintAreaSquareMetres": {
994
+ "title": "Ground floor footprint area in square metres",
995
+ "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.",
996
+ "type": "number",
997
+ "minimum": 0
998
+ },
999
+ "residentialUnitCount": {
1000
+ "title": "Number of residential units in the building",
1001
+ "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.",
1002
+ "type": "integer",
1003
+ "minimum": 0
1004
+ },
1005
+ "constructionMaterial": {
1006
+ "title": "Primary construction material of the building",
1007
+ "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.",
1008
+ "type": "string"
1009
+ },
1010
+ "roofMaterial": {
1011
+ "title": "Primary roof material of the building",
1012
+ "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.",
1013
+ "type": "string"
1014
+ },
1015
+ "basementPresent": {
1016
+ "title": "Is a basement present in the building?",
1017
+ "type": "string",
1018
+ "enum": [
1019
+ "Yes",
1020
+ "No",
1021
+ "Not known"
1022
+ ]
1023
+ },
1024
+ "solarPanelsPresent": {
1025
+ "title": "Are solar panels present on the roof of the building?",
1026
+ "type": "string",
1027
+ "enum": [
1028
+ "Yes",
1029
+ "No",
1030
+ "Not known"
1031
+ ]
1032
+ },
1033
+ "constructionPeriod": {
1034
+ "title": "Period in which the building was constructed",
1035
+ "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.",
1036
+ "type": "string"
1037
+ },
1038
+ "constructionYear": {
1039
+ "title": "Year in which the building was constructed",
1040
+ "type": "integer"
1041
+ }
1042
+ }
1043
+ },
1044
+ "higherRiskBuildingRegistration": {
1045
+ "title": "Higher-risk building registration",
1046
+ "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.",
1047
+ "type": "object",
1048
+ "properties": {
1049
+ "registrationStatus": {
1050
+ "title": "Registration status",
1051
+ "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.",
1052
+ "type": "string",
1053
+ "enum": [
1054
+ "Registered",
1055
+ "Not found",
1056
+ "Not known"
1057
+ ]
1058
+ },
1059
+ "registrationNumber": {
1060
+ "title": "Registration number",
1061
+ "description": "The registration reference issued by the Building Safety Regulator, for example \"HRB15504S8K8\".",
1062
+ "type": "string"
1063
+ },
1064
+ "candidateCount": {
1065
+ "title": "Number of registered buildings that could not be told apart",
1066
+ "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.",
1067
+ "type": "integer",
1068
+ "minimum": 0
1069
+ },
1070
+ "building": {
1071
+ "title": "Registered building particulars",
1072
+ "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.",
1073
+ "type": "object",
1074
+ "properties": {
1075
+ "name": {
1076
+ "title": "Registered building name",
1077
+ "type": "string"
1078
+ },
1079
+ "address": {
1080
+ "title": "Registered address",
1081
+ "type": "string"
1082
+ },
1083
+ "postcode": {
1084
+ "title": "Registered postcode",
1085
+ "type": "string"
1086
+ },
1087
+ "storeyCount": {
1088
+ "title": "Number of storeys above ground",
1089
+ "type": "integer",
1090
+ "minimum": 0
1091
+ },
1092
+ "heightMetres": {
1093
+ "title": "Registered height of the building in metres",
1094
+ "description": "The height as registered, measured on the Building Safety Act basis. This is the statutory measurement rather than a remotely sensed estimate.",
1095
+ "type": "number",
1096
+ "minimum": 0
1097
+ },
1098
+ "residentialUnitCount": {
1099
+ "title": "Number of residential units",
1100
+ "type": "integer",
1101
+ "minimum": 0
1102
+ },
1103
+ "yearOfCompletion": {
1104
+ "title": "Year the building was completed",
1105
+ "type": "integer"
1106
+ },
1107
+ "occupied": {
1108
+ "title": "Are people living in the building?",
1109
+ "type": "string",
1110
+ "enum": [
1111
+ "Yes",
1112
+ "No",
1113
+ "Not known"
1114
+ ]
1115
+ }
1116
+ }
1117
+ },
1118
+ "completionCertificate": {
1119
+ "title": "Completion certificate",
1120
+ "type": "object",
1121
+ "properties": {
1122
+ "date": {
1123
+ "title": "Date of the completion certificate",
1124
+ "type": "string",
1125
+ "format": "date"
1126
+ },
1127
+ "issuer": {
1128
+ "title": "Who issued the completion certificate",
1129
+ "type": "string"
1130
+ },
1131
+ "reference": {
1132
+ "title": "Completion certificate reference",
1133
+ "type": "string"
1134
+ }
1135
+ }
1136
+ },
1137
+ "accountablePersons": {
1138
+ "title": "Accountable persons",
1139
+ "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.",
1140
+ "type": "array",
1141
+ "items": {
1142
+ "type": "object",
1143
+ "properties": {
1144
+ "role": {
1145
+ "title": "Role",
1146
+ "type": "string",
1147
+ "enum": [
1148
+ "Principal accountable person",
1149
+ "Accountable person"
1150
+ ]
1151
+ },
1152
+ "personType": {
1153
+ "title": "Is the accountable person an organisation or an individual?",
1154
+ "type": "string",
1155
+ "enum": [
1156
+ "Organisation",
1157
+ "Individual",
1158
+ "Not known"
1159
+ ]
1160
+ },
1161
+ "name": {
1162
+ "title": "Name of the accountable person",
1163
+ "type": "string"
1164
+ },
1165
+ "accountability": {
1166
+ "title": "What this person is accountable for",
1167
+ "type": "array",
1168
+ "items": {
1169
+ "type": "object",
1170
+ "properties": {
1171
+ "section": {
1172
+ "title": "Part of the building",
1173
+ "type": "string"
1174
+ },
1175
+ "area": {
1176
+ "title": "Area of accountability",
1177
+ "type": "string"
1178
+ }
1179
+ }
1180
+ }
1181
+ }
1182
+ }
1183
+ }
1184
+ }
1185
+ }
1186
+ },
899
1187
  "building": {
900
1188
  "title": "Building information",
901
1189
  "type": "object",
@@ -21223,6 +21511,45 @@
21223
21511
  "Yes",
21224
21512
  "No"
21225
21513
  ]
21514
+ },
21515
+ "disagreementOrComplaint": {
21516
+ "title": "Are you aware of any disagreement or complaint about any such right or arrangement?",
21517
+ "type": "object",
21518
+ "properties": {
21519
+ "yesNo": {
21520
+ "type": "string",
21521
+ "enum": [
21522
+ "Yes",
21523
+ "No",
21524
+ "Not known"
21525
+ ]
21526
+ }
21527
+ },
21528
+ "oneOf": [
21529
+ {
21530
+ "properties": {
21531
+ "yesNo": {
21532
+ "enum": [
21533
+ "No",
21534
+ "Not known"
21535
+ ]
21536
+ }
21537
+ }
21538
+ },
21539
+ {
21540
+ "properties": {
21541
+ "yesNo": {
21542
+ "enum": [
21543
+ "Yes"
21544
+ ]
21545
+ },
21546
+ "details": {
21547
+ "type": "string",
21548
+ "minLength": 1
21549
+ }
21550
+ }
21551
+ }
21552
+ ]
21226
21553
  }
21227
21554
  },
21228
21555
  "oneOf": [
@@ -21247,45 +21574,6 @@
21247
21574
  "type": "string",
21248
21575
  "minLength": 1
21249
21576
  },
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
21577
  "attachments": {
21290
21578
  "title": "Attachments",
21291
21579
  "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": {
@@ -159,6 +168,54 @@
159
168
  }
160
169
  ],
161
170
  "buildInformation": {
171
+ "attributes": {
172
+ "storeyCount": "integer",
173
+ "heightMetres": "number",
174
+ "heightToRoofBaseMetres": "number",
175
+ "heightToHighestPointMetres": "number",
176
+ "heightMeasurementDate": "string",
177
+ "footprintAreaSquareMetres": "number",
178
+ "residentialUnitCount": "integer",
179
+ "constructionMaterial": "string",
180
+ "roofMaterial": "string",
181
+ "basementPresent": "string",
182
+ "solarPanelsPresent": "string",
183
+ "constructionPeriod": "string",
184
+ "constructionYear": "integer"
185
+ },
186
+ "higherRiskBuildingRegistration": {
187
+ "registrationStatus": "string",
188
+ "registrationNumber": "string",
189
+ "candidateCount": "integer",
190
+ "building": {
191
+ "name": "string",
192
+ "address": "string",
193
+ "postcode": "string",
194
+ "storeyCount": "integer",
195
+ "heightMetres": "number",
196
+ "residentialUnitCount": "integer",
197
+ "yearOfCompletion": "integer",
198
+ "occupied": "string"
199
+ },
200
+ "completionCertificate": {
201
+ "date": "string",
202
+ "issuer": "string",
203
+ "reference": "string"
204
+ },
205
+ "accountablePersons": [
206
+ {
207
+ "role": "string",
208
+ "personType": "string",
209
+ "name": "string",
210
+ "accountability": [
211
+ {
212
+ "section": "string",
213
+ "area": "string"
214
+ }
215
+ ]
216
+ }
217
+ ]
218
+ },
162
219
  "building": {
163
220
  "builtForm": "string",
164
221
  "propertyType": "variant",
@@ -2764,11 +2821,11 @@
2764
2821
  },
2765
2822
  "neighbouringLandRights": {
2766
2823
  "yesNo": "variant",
2767
- "details": "string",
2768
2824
  "disagreementOrComplaint": {
2769
2825
  "yesNo": "variant",
2770
2826
  "details": "string"
2771
2827
  },
2828
+ "details": "string",
2772
2829
  "attachments": "string"
2773
2830
  },
2774
2831
  "accessRestrictionAttempts": {