@pdtf/schemas 3.6.0-dev.3 → 3.6.0-dev.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 (193) hide show
  1. package/docs/ta6-certificate-permit-contract.md +51 -0
  2. package/docs/v4-mapping-and-recomposition.md +476 -0
  3. package/index.js +212 -0
  4. package/package.json +10 -1
  5. package/src/schemas/v3/combined.json +2267 -658
  6. package/src/schemas/v3/compactSkeleton.txt +120 -51
  7. package/src/schemas/v3/overlays/baspi4.json +54 -74
  8. package/src/schemas/v3/overlays/baspi5.json +54 -74
  9. package/src/schemas/v3/overlays/extensions/ac.json +2 -1
  10. package/src/schemas/v3/overlays/extensions/dk.json +3 -2
  11. package/src/schemas/v3/overlays/extensions/fd.json +2 -1
  12. package/src/schemas/v3/overlays/extensions/ic.json +44 -9
  13. package/src/schemas/v3/overlays/extensions/lc.json +3 -2
  14. package/src/schemas/v3/overlays/extensions/mi.json +2 -1
  15. package/src/schemas/v3/overlays/extensions/nd.json +3 -2
  16. package/src/schemas/v3/overlays/extensions/pc.json +3 -2
  17. package/src/schemas/v3/overlays/extensions/ph.json +2 -1
  18. package/src/schemas/v3/overlays/extensions/rw.json +4 -3
  19. package/src/schemas/v3/overlays/extensions/sc.json +8 -4
  20. package/src/schemas/v3/overlays/extensions/sd.json +3 -2
  21. package/src/schemas/v3/overlays/extensions/tr.json +3 -2
  22. package/src/schemas/v3/overlays/extensions/wg.json +2 -1
  23. package/src/schemas/v3/overlays/llc1.json +1 -2
  24. package/src/schemas/v3/overlays/lpe1.json +3 -2
  25. package/src/schemas/v3/overlays/nts.json +7 -3
  26. package/src/schemas/v3/overlays/nts2.json +9 -4
  27. package/src/schemas/v3/overlays/ntsl.json +5 -2
  28. package/src/schemas/v3/overlays/ntsl2.json +7 -3
  29. package/src/schemas/v3/overlays/piq.json +34 -25
  30. package/src/schemas/v3/overlays/rds.json +24 -50
  31. package/src/schemas/v3/overlays/sef25.json +16 -2
  32. package/src/schemas/v3/overlays/ta10.json +0 -9
  33. package/src/schemas/v3/overlays/ta6.json +39 -70
  34. package/src/schemas/v3/overlays/ta6ed6.json +331 -307
  35. package/{pensive-tesla-d0d355/src/schemas/v3/overlays/ta6.json → src/schemas/v3/overlays/ta6ed6v2.json} +1574 -1464
  36. package/src/schemas/v3/overlays/ta7.json +2 -1
  37. package/src/schemas/v3/overlays/ta7ed5.json +77 -21
  38. package/src/schemas/v3/pdtf-transaction.json +1030 -492
  39. package/src/schemas/v3/skeleton.json +163 -57
  40. package/src/schemas/v4/Gift.json +88 -0
  41. package/src/schemas/v4/Offer.json +425 -0
  42. package/src/schemas/v4/Organisation.json +167 -0
  43. package/src/schemas/v4/Person.json +321 -0
  44. package/src/schemas/v4/Property.json +27813 -0
  45. package/src/schemas/v4/PropertyTitleLink.json +183 -0
  46. package/src/schemas/v4/Representation.json +67 -0
  47. package/src/schemas/v4/SellerCapacity.json +193 -0
  48. package/src/schemas/v4/Title.json +14675 -0
  49. package/src/schemas/v4/Transaction.json +1612 -0
  50. package/src/schemas/v4/TransactionRole.json +59 -0
  51. package/src/schemas/v4/mapping.json +1188 -0
  52. package/src/utils/checkTa6OmissionCompatibility.js +146 -0
  53. package/src/utils/extractExtensionOverlays.js +11 -2
  54. package/src/utils/extractOverlay.js +21 -0
  55. package/src/utils/generateV4Schemas.js +1561 -0
  56. package/src/utils/syncTa6ed6v2Markers.js +92 -0
  57. package/src/utils/v4.js +956 -0
  58. package/CLAUDE.md +0 -101
  59. package/pensive-tesla-d0d355/CLAUDE.md +0 -101
  60. package/pensive-tesla-d0d355/LICENSE +0 -21
  61. package/pensive-tesla-d0d355/README.md +0 -435
  62. package/pensive-tesla-d0d355/docs/branch-release-workflow.md +0 -138
  63. package/pensive-tesla-d0d355/docs/sef25-extensions-ui-spec.md +0 -355
  64. package/pensive-tesla-d0d355/index.js +0 -654
  65. package/pensive-tesla-d0d355/package-lock.json +0 -7297
  66. package/pensive-tesla-d0d355/package.json +0 -44
  67. package/pensive-tesla-d0d355/src/examples/v1/exampleAddParticipantVouch.json +0 -32
  68. package/pensive-tesla-d0d355/src/examples/v1/exampleDocumentedVouch.json +0 -40
  69. package/pensive-tesla-d0d355/src/examples/v1/exampleElectronicRecord.json +0 -30
  70. package/pensive-tesla-d0d355/src/examples/v1/exampleTransaction.json +0 -878
  71. package/pensive-tesla-d0d355/src/examples/v1/exampleVouch.json +0 -25
  72. package/pensive-tesla-d0d355/src/examples/v2/exampleTransaction.json +0 -901
  73. package/pensive-tesla-d0d355/src/examples/v3/exampleAddParticipantVouch.json +0 -38
  74. package/pensive-tesla-d0d355/src/examples/v3/exampleCustomOverlay.json +0 -55
  75. package/pensive-tesla-d0d355/src/examples/v3/exampleCustomOverlay2.json +0 -93
  76. package/pensive-tesla-d0d355/src/examples/v3/exampleDocumentedVouch.json +0 -47
  77. package/pensive-tesla-d0d355/src/examples/v3/exampleElectronicRecord.json +0 -36
  78. package/pensive-tesla-d0d355/src/examples/v3/exampleTransaction.json +0 -1038
  79. package/pensive-tesla-d0d355/src/examples/v3/exampleVouch.json +0 -32
  80. package/pensive-tesla-d0d355/src/mappings/SendPropertyDetailsRequestSchema.json +0 -1588
  81. package/pensive-tesla-d0d355/src/mappings/adf.js +0 -198
  82. package/pensive-tesla-d0d355/src/schemas/v1/GeoJSON.json +0 -1279
  83. package/pensive-tesla-d0d355/src/schemas/v1/baspiNotes.html +0 -102
  84. package/pensive-tesla-d0d355/src/schemas/v1/energy-performance-certificate.json +0 -124
  85. package/pensive-tesla-d0d355/src/schemas/v1/freehold-information.json +0 -2051
  86. package/pensive-tesla-d0d355/src/schemas/v1/leasehold-information.json +0 -2064
  87. package/pensive-tesla-d0d355/src/schemas/v1/legal-information.json +0 -1045
  88. package/pensive-tesla-d0d355/src/schemas/v1/material-facts.json +0 -2109
  89. package/pensive-tesla-d0d355/src/schemas/v1/pdtf-transaction-search-results.json +0 -40
  90. package/pensive-tesla-d0d355/src/schemas/v1/pdtf-transaction.json +0 -191
  91. package/pensive-tesla-d0d355/src/schemas/v1/searches/drainage-and-water.json +0 -261
  92. package/pensive-tesla-d0d355/src/schemas/v1/searches/local-land-charges.json +0 -69
  93. package/pensive-tesla-d0d355/src/schemas/v1/searches/local-searches-required.json +0 -857
  94. package/pensive-tesla-d0d355/src/schemas/v1/searches.json +0 -237
  95. package/pensive-tesla-d0d355/src/schemas/v1/title-deed.json +0 -841
  96. package/pensive-tesla-d0d355/src/schemas/v2/baspiNotes.html +0 -102
  97. package/pensive-tesla-d0d355/src/schemas/v2/combined.json +0 -37731
  98. package/pensive-tesla-d0d355/src/schemas/v2/overlays/baspi.json +0 -8132
  99. package/pensive-tesla-d0d355/src/schemas/v2/overlays/con29DW.json +0 -705
  100. package/pensive-tesla-d0d355/src/schemas/v2/overlays/con29R.json +0 -2956
  101. package/pensive-tesla-d0d355/src/schemas/v2/overlays/fme1.json +0 -1259
  102. package/pensive-tesla-d0d355/src/schemas/v2/overlays/llc1.json +0 -25
  103. package/pensive-tesla-d0d355/src/schemas/v2/overlays/lpe1.json +0 -2171
  104. package/pensive-tesla-d0d355/src/schemas/v2/overlays/nts.json +0 -326
  105. package/pensive-tesla-d0d355/src/schemas/v2/overlays/oc1.json +0 -2799
  106. package/pensive-tesla-d0d355/src/schemas/v2/overlays/piq.json +0 -3419
  107. package/pensive-tesla-d0d355/src/schemas/v2/overlays/rds.json +0 -3736
  108. package/pensive-tesla-d0d355/src/schemas/v2/overlays/ta10.json +0 -5306
  109. package/pensive-tesla-d0d355/src/schemas/v2/overlays/ta6.json +0 -4533
  110. package/pensive-tesla-d0d355/src/schemas/v2/overlays/ta7.json +0 -1045
  111. package/pensive-tesla-d0d355/src/schemas/v2/pdtf-transaction.json +0 -34351
  112. package/pensive-tesla-d0d355/src/schemas/v2/skeleton.json +0 -3973
  113. package/pensive-tesla-d0d355/src/schemas/v3/combined.json +0 -48469
  114. package/pensive-tesla-d0d355/src/schemas/v3/compactSkeleton.txt +0 -4519
  115. package/pensive-tesla-d0d355/src/schemas/v3/overlays/README.md +0 -299
  116. package/pensive-tesla-d0d355/src/schemas/v3/overlays/baspi4.json +0 -8025
  117. package/pensive-tesla-d0d355/src/schemas/v3/overlays/baspi5.json +0 -8175
  118. package/pensive-tesla-d0d355/src/schemas/v3/overlays/con29DW.json +0 -716
  119. package/pensive-tesla-d0d355/src/schemas/v3/overlays/con29R.json +0 -2981
  120. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/ac.json +0 -333
  121. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/as.json +0 -74
  122. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/dk.json +0 -32
  123. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/dr.json +0 -73
  124. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/er.json +0 -85
  125. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/fd.json +0 -75
  126. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/hi.json +0 -51
  127. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/hs.json +0 -73
  128. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/ic.json +0 -59
  129. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/jk.json +0 -96
  130. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/la.json +0 -85
  131. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/lc.json +0 -75
  132. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/ma.json +0 -90
  133. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/mc.json +0 -38
  134. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/mi.json +0 -69
  135. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/nd.json +0 -43
  136. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/oa.json +0 -24
  137. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/oc.json +0 -57
  138. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/pc.json +0 -37
  139. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/ph.json +0 -194
  140. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/rw.json +0 -68
  141. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/sb.json +0 -73
  142. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/sc.json +0 -129
  143. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/sd.json +0 -63
  144. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/sf.json +0 -74
  145. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/sl.json +0 -68
  146. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/ta.json +0 -252
  147. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/tf.json +0 -103
  148. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/tr.json +0 -73
  149. package/pensive-tesla-d0d355/src/schemas/v3/overlays/extensions/wg.json +0 -350
  150. package/pensive-tesla-d0d355/src/schemas/v3/overlays/fme1.json +0 -1266
  151. package/pensive-tesla-d0d355/src/schemas/v3/overlays/llc1.json +0 -25
  152. package/pensive-tesla-d0d355/src/schemas/v3/overlays/lpe1.json +0 -2199
  153. package/pensive-tesla-d0d355/src/schemas/v3/overlays/nts.json +0 -2157
  154. package/pensive-tesla-d0d355/src/schemas/v3/overlays/nts2.json +0 -2742
  155. package/pensive-tesla-d0d355/src/schemas/v3/overlays/ntsl.json +0 -1813
  156. package/pensive-tesla-d0d355/src/schemas/v3/overlays/ntsl2.json +0 -2217
  157. package/pensive-tesla-d0d355/src/schemas/v3/overlays/oc1.json +0 -2817
  158. package/pensive-tesla-d0d355/src/schemas/v3/overlays/piq.json +0 -3322
  159. package/pensive-tesla-d0d355/src/schemas/v3/overlays/rds.json +0 -3665
  160. package/pensive-tesla-d0d355/src/schemas/v3/overlays/sef25.json +0 -1639
  161. package/pensive-tesla-d0d355/src/schemas/v3/overlays/sr24.json +0 -38
  162. package/pensive-tesla-d0d355/src/schemas/v3/overlays/ta10.json +0 -4654
  163. package/pensive-tesla-d0d355/src/schemas/v3/overlays/ta6ed6.json +0 -6534
  164. package/pensive-tesla-d0d355/src/schemas/v3/overlays/ta7.json +0 -1537
  165. package/pensive-tesla-d0d355/src/schemas/v3/overlays/ta7ed5.json +0 -1551
  166. package/pensive-tesla-d0d355/src/schemas/v3/pdtf-transaction.json +0 -41573
  167. package/pensive-tesla-d0d355/src/schemas/v3/skeleton.json +0 -5767
  168. package/pensive-tesla-d0d355/src/schemas/verifiedClaims/README.md +0 -21
  169. package/pensive-tesla-d0d355/src/schemas/verifiedClaims/pdtf-verified-claims.json +0 -447
  170. package/pensive-tesla-d0d355/src/utils/compactSkeleton.js +0 -84
  171. package/pensive-tesla-d0d355/src/utils/countTokens.js +0 -67
  172. package/pensive-tesla-d0d355/src/utils/extractExtensionOverlays.js +0 -624
  173. package/pensive-tesla-d0d355/src/utils/extractOverlay.js +0 -381
  174. package/pensive-tesla-d0d355/src/utils/extractProperties.js +0 -44
  175. package/pensive-tesla-d0d355/src/utils/listPathTitles.js +0 -36
  176. package/pensive-tesla-d0d355/src/utils/minimalSkeleton.js +0 -85
  177. package/pensive-tesla-d0d355/src/utils/pathList.csv +0 -903
  178. package/pensive-tesla-d0d355/src/utils/pathSkeleton.js +0 -181
  179. package/src/examples/v1/exampleAddParticipantVouch.json +0 -32
  180. package/src/examples/v1/exampleDocumentedVouch.json +0 -40
  181. package/src/examples/v1/exampleElectronicRecord.json +0 -30
  182. package/src/examples/v1/exampleTransaction.json +0 -878
  183. package/src/examples/v1/exampleVouch.json +0 -25
  184. package/src/examples/v2/exampleTransaction.json +0 -901
  185. package/src/examples/v3/exampleAddParticipantVouch.json +0 -38
  186. package/src/examples/v3/exampleCustomOverlay.json +0 -55
  187. package/src/examples/v3/exampleCustomOverlay2.json +0 -93
  188. package/src/examples/v3/exampleDocumentedVouch.json +0 -47
  189. package/src/examples/v3/exampleElectronicRecord.json +0 -36
  190. package/src/examples/v3/exampleTransaction.json +0 -1038
  191. package/src/examples/v3/exampleVouch.json +0 -32
  192. package/src/mappings/SendPropertyDetailsRequestSchema.json +0 -1588
  193. package/src/mappings/adf.js +0 -198
@@ -0,0 +1,321 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://trust.propdata.org.uk/schemas/v4/entities/person.json",
4
+ "type": "object",
5
+ "title": "Person Entity",
6
+ "description": "A natural person participating in a property transaction — name, contact details, address, verification status.",
7
+ "x-pdtf-source": {
8
+ "packageName": "@pdtf/schemas",
9
+ "packageVersion": "3.6.0-dev.32",
10
+ "v3SchemaId": "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
11
+ "combinedPath": "src/schemas/v3/combined.json",
12
+ "combinedSha256": "83f31fddf82e57e67f2bc92844459095041b254b970d8881dd4318248c188f67"
13
+ },
14
+ "properties": {
15
+ "name": {
16
+ "title": "Name",
17
+ "type": "object",
18
+ "properties": {
19
+ "title": {
20
+ "title": "Title or honorific",
21
+ "type": "string",
22
+ "enum": [
23
+ "Mr",
24
+ "Mrs",
25
+ "Miss",
26
+ "Ms",
27
+ "Mx",
28
+ "Dr"
29
+ ]
30
+ },
31
+ "firstName": {
32
+ "title": "First name",
33
+ "type": "string",
34
+ "minLength": 1
35
+ },
36
+ "middleName": {
37
+ "title": "Middle name(s)",
38
+ "type": "string"
39
+ },
40
+ "lastName": {
41
+ "title": "lastName",
42
+ "type": "string",
43
+ "minLength": 1
44
+ },
45
+ "maidenName": {
46
+ "title": "Middle name(s)",
47
+ "type": "string"
48
+ },
49
+ "preferredName": {
50
+ "title": "Preferred name / known as",
51
+ "type": "string"
52
+ }
53
+ }
54
+ },
55
+ "dateOfBirth": {
56
+ "title": "Date of birth",
57
+ "type": "string",
58
+ "format": "date"
59
+ },
60
+ "phone": {
61
+ "title": "Phone number",
62
+ "type": "string"
63
+ },
64
+ "email": {
65
+ "title": "Email address",
66
+ "type": "string",
67
+ "format": "email"
68
+ },
69
+ "address": {
70
+ "title": "Address",
71
+ "type": "object",
72
+ "properties": {
73
+ "buildingNumber": {
74
+ "title": "Building number",
75
+ "type": "string",
76
+ "minLength": 1
77
+ },
78
+ "buildingName": {
79
+ "title": "Building name",
80
+ "type": "string"
81
+ },
82
+ "subBuilding": {
83
+ "title": "Sub building name",
84
+ "type": "string"
85
+ },
86
+ "street": {
87
+ "title": "Street",
88
+ "type": "string",
89
+ "minLength": 1
90
+ },
91
+ "line1": {
92
+ "title": "Address 1",
93
+ "type": "string",
94
+ "minLength": 1
95
+ },
96
+ "line2": {
97
+ "title": "Address 2",
98
+ "type": "string"
99
+ },
100
+ "line3": {
101
+ "title": "Address 3",
102
+ "type": "string"
103
+ },
104
+ "town": {
105
+ "title": "Town",
106
+ "type": "string"
107
+ },
108
+ "postcode": {
109
+ "title": "Postcode",
110
+ "type": "string",
111
+ "minLength": 1
112
+ },
113
+ "homeNation": {
114
+ "title": "Home nation",
115
+ "type": "string",
116
+ "enum": [
117
+ "England",
118
+ "Wales",
119
+ "Scotland",
120
+ "Northern Ireland"
121
+ ]
122
+ },
123
+ "countryCode": {
124
+ "title": "Country code",
125
+ "description": "ISO 3166-1 alpha-3 country code",
126
+ "type": "string",
127
+ "minLength": 3,
128
+ "maxLength": 3
129
+ }
130
+ }
131
+ },
132
+ "did": {
133
+ "title": "Participant DID",
134
+ "description": "Decentralised Identifier for this party - the primary way to identify them. Unlike participantId it is global and stable: the same person carries the same DID across transactions, and across two entries in one transaction where they are both buying and selling. Minted when the party is created, so it should always be present.",
135
+ "type": "string",
136
+ "pattern": "^did:[a-z0-9]+:(?:(?:[a-zA-Z0-9._-]|%[0-9A-Fa-f]{2})*:)*(?:[a-zA-Z0-9._-]|%[0-9A-Fa-f]{2})+$"
137
+ },
138
+ "externalIds": {
139
+ "type": "object",
140
+ "patternProperties": {
141
+ ".*": {
142
+ "oneOf": [
143
+ {
144
+ "type": "string"
145
+ },
146
+ {
147
+ "type": "number"
148
+ },
149
+ {
150
+ "type": "boolean"
151
+ },
152
+ {
153
+ "type": "object",
154
+ "patternProperties": {
155
+ ".*": {}
156
+ }
157
+ }
158
+ ]
159
+ }
160
+ }
161
+ },
162
+ "participantStatus": {
163
+ "type": "string",
164
+ "enum": [
165
+ "Proposed",
166
+ "Invited",
167
+ "Active",
168
+ "Removed"
169
+ ]
170
+ },
171
+ "verification": {
172
+ "type": "object",
173
+ "properties": {
174
+ "identity": {
175
+ "type": "object",
176
+ "properties": {
177
+ "status": {
178
+ "type": "string",
179
+ "enum": [
180
+ "Requested",
181
+ "In progress",
182
+ "User tasks complete",
183
+ "Report available",
184
+ "Complete",
185
+ "Cancelled"
186
+ ]
187
+ },
188
+ "result": {
189
+ "type": "string",
190
+ "enum": [
191
+ "pass",
192
+ "fail",
193
+ "consider"
194
+ ]
195
+ },
196
+ "reports": {
197
+ "type": "array",
198
+ "items": {
199
+ "type": "object",
200
+ "properties": {
201
+ "reportName": {
202
+ "type": "string"
203
+ },
204
+ "result": {
205
+ "type": "string",
206
+ "enum": [
207
+ "pass",
208
+ "fail",
209
+ "consider"
210
+ ]
211
+ },
212
+ "details": {
213
+ "type": "string"
214
+ }
215
+ }
216
+ }
217
+ }
218
+ }
219
+ },
220
+ "antiMoneyLaundering": {
221
+ "type": "object",
222
+ "properties": {
223
+ "status": {
224
+ "type": "string",
225
+ "enum": [
226
+ "Requested",
227
+ "In progress",
228
+ "User tasks complete",
229
+ "Report available",
230
+ "Complete",
231
+ "Cancelled"
232
+ ]
233
+ },
234
+ "result": {
235
+ "type": "string",
236
+ "enum": [
237
+ "pass",
238
+ "fail",
239
+ "consider"
240
+ ]
241
+ },
242
+ "reports": {
243
+ "type": "array",
244
+ "items": {
245
+ "type": "object",
246
+ "properties": {
247
+ "reportName": {
248
+ "type": "string"
249
+ },
250
+ "result": {
251
+ "type": "string",
252
+ "enum": [
253
+ "pass",
254
+ "fail",
255
+ "consider"
256
+ ]
257
+ },
258
+ "details": {
259
+ "type": "string"
260
+ }
261
+ }
262
+ }
263
+ }
264
+ }
265
+ },
266
+ "sourceOfFunds": {
267
+ "type": "object",
268
+ "properties": {
269
+ "status": {
270
+ "type": "string",
271
+ "enum": [
272
+ "Requested",
273
+ "In progress",
274
+ "User tasks complete",
275
+ "Report available",
276
+ "Complete",
277
+ "Cancelled"
278
+ ]
279
+ },
280
+ "result": {
281
+ "type": "string",
282
+ "enum": [
283
+ "pass",
284
+ "fail",
285
+ "consider"
286
+ ]
287
+ },
288
+ "reports": {
289
+ "type": "array",
290
+ "items": {
291
+ "type": "object",
292
+ "properties": {
293
+ "reportName": {
294
+ "type": "string"
295
+ },
296
+ "result": {
297
+ "type": "string",
298
+ "enum": [
299
+ "pass",
300
+ "fail",
301
+ "consider"
302
+ ]
303
+ },
304
+ "details": {
305
+ "type": "string"
306
+ }
307
+ }
308
+ }
309
+ }
310
+ }
311
+ }
312
+ }
313
+ },
314
+ "id": {
315
+ "title": "Person DID",
316
+ "description": "Decentralised Identifier for the person",
317
+ "type": "string",
318
+ "pattern": "^did:[a-z0-9]+:(?:(?:[a-zA-Z0-9._-]|%[0-9A-Fa-f]{2})*:)*(?:[a-zA-Z0-9._-]|%[0-9A-Fa-f]{2})+$"
319
+ }
320
+ }
321
+ }