@pdtf/schemas 0.5.13 → 0.6.0

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.
@@ -6,6 +6,7 @@
6
6
  "description": "BASPI v2.0 Part A - Disclosure of material facts at the point of marketing, supporting mapping to BASPI, Law Society and RICS Data Schema elements.",
7
7
  "baspiRef": "A",
8
8
  "required": [
9
+ "uprn",
9
10
  "address",
10
11
  "delayFactors",
11
12
  "ownership",
@@ -31,6 +32,11 @@
31
32
  "consumerProtectionRegulationsDeclaration"
32
33
  ],
33
34
  "properties": {
35
+ "uprn": {
36
+ "RDSRef": "Property/GUID/{name='UPRN',id=?}",
37
+ "title": "Unique Property Reference Number ",
38
+ "type": "integer"
39
+ },
34
40
  "address": {
35
41
  "baspiRef": "A1.1",
36
42
  "RDSRef": "Property/Address/xal:AddressDetails",
@@ -4,10 +4,13 @@
4
4
  "type": "object",
5
5
  "title": "Energy Performance Certificate and Recommendations Schema, supporting data retrieved from https://epc.opendatacommunities.org ",
6
6
  "description": "Mirrors the Domestic EPC Glossary at https://epc.opendatacommunities.org/docs/guidance#glossary",
7
+ "required": ["certificate"],
7
8
  "properties": {
8
9
  "certificate": {
9
10
  "type": "object",
11
+ "required": ["currentEnergyRating"],
10
12
  "properties": {
13
+ "certificateNumber": { "type": "string" },
11
14
  "address": { "type": "string" },
12
15
  "address1": { "type": "string" },
13
16
  "address2": { "type": "string" },
@@ -0,0 +1,167 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://homebuyingandsellinggroup.co.uk/schemas/pdtf-transaction.json",
4
+ "type": "object",
5
+ "title": "Property Data Trust Framework Transaction Schema",
6
+ "description": "A schema defining the PDTF transaction data structure, supporting mapping to BASPI, Law Society and RICS Data Schema elements.",
7
+ "required": ["transactionId", "participants", "propertyPack"],
8
+ "properties": {
9
+ "transactionId": {
10
+ "title": "UUID for the transaction",
11
+ "type": "string",
12
+ "format": "uuid"
13
+ },
14
+ "participants": {
15
+ "title": "Transaction participants",
16
+ "type": "array",
17
+ "minItems": 1,
18
+ "items": {
19
+ "type": "object",
20
+ "title": "Participant Details",
21
+ "required": [
22
+ "name",
23
+ "dateOfBirth",
24
+ "phone",
25
+ "email",
26
+ "address",
27
+ "role"
28
+ ],
29
+ "properties": {
30
+ "name": {
31
+ "title": "",
32
+ "type": "object",
33
+ "required": ["firstName", "lastName"],
34
+ "properties": {
35
+ "firstName": {
36
+ "RDSRef": "",
37
+ "title": "First name",
38
+ "type": "string"
39
+ },
40
+ "middleNames": {
41
+ "title": "Middle name(s)",
42
+ "type": "string"
43
+ },
44
+ "lastName": {
45
+ "title": "Last name",
46
+ "type": "string"
47
+ }
48
+ }
49
+ },
50
+ "dateOfBirth": {
51
+ "title": "Date of birth",
52
+ "type": "string",
53
+ "format": "date"
54
+ },
55
+ "phone": {
56
+ "title": "Phone number",
57
+ "type": "string"
58
+ },
59
+ "email": {
60
+ "title": "Email address",
61
+ "type": "string",
62
+ "format": "email"
63
+ },
64
+ "address": {
65
+ "title": "Address",
66
+ "$ref": "#/$defs/address"
67
+ },
68
+ "organisation": {
69
+ "title": "Organisation",
70
+ "type": "string"
71
+ },
72
+ "organisationReference": {
73
+ "title": "Reference",
74
+ "type": "string"
75
+ },
76
+ "role": {
77
+ "title": "Role",
78
+ "type": "string",
79
+ "enum": [
80
+ "Seller",
81
+ "Seller's Conveyancer",
82
+ "Buyer",
83
+ "Buyer's Conveyancer",
84
+ "Estate Agent"
85
+ ]
86
+ }
87
+ }
88
+ }
89
+ },
90
+ "propertyPack": {
91
+ "title": "Property Pack",
92
+ "type": "object",
93
+ "properties": {
94
+ "materialFacts": {
95
+ "$ref": "https://homebuyingandsellinggroup.co.uk/schemas/baspi-a-material-facts.json"
96
+ },
97
+ "additionalLegalInfo": {
98
+ "$ref": "https://homebuyingandsellinggroup.co.uk/schemas/baspi-b-legal-information.json"
99
+ },
100
+ "titlesToBeSold": {
101
+ "RDSRef": "",
102
+ "title": "Title(s) as registered with HMLR which are included in the sale",
103
+ "type": "array",
104
+ "items": {
105
+ "type": "object",
106
+ "title": "Registered Title",
107
+ "properties": {
108
+ "titleNumber": {
109
+ "RDSRef": "",
110
+ "title": "Title Number",
111
+ "type": "string"
112
+ },
113
+ "titleExtents": {
114
+ "RDSRef": "",
115
+ "title": "Title Extents",
116
+ "description": "One or more index polygons describing indicative location of registered title from National Polygon Dataset",
117
+ "type": "array",
118
+ "items": {
119
+ "$ref": "https://geojson.org/schema/GeoJSON.json"
120
+ }
121
+ },
122
+ "registerExtract": {
123
+ "title": "HMLR Register Extract",
124
+ "$ref": "https://homebuyingandsellinggroup.co.uk/schemas/title-deed.json"
125
+ }
126
+ }
127
+ }
128
+ },
129
+ "energyPerformanceCertificate": {
130
+ "RDSRef": "",
131
+ "title": "Energy Performance Certificate",
132
+ "$ref": "https://homebuyingandsellinggroup.co.uk/schemas/energy-performance-certificate.json"
133
+ }
134
+ }
135
+ }
136
+ },
137
+ "$defs": {
138
+ "address": {
139
+ "type": "object",
140
+ "properties": {
141
+ "address1": {
142
+ "title": "Address 1",
143
+ "type": "string",
144
+ "minLength": 1
145
+ },
146
+ "address2": {
147
+ "title": "Address 2",
148
+ "type": "string"
149
+ },
150
+ "town": {
151
+ "title": "Town",
152
+ "type": "string"
153
+ },
154
+ "county": {
155
+ "title": "County",
156
+ "type": "string"
157
+ },
158
+ "postcode": {
159
+ "title": "Postcode",
160
+ "type": "string",
161
+ "minLength": 1
162
+ }
163
+ },
164
+ "required": ["address1", "postcode"]
165
+ }
166
+ }
167
+ }
@@ -134,8 +134,7 @@
134
134
  "$ref": "#/definitions/document_details"
135
135
  }
136
136
  }
137
- },
138
- "else": {}
137
+ }
139
138
  },
140
139
  {
141
140
  "if": {
@@ -155,6 +154,7 @@
155
154
  },
156
155
  "verifier": {
157
156
  "type": "object",
157
+ "required": ["organization"],
158
158
  "properties": {
159
159
  "organization": {
160
160
  "type": "string"
@@ -169,6 +169,7 @@
169
169
  },
170
170
  "record": {
171
171
  "type": "object",
172
+ "required": ["source"],
172
173
  "properties": {
173
174
  "type": {
174
175
  "type": "string"
@@ -184,6 +185,7 @@
184
185
  },
185
186
  "source": {
186
187
  "type": "object",
188
+ "required": ["name"],
187
189
  "properties": {
188
190
  "name": {
189
191
  "type": "string"
@@ -211,14 +213,14 @@
211
213
  },
212
214
  "jurisdiction": {
213
215
  "type": "string"
214
- }
216
+ },
217
+ "rights": { "type": "string" }
215
218
  }
216
219
  }
217
220
  }
218
221
  }
219
222
  }
220
- },
221
- "else": {}
223
+ }
222
224
  },
223
225
  {
224
226
  "if": {
@@ -307,8 +309,7 @@
307
309
  }
308
310
  }
309
311
  }
310
- },
311
- "else": {}
312
+ }
312
313
  }
313
314
  ]
314
315
  },