@pdtf/schemas 3.2.0-6 → 3.2.1-11

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.
@@ -46,8 +46,7 @@
46
46
  "buildInformation": {
47
47
  "ntsRef": "B1.1",
48
48
  "required": [
49
- "building",
50
- "roomDimensions"
49
+ "building"
51
50
  ],
52
51
  "properties": {
53
52
  "building": {
@@ -383,9 +382,6 @@
383
382
  "annualGroundRent": {
384
383
  "ntsRef": "A3.4.2"
385
384
  },
386
- "groundRentFrequency": {
387
- "ntsRef": "A3.4.3"
388
- },
389
385
  "rentSubjectToIncrease": {
390
386
  "ntsRef": "A3.4.4",
391
387
  "discriminator": {
@@ -551,6 +547,12 @@
551
547
  "ownershipType"
552
548
  ],
553
549
  "properties": {
550
+ "titleNumber": {
551
+ "ntsRef": "A3.3.1"
552
+ },
553
+ "titlePropertyDescription": {
554
+ "ntsRef": "A3.3.2"
555
+ },
554
556
  "ownershipType": {
555
557
  "ntsRef": "A3.1"
556
558
  }
@@ -1087,6 +1089,7 @@
1087
1089
  "required": [
1088
1090
  "mainsElectricity",
1089
1091
  "solarPanels",
1092
+ "heatPump",
1090
1093
  "otherSources"
1091
1094
  ],
1092
1095
  "properties": {
@@ -48,8 +48,7 @@
48
48
  "buildInformation": {
49
49
  "ntslRef": "B1.1",
50
50
  "required": [
51
- "building",
52
- "roomDimensions"
51
+ "building"
53
52
  ],
54
53
  "properties": {
55
54
  "building": {
@@ -757,6 +756,7 @@
757
756
  "required": [
758
757
  "mainsElectricity",
759
758
  "solarPanels",
759
+ "heatPump",
760
760
  "otherSources"
761
761
  ],
762
762
  "properties": {
@@ -16,6 +16,19 @@
16
16
  },
17
17
  "authorisationToShare": {
18
18
  "sr24Ref": "1.2"
19
+ },
20
+ "sellerSignatures": {
21
+ "sr24Ref": "1.3",
22
+ "items": {
23
+ "properties": {
24
+ "name": {
25
+ "sr24Ref": "1.3.1"
26
+ },
27
+ "signedOn": {
28
+ "sr24Ref": "1.3.2"
29
+ }
30
+ }
31
+ }
19
32
  }
20
33
  }
21
34
  }
@@ -37,7 +37,8 @@
37
37
  "outdoorArea",
38
38
  "televisionAndTelephone",
39
39
  "stockOfFuel",
40
- "otherItems"
40
+ "otherItems",
41
+ "confirmationOfAccuracy"
41
42
  ],
42
43
  "properties": {
43
44
  "basicFittings": {
@@ -231,7 +231,12 @@
231
231
  "properties": {
232
232
  "organisesBuildingInsurance": {
233
233
  "ta7Ref": "5.1",
234
- "title": "Who is responsible for arranging the buildings insurance on the property?"
234
+ "title": "Who is responsible for arranging the buildings insurance on the property?",
235
+ "enum": [
236
+ "the Lessees",
237
+ "Management Company",
238
+ "Landlord"
239
+ ]
235
240
  }
236
241
  }
237
242
  }
@@ -341,7 +346,11 @@
341
346
  "rentIncreaseCalculated": {
342
347
  "ta7Ref": "1.2e"
343
348
  }
344
- }
349
+ },
350
+ "required": [
351
+ "rentReviewFrequency",
352
+ "rentIncreaseCalculated"
353
+ ]
345
354
  }
346
355
  ],
347
356
  "required": [
@@ -353,7 +362,12 @@
353
362
  }
354
363
  }
355
364
  }
356
- }
365
+ },
366
+ "required": [
367
+ "annualGroundRent",
368
+ "groundRentFrequency",
369
+ "rentSubjectToIncrease"
370
+ ]
357
371
  }
358
372
  ],
359
373
  "required": [
@@ -468,11 +468,15 @@
468
468
  "title": "Price type",
469
469
  "type": "string",
470
470
  "enum": [
471
- "Guide price",
471
+ "Price",
472
472
  "Fixed price",
473
+ "Guide price",
473
474
  "Offers in excess of",
474
475
  "Offers in region of",
475
- "Sale by tender"
476
+ "Offers over",
477
+ "Offers invited",
478
+ "Sale by tender",
479
+ "From"
476
480
  ]
477
481
  },
478
482
  "disposal": {
@@ -1327,8 +1331,11 @@
1327
1331
  "properties": {
1328
1332
  "titleNumber": {
1329
1333
  "title": "Title number (if registered)",
1330
- "type": "string",
1331
- "minLength": 1
1334
+ "type": "string"
1335
+ },
1336
+ "titlePropertyDescription": {
1337
+ "title": "Title property description",
1338
+ "type": "string"
1332
1339
  },
1333
1340
  "ownershipType": {
1334
1341
  "title": "What type of ownership is the property?",
@@ -1382,7 +1389,7 @@
1382
1389
  ]
1383
1390
  },
1384
1391
  "details": {
1385
- "title": "Describe the share for sale (e.g. Ground floor flat only)",
1392
+ "title": "Describe the part for sale (e.g. Ground floor flat only)",
1386
1393
  "type": "string",
1387
1394
  "minLength": 1
1388
1395
  }
@@ -4556,11 +4563,6 @@
4556
4563
  "Managing Agent",
4557
4564
  "the Lessees",
4558
4565
  "Not applicable"
4559
- ],
4560
- "ta7enum": [
4561
- "the Lessees",
4562
- "Management Company",
4563
- "Landlord"
4564
4566
  ]
4565
4567
  },
4566
4568
  "dealsWithDayToDayMaintenanceOfBuilding": {
@@ -6320,7 +6322,7 @@
6320
6322
  },
6321
6323
  "premiumIncludedInServiceCharge": {
6322
6324
  "type": "object",
6323
- "title": "Is the insurance premium included in the service charge Yes budget?",
6325
+ "title": "Is the insurance premium included in the service charge budget?",
6324
6326
  "properties": {
6325
6327
  "yesNo": {
6326
6328
  "type": "string",
@@ -6349,7 +6351,7 @@
6349
6351
  ]
6350
6352
  },
6351
6353
  "details": {
6352
- "title": "confirm the annual amount payable for the Property",
6354
+ "title": "Confirm the annual amount payable for the Property",
6353
6355
  "type": "number"
6354
6356
  }
6355
6357
  }
@@ -7510,6 +7512,7 @@
7510
7512
  "items": {
7511
7513
  "type": "string",
7512
7514
  "enum": [
7515
+ "None",
7513
7516
  "Allocated",
7514
7517
  "Communal",
7515
7518
  "Covered",
@@ -7953,6 +7956,61 @@
7953
7956
  }
7954
7957
  ]
7955
7958
  },
7959
+ "loft": {
7960
+ "title": "Does the property have access to a loft?",
7961
+ "type": "object",
7962
+ "properties": {
7963
+ "loftAccess": {
7964
+ "type": "string",
7965
+ "title": "",
7966
+ "enum": [
7967
+ "Yes",
7968
+ "No"
7969
+ ]
7970
+ }
7971
+ },
7972
+ "oneOf": [
7973
+ {
7974
+ "properties": {
7975
+ "loftAccess": {
7976
+ "enum": [
7977
+ "No"
7978
+ ]
7979
+ }
7980
+ }
7981
+ },
7982
+ {
7983
+ "properties": {
7984
+ "loftAccess": {
7985
+ "enum": [
7986
+ "Yes"
7987
+ ]
7988
+ },
7989
+ "details": {
7990
+ "title": "Please describe how the loft is accessed",
7991
+ "type": "string",
7992
+ "minLength": 1
7993
+ },
7994
+ "loftBoarded": {
7995
+ "type": "string",
7996
+ "title": "Is the loft space boarded?",
7997
+ "enum": [
7998
+ "Yes",
7999
+ "No"
8000
+ ]
8001
+ },
8002
+ "loftInsulated": {
8003
+ "type": "string",
8004
+ "title": "Is the loft space insulated?",
8005
+ "enum": [
8006
+ "Yes",
8007
+ "No"
8008
+ ]
8009
+ }
8010
+ }
8011
+ }
8012
+ ]
8013
+ },
7956
8014
  "sprayFoamInsulation": {
7957
8015
  "title": "Has spray foam insulation been installed at the property?",
7958
8016
  "type": "object",
@@ -8007,6 +8065,7 @@
8007
8065
  "items": {
8008
8066
  "type": "string",
8009
8067
  "enum": [
8068
+ "None",
8010
8069
  "Level access",
8011
8070
  "Ramped access",
8012
8071
  "Lift access",
@@ -8435,7 +8494,8 @@
8435
8494
  "F",
8436
8495
  "G",
8437
8496
  "H",
8438
- "I"
8497
+ "I",
8498
+ "Not banded"
8439
8499
  ]
8440
8500
  },
8441
8501
  "councilTaxAffectingAlterations": {
@@ -17023,6 +17083,7 @@
17023
17083
  "items": {
17024
17084
  "type": "string",
17025
17085
  "enum": [
17086
+ "None",
17026
17087
  "Air conditioning",
17027
17088
  "Double glazing",
17028
17089
  "Triple glazing",
@@ -21628,6 +21689,32 @@
21628
21689
  "authorisationToShare": {
21629
21690
  "title": "I/we consent to the sharing of the information contained in the Sale Ready pack with the my/our legal representative and the buyer(s) and their legal representatives",
21630
21691
  "type": "boolean"
21692
+ },
21693
+ "sellerSignatures": {
21694
+ "title": "I confirm that all information provided is accurate to the best of my knowledge and if I become aware of any change to/changes which alter the information supplied/provided prior to exchange of contracts for the sale of the property, I will immediately notify the person marketing the property as well as my property lawyer.",
21695
+ "type": "array",
21696
+ "items": {
21697
+ "type": "object",
21698
+ "required": [
21699
+ "name",
21700
+ "signedOn"
21701
+ ],
21702
+ "properties": {
21703
+ "name": {
21704
+ "title": "Name of signatory",
21705
+ "type": "string",
21706
+ "minLength": 1
21707
+ },
21708
+ "signedOn": {
21709
+ "title": "Date and time of signature in ISO 8601 format",
21710
+ "type": "string",
21711
+ "format": "date-time"
21712
+ },
21713
+ "externalIds": {
21714
+ "type": "object"
21715
+ }
21716
+ }
21717
+ }
21631
21718
  }
21632
21719
  }
21633
21720
  },
@@ -21853,9 +21940,17 @@
21853
21940
  "type": "object",
21854
21941
  "title": "Planning application",
21855
21942
  "properties": {
21943
+ "address": {
21944
+ "type": "string",
21945
+ "title": "Location of the property to which the application relates"
21946
+ },
21856
21947
  "refNumber": {
21857
21948
  "type": "string",
21858
- "title": "Reference number for the planning application; optional for proposals"
21949
+ "title": "Reference number for the planning application"
21950
+ },
21951
+ "description": {
21952
+ "type": "string",
21953
+ "title": "Description of the application"
21859
21954
  },
21860
21955
  "isProposal": {
21861
21956
  "title": "Is this a proposal?",
@@ -21884,6 +21979,16 @@
21884
21979
  "title": "What type of application was this?",
21885
21980
  "type": "string",
21886
21981
  "minLength": 1
21982
+ },
21983
+ "status": {
21984
+ "title": "Application status",
21985
+ "type": "string",
21986
+ "minLength": 1
21987
+ },
21988
+ "url": {
21989
+ "title": "Link to application on council planning portal",
21990
+ "type": "string",
21991
+ "format": "uri"
21887
21992
  }
21888
21993
  }
21889
21994
  }
@@ -21897,7 +22002,11 @@
21897
22002
  "properties": {
21898
22003
  "refNumber": {
21899
22004
  "type": "string",
21900
- "title": "Reference number for the planning application; optional for proposals"
22005
+ "title": "Reference number for the planning application"
22006
+ },
22007
+ "description": {
22008
+ "type": "string",
22009
+ "title": "Description of the application"
21901
22010
  },
21902
22011
  "isProposal": {
21903
22012
  "title": "Is this a proposal?",
@@ -21939,7 +22048,11 @@
21939
22048
  "properties": {
21940
22049
  "refNumber": {
21941
22050
  "type": "string",
21942
- "title": "Reference number for the planning application; optional for proposals"
22051
+ "title": "Reference number for the planning application"
22052
+ },
22053
+ "description": {
22054
+ "type": "string",
22055
+ "title": "Description of the application"
21943
22056
  },
21944
22057
  "isProposal": {
21945
22058
  "title": "Is this a proposal?",
@@ -21981,7 +22094,11 @@
21981
22094
  "properties": {
21982
22095
  "refNumber": {
21983
22096
  "type": "string",
21984
- "title": "Reference number for the planning application; optional for proposals"
22097
+ "title": "Reference number for the planning application"
22098
+ },
22099
+ "description": {
22100
+ "type": "string",
22101
+ "title": "Description of the application"
21985
22102
  },
21986
22103
  "isProposal": {
21987
22104
  "title": "Is this a proposal?",
@@ -22023,7 +22140,11 @@
22023
22140
  "properties": {
22024
22141
  "refNumber": {
22025
22142
  "type": "string",
22026
- "title": "Reference number for the planning application; optional for proposals"
22143
+ "title": "Reference number for the planning application"
22144
+ },
22145
+ "description": {
22146
+ "type": "string",
22147
+ "title": "Description of the application"
22027
22148
  },
22028
22149
  "isProposal": {
22029
22150
  "title": "Is this a proposal?",
@@ -22065,7 +22186,11 @@
22065
22186
  "properties": {
22066
22187
  "refNumber": {
22067
22188
  "type": "string",
22068
- "title": "Reference number for the planning application; optional for proposals"
22189
+ "title": "Reference number for the planning application"
22190
+ },
22191
+ "description": {
22192
+ "type": "string",
22193
+ "title": "Description of the application"
22069
22194
  },
22070
22195
  "isProposal": {
22071
22196
  "title": "Is this a proposal?",
@@ -22107,7 +22232,11 @@
22107
22232
  "properties": {
22108
22233
  "refNumber": {
22109
22234
  "type": "string",
22110
- "title": "Reference number for the planning application; optional for proposals"
22235
+ "title": "Reference number for the planning application"
22236
+ },
22237
+ "description": {
22238
+ "type": "string",
22239
+ "title": "Description of the application"
22111
22240
  },
22112
22241
  "isProposal": {
22113
22242
  "title": "Is this a proposal?",
@@ -22149,7 +22278,11 @@
22149
22278
  "properties": {
22150
22279
  "refNumber": {
22151
22280
  "type": "string",
22152
- "title": "Reference number for the planning application; optional for proposals"
22281
+ "title": "Reference number for the planning application"
22282
+ },
22283
+ "description": {
22284
+ "type": "string",
22285
+ "title": "Description of the application"
22153
22286
  },
22154
22287
  "isProposal": {
22155
22288
  "title": "Is this a proposal?",
@@ -22191,7 +22324,11 @@
22191
22324
  "properties": {
22192
22325
  "refNumber": {
22193
22326
  "type": "string",
22194
- "title": "Reference number for the planning application; optional for proposals"
22327
+ "title": "Reference number for the planning application"
22328
+ },
22329
+ "description": {
22330
+ "type": "string",
22331
+ "title": "Description of the application"
22195
22332
  },
22196
22333
  "isProposal": {
22197
22334
  "title": "Is this a proposal?",
@@ -22233,7 +22370,11 @@
22233
22370
  "properties": {
22234
22371
  "refNumber": {
22235
22372
  "type": "string",
22236
- "title": "Reference number for the planning application; optional for proposals"
22373
+ "title": "Reference number for the planning application"
22374
+ },
22375
+ "description": {
22376
+ "type": "string",
22377
+ "title": "Description of the application"
22237
22378
  },
22238
22379
  "isProposal": {
22239
22380
  "title": "Is this a proposal?",
@@ -22275,7 +22416,11 @@
22275
22416
  "properties": {
22276
22417
  "refNumber": {
22277
22418
  "type": "string",
22278
- "title": "Reference number for the planning application; optional for proposals"
22419
+ "title": "Reference number for the planning application"
22420
+ },
22421
+ "description": {
22422
+ "type": "string",
22423
+ "title": "Description of the application"
22279
22424
  },
22280
22425
  "isProposal": {
22281
22426
  "title": "Is this a proposal?",
@@ -22317,7 +22462,11 @@
22317
22462
  "properties": {
22318
22463
  "refNumber": {
22319
22464
  "type": "string",
22320
- "title": "Reference number for the planning application; optional for proposals"
22465
+ "title": "Reference number for the planning application"
22466
+ },
22467
+ "description": {
22468
+ "type": "string",
22469
+ "title": "Description of the application"
22321
22470
  },
22322
22471
  "isProposal": {
22323
22472
  "title": "Is this a proposal?",
@@ -24110,8 +24259,8 @@
24110
24259
  }
24111
24260
  ]
24112
24261
  },
24113
- "floodAndCostalErosionRiskManagement": {
24114
- "title": "flood and costal erosion risk management",
24262
+ "floodAndCoastalErosionRiskManagement": {
24263
+ "title": "flood and coastal erosion risk management",
24115
24264
  "type": "object",
24116
24265
  "properties": {
24117
24266
  "yesNo": {
@@ -212,6 +212,7 @@
212
212
  "isLimitedCompanySale": {},
213
213
  "ownershipsToBeTransferred": {
214
214
  "titleNumber": {},
215
+ "titlePropertyDescription": {},
215
216
  "ownershipType": {},
216
217
  "wholeFreeholdForSale": {
217
218
  "yesNo": {},
@@ -1076,6 +1077,12 @@
1076
1077
  "abilityToResideAtProperty": {},
1077
1078
  "attachments": {}
1078
1079
  },
1080
+ "loft": {
1081
+ "loftAccess": {},
1082
+ "details": {},
1083
+ "loftBoarded": {},
1084
+ "loftInsulated": {}
1085
+ },
1079
1086
  "sprayFoamInsulation": {
1080
1087
  "hasSprayFoamInstalled": {},
1081
1088
  "details": {},
@@ -2809,7 +2816,12 @@
2809
2816
  },
2810
2817
  "saleReadyDeclarations": {
2811
2818
  "authorisedToActOnBehalfOfAllSellers": {},
2812
- "authorisationToShare": {}
2819
+ "authorisationToShare": {},
2820
+ "sellerSignatures": {
2821
+ "name": {},
2822
+ "signedOn": {},
2823
+ "externalIds": {}
2824
+ }
2813
2825
  },
2814
2826
  "localSearches": {
2815
2827
  "localLandCharges": {
@@ -2868,12 +2880,15 @@
2868
2880
  "planningAndBuildingRegulations": {
2869
2881
  "decisionsAndPendingApplications": {
2870
2882
  "planningPermission": {
2883
+ "address": {},
2871
2884
  "refNumber": {},
2872
2885
  "isProposal": {},
2873
2886
  "applicationDate": {},
2874
2887
  "decision": {},
2875
2888
  "decisionDate": {},
2876
- "applicationType": {}
2889
+ "applicationType": {},
2890
+ "status": {},
2891
+ "url": {}
2877
2892
  },
2878
2893
  "listedBuildingConsent": {
2879
2894
  "refNumber": {},
@@ -3171,7 +3186,7 @@
3171
3186
  "yesNo": {},
3172
3187
  "details": {}
3173
3188
  },
3174
- "floodAndCostalErosionRiskManagement": {
3189
+ "floodAndCoastalErosionRiskManagement": {
3175
3190
  "yesNo": {},
3176
3191
  "details": {}
3177
3192
  }
@@ -362,6 +362,18 @@
362
362
  "verified_claims_def": {
363
363
  "type": "object",
364
364
  "properties": {
365
+ "id": {
366
+ "description": "The unique identifier of the verified claim",
367
+ "type": "string"
368
+ },
369
+ "transactionId": {
370
+ "description": "The unique identifier of the PDTF transaction to which these claims relate",
371
+ "type": "string"
372
+ },
373
+ "schemaVersion": {
374
+ "description": "The semantic version of the schema used to validate the claims",
375
+ "type": "string"
376
+ },
365
377
  "verification": {
366
378
  "type": "object",
367
379
  "properties": {
@@ -10,6 +10,7 @@ const extractFields = [
10
10
  "baspi4",
11
11
  "baspi5",
12
12
  "nts",
13
+ "nts-sef",
13
14
  "ntsl",
14
15
  "ta6",
15
16
  "ta7",
@@ -0,0 +1,36 @@
1
+ const traverse = require("traverse");
2
+ const fs = require("fs");
3
+
4
+ const combinedSchema = require("../schemas/v3/combined.json");
5
+
6
+ const includeFields = [
7
+ "ntsRef",
8
+ "nts-sefRef",
9
+ "ntslRef",
10
+ "ta6Ref",
11
+ "ta7Ref",
12
+ "ta10Ref",
13
+ ];
14
+
15
+ let pathCsv = "";
16
+
17
+ traverse(combinedSchema).forEach(function (element) {
18
+ let path = "/" + this.path.join("/");
19
+ if (path === "/") path = "";
20
+ if (includeFields.some((field) => element[field]) && element.title) {
21
+ const filteredPath = path
22
+ .split("/")
23
+ .filter(
24
+ (segment) =>
25
+ segment !== "properties" &&
26
+ segment !== "oneOf" &&
27
+ segment !== "items" &&
28
+ isNaN(segment)
29
+ )
30
+ .join("/");
31
+ const line = `"/${filteredPath}", "${element.title}"\n`;
32
+ pathCsv += line;
33
+ }
34
+ });
35
+
36
+ fs.writeFileSync("./pathList.csv", pathCsv);