@pdtf/schemas 3.6.0-30 → 3.6.0-32

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.
Files changed (38) hide show
  1. package/docs/sef25-extensions-ui-spec.md +274 -5
  2. package/index.js +9 -0
  3. package/package.json +1 -1
  4. package/src/schemas/v3/combined.json +419 -69
  5. package/src/schemas/v3/compactSkeleton.txt +24 -5
  6. package/src/schemas/v3/overlays/extensions/as.json +4 -2
  7. package/src/schemas/v3/overlays/extensions/dk.json +32 -0
  8. package/src/schemas/v3/overlays/extensions/dr.json +4 -2
  9. package/src/schemas/v3/overlays/extensions/er.json +4 -2
  10. package/src/schemas/v3/overlays/extensions/fd.json +6 -3
  11. package/src/schemas/v3/overlays/extensions/hi.json +6 -3
  12. package/src/schemas/v3/overlays/extensions/hs.json +4 -2
  13. package/src/schemas/v3/overlays/extensions/ic.json +56 -0
  14. package/src/schemas/v3/overlays/extensions/jk.json +4 -2
  15. package/src/schemas/v3/overlays/extensions/la.json +4 -2
  16. package/src/schemas/v3/overlays/extensions/lc.json +86 -0
  17. package/src/schemas/v3/overlays/extensions/ma.json +6 -3
  18. package/src/schemas/v3/overlays/extensions/mc.json +4 -2
  19. package/src/schemas/v3/overlays/extensions/mi.json +52 -0
  20. package/src/schemas/v3/overlays/extensions/nd.json +43 -0
  21. package/src/schemas/v3/overlays/extensions/oa.json +4 -2
  22. package/src/schemas/v3/overlays/extensions/oc.json +4 -2
  23. package/src/schemas/v3/overlays/extensions/pc.json +2 -1
  24. package/src/schemas/v3/overlays/extensions/rw.json +68 -0
  25. package/src/schemas/v3/overlays/extensions/sb.json +4 -2
  26. package/src/schemas/v3/overlays/extensions/sc.json +82 -14
  27. package/src/schemas/v3/overlays/extensions/sd.json +63 -0
  28. package/src/schemas/v3/overlays/extensions/sf.json +4 -2
  29. package/src/schemas/v3/overlays/extensions/sl.json +4 -2
  30. package/src/schemas/v3/overlays/extensions/tf.json +6 -3
  31. package/src/schemas/v3/overlays/extensions/tr.json +73 -0
  32. package/src/schemas/v3/overlays/extensions/wg.json +209 -0
  33. package/src/schemas/v3/overlays/ta6ed6.json +37 -18
  34. package/src/schemas/v3/pdtf-transaction.json +477 -51
  35. package/src/schemas/v3/skeleton.json +33 -10
  36. package/src/tests/v3/extensionOverlays.test.js +410 -4
  37. package/src/tests/v3/ta6ed6.test.js +1 -48
  38. package/src/utils/extractExtensionOverlays.js +121 -0
@@ -57,12 +57,14 @@
57
57
  },
58
58
  "required": [
59
59
  "subsidenceOrStructuralFault"
60
- ]
60
+ ],
61
+ "ntsRef": "A5"
61
62
  }
62
63
  },
63
64
  "required": [
64
65
  "specialistIssues"
65
- ]
66
+ ],
67
+ "ntsRef": "0"
66
68
  }
67
69
  },
68
70
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -13,19 +13,53 @@
13
13
  "associatedCost": {
14
14
  "ntsRef": "U1.1",
15
15
  "required": [
16
- "amount",
17
- "frequency"
16
+ "hasCost"
18
17
  ],
18
+ "discriminator": {
19
+ "propertyName": "hasCost"
20
+ },
19
21
  "properties": {
20
- "amount": {
22
+ "hasCost": {
21
23
  "ntsRef": "U1.1.1",
22
- "type": "number"
23
- },
24
- "frequency": {
25
- "ntsRef": "U1.1.2",
26
24
  "type": "string"
27
25
  }
28
26
  },
27
+ "oneOf": [
28
+ {
29
+ "properties": {
30
+ "hasCost": {
31
+ "enum": [
32
+ "No"
33
+ ]
34
+ }
35
+ }
36
+ },
37
+ {
38
+ "required": [
39
+ "amount",
40
+ "frequency"
41
+ ],
42
+ "properties": {
43
+ "amount": {
44
+ "ntsRef": "U1.1.2",
45
+ "type": "number"
46
+ },
47
+ "frequency": {
48
+ "ntsRef": "U1.1.3",
49
+ "type": "string",
50
+ "enum": [
51
+ "Per month",
52
+ "Per year"
53
+ ]
54
+ },
55
+ "hasCost": {
56
+ "enum": [
57
+ "Yes"
58
+ ]
59
+ }
60
+ }
61
+ }
62
+ ],
29
63
  "type": "object"
30
64
  }
31
65
  },
@@ -48,19 +82,53 @@
48
82
  "associatedCost": {
49
83
  "ntsRef": "U1.2",
50
84
  "required": [
51
- "amount",
52
- "frequency"
85
+ "hasCost"
53
86
  ],
87
+ "discriminator": {
88
+ "propertyName": "hasCost"
89
+ },
54
90
  "properties": {
55
- "amount": {
91
+ "hasCost": {
56
92
  "ntsRef": "U1.2.1",
57
- "type": "number"
58
- },
59
- "frequency": {
60
- "ntsRef": "U1.2.2",
61
93
  "type": "string"
62
94
  }
63
95
  },
96
+ "oneOf": [
97
+ {
98
+ "properties": {
99
+ "hasCost": {
100
+ "enum": [
101
+ "No"
102
+ ]
103
+ }
104
+ }
105
+ },
106
+ {
107
+ "required": [
108
+ "amount",
109
+ "frequency"
110
+ ],
111
+ "properties": {
112
+ "amount": {
113
+ "ntsRef": "U1.2.2",
114
+ "type": "number"
115
+ },
116
+ "frequency": {
117
+ "ntsRef": "U1.2.3",
118
+ "type": "string",
119
+ "enum": [
120
+ "Per month",
121
+ "Per year"
122
+ ]
123
+ },
124
+ "hasCost": {
125
+ "enum": [
126
+ "Yes"
127
+ ]
128
+ }
129
+ }
130
+ }
131
+ ],
64
132
  "type": "object"
65
133
  }
66
134
  },
@@ -0,0 +1,63 @@
1
+ {
2
+ "properties": {
3
+ "propertyPack": {
4
+ "properties": {
5
+ "environmentalIssues": {
6
+ "properties": {
7
+ "stormFireFloodDamage": {
8
+ "ntsRef": "E1.1",
9
+ "required": [
10
+ "yesNo"
11
+ ],
12
+ "discriminator": {
13
+ "propertyName": "yesNo"
14
+ },
15
+ "properties": {
16
+ "yesNo": {
17
+ "ntsRef": "E1.1.1",
18
+ "type": "string"
19
+ }
20
+ },
21
+ "oneOf": [
22
+ {
23
+ "properties": {
24
+ "yesNo": {
25
+ "enum": [
26
+ "No"
27
+ ]
28
+ }
29
+ }
30
+ },
31
+ {
32
+ "required": [
33
+ "details"
34
+ ],
35
+ "properties": {
36
+ "details": {
37
+ "ntsRef": "E1.1.2",
38
+ "type": "string",
39
+ "minLength": 1
40
+ },
41
+ "yesNo": {
42
+ "enum": [
43
+ "Yes"
44
+ ]
45
+ }
46
+ }
47
+ }
48
+ ],
49
+ "type": "object"
50
+ }
51
+ },
52
+ "required": [
53
+ "stormFireFloodDamage"
54
+ ],
55
+ "ntsRef": "E1"
56
+ }
57
+ }
58
+ }
59
+ },
60
+ "$schema": "http://json-schema.org/draft-07/schema#",
61
+ "$id": "https://trust.propdata.org.uk/schemas/v3/overlays/extensions/sd.json",
62
+ "$comment": "Storm, fire or flood damage"
63
+ }
@@ -58,12 +58,14 @@
58
58
  },
59
59
  "required": [
60
60
  "sprayFoamInsulation"
61
- ]
61
+ ],
62
+ "ntsRef": "A1.2"
62
63
  }
63
64
  },
64
65
  "required": [
65
66
  "typeOfConstruction"
66
- ]
67
+ ],
68
+ "ntsRef": "0"
67
69
  }
68
70
  },
69
71
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -52,12 +52,14 @@
52
52
  },
53
53
  "required": [
54
54
  "solarPanels"
55
- ]
55
+ ],
56
+ "ntsRef": "B3.1"
56
57
  }
57
58
  },
58
59
  "required": [
59
60
  "electricity"
60
- ]
61
+ ],
62
+ "ntsRef": "0"
61
63
  }
62
64
  },
63
65
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -73,7 +73,8 @@
73
73
  },
74
74
  "required": [
75
75
  "serviceCharge"
76
- ]
76
+ ],
77
+ "ntsRef": "A3.2"
77
78
  }
78
79
  },
79
80
  "required": [
@@ -86,12 +87,14 @@
86
87
  },
87
88
  "required": [
88
89
  "ownershipsToBeTransferred"
89
- ]
90
+ ],
91
+ "ntsRef": "A3"
90
92
  }
91
93
  },
92
94
  "required": [
93
95
  "ownership"
94
- ]
96
+ ],
97
+ "ntsRef": "0"
95
98
  }
96
99
  },
97
100
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -0,0 +1,73 @@
1
+ {
2
+ "properties": {
3
+ "propertyPack": {
4
+ "properties": {
5
+ "ownership": {
6
+ "properties": {
7
+ "ownershipsToBeTransferred": {
8
+ "items": {
9
+ "oneOf": [
10
+ {
11
+ "properties": {
12
+ "titleRestrictions": {
13
+ "ntsRef": "T1.1",
14
+ "required": [
15
+ "yesNo"
16
+ ],
17
+ "discriminator": {
18
+ "propertyName": "yesNo"
19
+ },
20
+ "properties": {
21
+ "yesNo": {
22
+ "ntsRef": "T1.1.1",
23
+ "type": "string"
24
+ }
25
+ },
26
+ "oneOf": [
27
+ {
28
+ "properties": {
29
+ "yesNo": {
30
+ "enum": [
31
+ "No"
32
+ ]
33
+ }
34
+ }
35
+ },
36
+ {
37
+ "required": [
38
+ "details"
39
+ ],
40
+ "properties": {
41
+ "details": {
42
+ "ntsRef": "T1.1.2",
43
+ "type": "string",
44
+ "minLength": 1
45
+ },
46
+ "yesNo": {
47
+ "enum": [
48
+ "Yes"
49
+ ]
50
+ }
51
+ }
52
+ }
53
+ ],
54
+ "type": "object"
55
+ }
56
+ },
57
+ "required": [
58
+ "titleRestrictions"
59
+ ]
60
+ }
61
+ ]
62
+ }
63
+ }
64
+ },
65
+ "ntsRef": "T1"
66
+ }
67
+ }
68
+ }
69
+ },
70
+ "$schema": "http://json-schema.org/draft-07/schema#",
71
+ "$id": "https://trust.propdata.org.uk/schemas/v3/overlays/extensions/tr.json",
72
+ "$comment": "Title restrictions for freehold properties"
73
+ }
@@ -0,0 +1,209 @@
1
+ {
2
+ "properties": {
3
+ "propertyPack": {
4
+ "properties": {
5
+ "guaranteesWarrantiesAndIndemnityInsurances": {
6
+ "oneOf": [
7
+ null,
8
+ {
9
+ "properties": {
10
+ "newHomeWarranty": {
11
+ "ntsRef": "W1.1",
12
+ "discriminator": {
13
+ "propertyName": "yesNo"
14
+ },
15
+ "oneOf": [
16
+ {
17
+ "properties": {
18
+ "yesNo": {
19
+ "enum": [
20
+ "No"
21
+ ]
22
+ }
23
+ }
24
+ },
25
+ {
26
+ "properties": {
27
+ "yesNo": {
28
+ "enum": [
29
+ "Yes"
30
+ ]
31
+ }
32
+ }
33
+ }
34
+ ],
35
+ "type": "object"
36
+ },
37
+ "roofingWork": {
38
+ "ntsRef": "W1.2",
39
+ "discriminator": {
40
+ "propertyName": "yesNo"
41
+ },
42
+ "oneOf": [
43
+ {
44
+ "properties": {
45
+ "yesNo": {
46
+ "enum": [
47
+ "No"
48
+ ]
49
+ }
50
+ }
51
+ },
52
+ {
53
+ "properties": {
54
+ "yesNo": {
55
+ "enum": [
56
+ "Yes"
57
+ ]
58
+ }
59
+ }
60
+ }
61
+ ],
62
+ "type": "object"
63
+ },
64
+ "dampProofingTreatment": {
65
+ "ntsRef": "W1.3",
66
+ "discriminator": {
67
+ "propertyName": "yesNo"
68
+ },
69
+ "oneOf": [
70
+ {
71
+ "properties": {
72
+ "yesNo": {
73
+ "enum": [
74
+ "No"
75
+ ]
76
+ }
77
+ }
78
+ },
79
+ {
80
+ "properties": {
81
+ "yesNo": {
82
+ "enum": [
83
+ "Yes"
84
+ ]
85
+ }
86
+ }
87
+ }
88
+ ],
89
+ "type": "object"
90
+ },
91
+ "centralHeatingAndorPlumbing": {
92
+ "ntsRef": "W1.4",
93
+ "discriminator": {
94
+ "propertyName": "yesNo"
95
+ },
96
+ "oneOf": [
97
+ {
98
+ "properties": {
99
+ "yesNo": {
100
+ "enum": [
101
+ "No"
102
+ ]
103
+ }
104
+ }
105
+ },
106
+ {
107
+ "properties": {
108
+ "yesNo": {
109
+ "enum": [
110
+ "Yes"
111
+ ]
112
+ }
113
+ }
114
+ }
115
+ ],
116
+ "type": "object"
117
+ },
118
+ "electricalRepairOrInstallation": {
119
+ "ntsRef": "W1.5",
120
+ "discriminator": {
121
+ "propertyName": "yesNo"
122
+ },
123
+ "oneOf": [
124
+ {
125
+ "properties": {
126
+ "yesNo": {
127
+ "enum": [
128
+ "No"
129
+ ]
130
+ }
131
+ }
132
+ },
133
+ {
134
+ "properties": {
135
+ "yesNo": {
136
+ "enum": [
137
+ "Yes"
138
+ ]
139
+ }
140
+ }
141
+ }
142
+ ],
143
+ "type": "object"
144
+ },
145
+ "subsidenceWork": {
146
+ "ntsRef": "W1.6",
147
+ "discriminator": {
148
+ "propertyName": "yesNo"
149
+ },
150
+ "oneOf": [
151
+ {
152
+ "properties": {
153
+ "yesNo": {
154
+ "enum": [
155
+ "No"
156
+ ]
157
+ }
158
+ }
159
+ },
160
+ {
161
+ "properties": {
162
+ "yesNo": {
163
+ "enum": [
164
+ "Yes"
165
+ ]
166
+ }
167
+ }
168
+ }
169
+ ],
170
+ "type": "object"
171
+ },
172
+ "otherGuarantees": {
173
+ "ntsRef": "W1.7",
174
+ "discriminator": {
175
+ "propertyName": "yesNo"
176
+ },
177
+ "oneOf": [
178
+ {
179
+ "properties": {
180
+ "yesNo": {
181
+ "enum": [
182
+ "No"
183
+ ]
184
+ }
185
+ }
186
+ },
187
+ {
188
+ "properties": {
189
+ "yesNo": {
190
+ "enum": [
191
+ "Yes"
192
+ ]
193
+ }
194
+ }
195
+ }
196
+ ],
197
+ "type": "object"
198
+ }
199
+ }
200
+ }
201
+ ]
202
+ }
203
+ }
204
+ }
205
+ },
206
+ "$schema": "http://json-schema.org/draft-07/schema#",
207
+ "$id": "https://trust.propdata.org.uk/schemas/v3/overlays/extensions/wg.json",
208
+ "$comment": "Warranties and guarantees upfront Y/N for SEF25"
209
+ }
@@ -3167,7 +3167,7 @@
3167
3167
  }
3168
3168
  },
3169
3169
  "required": [
3170
- "providerName",
3170
+ "supplier",
3171
3171
  "makeModel",
3172
3172
  "serviceProviderName"
3173
3173
  ]
@@ -3436,6 +3436,12 @@
3436
3436
  "Septic tank"
3437
3437
  ]
3438
3438
  },
3439
+ "dateDischargeCommenced": {
3440
+ "ta6ed6Ref": "11.7a"
3441
+ },
3442
+ "dateInstalled": {
3443
+ "ta6ed6Ref": "11.7b"
3444
+ },
3439
3445
  "dateReplaced": {
3440
3446
  "ta6ed6Ref": "11.7c"
3441
3447
  },
@@ -3444,7 +3450,8 @@
3444
3450
  }
3445
3451
  },
3446
3452
  "required": [
3447
- "dateReplaced",
3453
+ "dateDischargeCommenced",
3454
+ "dateInstalled",
3448
3455
  "dateLastEmptied"
3449
3456
  ]
3450
3457
  },
@@ -3455,12 +3462,23 @@
3455
3462
  "Cesspit"
3456
3463
  ]
3457
3464
  },
3465
+ "dateDischargeCommenced": {
3466
+ "ta6ed6Ref": "11.7a"
3467
+ },
3468
+ "dateInstalled": {
3469
+ "ta6ed6Ref": "11.7b"
3470
+ },
3471
+ "dateReplaced": {
3472
+ "ta6ed6Ref": "11.7c"
3473
+ },
3458
3474
  "dateLastEmptied": {
3459
3475
  "ta6ed6Ref": "11.7d"
3460
3476
  }
3461
3477
  },
3462
3478
  "required": [
3463
- "dateLastEmptied"
3479
+ "dateDischargeCommenced",
3480
+ "dateLastEmptied",
3481
+ "dateInstalled"
3464
3482
  ]
3465
3483
  },
3466
3484
  {
@@ -3470,6 +3488,9 @@
3470
3488
  "Sewerage treatment plant"
3471
3489
  ]
3472
3490
  },
3491
+ "dateDischargeCommenced": {
3492
+ "ta6ed6Ref": "11.7a"
3493
+ },
3473
3494
  "supplier": {
3474
3495
  "ta6ed6Ref": "12.5.2"
3475
3496
  },
@@ -3482,11 +3503,15 @@
3482
3503
  "dateInstalled": {
3483
3504
  "ta6ed6Ref": "11.7b"
3484
3505
  },
3506
+ "dateReplaced": {
3507
+ "ta6ed6Ref": "11.7c"
3508
+ },
3485
3509
  "dateLastServiced": {
3486
3510
  "ta6ed6Ref": "11.7e"
3487
3511
  }
3488
3512
  },
3489
3513
  "required": [
3514
+ "dateDischargeCommenced",
3490
3515
  "dateInstalled",
3491
3516
  "dateLastServiced",
3492
3517
  "supplier",
@@ -3514,7 +3539,13 @@
3514
3539
  ],
3515
3540
  "properties": {
3516
3541
  "offMainsDrainageSystemType": {
3517
- "ta6ed6Ref": "11.6"
3542
+ "ta6ed6Ref": "11.6",
3543
+ "enum": [
3544
+ "Septic tank",
3545
+ "Cesspit",
3546
+ "Sewerage treatment plant",
3547
+ "Other"
3548
+ ]
3518
3549
  },
3519
3550
  "otherConnectedProperties": {
3520
3551
  "ta6ed6Ref": "11.7h",
@@ -3539,7 +3570,8 @@
3539
3570
  ]
3540
3571
  },
3541
3572
  "details": {
3542
- "ta6ed6Ref": "11.7h"
3573
+ "ta6ed6Ref": "11.7h",
3574
+ "title": "Give details about how many properties share the system, the arrangements for jointly managing it and how the costs are shared"
3543
3575
  }
3544
3576
  },
3545
3577
  "required": [
@@ -6457,19 +6489,6 @@
6457
6489
  "properties": {
6458
6490
  "confirmInformationIsAccurate": {
6459
6491
  "ta6ed6Ref": "15.3.1"
6460
- },
6461
- "sellerSignatures": {
6462
- "ta6ed6Ref": "16.1",
6463
- "items": {
6464
- "properties": {
6465
- "name": {
6466
- "ta6ed6Ref": "16.1"
6467
- },
6468
- "signedOn": {
6469
- "ta6ed6Ref": "16.1.dated"
6470
- }
6471
- }
6472
- }
6473
6492
  }
6474
6493
  }
6475
6494
  }