@pdtf/schemas 3.4.0-9 → 3.4.1-1
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/.claude/settings.local.json +15 -0
- package/README.md +326 -6
- package/index.js +32 -0
- package/package.json +1 -1
- package/src/schemas/v3/combined.json +8 -21
- package/src/schemas/v3/overlays/README.md +299 -0
- package/src/schemas/v3/overlays/extensions/as.json +57 -0
- package/src/schemas/v3/overlays/extensions/dr.json +60 -0
- package/src/schemas/v3/overlays/extensions/er.json +71 -0
- package/src/schemas/v3/overlays/extensions/fd.json +63 -0
- package/src/schemas/v3/overlays/extensions/hi.json +44 -0
- package/src/schemas/v3/overlays/extensions/hs.json +56 -0
- package/src/schemas/v3/overlays/extensions/jk.json +55 -0
- package/src/schemas/v3/overlays/extensions/la.json +66 -0
- package/src/schemas/v3/overlays/extensions/ma.json +87 -0
- package/src/schemas/v3/overlays/extensions/mc.json +36 -0
- package/src/schemas/v3/overlays/extensions/oa.json +22 -0
- package/src/schemas/v3/overlays/extensions/oc.json +35 -0
- package/src/schemas/v3/overlays/extensions/sb.json +56 -0
- package/src/schemas/v3/overlays/extensions/sf.json +57 -0
- package/src/schemas/v3/overlays/extensions/sl.json +46 -0
- package/src/schemas/v3/overlays/extensions/tf.json +91 -0
- package/src/schemas/v3/overlays/nts2.json +6 -18
- package/src/schemas/v3/overlays/ntsl2.json +2 -8
- package/src/schemas/v3/overlays/ta6.json +1 -0
- package/src/tests/v3/extensionOverlays.test.js +253 -0
- package/src/utils/extractExtensionOverlays.js +271 -0
package/README.md
CHANGED
|
@@ -1,14 +1,334 @@
|
|
|
1
1
|
# PDTF Schemas
|
|
2
|
-
This repository contains the versioned schemas for the Property Data Trust Framework (PDTF) for digital residential property data exchange in England and Wales.
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
[](https://badge.fury.io/js/%40pdtf%2Fschemas)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
|
|
6
|
-
The
|
|
6
|
+
The Property Data Trust Framework (PDTF) Schemas provide standardized JSON Schema definitions for digital residential property data exchange in England and Wales. This package enables frictionless property data exchange between software products and services while maintaining trusted information about data provenance.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
## Project Goals & Status
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
**Current Version:** 3.4.0 (Schema v3 - Stable)
|
|
11
|
+
|
|
12
|
+
This schema framework aims to support the [Home Buying and Selling Group](https://homebuyingandsellinggroup.co.uk) 'Property Pack' initiative, encompassing all requirements starting with the Buyers and Sellers Property Information set ([BASPI v4.0](https://homebuyingandsellinggroup.co.uk/baspi/)).
|
|
13
|
+
|
|
14
|
+
**Key Objectives:**
|
|
15
|
+
- 🏠 **Standardize** residential property data exchange across England and Wales
|
|
16
|
+
- 🔗 **Enable** frictionless data sharing between software products and services
|
|
17
|
+
- 🛡️ **Maintain** trusted information about data provenance and verification
|
|
18
|
+
- 📋 **Support** industry-standard forms (BASPI, NTS, Law Society TA forms)
|
|
19
|
+
- 🧩 **Provide** modular components for flexible implementation
|
|
20
|
+
|
|
21
|
+
**Related Projects:**
|
|
22
|
+
- [API Specifications](https://github.com/Property-Data-Trust-Framework/api) - OpenAPI specs for data exchange protocols
|
|
23
|
+
- [PDTF Website](https://trust.propdata.org.uk) - Official framework documentation
|
|
24
|
+
|
|
25
|
+
This repository is a living document, with schemas evolving as framework requirements are refined and extended. Semantic versioning ensures backward compatibility while enabling schema evolution.
|
|
26
|
+
|
|
27
|
+
## Quick Start
|
|
28
|
+
|
|
29
|
+
### Installation
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm install @pdtf/schemas
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Basic Usage
|
|
36
|
+
|
|
37
|
+
```javascript
|
|
38
|
+
const { getTransactionSchema, getValidator } = require('@pdtf/schemas');
|
|
39
|
+
|
|
40
|
+
// Get a schema with BASPI v5 overlay
|
|
41
|
+
const schema = getTransactionSchema(
|
|
42
|
+
"https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
43
|
+
["baspiV5"]
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
// Create a validator
|
|
47
|
+
const validator = getValidator(
|
|
48
|
+
"https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
49
|
+
["baspiV5"]
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
// Validate data
|
|
53
|
+
const isValid = validator(propertyData);
|
|
54
|
+
if (!isValid) {
|
|
55
|
+
console.log('Validation errors:', validator.errors);
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Features
|
|
60
|
+
|
|
61
|
+
- **🏗️ Modular Schema System** - Base schemas with flexible overlay composition
|
|
62
|
+
- **📋 Multiple Form Support** - BASPI, NTS, Law Society TA forms, and more
|
|
63
|
+
- **🧩 Extension Overlays** - Granular NTS2 features as individual modules
|
|
64
|
+
- **✅ JSON Schema Validation** - Full JSON Schema Draft 07 support with AJV
|
|
65
|
+
- **🔗 Verified Claims** - Support for verified data provenance tracking
|
|
66
|
+
- **📚 Comprehensive Documentation** - Detailed usage guides and examples
|
|
67
|
+
|
|
68
|
+
## Package Structure
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
@pdtf/schemas/
|
|
72
|
+
├── src/
|
|
73
|
+
│ ├── schemas/
|
|
74
|
+
│ │ ├── v3/ # Current schema version
|
|
75
|
+
│ │ │ ├── pdtf-transaction.json # Base transaction schema
|
|
76
|
+
│ │ │ ├── overlays/ # Form-specific overlays
|
|
77
|
+
│ │ │ │ ├── baspi5.json # BASPI v5 overlay
|
|
78
|
+
│ │ │ │ ├── nts.json # National Trading Standards
|
|
79
|
+
│ │ │ │ ├── ta6.json # Law Society forms
|
|
80
|
+
│ │ │ │ └── extensions/ # Modular NTS2 extensions
|
|
81
|
+
│ │ │ │ ├── jk.json # Japanese Knotweed
|
|
82
|
+
│ │ │ │ ├── tf.json # Transfer Fees
|
|
83
|
+
│ │ │ │ └── ... # 16 total extensions
|
|
84
|
+
│ │ │ └── combined.json # Master schema for generation
|
|
85
|
+
│ │ ├── v2/ # Legacy schema version
|
|
86
|
+
│ │ ├── verifiedClaims/ # Verified claims schemas
|
|
87
|
+
│ │ └── examples/ # Example data files
|
|
88
|
+
│ ├── tests/ # Jest test suite
|
|
89
|
+
│ └── utils/ # Build and extraction tools
|
|
90
|
+
├── index.js # Main API entry point
|
|
91
|
+
└── package.json
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Core Concepts
|
|
95
|
+
|
|
96
|
+
### Base Schema + Overlays
|
|
97
|
+
|
|
98
|
+
PDTF uses a **base transaction schema** combined with **overlays** to create form-specific schemas:
|
|
99
|
+
|
|
100
|
+
- **Base Schema**: Core property transaction structure
|
|
101
|
+
- **Overlays**: Form-specific fields, references, and validation rules
|
|
102
|
+
- **Extensions**: Modular components for selective feature adoption
|
|
103
|
+
|
|
104
|
+
### Schema Versions
|
|
105
|
+
|
|
106
|
+
- **v3** (Current): Full feature set with extension support
|
|
107
|
+
- **v2** (Legacy): Maintained for backward compatibility
|
|
108
|
+
|
|
109
|
+
## API Reference
|
|
110
|
+
|
|
111
|
+
### Core Functions
|
|
112
|
+
|
|
113
|
+
#### `getTransactionSchema(schemaId, overlays)`
|
|
114
|
+
|
|
115
|
+
Creates a merged schema from base schema and overlays.
|
|
116
|
+
|
|
117
|
+
```javascript
|
|
118
|
+
const schema = getTransactionSchema(
|
|
119
|
+
"https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
120
|
+
["baspiV5", "ta6ed4"]
|
|
121
|
+
);
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Parameters:**
|
|
125
|
+
- `schemaId` (string): Schema version URL
|
|
126
|
+
- `overlays` (array): Array of overlay names or objects
|
|
127
|
+
|
|
128
|
+
#### `getValidator(schemaId, overlays)`
|
|
129
|
+
|
|
130
|
+
Returns an AJV validator function for the specified schema combination.
|
|
131
|
+
|
|
132
|
+
```javascript
|
|
133
|
+
const validator = getValidator(schemaId, ["baspiV5"]);
|
|
134
|
+
const isValid = validator(data);
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
#### `validateVerifiedClaims(claims, schemaId, overlays)`
|
|
138
|
+
|
|
139
|
+
Validates verified claims against schema paths.
|
|
140
|
+
|
|
141
|
+
```javascript
|
|
142
|
+
const errors = validateVerifiedClaims(verifiedClaims, schemaId, ["nts2023"]);
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Available Overlays
|
|
146
|
+
|
|
147
|
+
#### Main Form Overlays
|
|
148
|
+
|
|
149
|
+
| Overlay | Description | Version |
|
|
150
|
+
|---------|-------------|---------|
|
|
151
|
+
| `baspiV4` | Buyers and Sellers Property Information | v4.0 |
|
|
152
|
+
| `baspiV5` | Buyers and Sellers Property Information | v5.0 |
|
|
153
|
+
| `nts2023` | National Trading Standards | 2023 |
|
|
154
|
+
| `nts2025` | National Trading Standards | 2025 |
|
|
155
|
+
| `ta6ed4` | Law Society Property Information Form | Edition 4 |
|
|
156
|
+
| `ta7ed3` | Law Society Leasehold Information Form | Edition 3 |
|
|
157
|
+
| `ta10ed3` | Law Society Fittings and Contents Form | Edition 3 |
|
|
158
|
+
|
|
159
|
+
[View all overlays →](src/schemas/v3/overlays/README.md)
|
|
160
|
+
|
|
161
|
+
#### Extension Overlays
|
|
162
|
+
|
|
163
|
+
Modular NTS2 features for selective adoption:
|
|
164
|
+
|
|
165
|
+
```javascript
|
|
166
|
+
// Individual extensions
|
|
167
|
+
const schema = getTransactionSchema(schemaId, ["nts2023", "jk", "tf"]);
|
|
168
|
+
|
|
169
|
+
// Multiple specialist issues
|
|
170
|
+
const schema = getTransactionSchema(schemaId, ["nts2023", "as", "dr", "jk", "sb"]);
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
| Extension | Code | Description |
|
|
174
|
+
|-----------|------|-------------|
|
|
175
|
+
| Japanese Knotweed | `jk` | Knotweed presence and management |
|
|
176
|
+
| Transfer Fees | `tf` | Additional leasehold fees |
|
|
177
|
+
| Managing Agent | `ma` | Leasehold managing agent details |
|
|
178
|
+
| Solar Panels | `sl` | Solar panel ownership details |
|
|
179
|
+
| Asbestos | `as` | Asbestos presence and management |
|
|
180
|
+
|
|
181
|
+
[View all extensions →](src/schemas/v3/overlays/README.md#extension-overlays)
|
|
182
|
+
|
|
183
|
+
## Usage Examples
|
|
184
|
+
|
|
185
|
+
### Form-Specific Schemas
|
|
186
|
+
|
|
187
|
+
```javascript
|
|
188
|
+
// BASPI v5 for estate agents
|
|
189
|
+
const baspiSchema = getTransactionSchema(schemaId, ["baspiV5"]);
|
|
190
|
+
|
|
191
|
+
// Law Society conveyancing forms
|
|
192
|
+
const legalSchema = getTransactionSchema(schemaId, ["ta6ed4", "ta7ed3"]);
|
|
193
|
+
|
|
194
|
+
// National Trading Standards compliance
|
|
195
|
+
const ntsSchema = getTransactionSchema(schemaId, ["nts2023"]);
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Modular NTS2 Features
|
|
199
|
+
|
|
200
|
+
```javascript
|
|
201
|
+
// Selective NTS2 adoption
|
|
202
|
+
const partialNts2 = getTransactionSchema(schemaId, [
|
|
203
|
+
"nts2023", // Base NTS
|
|
204
|
+
"jk", // Japanese Knotweed
|
|
205
|
+
"tf", // Transfer Fees
|
|
206
|
+
"ma" // Managing Agent
|
|
207
|
+
]);
|
|
208
|
+
|
|
209
|
+
// Full specialist issues
|
|
210
|
+
const specialistIssues = getTransactionSchema(schemaId, [
|
|
211
|
+
"nts2023", "as", "dr", "jk", "sb", "hs"
|
|
212
|
+
]);
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Data Validation
|
|
216
|
+
|
|
217
|
+
```javascript
|
|
218
|
+
const { getValidator } = require('@pdtf/schemas');
|
|
219
|
+
|
|
220
|
+
const validator = getValidator(schemaId, ["baspiV5"]);
|
|
221
|
+
|
|
222
|
+
const propertyData = {
|
|
223
|
+
propertyPack: {
|
|
224
|
+
priceInformation: {
|
|
225
|
+
price: 350000,
|
|
226
|
+
priceQualifier: "Freehold"
|
|
227
|
+
},
|
|
228
|
+
// ... more property data
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
if (validator(propertyData)) {
|
|
233
|
+
console.log('✅ Data is valid');
|
|
234
|
+
} else {
|
|
235
|
+
console.log('❌ Validation errors:', validator.errors);
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Verified Claims & Data Provenance
|
|
240
|
+
|
|
241
|
+
PDTF supports verified claims to maintain data provenance and trust throughout property transactions. Claims package specific property data with verification evidence, enabling traceability back to authoritative sources.
|
|
242
|
+
|
|
243
|
+
```javascript
|
|
244
|
+
const { validateVerifiedClaims } = require('@pdtf/schemas');
|
|
245
|
+
|
|
246
|
+
// Current verified claims format
|
|
247
|
+
const verifiedClaims = [{
|
|
248
|
+
id: "claim-12345",
|
|
249
|
+
transactionId: "txn-67890",
|
|
250
|
+
schemaVersion: "3.4.0",
|
|
251
|
+
verification: {
|
|
252
|
+
trust_framework: "uk_pdtf",
|
|
253
|
+
time: "2024-07-01T10:30:00Z",
|
|
254
|
+
evidence: [{
|
|
255
|
+
type: "vouch",
|
|
256
|
+
attestation: {
|
|
257
|
+
type: "digital_attestation",
|
|
258
|
+
voucher: { name: "Estate Agent Ltd" }
|
|
259
|
+
},
|
|
260
|
+
verification_method: { type: "auth" }
|
|
261
|
+
}]
|
|
262
|
+
},
|
|
263
|
+
claims: {
|
|
264
|
+
"/propertyPack/priceInformation/price": 350000,
|
|
265
|
+
"/propertyPack/energyEfficiency/epcRating": "C"
|
|
266
|
+
}
|
|
267
|
+
}];
|
|
268
|
+
|
|
269
|
+
// Validate claims against schema
|
|
270
|
+
const errors = validateVerifiedClaims(verifiedClaims, schemaId, ["baspiV5"]);
|
|
271
|
+
if (errors.length === 0) {
|
|
272
|
+
console.log('✅ Verified claims are valid');
|
|
273
|
+
}
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**Key Features:**
|
|
277
|
+
- **Schema Path Validation** - Claims reference specific schema paths (e.g., `/propertyPack/priceInformation/price`)
|
|
278
|
+
- **Provenance Tracking** - Each claim includes verification evidence and source attribution
|
|
279
|
+
- **Trust Framework Integration** - Claims operate within the UK PDTF trust framework
|
|
280
|
+
- **Attachment Support** - Supporting documents can be cryptographically linked to claims
|
|
281
|
+
|
|
282
|
+
**Roadmap - W3C Verifiable Credentials:**
|
|
283
|
+
The next version of the PDTF framework will migrate to [W3C Verifiable Credentials](https://www.w3.org/TR/vc-data-model/) to provide:
|
|
284
|
+
- **Enhanced Security** - Cryptographically signed claims with tamper detection
|
|
285
|
+
- **Granular Permissions** - Fine-grained access control over claim data
|
|
286
|
+
- **Interoperability** - Standards-based approach for broader ecosystem compatibility
|
|
287
|
+
- **Selective Disclosure** - Share only necessary claim data for each transaction context
|
|
288
|
+
|
|
289
|
+
## Development
|
|
290
|
+
|
|
291
|
+
### Building Schemas
|
|
292
|
+
|
|
293
|
+
Schemas are generated from a master `combined.json` file:
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
# Extract overlays and base schema
|
|
297
|
+
node src/utils/extractOverlay.js
|
|
298
|
+
|
|
299
|
+
# Generate extension overlays
|
|
300
|
+
node src/utils/extractExtensionOverlays.js
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Testing
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
# Run all tests
|
|
307
|
+
npm test
|
|
308
|
+
|
|
309
|
+
# Test specific functionality
|
|
310
|
+
npm test -- --testPathPattern=extensionOverlays
|
|
311
|
+
npm test -- --testPathPattern=transactionSchema
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
## Versioning
|
|
316
|
+
|
|
317
|
+
The schema follows semantic versioning:
|
|
318
|
+
- **Patch** (3.4.x): Bug fixes, no breaking changes
|
|
319
|
+
- **Minor** (3.x.0): New fields, backward compatible
|
|
320
|
+
- **Major** (x.0.0): Breaking changes, migration required
|
|
11
321
|
|
|
12
322
|
## Licensing
|
|
13
|
-
|
|
323
|
+
|
|
324
|
+
Licensed under the [MIT License](https://opensource.org/licenses/MIT).
|
|
325
|
+
|
|
326
|
+
**Important:** Overlays contain fields from licensed forms ([BASPI](https://homebuyingsellingcouncil.co.uk/wp-content/uploads/2021/03/Terms-of-Licence-mandatory-download-for-use-of-BASPI.pdf), [PIQ](https://www.propertymark.co.uk/static/14e7c154-98de-4230-957f09bd8d5ddeec/f542b10a-7710-4c37-b3958ccaeec25d4b/property-information-questionnaire-residential-sales.pdf), [Law Society TA](https://www.lawsociety.org.uk/topics/property/transaction-forms)). When rendering data into these forms, ensure compliance with their respective license terms.
|
|
327
|
+
|
|
328
|
+
## Support
|
|
329
|
+
|
|
330
|
+
- 📖 [Overlay Documentation](src/schemas/v3/overlays/README.md)
|
|
331
|
+
- 📁 [Example Files](src/examples/)
|
|
332
|
+
- 🐛 [Issue Tracker](https://github.com/Property-Data-Trust-Framework/schemas/issues)
|
|
333
|
+
- 🌐 [PDTF Website](https://trust.propdata.org.uk)
|
|
14
334
|
|
package/index.js
CHANGED
|
@@ -14,6 +14,35 @@ const verifiedClaimsSchema = require("./src/schemas/verifiedClaims/pdtf-verified
|
|
|
14
14
|
const v2CoreSchema = require("./src/schemas/v2/pdtf-transaction.json");
|
|
15
15
|
const v3CoreSchema = require("./src/schemas/v3/pdtf-transaction.json");
|
|
16
16
|
|
|
17
|
+
// Extension overlays for v3
|
|
18
|
+
const extensionOverlays = {
|
|
19
|
+
// Specialist Issues Extensions
|
|
20
|
+
as: require("./src/schemas/v3/overlays/extensions/as.json"),
|
|
21
|
+
dr: require("./src/schemas/v3/overlays/extensions/dr.json"),
|
|
22
|
+
jk: require("./src/schemas/v3/overlays/extensions/jk.json"),
|
|
23
|
+
sb: require("./src/schemas/v3/overlays/extensions/sb.json"),
|
|
24
|
+
hs: require("./src/schemas/v3/overlays/extensions/hs.json"),
|
|
25
|
+
|
|
26
|
+
// Property Features Extensions
|
|
27
|
+
oa: require("./src/schemas/v3/overlays/extensions/oa.json"),
|
|
28
|
+
la: require("./src/schemas/v3/overlays/extensions/la.json"),
|
|
29
|
+
sf: require("./src/schemas/v3/overlays/extensions/sf.json"),
|
|
30
|
+
mc: require("./src/schemas/v3/overlays/extensions/mc.json"),
|
|
31
|
+
|
|
32
|
+
// Ownership & Financial Extensions
|
|
33
|
+
er: require("./src/schemas/v3/overlays/extensions/er.json"),
|
|
34
|
+
ma: require("./src/schemas/v3/overlays/extensions/ma.json"),
|
|
35
|
+
tf: require("./src/schemas/v3/overlays/extensions/tf.json"),
|
|
36
|
+
|
|
37
|
+
// Utilities & Services Extensions
|
|
38
|
+
sl: require("./src/schemas/v3/overlays/extensions/sl.json"),
|
|
39
|
+
hi: require("./src/schemas/v3/overlays/extensions/hi.json"),
|
|
40
|
+
fd: require("./src/schemas/v3/overlays/extensions/fd.json"),
|
|
41
|
+
|
|
42
|
+
// Transaction Extensions
|
|
43
|
+
oc: require("./src/schemas/v3/overlays/extensions/oc.json"),
|
|
44
|
+
};
|
|
45
|
+
|
|
17
46
|
const overlaysMap = {
|
|
18
47
|
"https://trust.propdata.org.uk/schemas/v2/pdtf-transaction.json": {
|
|
19
48
|
baspiV4: require("./src/schemas/v2/overlays/baspi.json"),
|
|
@@ -50,6 +79,8 @@ const overlaysMap = {
|
|
|
50
79
|
oc1v21: require("./src/schemas/v3/overlays/oc1.json"),
|
|
51
80
|
piqV3: require("./src/schemas/v3/overlays/piq.json"),
|
|
52
81
|
sr24: require("./src/schemas/v3/overlays/sr24.json"),
|
|
82
|
+
// Include extension overlays for v3
|
|
83
|
+
...extensionOverlays,
|
|
53
84
|
null: {},
|
|
54
85
|
},
|
|
55
86
|
};
|
|
@@ -298,4 +329,5 @@ module.exports = {
|
|
|
298
329
|
verifiedClaimsSchema,
|
|
299
330
|
validateVerifiedClaims,
|
|
300
331
|
overlaysMap,
|
|
332
|
+
extensionOverlays,
|
|
301
333
|
};
|
package/package.json
CHANGED
|
@@ -1220,22 +1220,8 @@
|
|
|
1220
1220
|
"ntsl2Ref": "B5",
|
|
1221
1221
|
"title": "Residential property features",
|
|
1222
1222
|
"type": "object",
|
|
1223
|
-
"nts2Required": [
|
|
1224
|
-
|
|
1225
|
-
"bathrooms",
|
|
1226
|
-
"receptions",
|
|
1227
|
-
"kitchens",
|
|
1228
|
-
"diningAreas",
|
|
1229
|
-
"outsideAreas"
|
|
1230
|
-
],
|
|
1231
|
-
"ntsl2Required": [
|
|
1232
|
-
"bedrooms",
|
|
1233
|
-
"bathrooms",
|
|
1234
|
-
"receptions",
|
|
1235
|
-
"kitchens",
|
|
1236
|
-
"diningAreas",
|
|
1237
|
-
"outsideAreas"
|
|
1238
|
-
],
|
|
1223
|
+
"nts2Required": ["outsideAreas"],
|
|
1224
|
+
"ntsl2Required": ["outsideAreas"],
|
|
1239
1225
|
"properties": {
|
|
1240
1226
|
"bedrooms": {
|
|
1241
1227
|
"nts2Ref": "B5.1",
|
|
@@ -1268,8 +1254,8 @@
|
|
|
1268
1254
|
"type": "integer"
|
|
1269
1255
|
},
|
|
1270
1256
|
"outsideAreas": {
|
|
1271
|
-
"nts2Ref": "B5.
|
|
1272
|
-
"ntsl2Ref": "B5.
|
|
1257
|
+
"nts2Ref": "B5.1",
|
|
1258
|
+
"ntsl2Ref": "B5.1",
|
|
1273
1259
|
"title": "What outside areas are there?",
|
|
1274
1260
|
"type": "array",
|
|
1275
1261
|
"items": {
|
|
@@ -7813,7 +7799,6 @@
|
|
|
7813
7799
|
}
|
|
7814
7800
|
},
|
|
7815
7801
|
"lpe1Required": ["yesNo"],
|
|
7816
|
-
"nts2Required": ["yesNo"],
|
|
7817
7802
|
"discriminator": {
|
|
7818
7803
|
"propertyName": "yesNo"
|
|
7819
7804
|
},
|
|
@@ -9113,6 +9098,7 @@
|
|
|
9113
9098
|
}
|
|
9114
9099
|
},
|
|
9115
9100
|
"ntsRequired": ["leaseholdInformation"],
|
|
9101
|
+
"nts2Required": ["leaseholdInformation"],
|
|
9116
9102
|
"lpe1Required": ["leaseholdInformation"],
|
|
9117
9103
|
"baspi4Required": ["leaseholdInformation"],
|
|
9118
9104
|
"baspi5Required": ["leaseholdInformation"],
|
|
@@ -12964,8 +12950,8 @@
|
|
|
12964
12950
|
},
|
|
12965
12951
|
"baspi4Required": ["details", "attachments"],
|
|
12966
12952
|
"baspi5Required": ["details", "attachments"],
|
|
12967
|
-
"nts2Required": ["details"
|
|
12968
|
-
"ntsl2Required": ["details"
|
|
12953
|
+
"nts2Required": ["details"],
|
|
12954
|
+
"ntsl2Required": ["details"]
|
|
12969
12955
|
}
|
|
12970
12956
|
]
|
|
12971
12957
|
},
|
|
@@ -19406,6 +19392,7 @@
|
|
|
19406
19392
|
"ntsl2Ref": "B3.3",
|
|
19407
19393
|
"baspi4Ref": "A7.1.0.12",
|
|
19408
19394
|
"baspi5Ref": "A7.1.0.12",
|
|
19395
|
+
"ta6Ref": "12.4",
|
|
19409
19396
|
"con29DWRef": "2",
|
|
19410
19397
|
"title": "Drainage",
|
|
19411
19398
|
"type": "object",
|