@pdtf/schemas 3.6.0-dev.3 → 3.6.0-dev.4

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 (263) hide show
  1. package/charming-napier-57a77c/LICENSE +21 -0
  2. package/charming-napier-57a77c/README.md +430 -0
  3. package/charming-napier-57a77c/docs/sef25-extensions-ui-spec.md +355 -0
  4. package/charming-napier-57a77c/index.js +654 -0
  5. package/charming-napier-57a77c/package-lock.json +7297 -0
  6. package/charming-napier-57a77c/package.json +41 -0
  7. package/charming-napier-57a77c/src/examples/v1/exampleAddParticipantVouch.json +32 -0
  8. package/charming-napier-57a77c/src/examples/v1/exampleDocumentedVouch.json +40 -0
  9. package/charming-napier-57a77c/src/examples/v1/exampleElectronicRecord.json +30 -0
  10. package/charming-napier-57a77c/src/examples/v1/exampleTransaction.json +878 -0
  11. package/charming-napier-57a77c/src/examples/v1/exampleVouch.json +25 -0
  12. package/charming-napier-57a77c/src/examples/v2/exampleTransaction.json +901 -0
  13. package/charming-napier-57a77c/src/examples/v3/exampleAddParticipantVouch.json +38 -0
  14. package/charming-napier-57a77c/src/examples/v3/exampleCustomOverlay.json +55 -0
  15. package/charming-napier-57a77c/src/examples/v3/exampleCustomOverlay2.json +93 -0
  16. package/charming-napier-57a77c/src/examples/v3/exampleDocumentedVouch.json +47 -0
  17. package/charming-napier-57a77c/src/examples/v3/exampleElectronicRecord.json +36 -0
  18. package/charming-napier-57a77c/src/examples/v3/exampleTransaction.json +1038 -0
  19. package/charming-napier-57a77c/src/examples/v3/exampleVouch.json +32 -0
  20. package/charming-napier-57a77c/src/mappings/SendPropertyDetailsRequestSchema.json +1588 -0
  21. package/charming-napier-57a77c/src/mappings/adf.js +198 -0
  22. package/charming-napier-57a77c/src/schemas/v1/GeoJSON.json +1279 -0
  23. package/charming-napier-57a77c/src/schemas/v1/baspiNotes.html +102 -0
  24. package/charming-napier-57a77c/src/schemas/v1/energy-performance-certificate.json +124 -0
  25. package/charming-napier-57a77c/src/schemas/v1/freehold-information.json +2051 -0
  26. package/charming-napier-57a77c/src/schemas/v1/leasehold-information.json +2064 -0
  27. package/charming-napier-57a77c/src/schemas/v1/legal-information.json +1045 -0
  28. package/charming-napier-57a77c/src/schemas/v1/material-facts.json +2109 -0
  29. package/charming-napier-57a77c/src/schemas/v1/pdtf-transaction-search-results.json +40 -0
  30. package/charming-napier-57a77c/src/schemas/v1/pdtf-transaction.json +191 -0
  31. package/charming-napier-57a77c/src/schemas/v1/searches/drainage-and-water.json +261 -0
  32. package/charming-napier-57a77c/src/schemas/v1/searches/local-land-charges.json +69 -0
  33. package/charming-napier-57a77c/src/schemas/v1/searches/local-searches-required.json +857 -0
  34. package/charming-napier-57a77c/src/schemas/v1/searches.json +237 -0
  35. package/charming-napier-57a77c/src/schemas/v1/title-deed.json +841 -0
  36. package/charming-napier-57a77c/src/schemas/v2/baspiNotes.html +102 -0
  37. package/charming-napier-57a77c/src/schemas/v2/combined.json +37731 -0
  38. package/charming-napier-57a77c/src/schemas/v2/overlays/baspi.json +8132 -0
  39. package/charming-napier-57a77c/src/schemas/v2/overlays/con29DW.json +705 -0
  40. package/charming-napier-57a77c/src/schemas/v2/overlays/con29R.json +2956 -0
  41. package/charming-napier-57a77c/src/schemas/v2/overlays/fme1.json +1259 -0
  42. package/charming-napier-57a77c/src/schemas/v2/overlays/llc1.json +25 -0
  43. package/charming-napier-57a77c/src/schemas/v2/overlays/lpe1.json +2171 -0
  44. package/charming-napier-57a77c/src/schemas/v2/overlays/nts.json +326 -0
  45. package/charming-napier-57a77c/src/schemas/v2/overlays/oc1.json +2799 -0
  46. package/charming-napier-57a77c/src/schemas/v2/overlays/piq.json +3419 -0
  47. package/charming-napier-57a77c/src/schemas/v2/overlays/rds.json +3736 -0
  48. package/charming-napier-57a77c/src/schemas/v2/overlays/ta10.json +5306 -0
  49. package/charming-napier-57a77c/src/schemas/v2/overlays/ta6.json +4533 -0
  50. package/charming-napier-57a77c/src/schemas/v2/overlays/ta7.json +1045 -0
  51. package/charming-napier-57a77c/src/schemas/v2/pdtf-transaction.json +34351 -0
  52. package/charming-napier-57a77c/src/schemas/v2/skeleton.json +3973 -0
  53. package/charming-napier-57a77c/src/schemas/v3/combined.json +48153 -0
  54. package/charming-napier-57a77c/src/schemas/v3/compactSkeleton.txt +4457 -0
  55. package/charming-napier-57a77c/src/schemas/v3/overlays/README.md +299 -0
  56. package/charming-napier-57a77c/src/schemas/v3/overlays/baspi4.json +8027 -0
  57. package/charming-napier-57a77c/src/schemas/v3/overlays/baspi5.json +8177 -0
  58. package/charming-napier-57a77c/src/schemas/v3/overlays/con29DW.json +716 -0
  59. package/charming-napier-57a77c/src/schemas/v3/overlays/con29R.json +2981 -0
  60. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/ac.json +333 -0
  61. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/as.json +74 -0
  62. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/dk.json +32 -0
  63. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/dr.json +73 -0
  64. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/er.json +85 -0
  65. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/fd.json +75 -0
  66. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/hi.json +51 -0
  67. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/hs.json +73 -0
  68. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/ic.json +59 -0
  69. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/jk.json +96 -0
  70. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/la.json +85 -0
  71. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/lc.json +75 -0
  72. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/ma.json +90 -0
  73. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/mc.json +38 -0
  74. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/mi.json +69 -0
  75. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/nd.json +43 -0
  76. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/oa.json +24 -0
  77. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/oc.json +57 -0
  78. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/pc.json +37 -0
  79. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/ph.json +194 -0
  80. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/rw.json +68 -0
  81. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/sb.json +73 -0
  82. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/sc.json +129 -0
  83. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/sd.json +63 -0
  84. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/sf.json +74 -0
  85. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/sl.json +68 -0
  86. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/ta.json +240 -0
  87. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/tf.json +103 -0
  88. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/tr.json +73 -0
  89. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/wg.json +350 -0
  90. package/charming-napier-57a77c/src/schemas/v3/overlays/fme1.json +1266 -0
  91. package/charming-napier-57a77c/src/schemas/v3/overlays/llc1.json +25 -0
  92. package/charming-napier-57a77c/src/schemas/v3/overlays/lpe1.json +2199 -0
  93. package/charming-napier-57a77c/src/schemas/v3/overlays/nts.json +2157 -0
  94. package/charming-napier-57a77c/src/schemas/v3/overlays/nts2.json +2742 -0
  95. package/charming-napier-57a77c/src/schemas/v3/overlays/ntsl.json +1813 -0
  96. package/charming-napier-57a77c/src/schemas/v3/overlays/ntsl2.json +2217 -0
  97. package/charming-napier-57a77c/src/schemas/v3/overlays/oc1.json +2817 -0
  98. package/charming-napier-57a77c/src/schemas/v3/overlays/piq.json +3321 -0
  99. package/charming-napier-57a77c/src/schemas/v3/overlays/rds.json +3665 -0
  100. package/charming-napier-57a77c/src/schemas/v3/overlays/sef25.json +1639 -0
  101. package/charming-napier-57a77c/src/schemas/v3/overlays/sr24.json +38 -0
  102. package/charming-napier-57a77c/src/schemas/v3/overlays/ta10.json +4654 -0
  103. package/charming-napier-57a77c/src/schemas/v3/overlays/ta6.json +4568 -0
  104. package/charming-napier-57a77c/src/schemas/v3/overlays/ta6ed6.json +6537 -0
  105. package/charming-napier-57a77c/src/schemas/v3/overlays/ta7.json +1537 -0
  106. package/charming-napier-57a77c/src/schemas/v3/overlays/ta7ed5.json +1551 -0
  107. package/charming-napier-57a77c/src/schemas/v3/pdtf-transaction.json +41229 -0
  108. package/charming-napier-57a77c/src/schemas/v3/skeleton.json +5703 -0
  109. package/charming-napier-57a77c/src/schemas/verifiedClaims/README.md +21 -0
  110. package/charming-napier-57a77c/src/schemas/verifiedClaims/pdtf-verified-claims.json +447 -0
  111. package/charming-napier-57a77c/src/tests/v3/buyerCircumstances.test.js +543 -0
  112. package/charming-napier-57a77c/src/tests/v3/caching.test.js +591 -0
  113. package/charming-napier-57a77c/src/tests/v3/enquiries.test.js +1096 -0
  114. package/charming-napier-57a77c/src/tests/v3/extensionOverlays.test.js +1599 -0
  115. package/charming-napier-57a77c/src/tests/v3/offers.test.js +823 -0
  116. package/charming-napier-57a77c/src/tests/v3/patternProperties.test.js +688 -0
  117. package/charming-napier-57a77c/src/tests/v3/ta6ed6.test.js +2374 -0
  118. package/charming-napier-57a77c/src/tests/v3/ta7ed5.test.js +600 -0
  119. package/charming-napier-57a77c/src/tests/v3/transactionSchema.test.js +646 -0
  120. package/charming-napier-57a77c/src/tests/v3/verifiedClaimsValidator.test.js +195 -0
  121. package/charming-napier-57a77c/src/utils/compactSkeleton.js +84 -0
  122. package/charming-napier-57a77c/src/utils/countTokens.js +67 -0
  123. package/charming-napier-57a77c/src/utils/extractExtensionOverlays.js +624 -0
  124. package/charming-napier-57a77c/src/utils/extractOverlay.js +381 -0
  125. package/charming-napier-57a77c/src/utils/extractProperties.js +44 -0
  126. package/charming-napier-57a77c/src/utils/listPathTitles.js +36 -0
  127. package/charming-napier-57a77c/src/utils/minimalSkeleton.js +85 -0
  128. package/charming-napier-57a77c/src/utils/pathList.csv +903 -0
  129. package/charming-napier-57a77c/src/utils/pathSkeleton.js +181 -0
  130. package/keen-dewdney-6ae15b/LICENSE +21 -0
  131. package/keen-dewdney-6ae15b/README.md +334 -0
  132. package/keen-dewdney-6ae15b/index.js +557 -0
  133. package/keen-dewdney-6ae15b/package-lock.json +7296 -0
  134. package/keen-dewdney-6ae15b/package.json +39 -0
  135. package/keen-dewdney-6ae15b/src/examples/v1/exampleAddParticipantVouch.json +32 -0
  136. package/keen-dewdney-6ae15b/src/examples/v1/exampleDocumentedVouch.json +40 -0
  137. package/keen-dewdney-6ae15b/src/examples/v1/exampleElectronicRecord.json +30 -0
  138. package/keen-dewdney-6ae15b/src/examples/v1/exampleTransaction.json +878 -0
  139. package/keen-dewdney-6ae15b/src/examples/v1/exampleVouch.json +25 -0
  140. package/keen-dewdney-6ae15b/src/examples/v2/exampleTransaction.json +901 -0
  141. package/keen-dewdney-6ae15b/src/examples/v3/exampleAddParticipantVouch.json +35 -0
  142. package/keen-dewdney-6ae15b/src/examples/v3/exampleCustomOverlay.json +55 -0
  143. package/keen-dewdney-6ae15b/src/examples/v3/exampleCustomOverlay2.json +93 -0
  144. package/keen-dewdney-6ae15b/src/examples/v3/exampleDocumentedVouch.json +44 -0
  145. package/keen-dewdney-6ae15b/src/examples/v3/exampleElectronicRecord.json +33 -0
  146. package/keen-dewdney-6ae15b/src/examples/v3/exampleTransaction.json +1034 -0
  147. package/keen-dewdney-6ae15b/src/examples/v3/exampleVouch.json +29 -0
  148. package/keen-dewdney-6ae15b/src/mappings/SendPropertyDetailsRequestSchema.json +1588 -0
  149. package/keen-dewdney-6ae15b/src/mappings/adf.js +198 -0
  150. package/keen-dewdney-6ae15b/src/schemas/v1/GeoJSON.json +1279 -0
  151. package/keen-dewdney-6ae15b/src/schemas/v1/baspiNotes.html +102 -0
  152. package/keen-dewdney-6ae15b/src/schemas/v1/energy-performance-certificate.json +124 -0
  153. package/keen-dewdney-6ae15b/src/schemas/v1/freehold-information.json +2051 -0
  154. package/keen-dewdney-6ae15b/src/schemas/v1/leasehold-information.json +2064 -0
  155. package/keen-dewdney-6ae15b/src/schemas/v1/legal-information.json +1045 -0
  156. package/keen-dewdney-6ae15b/src/schemas/v1/material-facts.json +2109 -0
  157. package/keen-dewdney-6ae15b/src/schemas/v1/pdtf-transaction-search-results.json +40 -0
  158. package/keen-dewdney-6ae15b/src/schemas/v1/pdtf-transaction.json +191 -0
  159. package/keen-dewdney-6ae15b/src/schemas/v1/searches/drainage-and-water.json +261 -0
  160. package/keen-dewdney-6ae15b/src/schemas/v1/searches/local-land-charges.json +69 -0
  161. package/keen-dewdney-6ae15b/src/schemas/v1/searches/local-searches-required.json +857 -0
  162. package/keen-dewdney-6ae15b/src/schemas/v1/searches.json +237 -0
  163. package/keen-dewdney-6ae15b/src/schemas/v1/title-deed.json +841 -0
  164. package/keen-dewdney-6ae15b/src/schemas/v2/baspiNotes.html +102 -0
  165. package/keen-dewdney-6ae15b/src/schemas/v2/combined.json +37731 -0
  166. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/baspi.json +8132 -0
  167. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/con29DW.json +705 -0
  168. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/con29R.json +2956 -0
  169. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/fme1.json +1259 -0
  170. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/llc1.json +25 -0
  171. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/lpe1.json +2171 -0
  172. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/nts.json +326 -0
  173. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/oc1.json +2799 -0
  174. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/piq.json +3419 -0
  175. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/rds.json +3736 -0
  176. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/ta10.json +5306 -0
  177. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/ta6.json +4533 -0
  178. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/ta7.json +1045 -0
  179. package/keen-dewdney-6ae15b/src/schemas/v2/pdtf-transaction.json +34351 -0
  180. package/keen-dewdney-6ae15b/src/schemas/v2/skeleton.json +3973 -0
  181. package/keen-dewdney-6ae15b/src/schemas/v3/combined.json +41720 -0
  182. package/keen-dewdney-6ae15b/src/schemas/v3/compactSkeleton.txt +3325 -0
  183. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/README.md +299 -0
  184. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/baspi4.json +7872 -0
  185. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/baspi5.json +8019 -0
  186. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/con29DW.json +716 -0
  187. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/con29R.json +2981 -0
  188. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/as.json +72 -0
  189. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/dr.json +73 -0
  190. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/er.json +83 -0
  191. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/fd.json +72 -0
  192. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/hi.json +48 -0
  193. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/hs.json +71 -0
  194. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/jk.json +76 -0
  195. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/la.json +83 -0
  196. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/ma.json +87 -0
  197. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/mc.json +36 -0
  198. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/oa.json +22 -0
  199. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/oc.json +55 -0
  200. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/sb.json +71 -0
  201. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/sf.json +72 -0
  202. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/sl.json +66 -0
  203. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/tf.json +100 -0
  204. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/fme1.json +1264 -0
  205. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/llc1.json +25 -0
  206. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/lpe1.json +2226 -0
  207. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/nts.json +2090 -0
  208. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/nts2.json +2678 -0
  209. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/ntsl.json +1746 -0
  210. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/ntsl2.json +2153 -0
  211. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/oc1.json +2817 -0
  212. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/piq.json +3276 -0
  213. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/rds.json +3552 -0
  214. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/sr24.json +38 -0
  215. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/ta10.json +4642 -0
  216. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/ta6.json +4501 -0
  217. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/ta7.json +1435 -0
  218. package/keen-dewdney-6ae15b/src/schemas/v3/pdtf-transaction.json +37225 -0
  219. package/keen-dewdney-6ae15b/src/schemas/v3/skeleton.json +4323 -0
  220. package/keen-dewdney-6ae15b/src/schemas/verifiedClaims/README.md +12 -0
  221. package/keen-dewdney-6ae15b/src/schemas/verifiedClaims/pdtf-verified-claims.json +431 -0
  222. package/keen-dewdney-6ae15b/src/tests/v3/caching.test.js +591 -0
  223. package/keen-dewdney-6ae15b/src/tests/v3/extensionOverlays.test.js +525 -0
  224. package/keen-dewdney-6ae15b/src/tests/v3/transactionSchema.test.js +574 -0
  225. package/keen-dewdney-6ae15b/src/tests/v3/verifiedClaimsValidator.test.js +128 -0
  226. package/keen-dewdney-6ae15b/src/utils/compactSkeleton.js +84 -0
  227. package/keen-dewdney-6ae15b/src/utils/countTokens.js +67 -0
  228. package/keen-dewdney-6ae15b/src/utils/extractExtensionOverlays.js +362 -0
  229. package/keen-dewdney-6ae15b/src/utils/extractOverlay.js +290 -0
  230. package/keen-dewdney-6ae15b/src/utils/extractProperties.js +44 -0
  231. package/keen-dewdney-6ae15b/src/utils/listPathTitles.js +36 -0
  232. package/keen-dewdney-6ae15b/src/utils/minimalSkeleton.js +85 -0
  233. package/keen-dewdney-6ae15b/src/utils/pathList.csv +903 -0
  234. package/keen-dewdney-6ae15b/src/utils/pathSkeleton.js +181 -0
  235. package/package.json +1 -1
  236. package/src/schemas/v3/combined.json +8 -15
  237. package/src/schemas/v3/overlays/baspi4.json +12 -7
  238. package/src/schemas/v3/overlays/baspi5.json +12 -7
  239. package/src/schemas/v3/overlays/extensions/ac.json +2 -1
  240. package/src/schemas/v3/overlays/extensions/dk.json +3 -2
  241. package/src/schemas/v3/overlays/extensions/ic.json +2 -1
  242. package/src/schemas/v3/overlays/extensions/lc.json +3 -2
  243. package/src/schemas/v3/overlays/extensions/mi.json +2 -1
  244. package/src/schemas/v3/overlays/extensions/nd.json +3 -2
  245. package/src/schemas/v3/overlays/extensions/pc.json +3 -2
  246. package/src/schemas/v3/overlays/extensions/ph.json +2 -1
  247. package/src/schemas/v3/overlays/extensions/rw.json +4 -3
  248. package/src/schemas/v3/overlays/extensions/sc.json +8 -4
  249. package/src/schemas/v3/overlays/extensions/sd.json +3 -2
  250. package/src/schemas/v3/overlays/extensions/tr.json +3 -2
  251. package/src/schemas/v3/overlays/extensions/wg.json +2 -1
  252. package/src/schemas/v3/overlays/lpe1.json +1 -1
  253. package/src/schemas/v3/overlays/nts.json +3 -1
  254. package/src/schemas/v3/overlays/nts2.json +3 -1
  255. package/src/schemas/v3/overlays/ntsl.json +3 -1
  256. package/src/schemas/v3/overlays/ntsl2.json +3 -1
  257. package/src/schemas/v3/overlays/piq.json +7 -5
  258. package/src/schemas/v3/overlays/rds.json +9 -6
  259. package/src/schemas/v3/overlays/ta10.json +0 -9
  260. package/src/schemas/v3/overlays/ta6.json +8 -4
  261. package/src/schemas/v3/overlays/ta6ed6.json +4 -2
  262. package/src/schemas/v3/pdtf-transaction.json +15 -18
  263. package/src/utils/extractExtensionOverlays.js +10 -1
@@ -0,0 +1,299 @@
1
+ # PDTF Schema Overlays
2
+
3
+ This directory contains overlay schemas that extend the base PDTF transaction schema with form-specific properties and requirements. Overlays use a merging system that allows flexible composition of schema features.
4
+
5
+ ## Overview
6
+
7
+ The PDTF schema system uses a base transaction schema (`pdtf-transaction.json`) combined with overlays to create form-specific schemas. Each overlay contains:
8
+
9
+ - Form-specific references (e.g., `ntsRef`, `baspiRef`)
10
+ - Additional required fields
11
+ - Form-specific titles and descriptions
12
+ - Enhanced validation rules
13
+
14
+ ## Main Form Overlays
15
+
16
+ ### Property Information Forms
17
+
18
+ | Overlay | Description | Form Version | Key Features |
19
+ |---------|-------------|--------------|--------------|
20
+ | `baspi4.json` | Buyers and Sellers Property Information | v4.0 | Core property transaction data |
21
+ | `baspi5.json` | Buyers and Sellers Property Information | v5.0 | Enhanced BASPI with additional fields |
22
+ | `nts.json` | National Trading Standards | 2023 | Consumer protection requirements |
23
+ | `nts2.json` | National Trading Standards | 2025 | Extended NTS with specialist issues |
24
+ | `ntsl.json` | National Trading Standards (Leasehold) | 2023 | Leasehold-specific NTS requirements |
25
+ | `ntsl2.json` | National Trading Standards (Leasehold) | 2025 | Enhanced leasehold NTS |
26
+ | `piq.json` | Property Information Questionnaire | v3 | Estate agent property information |
27
+
28
+ ### Legal Forms
29
+
30
+ | Overlay | Description | Form Version | Key Features |
31
+ |---------|-------------|--------------|--------------|
32
+ | `ta6.json` | Property Information Form | Edition 4 | Law Society standard form |
33
+ | `ta7.json` | Leasehold Information Form | Edition 3 | Leasehold-specific legal requirements |
34
+ | `ta10.json` | Fittings and Contents Form | Edition 3 | Fixtures and fittings information |
35
+
36
+ ### Search and Survey Forms
37
+
38
+ | Overlay | Description | Form Version | Key Features |
39
+ |---------|-------------|--------------|--------------|
40
+ | `con29R.json` | Local Authority Search | 2019 | Standard local authority enquiries |
41
+ | `con29DW.json` | Drainage and Water Search | Current | Water authority enquiries |
42
+ | `lpe1.json` | Leasehold Property Enquiries | Edition 4 | Additional leasehold enquiries |
43
+ | `fme1.json` | Freehold Management Enquiries | Edition 2 | Managed freehold enquiries |
44
+ | `llc1.json` | Local Land Charges Search | v2 | Local land charges register |
45
+ | `oc1.json` | Optional Enquiries of Local Authority | v21 | Additional local authority enquiries |
46
+
47
+ ### Specialist Forms
48
+
49
+ | Overlay | Description | Key Features |
50
+ |---------|-------------|--------------|
51
+ | `rds.json` | Residential Development Survey | Property development information |
52
+ | `sr24.json` | Sustainability Report | Environmental sustainability data |
53
+
54
+ ## Extension Overlays
55
+
56
+ The `extensions/` directory contains modular overlays that add specific NTS2 features to the NTS base. These allow selective adoption of NTS2 enhancements without requiring the full NTS2 overlay.
57
+
58
+ ### Specialist Issues Extensions
59
+
60
+ | Extension | String Key | Description | Reference | Usage |
61
+ |-----------|------------|-------------|-----------|-------|
62
+ | `as.json` | `"as"` | Asbestos | A5.2 | Asbestos presence and management |
63
+ | `dr.json` | `"dr"` | Dry Rot Treatment | A5.1 | Dry rot and timber treatment |
64
+ | `jk.json` | `"jk"` | Japanese Knotweed | A5.3 | Japanese knotweed presence and management |
65
+ | `sb.json` | `"sb"` | Subsidence | A5.4 | Subsidence or structural faults |
66
+ | `hs.json` | `"hs"` | Health & Safety | A5.5 | Ongoing health or safety issues |
67
+
68
+ ### Property Features Extensions
69
+
70
+ | Extension | String Key | Description | Reference | Usage |
71
+ |-----------|------------|-------------|-----------|-------|
72
+ | `oa.json` | `"oa"` | Outside Areas | - | Garden, balcony, communal areas |
73
+ | `la.json` | `"la"` | Loft Access | A4.1 | Loft access, boarding, insulation |
74
+ | `sf.json` | `"sf"` | Spray Foam Insulation | A4.2 | Spray foam insulation details |
75
+ | `mc.json` | `"mc"` | Main Construction | - | Standard construction type |
76
+
77
+ ### Ownership & Financial Extensions
78
+
79
+ | Extension | String Key | Description | Reference | Usage |
80
+ |-----------|------------|-------------|-----------|-------|
81
+ | `er.json` | `"er"` | Estate Rentcharges | A3.2 | Freehold estate rentcharges |
82
+ | `ma.json` | `"ma"` | Managing Agent | A1.5.4 | Leasehold managing agent details |
83
+ | `tf.json` | `"tf"` | Transfer Fees | A3.5.1.1 | Additional leasehold fees |
84
+
85
+ ### Utilities & Services Extensions
86
+
87
+ | Extension | String Key | Description | Reference | Usage |
88
+ |-----------|------------|-------------|-----------|-------|
89
+ | `sl.json` | `"sl"` | Solar Panels Ownership | B3.7.1 | Solar panel ownership details |
90
+ | `hi.json` | `"hi"` | Heating Installation | B3.4.3.2 | Central heating installation date |
91
+ | `fd.json` | `"fd"` | Flood Defences | - | Flood defence information |
92
+
93
+ ### Transaction Extensions
94
+
95
+ | Extension | String Key | Description | Reference | Usage |
96
+ |-----------|------------|-------------|-----------|-------|
97
+ | `oc.json` | `"oc"` | Other Property Chain | - | Chain dependency information |
98
+
99
+ ## Usage Examples
100
+
101
+ ### Basic Form Overlay
102
+
103
+ ```javascript
104
+ const { getTransactionSchema } = require('@pdtf/schemas');
105
+
106
+ // Get schema with single overlay
107
+ const schema = getTransactionSchema(
108
+ "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
109
+ ["nts"]
110
+ );
111
+ ```
112
+
113
+ ### Multiple Overlays
114
+
115
+ ```javascript
116
+ // Combine multiple form overlays
117
+ const schema = getTransactionSchema(
118
+ "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
119
+ ["baspi5", "ta6", "con29R"]
120
+ );
121
+ ```
122
+
123
+ ### Extension Overlays
124
+
125
+ ```javascript
126
+ // Using string keys (recommended)
127
+ const schema = getTransactionSchema(
128
+ "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
129
+ ["nts2023", "jk", "tf"]
130
+ );
131
+
132
+ // Or load extension overlays directly
133
+ const jkExtension = require('./overlays/extensions/jk.json');
134
+ const tfExtension = require('./overlays/extensions/tf.json');
135
+
136
+ const schema = getTransactionSchema(
137
+ "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
138
+ ["nts2023", jkExtension, tfExtension]
139
+ );
140
+
141
+ // Or access via extensionOverlays object
142
+ const { extensionOverlays } = require('@pdtf/schemas');
143
+ const schema = getTransactionSchema(
144
+ "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
145
+ ["nts2023", extensionOverlays.jk, extensionOverlays.tf]
146
+ );
147
+ ```
148
+
149
+ ### Custom Overlay Objects
150
+
151
+ ```javascript
152
+ // Define custom overlay inline
153
+ const customOverlay = {
154
+ properties: {
155
+ propertyPack: {
156
+ properties: {
157
+ customField: {
158
+ ntsRef: "CUSTOM.1",
159
+ type: "string",
160
+ title: "Custom Field"
161
+ }
162
+ }
163
+ }
164
+ }
165
+ };
166
+
167
+ const schema = getTransactionSchema(
168
+ "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
169
+ ["nts", customOverlay]
170
+ );
171
+ ```
172
+
173
+ ## Overlay Structure
174
+
175
+ All overlays follow this structure:
176
+
177
+ ```json
178
+ {
179
+ "$schema": "http://json-schema.org/draft-07/schema#",
180
+ "$id": "https://trust.propdata.org.uk/schemas/v3/overlays/{overlay-name}.json",
181
+ "properties": {
182
+ "propertyPack": {
183
+ "{formRef}": "reference-code",
184
+ "required": ["field1", "field2"],
185
+ "properties": {
186
+ "field1": {
187
+ "{formRef}": "reference-code.1",
188
+ "type": "string",
189
+ "title": "Field Title"
190
+ }
191
+ }
192
+ }
193
+ }
194
+ }
195
+ ```
196
+
197
+ ### Reference Attributes
198
+
199
+ Each overlay uses form-specific reference attributes:
200
+
201
+ - `ntsRef` / `nts2Ref` - National Trading Standards references
202
+ - `baspi4Ref` / `baspi5Ref` - BASPI form references
203
+ - `ta6Ref` / `ta7Ref` / `ta10Ref` - Law Society form references
204
+ - `lpe1Ref` / `fme1Ref` - Property enquiry references
205
+ - `con29RRef` / `con29DWRef` - Search form references
206
+ - `rdsRef` - Residential Development Survey references
207
+ - `piqRef` - Property Information Questionnaire references
208
+
209
+ ### Discriminator Support
210
+
211
+ Overlays support conditional schemas using discriminators:
212
+
213
+ ```json
214
+ {
215
+ "yesNoField": {
216
+ "discriminator": {
217
+ "propertyName": "yesNo"
218
+ },
219
+ "oneOf": [
220
+ {
221
+ "properties": {
222
+ "yesNo": { "enum": ["Yes"] },
223
+ "details": { "type": "string" }
224
+ },
225
+ "required": ["details"]
226
+ }
227
+ ]
228
+ }
229
+ }
230
+ ```
231
+
232
+ ## Validation
233
+
234
+ Use the validation functions to check data against overlay schemas:
235
+
236
+ ```javascript
237
+ const { getValidator, validateVerifiedClaims } = require('@pdtf/schemas');
238
+
239
+ // Get validator for specific overlay combination
240
+ const validator = getValidator(
241
+ "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
242
+ ["nts", "baspi5"]
243
+ );
244
+
245
+ // Validate data
246
+ const isValid = validator(data);
247
+ if (!isValid) {
248
+ console.log(validator.errors);
249
+ }
250
+
251
+ // Validate verified claims
252
+ const errors = validateVerifiedClaims(
253
+ verifiedClaimsData,
254
+ "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
255
+ ["nts"]
256
+ );
257
+ ```
258
+
259
+ ## Best Practices
260
+
261
+ 1. **Choose appropriate overlays** for your use case - don't include unnecessary forms
262
+ 2. **Test overlay combinations** thoroughly as some may conflict
263
+ 3. **Use extension overlays** for selective NTS2 adoption
264
+ 4. **Validate your data** against the merged schema
265
+ 5. **Keep overlay order consistent** for predictable results
266
+ 6. **Cache merged schemas** in production for performance
267
+
268
+ ## Schema Evolution
269
+
270
+ When overlays are updated:
271
+
272
+ - **Patch versions** (3.4.x) - Bug fixes, no breaking changes
273
+ - **Minor versions** (3.x.0) - New fields, backward compatible
274
+ - **Major versions** (x.0.0) - Breaking changes, migration required
275
+
276
+ Always test your integration when updating overlay versions.
277
+
278
+ ## Testing
279
+
280
+ Extension overlays are thoroughly tested to ensure:
281
+
282
+ - **String key compatibility** - All extensions work with simple string keys
283
+ - **Merging behavior** - Overlays merge correctly with base schemas
284
+ - **NTS2 equivalence** - Combined extensions produce equivalent results to NTS2
285
+ - **Individual functionality** - Each extension adds the expected properties
286
+ - **Schema validation** - All generated schemas are valid and functional
287
+
288
+ Run tests with:
289
+ ```bash
290
+ npm test -- --testPathPattern=extensionOverlays
291
+ ```
292
+
293
+ ## Support
294
+
295
+ For questions about overlays:
296
+
297
+ - Check the [main repository documentation](../../../README.md)
298
+ - Review [example files](../../examples/) for usage patterns
299
+ - Submit issues to the [GitHub repository](https://github.com/Property-Data-Trust-Framework/schemas)