@vepler/sdk 2.50.3 → 2.57.3

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 (287) hide show
  1. package/README.md +249 -246
  2. package/dist/commonjs/funcs/epcQueryEPC.d.ts +18 -0
  3. package/dist/commonjs/funcs/epcQueryEPC.d.ts.map +1 -0
  4. package/dist/commonjs/funcs/epcQueryEPC.js +118 -0
  5. package/dist/commonjs/funcs/epcQueryEPC.js.map +1 -0
  6. package/dist/commonjs/lib/config.d.ts +3 -3
  7. package/dist/commonjs/lib/config.js +3 -3
  8. package/dist/commonjs/lib/config.js.map +1 -1
  9. package/dist/commonjs/lib/security.d.ts +1 -1
  10. package/dist/commonjs/lib/security.d.ts.map +1 -1
  11. package/dist/commonjs/lib/security.js +19 -8
  12. package/dist/commonjs/lib/security.js.map +1 -1
  13. package/dist/commonjs/sdk/epc.d.ts +8 -0
  14. package/dist/commonjs/sdk/epc.d.ts.map +1 -1
  15. package/dist/commonjs/sdk/epc.js +10 -0
  16. package/dist/commonjs/sdk/epc.js.map +1 -1
  17. package/dist/commonjs/sdk/models/errors/index.d.ts +1 -0
  18. package/dist/commonjs/sdk/models/errors/index.d.ts.map +1 -1
  19. package/dist/commonjs/sdk/models/errors/index.js +1 -0
  20. package/dist/commonjs/sdk/models/errors/index.js.map +1 -1
  21. package/dist/commonjs/sdk/models/errors/queryepc.d.ts +71 -0
  22. package/dist/commonjs/sdk/models/errors/queryepc.d.ts.map +1 -0
  23. package/dist/commonjs/sdk/models/errors/queryepc.js +101 -0
  24. package/dist/commonjs/sdk/models/errors/queryepc.js.map +1 -0
  25. package/dist/commonjs/sdk/models/shared/epcareafilter.d.ts +12 -0
  26. package/dist/commonjs/sdk/models/shared/epcareafilter.d.ts.map +1 -0
  27. package/dist/commonjs/sdk/models/shared/epcareafilter.js +56 -0
  28. package/dist/commonjs/sdk/models/shared/epcareafilter.js.map +1 -0
  29. package/dist/commonjs/sdk/models/shared/epcdata.d.ts +4 -4
  30. package/dist/commonjs/sdk/models/shared/epcdata.d.ts.map +1 -1
  31. package/dist/commonjs/sdk/models/shared/epcdata.js +5 -5
  32. package/dist/commonjs/sdk/models/shared/epcdata.js.map +1 -1
  33. package/dist/commonjs/sdk/models/shared/epclocalauthorityareafilter.d.ts +17 -0
  34. package/dist/commonjs/sdk/models/shared/epclocalauthorityareafilter.d.ts.map +1 -0
  35. package/dist/commonjs/sdk/models/shared/{sitescores.js → epclocalauthorityareafilter.js} +8 -10
  36. package/dist/commonjs/sdk/models/shared/epclocalauthorityareafilter.js.map +1 -0
  37. package/dist/commonjs/sdk/models/shared/epcpointareafilter.d.ts +22 -0
  38. package/dist/commonjs/sdk/models/shared/epcpointareafilter.d.ts.map +1 -0
  39. package/dist/commonjs/sdk/models/shared/epcpointareafilter.js +51 -0
  40. package/dist/commonjs/sdk/models/shared/epcpointareafilter.js.map +1 -0
  41. package/dist/commonjs/sdk/models/shared/epcpolygonareafilter.d.ts +17 -0
  42. package/dist/commonjs/sdk/models/shared/epcpolygonareafilter.d.ts.map +1 -0
  43. package/dist/commonjs/sdk/models/shared/epcpolygonareafilter.js +50 -0
  44. package/dist/commonjs/sdk/models/shared/epcpolygonareafilter.js.map +1 -0
  45. package/dist/commonjs/sdk/models/shared/epcpostcodeareafilter.d.ts +17 -0
  46. package/dist/commonjs/sdk/models/shared/epcpostcodeareafilter.d.ts.map +1 -0
  47. package/dist/commonjs/sdk/models/shared/epcpostcodeareafilter.js +50 -0
  48. package/dist/commonjs/sdk/models/shared/epcpostcodeareafilter.js.map +1 -0
  49. package/dist/commonjs/sdk/models/shared/epcquerycondition.d.ts +105 -0
  50. package/dist/commonjs/sdk/models/shared/epcquerycondition.d.ts.map +1 -0
  51. package/dist/commonjs/sdk/models/shared/epcquerycondition.js +130 -0
  52. package/dist/commonjs/sdk/models/shared/epcquerycondition.js.map +1 -0
  53. package/dist/commonjs/sdk/models/shared/epcquerygroup.d.ts +16 -0
  54. package/dist/commonjs/sdk/models/shared/epcquerygroup.d.ts.map +1 -0
  55. package/dist/commonjs/sdk/models/shared/epcquerygroup.js +50 -0
  56. package/dist/commonjs/sdk/models/shared/epcquerygroup.js.map +1 -0
  57. package/dist/commonjs/sdk/models/shared/epcqueryoperator.d.ts +35 -0
  58. package/dist/commonjs/sdk/models/shared/epcqueryoperator.d.ts.map +1 -0
  59. package/dist/commonjs/sdk/models/shared/epcqueryoperator.js +61 -0
  60. package/dist/commonjs/sdk/models/shared/epcqueryoperator.js.map +1 -0
  61. package/dist/commonjs/sdk/models/shared/epcqueryrequest.d.ts +52 -0
  62. package/dist/commonjs/sdk/models/shared/epcqueryrequest.d.ts.map +1 -0
  63. package/dist/commonjs/sdk/models/shared/epcqueryrequest.js +63 -0
  64. package/dist/commonjs/sdk/models/shared/epcqueryrequest.js.map +1 -0
  65. package/dist/commonjs/sdk/models/shared/epcqueryresponse.d.ts +2476 -0
  66. package/dist/commonjs/sdk/models/shared/epcqueryresponse.d.ts.map +1 -0
  67. package/dist/commonjs/sdk/models/shared/epcqueryresponse.js +1507 -0
  68. package/dist/commonjs/sdk/models/shared/epcqueryresponse.js.map +1 -0
  69. package/dist/commonjs/sdk/models/shared/epcsort.d.ts +51 -0
  70. package/dist/commonjs/sdk/models/shared/epcsort.d.ts.map +1 -0
  71. package/dist/commonjs/sdk/models/shared/epcsort.js +72 -0
  72. package/dist/commonjs/sdk/models/shared/epcsort.js.map +1 -0
  73. package/dist/commonjs/sdk/models/shared/index.d.ts +11 -1
  74. package/dist/commonjs/sdk/models/shared/index.d.ts.map +1 -1
  75. package/dist/commonjs/sdk/models/shared/index.js +11 -1
  76. package/dist/commonjs/sdk/models/shared/index.js.map +1 -1
  77. package/dist/commonjs/sdk/models/shared/marketstatus.d.ts +1 -1
  78. package/dist/commonjs/sdk/models/shared/marketstatus.d.ts.map +1 -1
  79. package/dist/commonjs/sdk/models/shared/marketstatus.js +1 -1
  80. package/dist/commonjs/sdk/models/shared/marketstatus.js.map +1 -1
  81. package/dist/commonjs/sdk/models/shared/nearestpostcodesresponse.d.ts +8 -8
  82. package/dist/commonjs/sdk/models/shared/nearestpostcodesresponse.d.ts.map +1 -1
  83. package/dist/commonjs/sdk/models/shared/nearestpostcodesresponse.js +11 -11
  84. package/dist/commonjs/sdk/models/shared/nearestpostcodesresponse.js.map +1 -1
  85. package/dist/commonjs/sdk/models/shared/propertyaddress.d.ts +4 -4
  86. package/dist/commonjs/sdk/models/shared/propertyaddress.d.ts.map +1 -1
  87. package/dist/commonjs/sdk/models/shared/propertyaddress.js +4 -4
  88. package/dist/commonjs/sdk/models/shared/propertyaddress.js.map +1 -1
  89. package/dist/commonjs/sdk/models/shared/propertydataapi.d.ts +284 -0
  90. package/dist/commonjs/sdk/models/shared/propertydataapi.d.ts.map +1 -1
  91. package/dist/commonjs/sdk/models/shared/propertydataapi.js +138 -1
  92. package/dist/commonjs/sdk/models/shared/propertydataapi.js.map +1 -1
  93. package/dist/commonjs/sdk/models/shared/propertyquerycondition.d.ts +8 -8
  94. package/dist/commonjs/sdk/models/shared/propertyquerycondition.d.ts.map +1 -1
  95. package/dist/commonjs/sdk/models/shared/propertyquerycondition.js +8 -9
  96. package/dist/commonjs/sdk/models/shared/propertyquerycondition.js.map +1 -1
  97. package/dist/commonjs/sdk/models/shared/propertyqueryoperator.d.ts +4 -4
  98. package/dist/commonjs/sdk/models/shared/propertyqueryoperator.d.ts.map +1 -1
  99. package/dist/commonjs/sdk/models/shared/propertyqueryoperator.js +4 -5
  100. package/dist/commonjs/sdk/models/shared/propertyqueryoperator.js.map +1 -1
  101. package/dist/commonjs/sdk/models/shared/propertyqueryrequest.d.ts +4 -4
  102. package/dist/commonjs/sdk/models/shared/propertyqueryrequest.d.ts.map +1 -1
  103. package/dist/commonjs/sdk/models/shared/propertyqueryrequest.js +5 -5
  104. package/dist/commonjs/sdk/models/shared/propertyqueryrequest.js.map +1 -1
  105. package/dist/commonjs/sdk/models/shared/site.d.ts +86 -13
  106. package/dist/commonjs/sdk/models/shared/site.d.ts.map +1 -1
  107. package/dist/commonjs/sdk/models/shared/site.js +71 -8
  108. package/dist/commonjs/sdk/models/shared/site.js.map +1 -1
  109. package/dist/commonjs/sdk/models/shared/siteownership.d.ts +36 -4
  110. package/dist/commonjs/sdk/models/shared/siteownership.d.ts.map +1 -1
  111. package/dist/commonjs/sdk/models/shared/siteownership.js +27 -3
  112. package/dist/commonjs/sdk/models/shared/siteownership.js.map +1 -1
  113. package/dist/commonjs/sdk/models/shared/sitequerycondition.d.ts +4 -9
  114. package/dist/commonjs/sdk/models/shared/sitequerycondition.d.ts.map +1 -1
  115. package/dist/commonjs/sdk/models/shared/sitequerycondition.js +4 -9
  116. package/dist/commonjs/sdk/models/shared/sitequerycondition.js.map +1 -1
  117. package/dist/commonjs/sdk/models/shared/sitequeryrequest.d.ts +0 -3
  118. package/dist/commonjs/sdk/models/shared/sitequeryrequest.d.ts.map +1 -1
  119. package/dist/commonjs/sdk/models/shared/sitequeryrequest.js +0 -3
  120. package/dist/commonjs/sdk/models/shared/sitequeryrequest.js.map +1 -1
  121. package/dist/commonjs/sdk/models/shared/sitetags.d.ts +1 -9
  122. package/dist/commonjs/sdk/models/shared/sitetags.d.ts.map +1 -1
  123. package/dist/commonjs/sdk/models/shared/sitetags.js +0 -2
  124. package/dist/commonjs/sdk/models/shared/sitetags.js.map +1 -1
  125. package/dist/esm/funcs/epcQueryEPC.d.ts +18 -0
  126. package/dist/esm/funcs/epcQueryEPC.d.ts.map +1 -0
  127. package/dist/esm/funcs/epcQueryEPC.js +82 -0
  128. package/dist/esm/funcs/epcQueryEPC.js.map +1 -0
  129. package/dist/esm/lib/config.d.ts +3 -3
  130. package/dist/esm/lib/config.js +3 -3
  131. package/dist/esm/lib/config.js.map +1 -1
  132. package/dist/esm/lib/security.d.ts +1 -1
  133. package/dist/esm/lib/security.d.ts.map +1 -1
  134. package/dist/esm/lib/security.js +19 -8
  135. package/dist/esm/lib/security.js.map +1 -1
  136. package/dist/esm/sdk/epc.d.ts +8 -0
  137. package/dist/esm/sdk/epc.d.ts.map +1 -1
  138. package/dist/esm/sdk/epc.js +10 -0
  139. package/dist/esm/sdk/epc.js.map +1 -1
  140. package/dist/esm/sdk/models/errors/index.d.ts +1 -0
  141. package/dist/esm/sdk/models/errors/index.d.ts.map +1 -1
  142. package/dist/esm/sdk/models/errors/index.js +1 -0
  143. package/dist/esm/sdk/models/errors/index.js.map +1 -1
  144. package/dist/esm/sdk/models/errors/queryepc.d.ts +71 -0
  145. package/dist/esm/sdk/models/errors/queryepc.d.ts.map +1 -0
  146. package/dist/esm/sdk/models/errors/queryepc.js +63 -0
  147. package/dist/esm/sdk/models/errors/queryepc.js.map +1 -0
  148. package/dist/esm/sdk/models/shared/epcareafilter.d.ts +12 -0
  149. package/dist/esm/sdk/models/shared/epcareafilter.d.ts.map +1 -0
  150. package/dist/esm/sdk/models/shared/epcareafilter.js +19 -0
  151. package/dist/esm/sdk/models/shared/epcareafilter.js.map +1 -0
  152. package/dist/esm/sdk/models/shared/epcdata.d.ts +4 -4
  153. package/dist/esm/sdk/models/shared/epcdata.d.ts.map +1 -1
  154. package/dist/esm/sdk/models/shared/epcdata.js +3 -3
  155. package/dist/esm/sdk/models/shared/epcdata.js.map +1 -1
  156. package/dist/esm/sdk/models/shared/epclocalauthorityareafilter.d.ts +17 -0
  157. package/dist/esm/sdk/models/shared/epclocalauthorityareafilter.d.ts.map +1 -0
  158. package/dist/esm/sdk/models/shared/epclocalauthorityareafilter.js +13 -0
  159. package/dist/esm/sdk/models/shared/epclocalauthorityareafilter.js.map +1 -0
  160. package/dist/esm/sdk/models/shared/epcpointareafilter.d.ts +22 -0
  161. package/dist/esm/sdk/models/shared/epcpointareafilter.d.ts.map +1 -0
  162. package/dist/esm/sdk/models/shared/epcpointareafilter.js +14 -0
  163. package/dist/esm/sdk/models/shared/epcpointareafilter.js.map +1 -0
  164. package/dist/esm/sdk/models/shared/epcpolygonareafilter.d.ts +17 -0
  165. package/dist/esm/sdk/models/shared/epcpolygonareafilter.d.ts.map +1 -0
  166. package/dist/esm/sdk/models/shared/epcpolygonareafilter.js +13 -0
  167. package/dist/esm/sdk/models/shared/epcpolygonareafilter.js.map +1 -0
  168. package/dist/esm/sdk/models/shared/epcpostcodeareafilter.d.ts +17 -0
  169. package/dist/esm/sdk/models/shared/epcpostcodeareafilter.d.ts.map +1 -0
  170. package/dist/esm/sdk/models/shared/epcpostcodeareafilter.js +13 -0
  171. package/dist/esm/sdk/models/shared/epcpostcodeareafilter.js.map +1 -0
  172. package/dist/esm/sdk/models/shared/epcquerycondition.d.ts +105 -0
  173. package/dist/esm/sdk/models/shared/epcquerycondition.d.ts.map +1 -0
  174. package/dist/esm/sdk/models/shared/epcquerycondition.js +91 -0
  175. package/dist/esm/sdk/models/shared/epcquerycondition.js.map +1 -0
  176. package/dist/esm/sdk/models/shared/epcquerygroup.d.ts +16 -0
  177. package/dist/esm/sdk/models/shared/epcquerygroup.d.ts.map +1 -0
  178. package/dist/esm/sdk/models/shared/epcquerygroup.js +13 -0
  179. package/dist/esm/sdk/models/shared/epcquerygroup.js.map +1 -0
  180. package/dist/esm/sdk/models/shared/epcqueryoperator.d.ts +35 -0
  181. package/dist/esm/sdk/models/shared/epcqueryoperator.d.ts.map +1 -0
  182. package/dist/esm/sdk/models/shared/epcqueryoperator.js +24 -0
  183. package/dist/esm/sdk/models/shared/epcqueryoperator.js.map +1 -0
  184. package/dist/esm/sdk/models/shared/epcqueryrequest.d.ts +52 -0
  185. package/dist/esm/sdk/models/shared/epcqueryrequest.d.ts.map +1 -0
  186. package/dist/esm/sdk/models/shared/epcqueryrequest.js +25 -0
  187. package/dist/esm/sdk/models/shared/epcqueryrequest.js.map +1 -0
  188. package/dist/esm/sdk/models/shared/epcqueryresponse.d.ts +2476 -0
  189. package/dist/esm/sdk/models/shared/epcqueryresponse.d.ts.map +1 -0
  190. package/dist/esm/sdk/models/shared/epcqueryresponse.js +1428 -0
  191. package/dist/esm/sdk/models/shared/epcqueryresponse.js.map +1 -0
  192. package/dist/esm/sdk/models/shared/epcsort.d.ts +51 -0
  193. package/dist/esm/sdk/models/shared/epcsort.d.ts.map +1 -0
  194. package/dist/esm/sdk/models/shared/epcsort.js +35 -0
  195. package/dist/esm/sdk/models/shared/epcsort.js.map +1 -0
  196. package/dist/esm/sdk/models/shared/index.d.ts +11 -1
  197. package/dist/esm/sdk/models/shared/index.d.ts.map +1 -1
  198. package/dist/esm/sdk/models/shared/index.js +11 -1
  199. package/dist/esm/sdk/models/shared/index.js.map +1 -1
  200. package/dist/esm/sdk/models/shared/marketstatus.d.ts +1 -1
  201. package/dist/esm/sdk/models/shared/marketstatus.d.ts.map +1 -1
  202. package/dist/esm/sdk/models/shared/marketstatus.js +1 -1
  203. package/dist/esm/sdk/models/shared/marketstatus.js.map +1 -1
  204. package/dist/esm/sdk/models/shared/nearestpostcodesresponse.d.ts +8 -8
  205. package/dist/esm/sdk/models/shared/nearestpostcodesresponse.d.ts.map +1 -1
  206. package/dist/esm/sdk/models/shared/nearestpostcodesresponse.js +8 -8
  207. package/dist/esm/sdk/models/shared/nearestpostcodesresponse.js.map +1 -1
  208. package/dist/esm/sdk/models/shared/propertyaddress.d.ts +4 -4
  209. package/dist/esm/sdk/models/shared/propertyaddress.d.ts.map +1 -1
  210. package/dist/esm/sdk/models/shared/propertyaddress.js +4 -4
  211. package/dist/esm/sdk/models/shared/propertyaddress.js.map +1 -1
  212. package/dist/esm/sdk/models/shared/propertydataapi.d.ts +284 -0
  213. package/dist/esm/sdk/models/shared/propertydataapi.d.ts.map +1 -1
  214. package/dist/esm/sdk/models/shared/propertydataapi.js +130 -0
  215. package/dist/esm/sdk/models/shared/propertydataapi.js.map +1 -1
  216. package/dist/esm/sdk/models/shared/propertyquerycondition.d.ts +8 -8
  217. package/dist/esm/sdk/models/shared/propertyquerycondition.d.ts.map +1 -1
  218. package/dist/esm/sdk/models/shared/propertyquerycondition.js +6 -7
  219. package/dist/esm/sdk/models/shared/propertyquerycondition.js.map +1 -1
  220. package/dist/esm/sdk/models/shared/propertyqueryoperator.d.ts +4 -4
  221. package/dist/esm/sdk/models/shared/propertyqueryoperator.d.ts.map +1 -1
  222. package/dist/esm/sdk/models/shared/propertyqueryoperator.js +3 -4
  223. package/dist/esm/sdk/models/shared/propertyqueryoperator.js.map +1 -1
  224. package/dist/esm/sdk/models/shared/propertyqueryrequest.d.ts +4 -4
  225. package/dist/esm/sdk/models/shared/propertyqueryrequest.d.ts.map +1 -1
  226. package/dist/esm/sdk/models/shared/propertyqueryrequest.js +3 -3
  227. package/dist/esm/sdk/models/shared/propertyqueryrequest.js.map +1 -1
  228. package/dist/esm/sdk/models/shared/site.d.ts +86 -13
  229. package/dist/esm/sdk/models/shared/site.d.ts.map +1 -1
  230. package/dist/esm/sdk/models/shared/site.js +70 -7
  231. package/dist/esm/sdk/models/shared/site.js.map +1 -1
  232. package/dist/esm/sdk/models/shared/siteownership.d.ts +36 -4
  233. package/dist/esm/sdk/models/shared/siteownership.d.ts.map +1 -1
  234. package/dist/esm/sdk/models/shared/siteownership.js +26 -2
  235. package/dist/esm/sdk/models/shared/siteownership.js.map +1 -1
  236. package/dist/esm/sdk/models/shared/sitequerycondition.d.ts +4 -9
  237. package/dist/esm/sdk/models/shared/sitequerycondition.d.ts.map +1 -1
  238. package/dist/esm/sdk/models/shared/sitequerycondition.js +3 -8
  239. package/dist/esm/sdk/models/shared/sitequerycondition.js.map +1 -1
  240. package/dist/esm/sdk/models/shared/sitequeryrequest.d.ts +0 -3
  241. package/dist/esm/sdk/models/shared/sitequeryrequest.d.ts.map +1 -1
  242. package/dist/esm/sdk/models/shared/sitequeryrequest.js +0 -3
  243. package/dist/esm/sdk/models/shared/sitequeryrequest.js.map +1 -1
  244. package/dist/esm/sdk/models/shared/sitetags.d.ts +1 -9
  245. package/dist/esm/sdk/models/shared/sitetags.d.ts.map +1 -1
  246. package/dist/esm/sdk/models/shared/sitetags.js +0 -2
  247. package/dist/esm/sdk/models/shared/sitetags.js.map +1 -1
  248. package/package.json +1 -1
  249. package/src/funcs/epcQueryEPC.ts +169 -0
  250. package/src/lib/config.ts +3 -3
  251. package/src/lib/security.ts +14 -2
  252. package/src/sdk/epc.ts +19 -0
  253. package/src/sdk/models/errors/index.ts +1 -0
  254. package/src/sdk/models/errors/queryepc.ts +137 -0
  255. package/src/sdk/models/shared/epcareafilter.ts +54 -0
  256. package/src/sdk/models/shared/epcdata.ts +7 -7
  257. package/src/sdk/models/shared/epclocalauthorityareafilter.ts +39 -0
  258. package/src/sdk/models/shared/epcpointareafilter.ts +43 -0
  259. package/src/sdk/models/shared/epcpolygonareafilter.ts +37 -0
  260. package/src/sdk/models/shared/epcpostcodeareafilter.ts +37 -0
  261. package/src/sdk/models/shared/epcquerycondition.ts +169 -0
  262. package/src/sdk/models/shared/epcquerygroup.ts +35 -0
  263. package/src/sdk/models/shared/epcqueryoperator.ts +62 -0
  264. package/src/sdk/models/shared/epcqueryrequest.ts +96 -0
  265. package/src/sdk/models/shared/epcqueryresponse.ts +4009 -0
  266. package/src/sdk/models/shared/epcsort.ts +73 -0
  267. package/src/sdk/models/shared/index.ts +11 -1
  268. package/src/sdk/models/shared/marketstatus.ts +2 -2
  269. package/src/sdk/models/shared/nearestpostcodesresponse.ts +32 -24
  270. package/src/sdk/models/shared/propertyaddress.ts +8 -8
  271. package/src/sdk/models/shared/propertydataapi.ts +454 -0
  272. package/src/sdk/models/shared/propertyquerycondition.ts +22 -13
  273. package/src/sdk/models/shared/propertyqueryoperator.ts +9 -6
  274. package/src/sdk/models/shared/propertyqueryrequest.ts +13 -7
  275. package/src/sdk/models/shared/site.ts +112 -19
  276. package/src/sdk/models/shared/siteownership.ts +51 -6
  277. package/src/sdk/models/shared/sitequerycondition.ts +9 -12
  278. package/src/sdk/models/shared/sitequeryrequest.ts +0 -3
  279. package/src/sdk/models/shared/sitetags.ts +1 -11
  280. package/dist/commonjs/sdk/models/shared/sitescores.d.ts +0 -24
  281. package/dist/commonjs/sdk/models/shared/sitescores.d.ts.map +0 -1
  282. package/dist/commonjs/sdk/models/shared/sitescores.js.map +0 -1
  283. package/dist/esm/sdk/models/shared/sitescores.d.ts +0 -24
  284. package/dist/esm/sdk/models/shared/sitescores.d.ts.map +0 -1
  285. package/dist/esm/sdk/models/shared/sitescores.js +0 -15
  286. package/dist/esm/sdk/models/shared/sitescores.js.map +0 -1
  287. package/src/sdk/models/shared/sitescores.ts +0 -47
@@ -0,0 +1,4009 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../../lib/primitives.js";
7
+ import { safeParse } from "../../../lib/schemas.js";
8
+ import * as openEnums from "../../types/enums.js";
9
+ import { ClosedEnum, OpenEnum } from "../../types/enums.js";
10
+ import { Result as SafeParseResult } from "../../types/fp.js";
11
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
12
+
13
+ /**
14
+ * Standardised address.
15
+ */
16
+ export type EPCQueryResponseAddress = {
17
+ /**
18
+ * Formatted display address.
19
+ */
20
+ displayAddress: string;
21
+ /**
22
+ * Address line 1.
23
+ */
24
+ line1: string | null;
25
+ /**
26
+ * Address line 2.
27
+ */
28
+ line2: string | null;
29
+ /**
30
+ * Address line 3 / post town.
31
+ */
32
+ line3: string | null;
33
+ /**
34
+ * Post town.
35
+ */
36
+ postTown: string | null;
37
+ /**
38
+ * UK postcode.
39
+ */
40
+ postcode: string;
41
+ /**
42
+ * Postcode with spaces removed, for matching.
43
+ */
44
+ postcodeNoSpace: string;
45
+ };
46
+
47
+ /**
48
+ * Assessment methodology: rdsap (existing domestic), sap (new domestic), sbem (non-domestic), dsm (complex non-domestic), operational (DEC).
49
+ */
50
+ export const AssessmentMethodology = {
51
+ Rdsap: "rdsap",
52
+ Sap: "sap",
53
+ Sbem: "sbem",
54
+ Dsm: "dsm",
55
+ Operational: "operational",
56
+ } as const;
57
+ /**
58
+ * Assessment methodology: rdsap (existing domestic), sap (new domestic), sbem (non-domestic), dsm (complex non-domestic), operational (DEC).
59
+ */
60
+ export type AssessmentMethodology = OpenEnum<typeof AssessmentMethodology>;
61
+
62
+ /**
63
+ * Primary servicing strategy for CO2 emissions calculation.
64
+ */
65
+ export const BuildingEnvironment = {
66
+ HeatingAndNaturalVentilation: "heating_and_natural_ventilation",
67
+ HeatingAndMechanicalVentilation: "heating_and_mechanical_ventilation",
68
+ AirConditioning: "air_conditioning",
69
+ MixedModeNatural: "mixed_mode_natural",
70
+ MixedModeMechanical: "mixed_mode_mechanical",
71
+ Unconditioned: "unconditioned",
72
+ } as const;
73
+ /**
74
+ * Primary servicing strategy for CO2 emissions calculation.
75
+ */
76
+ export type BuildingEnvironment = OpenEnum<typeof BuildingEnvironment>;
77
+
78
+ /**
79
+ * New build benchmark band. Scotland only.
80
+ */
81
+ export const NewBuildBand = {
82
+ APlus: "A+",
83
+ A: "A",
84
+ BPlus: "B+",
85
+ B: "B",
86
+ CPlus: "C+",
87
+ C: "C",
88
+ DPlus: "D+",
89
+ D: "D",
90
+ EPlus: "E+",
91
+ E: "E",
92
+ FPlus: "F+",
93
+ F: "F",
94
+ G: "G",
95
+ } as const;
96
+ /**
97
+ * New build benchmark band. Scotland only.
98
+ */
99
+ export type NewBuildBand = OpenEnum<typeof NewBuildBand>;
100
+
101
+ /**
102
+ * Non-domestic benchmarks and building classification. Null for domestic.
103
+ */
104
+ export type Benchmarks = {
105
+ /**
106
+ * Total energy use minus on-site generation (kWh/m²/year). Scotland only.
107
+ */
108
+ approximateEnergyUse: number | null;
109
+ /**
110
+ * Building Emission Rate — actual annual CO2 output (kg CO2/m²/year).
111
+ */
112
+ buildingEmissions: number | null;
113
+ /**
114
+ * Primary servicing strategy for CO2 emissions calculation.
115
+ */
116
+ buildingEnvironment: BuildingEnvironment | null;
117
+ /**
118
+ * NOS assessor complexity classification. 3=simple (small, naturally ventilated), 4=medium (sophisticated HVAC), 5=complex (DSM required — airports, large shopping centres). E&W only.
119
+ */
120
+ buildingLevel: number | null;
121
+ /**
122
+ * Electricity source (grid vs other). Scotland only. In practice, 100% of records report 'Grid supplied'.
123
+ */
124
+ electricitySource: string | null;
125
+ /**
126
+ * Existing stock benchmark. E&W only (EXISTING_STOCK_BENCHMARK).
127
+ */
128
+ existingStock: string | null;
129
+ /**
130
+ * Whether the building meets 2002 Scottish Building Standards (Section 63). Scotland only.
131
+ */
132
+ meets2002Standard: boolean | null;
133
+ /**
134
+ * New build benchmark rating. E&W: text value from NEW_BUILD_BENCHMARK. Scotland: numeric kg CO2/m²/year from NEW_BUILD_ENERGY_PERFORMANCE_RATING.
135
+ */
136
+ newBuild: number | null;
137
+ /**
138
+ * New build benchmark band. Scotland only.
139
+ */
140
+ newBuildBand: NewBuildBand | null;
141
+ /**
142
+ * Standard Emission Rate — fixed improvement-adjusted baseline (kg CO2/m²/year). E&W only.
143
+ */
144
+ standardEmissions: number | null;
145
+ /**
146
+ * Target Emission Rate — Building Regs minimum requirement (kg CO2/m²/year).
147
+ */
148
+ targetEmissions: number | null;
149
+ /**
150
+ * Typical Emission Rate — industry comparison baseline (kg CO2/m²/year). E&W only.
151
+ */
152
+ typicalEmissions: number | null;
153
+ };
154
+
155
+ /**
156
+ * Certificate type: domestic, non_domestic, or dec.
157
+ */
158
+ export const EPCQueryResponseCertificateType = {
159
+ Domestic: "domestic",
160
+ NonDomestic: "non_domestic",
161
+ Dec: "dec",
162
+ } as const;
163
+ /**
164
+ * Certificate type: domestic, non_domestic, or dec.
165
+ */
166
+ export type EPCQueryResponseCertificateType = OpenEnum<
167
+ typeof EPCQueryResponseCertificateType
168
+ >;
169
+
170
+ /**
171
+ * Geographic coordinates. Derived from UPRN match or postcode centroid.
172
+ */
173
+ export type Coordinates = {
174
+ /**
175
+ * WGS84 latitude.
176
+ */
177
+ latitude: number;
178
+ /**
179
+ * WGS84 longitude.
180
+ */
181
+ longitude: number;
182
+ };
183
+
184
+ /**
185
+ * Built form: detached, semi_detached, mid_terrace, end_terrace, enclosed_mid_terrace, enclosed_end_terrace.
186
+ */
187
+ export const BuiltForm = {
188
+ Detached: "detached",
189
+ SemiDetached: "semi_detached",
190
+ MidTerrace: "mid_terrace",
191
+ EndTerrace: "end_terrace",
192
+ EnclosedMidTerrace: "enclosed_mid_terrace",
193
+ EnclosedEndTerrace: "enclosed_end_terrace",
194
+ } as const;
195
+ /**
196
+ * Built form: detached, semi_detached, mid_terrace, end_terrace, enclosed_mid_terrace, enclosed_end_terrace.
197
+ */
198
+ export type BuiltForm = OpenEnum<typeof BuiltForm>;
199
+
200
+ /**
201
+ * Structured construction age. Parsed from CONSTRUCTION_AGE_BAND text.
202
+ */
203
+ export type EPCQueryResponseConstructionAge = {
204
+ /**
205
+ * End year of construction period. Null for 'XXXX onwards' bands.
206
+ */
207
+ endYear: number | null;
208
+ /**
209
+ * Whether the construction date is an exact year (true) or a range (false).
210
+ */
211
+ isExact: boolean;
212
+ /**
213
+ * Midpoint year. Useful for approximate age calculations.
214
+ */
215
+ midYear: number | null;
216
+ /**
217
+ * Start year of construction period. Null for 'before XXXX' bands.
218
+ */
219
+ startYear: number | null;
220
+ };
221
+
222
+ /**
223
+ * Glazed area relative to typical property. Deprecated in RdSAP10 but persists in register from older assessments.
224
+ */
225
+ export const EPCQueryResponseArea = {
226
+ MuchLessThanTypical: "much_less_than_typical",
227
+ LessThanTypical: "less_than_typical",
228
+ Normal: "normal",
229
+ MoreThanTypical: "more_than_typical",
230
+ MuchMoreThanTypical: "much_more_than_typical",
231
+ } as const;
232
+ /**
233
+ * Glazed area relative to typical property. Deprecated in RdSAP10 but persists in register from older assessments.
234
+ */
235
+ export type EPCQueryResponseArea = OpenEnum<typeof EPCQueryResponseArea>;
236
+
237
+ /**
238
+ * Glazing specification.
239
+ */
240
+ export const EPCQueryResponseType = {
241
+ Single: "single",
242
+ DoublePre2002: "double_pre_2002",
243
+ DoublePost2002: "double_post_2002",
244
+ DoubleUnknown: "double_unknown",
245
+ Triple: "triple",
246
+ Secondary: "secondary",
247
+ SecondaryLowEmissivity: "secondary_low_emissivity",
248
+ NotDefined: "not_defined",
249
+ } as const;
250
+ /**
251
+ * Glazing specification.
252
+ */
253
+ export type EPCQueryResponseType = OpenEnum<typeof EPCQueryResponseType>;
254
+
255
+ /**
256
+ * Glazing details.
257
+ */
258
+ export type Glazing = {
259
+ /**
260
+ * Glazed area relative to typical property. Deprecated in RdSAP10 but persists in register from older assessments.
261
+ */
262
+ area: EPCQueryResponseArea | null;
263
+ /**
264
+ * Percentage of windows that are double/triple glazed.
265
+ */
266
+ proportion: number | null;
267
+ /**
268
+ * Glazing specification.
269
+ */
270
+ type: EPCQueryResponseType | null;
271
+ };
272
+
273
+ /**
274
+ * Tenure type: owner_occupied, rented_social, rented_private, unknown.
275
+ */
276
+ export const Tenure = {
277
+ OwnerOccupied: "owner_occupied",
278
+ RentedSocial: "rented_social",
279
+ RentedPrivate: "rented_private",
280
+ Unknown: "unknown",
281
+ } as const;
282
+ /**
283
+ * Tenure type: owner_occupied, rented_social, rented_private, unknown.
284
+ */
285
+ export type Tenure = OpenEnum<typeof Tenure>;
286
+
287
+ /**
288
+ * Domestic property details — construction, rooms, glazing, Scotland-specific fields. Null for non-domestic and DECs.
289
+ */
290
+ export type DomesticDetails = {
291
+ /**
292
+ * Built form: detached, semi_detached, mid_terrace, end_terrace, enclosed_mid_terrace, enclosed_end_terrace.
293
+ */
294
+ builtForm: BuiltForm | null;
295
+ /**
296
+ * Structured construction age. Parsed from CONSTRUCTION_AGE_BAND text.
297
+ */
298
+ constructionAge: EPCQueryResponseConstructionAge | null;
299
+ /**
300
+ * Raw construction age band text from source. E.g. 'England and Wales: 1930-1949' or 'before 1919'.
301
+ */
302
+ constructionAgeBandExternal: string | null;
303
+ /**
304
+ * Number of extensions.
305
+ */
306
+ extensionCount: number | null;
307
+ /**
308
+ * Total number of storeys in the flat's building.
309
+ */
310
+ flatStoreyCount: number | null;
311
+ /**
312
+ * Whether the flat occupies the top storey. Derived from FLAT_TOP_STOREY (Y→true, N→false).
313
+ */
314
+ flatTopStorey: boolean | null;
315
+ /**
316
+ * Average floor-to-ceiling height in metres.
317
+ */
318
+ floorHeight: number | null;
319
+ /**
320
+ * Floor level (for flats).
321
+ */
322
+ floorLevel: string | null;
323
+ /**
324
+ * Glazing details.
325
+ */
326
+ glazing: Glazing;
327
+ /**
328
+ * Count of habitable rooms.
329
+ */
330
+ habitableRooms: number | null;
331
+ /**
332
+ * Count of heated rooms.
333
+ */
334
+ heatedRooms: number | null;
335
+ /**
336
+ * Estimated SAP score impact of cavity wall insulation. Scotland only.
337
+ */
338
+ impactCavityWallInsulation: number | null;
339
+ /**
340
+ * Estimated SAP score impact of loft insulation. Scotland only.
341
+ */
342
+ impactLoftInsulation: number | null;
343
+ /**
344
+ * Estimated SAP score impact of solid wall insulation. Scotland only.
345
+ */
346
+ impactSolidWallInsulation: number | null;
347
+ /**
348
+ * Percentage of light fittings that are low-energy.
349
+ */
350
+ lowEnergyLighting: number | null;
351
+ /**
352
+ * Low/zero carbon energy sources description. Scotland only.
353
+ */
354
+ lzcEnergySources: string | null;
355
+ /**
356
+ * Count of open fireplaces.
357
+ */
358
+ openFireplaces: number | null;
359
+ /**
360
+ * Space heating demand in kWh/year. Scotland only.
361
+ */
362
+ spaceHeatingDemand: number | null;
363
+ /**
364
+ * Tenure type: owner_occupied, rented_social, rented_private, unknown.
365
+ */
366
+ tenure: Tenure | null;
367
+ /**
368
+ * Three-year energy cost at current efficiency (£). Scotland only.
369
+ */
370
+ threeYearEnergyCostCurrent: number | null;
371
+ /**
372
+ * Three-year potential energy saving (£). Scotland only.
373
+ */
374
+ threeYearEnergySavingPotential: number | null;
375
+ /**
376
+ * Water heating demand in kWh/year. Scotland only.
377
+ */
378
+ waterHeatingDemand: number | null;
379
+ };
380
+
381
+ /**
382
+ * Unit of co2Current measurement. Domestic: tonnes_per_year. Non-domestic/DEC: kg_co2_per_m2_per_year.
383
+ */
384
+ export const EPCQueryResponseCo2Unit = {
385
+ TonnesPerYear: "tonnes_per_year",
386
+ KgCo2PerM2PerYear: "kg_co2_per_m2_per_year",
387
+ } as const;
388
+ /**
389
+ * Unit of co2Current measurement. Domestic: tonnes_per_year. Non-domestic/DEC: kg_co2_per_m2_per_year.
390
+ */
391
+ export type EPCQueryResponseCo2Unit = OpenEnum<typeof EPCQueryResponseCo2Unit>;
392
+
393
+ /**
394
+ * Unit of energyConsumptionCurrent measurement.
395
+ */
396
+ export const EPCQueryResponseEnergyConsumptionUnit = {
397
+ KwhPerYear: "kwh_per_year",
398
+ KwhPerM2PerYear: "kwh_per_m2_per_year",
399
+ } as const;
400
+ /**
401
+ * Unit of energyConsumptionCurrent measurement.
402
+ */
403
+ export type EPCQueryResponseEnergyConsumptionUnit = OpenEnum<
404
+ typeof EPCQueryResponseEnergyConsumptionUnit
405
+ >;
406
+
407
+ /**
408
+ * Environmental impact, CO2 emissions, and energy consumption.
409
+ */
410
+ export type EPCQueryResponseEmissions = {
411
+ /**
412
+ * Current annual CO2 emissions. Domestic: tonnes/year. Non-domestic: kg CO2/m²/year (building emission rate). Check co2Unit for the measurement unit.
413
+ */
414
+ co2Current: number | null;
415
+ /**
416
+ * CO2 intensity per unit floor area (kg CO2/m²/year). Directly reported for domestic (CO2_EMISS_CURR_PER_FLOOR_AREA). For non-domestic, this equals BUILDING_EMISSIONS.
417
+ */
418
+ co2PerFloorArea: number | null;
419
+ /**
420
+ * Achievable CO2 emissions after improvements. Domestic only; null for non-domestic and DECs.
421
+ */
422
+ co2Potential: number | null;
423
+ /**
424
+ * Unit of co2Current measurement. Domestic: tonnes_per_year. Non-domestic/DEC: kg_co2_per_m2_per_year.
425
+ */
426
+ co2Unit: EPCQueryResponseCo2Unit;
427
+ /**
428
+ * Current annual energy consumption. Domestic: kWh/year. Non-domestic: kWh/m²/year (PRIMARY_ENERGY_VALUE). Check energyConsumptionUnit for measurement unit.
429
+ */
430
+ energyConsumptionCurrent: number | null;
431
+ /**
432
+ * Achievable energy consumption. Domestic only.
433
+ */
434
+ energyConsumptionPotential: number | null;
435
+ /**
436
+ * Unit of energyConsumptionCurrent measurement.
437
+ */
438
+ energyConsumptionUnit: EPCQueryResponseEnergyConsumptionUnit | null;
439
+ /**
440
+ * Environmental impact score (1-100, higher is better). Domestic only.
441
+ */
442
+ environmentalScoreCurrent: number | null;
443
+ /**
444
+ * Achievable environmental impact score. Domestic only.
445
+ */
446
+ environmentalScorePotential: number | null;
447
+ };
448
+
449
+ /**
450
+ * Energy efficiency rating.
451
+ */
452
+ export const EPCQueryResponseEnergyEfficiency = {
453
+ VeryGood: "very_good",
454
+ Good: "good",
455
+ Average: "average",
456
+ Poor: "poor",
457
+ VeryPoor: "very_poor",
458
+ } as const;
459
+ /**
460
+ * Energy efficiency rating.
461
+ */
462
+ export type EPCQueryResponseEnergyEfficiency = OpenEnum<
463
+ typeof EPCQueryResponseEnergyEfficiency
464
+ >;
465
+
466
+ /**
467
+ * Environmental efficiency rating.
468
+ */
469
+ export const EPCQueryResponseEnvironmentalEfficiency = {
470
+ VeryGood: "very_good",
471
+ Good: "good",
472
+ Average: "average",
473
+ Poor: "poor",
474
+ VeryPoor: "very_poor",
475
+ } as const;
476
+ /**
477
+ * Environmental efficiency rating.
478
+ */
479
+ export type EPCQueryResponseEnvironmentalEfficiency = OpenEnum<
480
+ typeof EPCQueryResponseEnvironmentalEfficiency
481
+ >;
482
+
483
+ /**
484
+ * Air tightness assessment. Scotland only; null for E&W.
485
+ */
486
+ export type EPCQueryResponseAirTightness = {
487
+ /**
488
+ * SAP description string from assessor.
489
+ */
490
+ description: string | null;
491
+ /**
492
+ * Energy efficiency rating.
493
+ */
494
+ energyEfficiency: EPCQueryResponseEnergyEfficiency | null;
495
+ /**
496
+ * Environmental efficiency rating.
497
+ */
498
+ environmentalEfficiency: EPCQueryResponseEnvironmentalEfficiency | null;
499
+ };
500
+
501
+ /**
502
+ * Non-null when source value was corrupted/incomplete.
503
+ */
504
+ export const EPCQueryResponseDataQuality = {
505
+ TruncatedThermalTransmittance: "truncated_thermal_transmittance",
506
+ QualityLabelOnly: "quality_label_only",
507
+ WelshLanguage: "welsh_language",
508
+ CorruptedEncoding: "corrupted_encoding",
509
+ SourceError: "source_error",
510
+ } as const;
511
+ /**
512
+ * Non-null when source value was corrupted/incomplete.
513
+ */
514
+ export type EPCQueryResponseDataQuality = OpenEnum<
515
+ typeof EPCQueryResponseDataQuality
516
+ >;
517
+
518
+ /**
519
+ * Energy efficiency rating.
520
+ */
521
+ export const EPCQueryResponseSchemasEnergyEfficiency = {
522
+ VeryGood: "very_good",
523
+ Good: "good",
524
+ Average: "average",
525
+ Poor: "poor",
526
+ VeryPoor: "very_poor",
527
+ } as const;
528
+ /**
529
+ * Energy efficiency rating.
530
+ */
531
+ export type EPCQueryResponseSchemasEnergyEfficiency = OpenEnum<
532
+ typeof EPCQueryResponseSchemasEnergyEfficiency
533
+ >;
534
+
535
+ /**
536
+ * Environmental efficiency rating.
537
+ */
538
+ export const EPCQueryResponseSchemasEnvironmentalEfficiency = {
539
+ VeryGood: "very_good",
540
+ Good: "good",
541
+ Average: "average",
542
+ Poor: "poor",
543
+ VeryPoor: "very_poor",
544
+ } as const;
545
+ /**
546
+ * Environmental efficiency rating.
547
+ */
548
+ export type EPCQueryResponseSchemasEnvironmentalEfficiency = OpenEnum<
549
+ typeof EPCQueryResponseSchemasEnvironmentalEfficiency
550
+ >;
551
+
552
+ /**
553
+ * Floor type: solid, suspended_timber, suspended_sealed, another_dwelling_below, other_premises_below.
554
+ */
555
+ export const EPCQueryResponseFloorType = {
556
+ Solid: "solid",
557
+ SuspendedTimber: "suspended_timber",
558
+ SuspendedSealed: "suspended_sealed",
559
+ AnotherDwellingBelow: "another_dwelling_below",
560
+ OtherPremisesBelow: "other_premises_below",
561
+ } as const;
562
+ /**
563
+ * Floor type: solid, suspended_timber, suspended_sealed, another_dwelling_below, other_premises_below.
564
+ */
565
+ export type EPCQueryResponseFloorType = OpenEnum<
566
+ typeof EPCQueryResponseFloorType
567
+ >;
568
+
569
+ /**
570
+ * Insulation type if present.
571
+ */
572
+ export const EPCQueryResponseInsulationType = {
573
+ None: "none",
574
+ AsBuilt: "as_built",
575
+ FilledCavity: "filled_cavity",
576
+ External: "external",
577
+ Internal: "internal",
578
+ FilledCavityAndExternal: "filled_cavity_and_external",
579
+ FilledCavityAndInternal: "filled_cavity_and_internal",
580
+ Partial: "partial",
581
+ RetroFitted: "retro_fitted",
582
+ Loft: "loft",
583
+ Rafter: "rafter",
584
+ } as const;
585
+ /**
586
+ * Insulation type if present.
587
+ */
588
+ export type EPCQueryResponseInsulationType = OpenEnum<
589
+ typeof EPCQueryResponseInsulationType
590
+ >;
591
+
592
+ /**
593
+ * Ground floor construction and insulation.
594
+ */
595
+ export type EPCQueryResponseFloor = {
596
+ /**
597
+ * Non-null when source value was corrupted/incomplete.
598
+ */
599
+ dataQuality: EPCQueryResponseDataQuality | null;
600
+ /**
601
+ * Raw SAP description string.
602
+ */
603
+ description: string | null;
604
+ /**
605
+ * Energy efficiency rating.
606
+ */
607
+ energyEfficiency: EPCQueryResponseSchemasEnergyEfficiency | null;
608
+ /**
609
+ * Environmental efficiency rating.
610
+ */
611
+ environmentalEfficiency:
612
+ | EPCQueryResponseSchemasEnvironmentalEfficiency
613
+ | null;
614
+ /**
615
+ * Floor type: solid, suspended_timber, suspended_sealed, another_dwelling_below, other_premises_below.
616
+ */
617
+ floorType: EPCQueryResponseFloorType | null;
618
+ /**
619
+ * Whether insulation status is assumed.
620
+ */
621
+ insulationAssumed: boolean;
622
+ /**
623
+ * Whether floor insulation is present.
624
+ */
625
+ insulationPresent: boolean | null;
626
+ /**
627
+ * Insulation type if present.
628
+ */
629
+ insulationType: EPCQueryResponseInsulationType | null;
630
+ /**
631
+ * U-value in W/m²K if reported.
632
+ */
633
+ thermalTransmittance: number | null;
634
+ };
635
+
636
+ /**
637
+ * Energy efficiency rating.
638
+ */
639
+ export const EPCQueryResponseSchemasDataEnergyEfficiency = {
640
+ VeryGood: "very_good",
641
+ Good: "good",
642
+ Average: "average",
643
+ Poor: "poor",
644
+ VeryPoor: "very_poor",
645
+ } as const;
646
+ /**
647
+ * Energy efficiency rating.
648
+ */
649
+ export type EPCQueryResponseSchemasDataEnergyEfficiency = OpenEnum<
650
+ typeof EPCQueryResponseSchemasDataEnergyEfficiency
651
+ >;
652
+
653
+ /**
654
+ * Environmental efficiency rating.
655
+ */
656
+ export const EPCQueryResponseSchemasDataEnvironmentalEfficiency = {
657
+ VeryGood: "very_good",
658
+ Good: "good",
659
+ Average: "average",
660
+ Poor: "poor",
661
+ VeryPoor: "very_poor",
662
+ } as const;
663
+ /**
664
+ * Environmental efficiency rating.
665
+ */
666
+ export type EPCQueryResponseSchemasDataEnvironmentalEfficiency = OpenEnum<
667
+ typeof EPCQueryResponseSchemasDataEnvironmentalEfficiency
668
+ >;
669
+
670
+ /**
671
+ * Heating control system.
672
+ */
673
+ export type EPCQueryResponseHeatingControls = {
674
+ /**
675
+ * SAP description string from assessor.
676
+ */
677
+ description: string | null;
678
+ /**
679
+ * Energy efficiency rating.
680
+ */
681
+ energyEfficiency: EPCQueryResponseSchemasDataEnergyEfficiency | null;
682
+ /**
683
+ * Environmental efficiency rating.
684
+ */
685
+ environmentalEfficiency:
686
+ | EPCQueryResponseSchemasDataEnvironmentalEfficiency
687
+ | null;
688
+ };
689
+
690
+ /**
691
+ * Energy efficiency rating.
692
+ */
693
+ export const EPCQueryResponseSchemasDataFabricEnergyEfficiency = {
694
+ VeryGood: "very_good",
695
+ Good: "good",
696
+ Average: "average",
697
+ Poor: "poor",
698
+ VeryPoor: "very_poor",
699
+ } as const;
700
+ /**
701
+ * Energy efficiency rating.
702
+ */
703
+ export type EPCQueryResponseSchemasDataFabricEnergyEfficiency = OpenEnum<
704
+ typeof EPCQueryResponseSchemasDataFabricEnergyEfficiency
705
+ >;
706
+
707
+ /**
708
+ * Environmental efficiency rating.
709
+ */
710
+ export const EPCQueryResponseSchemasDataFabricEnvironmentalEfficiency = {
711
+ VeryGood: "very_good",
712
+ Good: "good",
713
+ Average: "average",
714
+ Poor: "poor",
715
+ VeryPoor: "very_poor",
716
+ } as const;
717
+ /**
718
+ * Environmental efficiency rating.
719
+ */
720
+ export type EPCQueryResponseSchemasDataFabricEnvironmentalEfficiency = OpenEnum<
721
+ typeof EPCQueryResponseSchemasDataFabricEnvironmentalEfficiency
722
+ >;
723
+
724
+ /**
725
+ * Hot water system.
726
+ */
727
+ export type EPCQueryResponseHotWater = {
728
+ /**
729
+ * SAP description string from assessor.
730
+ */
731
+ description: string | null;
732
+ /**
733
+ * Energy efficiency rating.
734
+ */
735
+ energyEfficiency: EPCQueryResponseSchemasDataFabricEnergyEfficiency | null;
736
+ /**
737
+ * Environmental efficiency rating.
738
+ */
739
+ environmentalEfficiency:
740
+ | EPCQueryResponseSchemasDataFabricEnvironmentalEfficiency
741
+ | null;
742
+ };
743
+
744
+ /**
745
+ * Energy efficiency rating.
746
+ */
747
+ export const EPCQueryResponseSchemasDataFabricLightingEnergyEfficiency = {
748
+ VeryGood: "very_good",
749
+ Good: "good",
750
+ Average: "average",
751
+ Poor: "poor",
752
+ VeryPoor: "very_poor",
753
+ } as const;
754
+ /**
755
+ * Energy efficiency rating.
756
+ */
757
+ export type EPCQueryResponseSchemasDataFabricLightingEnergyEfficiency =
758
+ OpenEnum<typeof EPCQueryResponseSchemasDataFabricLightingEnergyEfficiency>;
759
+
760
+ /**
761
+ * Environmental efficiency rating.
762
+ */
763
+ export const EPCQueryResponseSchemasDataFabricLightingEnvironmentalEfficiency =
764
+ {
765
+ VeryGood: "very_good",
766
+ Good: "good",
767
+ Average: "average",
768
+ Poor: "poor",
769
+ VeryPoor: "very_poor",
770
+ } as const;
771
+ /**
772
+ * Environmental efficiency rating.
773
+ */
774
+ export type EPCQueryResponseSchemasDataFabricLightingEnvironmentalEfficiency =
775
+ OpenEnum<
776
+ typeof EPCQueryResponseSchemasDataFabricLightingEnvironmentalEfficiency
777
+ >;
778
+
779
+ /**
780
+ * Lighting system.
781
+ */
782
+ export type EPCQueryResponseLighting = {
783
+ /**
784
+ * SAP description string from assessor.
785
+ */
786
+ description: string | null;
787
+ /**
788
+ * Energy efficiency rating.
789
+ */
790
+ energyEfficiency:
791
+ | EPCQueryResponseSchemasDataFabricLightingEnergyEfficiency
792
+ | null;
793
+ /**
794
+ * Environmental efficiency rating.
795
+ */
796
+ environmentalEfficiency:
797
+ | EPCQueryResponseSchemasDataFabricLightingEnvironmentalEfficiency
798
+ | null;
799
+ };
800
+
801
+ /**
802
+ * Non-null when source value was corrupted/incomplete.
803
+ */
804
+ export const EPCQueryResponseSchemasDataQuality = {
805
+ TruncatedThermalTransmittance: "truncated_thermal_transmittance",
806
+ QualityLabelOnly: "quality_label_only",
807
+ WelshLanguage: "welsh_language",
808
+ CorruptedEncoding: "corrupted_encoding",
809
+ SourceError: "source_error",
810
+ } as const;
811
+ /**
812
+ * Non-null when source value was corrupted/incomplete.
813
+ */
814
+ export type EPCQueryResponseSchemasDataQuality = OpenEnum<
815
+ typeof EPCQueryResponseSchemasDataQuality
816
+ >;
817
+
818
+ /**
819
+ * Energy efficiency rating.
820
+ */
821
+ export const EPCQueryResponseSchemasDataFabricMainHeatingEnergyEfficiency = {
822
+ VeryGood: "very_good",
823
+ Good: "good",
824
+ Average: "average",
825
+ Poor: "poor",
826
+ VeryPoor: "very_poor",
827
+ } as const;
828
+ /**
829
+ * Energy efficiency rating.
830
+ */
831
+ export type EPCQueryResponseSchemasDataFabricMainHeatingEnergyEfficiency =
832
+ OpenEnum<typeof EPCQueryResponseSchemasDataFabricMainHeatingEnergyEfficiency>;
833
+
834
+ /**
835
+ * Environmental efficiency rating.
836
+ */
837
+ export const EPCQueryResponseSchemasDataFabricMainHeatingEnvironmentalEfficiency =
838
+ {
839
+ VeryGood: "very_good",
840
+ Good: "good",
841
+ Average: "average",
842
+ Poor: "poor",
843
+ VeryPoor: "very_poor",
844
+ } as const;
845
+ /**
846
+ * Environmental efficiency rating.
847
+ */
848
+ export type EPCQueryResponseSchemasDataFabricMainHeatingEnvironmentalEfficiency =
849
+ OpenEnum<
850
+ typeof EPCQueryResponseSchemasDataFabricMainHeatingEnvironmentalEfficiency
851
+ >;
852
+
853
+ /**
854
+ * Fuel type for this heating system.
855
+ */
856
+ export const EPCQueryResponseFuel = {
857
+ MainsGas: "mains_gas",
858
+ Lpg: "lpg",
859
+ Oil: "oil",
860
+ Electricity: "electricity",
861
+ Biomass: "biomass",
862
+ Coal: "coal",
863
+ Anthracite: "anthracite",
864
+ SmokelessFuel: "smokeless_fuel",
865
+ Biogas: "biogas",
866
+ DistrictHeating: "district_heating",
867
+ HeatPump: "heat_pump",
868
+ DualFuel: "dual_fuel",
869
+ WasteHeat: "waste_heat",
870
+ Other: "other",
871
+ } as const;
872
+ /**
873
+ * Fuel type for this heating system.
874
+ */
875
+ export type EPCQueryResponseFuel = OpenEnum<typeof EPCQueryResponseFuel>;
876
+
877
+ /**
878
+ * Heat pump type if applicable: air_source, ground_source, water_source.
879
+ */
880
+ export const EPCQueryResponseHeatPumpType = {
881
+ AirSource: "air_source",
882
+ GroundSource: "ground_source",
883
+ WaterSource: "water_source",
884
+ } as const;
885
+ /**
886
+ * Heat pump type if applicable: air_source, ground_source, water_source.
887
+ */
888
+ export type EPCQueryResponseHeatPumpType = OpenEnum<
889
+ typeof EPCQueryResponseHeatPumpType
890
+ >;
891
+
892
+ /**
893
+ * Heating system type: boiler_radiators, storage_heaters, heat_pump_radiators, etc.
894
+ */
895
+ export const EPCQueryResponseSystemType = {
896
+ BoilerRadiators: "boiler_radiators",
897
+ BoilerUnderfloor: "boiler_underfloor",
898
+ StorageHeaters: "storage_heaters",
899
+ RoomHeaters: "room_heaters",
900
+ WarmAir: "warm_air",
901
+ HeatPumpRadiators: "heat_pump_radiators",
902
+ HeatPumpUnderfloor: "heat_pump_underfloor",
903
+ UnderfloorElectric: "underfloor_electric",
904
+ CommunityScheme: "community_scheme",
905
+ MicroChp: "micro_chp",
906
+ NoneAssumed: "none_assumed",
907
+ } as const;
908
+ /**
909
+ * Heating system type: boiler_radiators, storage_heaters, heat_pump_radiators, etc.
910
+ */
911
+ export type EPCQueryResponseSystemType = OpenEnum<
912
+ typeof EPCQueryResponseSystemType
913
+ >;
914
+
915
+ /**
916
+ * Main heating system.
917
+ */
918
+ export type EPCQueryResponseMainHeating = {
919
+ /**
920
+ * Non-null when source value was corrupted/incomplete.
921
+ */
922
+ dataQuality: EPCQueryResponseSchemasDataQuality | null;
923
+ /**
924
+ * Raw SAP description string.
925
+ */
926
+ description: string | null;
927
+ /**
928
+ * Energy efficiency rating.
929
+ */
930
+ energyEfficiency:
931
+ | EPCQueryResponseSchemasDataFabricMainHeatingEnergyEfficiency
932
+ | null;
933
+ /**
934
+ * Environmental efficiency rating.
935
+ */
936
+ environmentalEfficiency:
937
+ | EPCQueryResponseSchemasDataFabricMainHeatingEnvironmentalEfficiency
938
+ | null;
939
+ /**
940
+ * Fuel type for this heating system.
941
+ */
942
+ fuel: EPCQueryResponseFuel | null;
943
+ /**
944
+ * Heat pump type if applicable: air_source, ground_source, water_source.
945
+ */
946
+ heatPumpType: EPCQueryResponseHeatPumpType | null;
947
+ /**
948
+ * Whether this property has multiple heating systems.
949
+ */
950
+ isMultiSystem: boolean;
951
+ /**
952
+ * Heating system type: boiler_radiators, storage_heaters, heat_pump_radiators, etc.
953
+ */
954
+ systemType: EPCQueryResponseSystemType | null;
955
+ };
956
+
957
+ /**
958
+ * Non-null when source value was corrupted/incomplete.
959
+ */
960
+ export const EPCQueryResponseSchemasDataDataQuality = {
961
+ TruncatedThermalTransmittance: "truncated_thermal_transmittance",
962
+ QualityLabelOnly: "quality_label_only",
963
+ WelshLanguage: "welsh_language",
964
+ CorruptedEncoding: "corrupted_encoding",
965
+ SourceError: "source_error",
966
+ } as const;
967
+ /**
968
+ * Non-null when source value was corrupted/incomplete.
969
+ */
970
+ export type EPCQueryResponseSchemasDataDataQuality = OpenEnum<
971
+ typeof EPCQueryResponseSchemasDataDataQuality
972
+ >;
973
+
974
+ /**
975
+ * Energy efficiency rating.
976
+ */
977
+ export const EPCQueryResponseSchemasDataFabricRoofEnergyEfficiency = {
978
+ VeryGood: "very_good",
979
+ Good: "good",
980
+ Average: "average",
981
+ Poor: "poor",
982
+ VeryPoor: "very_poor",
983
+ } as const;
984
+ /**
985
+ * Energy efficiency rating.
986
+ */
987
+ export type EPCQueryResponseSchemasDataFabricRoofEnergyEfficiency = OpenEnum<
988
+ typeof EPCQueryResponseSchemasDataFabricRoofEnergyEfficiency
989
+ >;
990
+
991
+ /**
992
+ * Environmental efficiency rating.
993
+ */
994
+ export const EPCQueryResponseSchemasDataFabricRoofEnvironmentalEfficiency = {
995
+ VeryGood: "very_good",
996
+ Good: "good",
997
+ Average: "average",
998
+ Poor: "poor",
999
+ VeryPoor: "very_poor",
1000
+ } as const;
1001
+ /**
1002
+ * Environmental efficiency rating.
1003
+ */
1004
+ export type EPCQueryResponseSchemasDataFabricRoofEnvironmentalEfficiency =
1005
+ OpenEnum<typeof EPCQueryResponseSchemasDataFabricRoofEnvironmentalEfficiency>;
1006
+
1007
+ /**
1008
+ * Insulation type: loft, rafter, none, etc.
1009
+ */
1010
+ export const EPCQueryResponseSchemasInsulationType = {
1011
+ None: "none",
1012
+ AsBuilt: "as_built",
1013
+ FilledCavity: "filled_cavity",
1014
+ External: "external",
1015
+ Internal: "internal",
1016
+ FilledCavityAndExternal: "filled_cavity_and_external",
1017
+ FilledCavityAndInternal: "filled_cavity_and_internal",
1018
+ Partial: "partial",
1019
+ RetroFitted: "retro_fitted",
1020
+ Loft: "loft",
1021
+ Rafter: "rafter",
1022
+ } as const;
1023
+ /**
1024
+ * Insulation type: loft, rafter, none, etc.
1025
+ */
1026
+ export type EPCQueryResponseSchemasInsulationType = OpenEnum<
1027
+ typeof EPCQueryResponseSchemasInsulationType
1028
+ >;
1029
+
1030
+ /**
1031
+ * Roof type: pitched, flat, thatched, another_dwelling_above, other_premises_above, roof_room.
1032
+ */
1033
+ export const EPCQueryResponseRoofType = {
1034
+ Pitched: "pitched",
1035
+ Flat: "flat",
1036
+ Thatched: "thatched",
1037
+ AnotherDwellingAbove: "another_dwelling_above",
1038
+ OtherPremisesAbove: "other_premises_above",
1039
+ RoofRoom: "roof_room",
1040
+ } as const;
1041
+ /**
1042
+ * Roof type: pitched, flat, thatched, another_dwelling_above, other_premises_above, roof_room.
1043
+ */
1044
+ export type EPCQueryResponseRoofType = OpenEnum<
1045
+ typeof EPCQueryResponseRoofType
1046
+ >;
1047
+
1048
+ /**
1049
+ * Roof construction and insulation.
1050
+ */
1051
+ export type EPCQueryResponseRoof = {
1052
+ /**
1053
+ * Non-null when source value was corrupted/incomplete.
1054
+ */
1055
+ dataQuality: EPCQueryResponseSchemasDataDataQuality | null;
1056
+ /**
1057
+ * Raw SAP description string.
1058
+ */
1059
+ description: string | null;
1060
+ /**
1061
+ * Energy efficiency rating.
1062
+ */
1063
+ energyEfficiency:
1064
+ | EPCQueryResponseSchemasDataFabricRoofEnergyEfficiency
1065
+ | null;
1066
+ /**
1067
+ * Environmental efficiency rating.
1068
+ */
1069
+ environmentalEfficiency:
1070
+ | EPCQueryResponseSchemasDataFabricRoofEnvironmentalEfficiency
1071
+ | null;
1072
+ /**
1073
+ * Whether insulation status is assumed.
1074
+ */
1075
+ insulationAssumed: boolean;
1076
+ /**
1077
+ * Loft insulation depth in millimetres.
1078
+ */
1079
+ insulationDepthMm: number | null;
1080
+ /**
1081
+ * Whether roof insulation is present.
1082
+ */
1083
+ insulationPresent: boolean | null;
1084
+ /**
1085
+ * Insulation type: loft, rafter, none, etc.
1086
+ */
1087
+ insulationType: EPCQueryResponseSchemasInsulationType | null;
1088
+ /**
1089
+ * Roof type: pitched, flat, thatched, another_dwelling_above, other_premises_above, roof_room.
1090
+ */
1091
+ roofType: EPCQueryResponseRoofType | null;
1092
+ /**
1093
+ * U-value in W/m²K if reported.
1094
+ */
1095
+ thermalTransmittance: number | null;
1096
+ };
1097
+
1098
+ /**
1099
+ * Energy efficiency rating.
1100
+ */
1101
+ export const EPCQueryResponseSchemasDataFabricSecondaryHeatingEnergyEfficiency =
1102
+ {
1103
+ VeryGood: "very_good",
1104
+ Good: "good",
1105
+ Average: "average",
1106
+ Poor: "poor",
1107
+ VeryPoor: "very_poor",
1108
+ } as const;
1109
+ /**
1110
+ * Energy efficiency rating.
1111
+ */
1112
+ export type EPCQueryResponseSchemasDataFabricSecondaryHeatingEnergyEfficiency =
1113
+ OpenEnum<
1114
+ typeof EPCQueryResponseSchemasDataFabricSecondaryHeatingEnergyEfficiency
1115
+ >;
1116
+
1117
+ /**
1118
+ * Environmental efficiency rating.
1119
+ */
1120
+ export const EPCQueryResponseSchemasDataFabricSecondaryHeatingEnvironmentalEfficiency =
1121
+ {
1122
+ VeryGood: "very_good",
1123
+ Good: "good",
1124
+ Average: "average",
1125
+ Poor: "poor",
1126
+ VeryPoor: "very_poor",
1127
+ } as const;
1128
+ /**
1129
+ * Environmental efficiency rating.
1130
+ */
1131
+ export type EPCQueryResponseSchemasDataFabricSecondaryHeatingEnvironmentalEfficiency =
1132
+ OpenEnum<
1133
+ typeof EPCQueryResponseSchemasDataFabricSecondaryHeatingEnvironmentalEfficiency
1134
+ >;
1135
+
1136
+ /**
1137
+ * Secondary heating system. Null when no secondary heating is present.
1138
+ */
1139
+ export type EPCQueryResponseSecondaryHeating = {
1140
+ /**
1141
+ * SAP description string from assessor.
1142
+ */
1143
+ description: string | null;
1144
+ /**
1145
+ * Energy efficiency rating.
1146
+ */
1147
+ energyEfficiency:
1148
+ | EPCQueryResponseSchemasDataFabricSecondaryHeatingEnergyEfficiency
1149
+ | null;
1150
+ /**
1151
+ * Environmental efficiency rating.
1152
+ */
1153
+ environmentalEfficiency:
1154
+ | EPCQueryResponseSchemasDataFabricSecondaryHeatingEnvironmentalEfficiency
1155
+ | null;
1156
+ };
1157
+
1158
+ /**
1159
+ * Wall construction type: cavity, solid_brick, timber_frame, sandstone_or_limestone, etc.
1160
+ */
1161
+ export const EPCQueryResponseConstruction = {
1162
+ Cavity: "cavity",
1163
+ SolidBrick: "solid_brick",
1164
+ TimberFrame: "timber_frame",
1165
+ SandstoneOrLimestone: "sandstone_or_limestone",
1166
+ Sandstone: "sandstone",
1167
+ GraniteOrWhinstone: "granite_or_whinstone",
1168
+ Granite: "granite",
1169
+ SystemBuilt: "system_built",
1170
+ SolidStone: "solid_stone",
1171
+ Cob: "cob",
1172
+ ParkHome: "park_home",
1173
+ Basement: "basement",
1174
+ CurtainWall: "curtain_wall",
1175
+ } as const;
1176
+ /**
1177
+ * Wall construction type: cavity, solid_brick, timber_frame, sandstone_or_limestone, etc.
1178
+ */
1179
+ export type EPCQueryResponseConstruction = OpenEnum<
1180
+ typeof EPCQueryResponseConstruction
1181
+ >;
1182
+
1183
+ /**
1184
+ * Non-null when the source value was corrupted/incomplete. Null = normal quality.
1185
+ */
1186
+ export const EPCQueryResponseSchemasDataFabricDataQuality = {
1187
+ TruncatedThermalTransmittance: "truncated_thermal_transmittance",
1188
+ QualityLabelOnly: "quality_label_only",
1189
+ WelshLanguage: "welsh_language",
1190
+ CorruptedEncoding: "corrupted_encoding",
1191
+ SourceError: "source_error",
1192
+ } as const;
1193
+ /**
1194
+ * Non-null when the source value was corrupted/incomplete. Null = normal quality.
1195
+ */
1196
+ export type EPCQueryResponseSchemasDataFabricDataQuality = OpenEnum<
1197
+ typeof EPCQueryResponseSchemasDataFabricDataQuality
1198
+ >;
1199
+
1200
+ /**
1201
+ * Energy efficiency rating.
1202
+ */
1203
+ export const EPCQueryResponseSchemasDataFabricWallsEnergyEfficiency = {
1204
+ VeryGood: "very_good",
1205
+ Good: "good",
1206
+ Average: "average",
1207
+ Poor: "poor",
1208
+ VeryPoor: "very_poor",
1209
+ } as const;
1210
+ /**
1211
+ * Energy efficiency rating.
1212
+ */
1213
+ export type EPCQueryResponseSchemasDataFabricWallsEnergyEfficiency = OpenEnum<
1214
+ typeof EPCQueryResponseSchemasDataFabricWallsEnergyEfficiency
1215
+ >;
1216
+
1217
+ /**
1218
+ * Environmental efficiency rating.
1219
+ */
1220
+ export const EPCQueryResponseSchemasDataFabricWallsEnvironmentalEfficiency = {
1221
+ VeryGood: "very_good",
1222
+ Good: "good",
1223
+ Average: "average",
1224
+ Poor: "poor",
1225
+ VeryPoor: "very_poor",
1226
+ } as const;
1227
+ /**
1228
+ * Environmental efficiency rating.
1229
+ */
1230
+ export type EPCQueryResponseSchemasDataFabricWallsEnvironmentalEfficiency =
1231
+ OpenEnum<
1232
+ typeof EPCQueryResponseSchemasDataFabricWallsEnvironmentalEfficiency
1233
+ >;
1234
+
1235
+ /**
1236
+ * Insulation type: none, filled_cavity, external, internal, as_built, partial, etc.
1237
+ */
1238
+ export const EPCQueryResponseSchemasDataInsulationType = {
1239
+ None: "none",
1240
+ AsBuilt: "as_built",
1241
+ FilledCavity: "filled_cavity",
1242
+ External: "external",
1243
+ Internal: "internal",
1244
+ FilledCavityAndExternal: "filled_cavity_and_external",
1245
+ FilledCavityAndInternal: "filled_cavity_and_internal",
1246
+ Partial: "partial",
1247
+ RetroFitted: "retro_fitted",
1248
+ Loft: "loft",
1249
+ Rafter: "rafter",
1250
+ } as const;
1251
+ /**
1252
+ * Insulation type: none, filled_cavity, external, internal, as_built, partial, etc.
1253
+ */
1254
+ export type EPCQueryResponseSchemasDataInsulationType = OpenEnum<
1255
+ typeof EPCQueryResponseSchemasDataInsulationType
1256
+ >;
1257
+
1258
+ /**
1259
+ * External wall construction and insulation.
1260
+ */
1261
+ export type EPCQueryResponseWalls = {
1262
+ /**
1263
+ * Wall construction type: cavity, solid_brick, timber_frame, sandstone_or_limestone, etc.
1264
+ */
1265
+ construction: EPCQueryResponseConstruction | null;
1266
+ /**
1267
+ * Non-null when the source value was corrupted/incomplete. Null = normal quality.
1268
+ */
1269
+ dataQuality: EPCQueryResponseSchemasDataFabricDataQuality | null;
1270
+ /**
1271
+ * Raw SAP description string from assessor.
1272
+ */
1273
+ description: string | null;
1274
+ /**
1275
+ * Energy efficiency rating.
1276
+ */
1277
+ energyEfficiency:
1278
+ | EPCQueryResponseSchemasDataFabricWallsEnergyEfficiency
1279
+ | null;
1280
+ /**
1281
+ * Environmental efficiency rating.
1282
+ */
1283
+ environmentalEfficiency:
1284
+ | EPCQueryResponseSchemasDataFabricWallsEnvironmentalEfficiency
1285
+ | null;
1286
+ /**
1287
+ * Whether insulation status is assumed by the assessor (true) or confirmed (false).
1288
+ */
1289
+ insulationAssumed: boolean;
1290
+ /**
1291
+ * Whether wall insulation is present.
1292
+ */
1293
+ insulationPresent: boolean | null;
1294
+ /**
1295
+ * Insulation type: none, filled_cavity, external, internal, as_built, partial, etc.
1296
+ */
1297
+ insulationType: EPCQueryResponseSchemasDataInsulationType | null;
1298
+ /**
1299
+ * Wall material (e.g. 'brick') where identifiable from description.
1300
+ */
1301
+ material: string | null;
1302
+ /**
1303
+ * U-value in W/m²K if reported. Newer SAP versions report this instead of description text.
1304
+ */
1305
+ thermalTransmittance: number | null;
1306
+ };
1307
+
1308
+ /**
1309
+ * Energy efficiency rating.
1310
+ */
1311
+ export const EPCQueryResponseSchemasDataFabricWindowsEnergyEfficiency = {
1312
+ VeryGood: "very_good",
1313
+ Good: "good",
1314
+ Average: "average",
1315
+ Poor: "poor",
1316
+ VeryPoor: "very_poor",
1317
+ } as const;
1318
+ /**
1319
+ * Energy efficiency rating.
1320
+ */
1321
+ export type EPCQueryResponseSchemasDataFabricWindowsEnergyEfficiency = OpenEnum<
1322
+ typeof EPCQueryResponseSchemasDataFabricWindowsEnergyEfficiency
1323
+ >;
1324
+
1325
+ /**
1326
+ * Environmental efficiency rating.
1327
+ */
1328
+ export const EPCQueryResponseSchemasDataFabricWindowsEnvironmentalEfficiency = {
1329
+ VeryGood: "very_good",
1330
+ Good: "good",
1331
+ Average: "average",
1332
+ Poor: "poor",
1333
+ VeryPoor: "very_poor",
1334
+ } as const;
1335
+ /**
1336
+ * Environmental efficiency rating.
1337
+ */
1338
+ export type EPCQueryResponseSchemasDataFabricWindowsEnvironmentalEfficiency =
1339
+ OpenEnum<
1340
+ typeof EPCQueryResponseSchemasDataFabricWindowsEnvironmentalEfficiency
1341
+ >;
1342
+
1343
+ /**
1344
+ * Window glazing specification.
1345
+ */
1346
+ export type EPCQueryResponseWindows = {
1347
+ /**
1348
+ * SAP description string from assessor.
1349
+ */
1350
+ description: string | null;
1351
+ /**
1352
+ * Energy efficiency rating.
1353
+ */
1354
+ energyEfficiency:
1355
+ | EPCQueryResponseSchemasDataFabricWindowsEnergyEfficiency
1356
+ | null;
1357
+ /**
1358
+ * Environmental efficiency rating.
1359
+ */
1360
+ environmentalEfficiency:
1361
+ | EPCQueryResponseSchemasDataFabricWindowsEnvironmentalEfficiency
1362
+ | null;
1363
+ };
1364
+
1365
+ /**
1366
+ * Component-level building fabric assessment. Domestic only; null for non-domestic and DECs.
1367
+ */
1368
+ export type EPCQueryResponseFabric = {
1369
+ /**
1370
+ * Air tightness assessment. Scotland only; null for E&W.
1371
+ */
1372
+ airTightness: EPCQueryResponseAirTightness | null;
1373
+ /**
1374
+ * Ground floor construction and insulation.
1375
+ */
1376
+ floor: EPCQueryResponseFloor;
1377
+ /**
1378
+ * Heating control system.
1379
+ */
1380
+ heatingControls: EPCQueryResponseHeatingControls;
1381
+ /**
1382
+ * Hot water system.
1383
+ */
1384
+ hotWater: EPCQueryResponseHotWater;
1385
+ /**
1386
+ * Lighting system.
1387
+ */
1388
+ lighting: EPCQueryResponseLighting;
1389
+ /**
1390
+ * Main heating system.
1391
+ */
1392
+ mainHeating: EPCQueryResponseMainHeating;
1393
+ /**
1394
+ * Roof construction and insulation.
1395
+ */
1396
+ roof: EPCQueryResponseRoof;
1397
+ /**
1398
+ * Secondary heating system. Null when no secondary heating is present.
1399
+ */
1400
+ secondaryHeating: EPCQueryResponseSecondaryHeating | null;
1401
+ /**
1402
+ * External wall construction and insulation.
1403
+ */
1404
+ walls: EPCQueryResponseWalls;
1405
+ /**
1406
+ * Window glazing specification.
1407
+ */
1408
+ windows: EPCQueryResponseWindows;
1409
+ };
1410
+
1411
+ /**
1412
+ * Derived MEES compliance status (Decision D11). Based on current energy rating band and certificate type. compliant=A-E, at_risk=E, non_compliant=F-G, exempt=non-domestic/DEC.
1413
+ */
1414
+ export const EPCQueryResponseMeesCompliance = {
1415
+ Compliant: "compliant",
1416
+ AtRisk: "at_risk",
1417
+ NonCompliant: "non_compliant",
1418
+ Exempt: "exempt",
1419
+ Unknown: "unknown",
1420
+ } as const;
1421
+ /**
1422
+ * Derived MEES compliance status (Decision D11). Based on current energy rating band and certificate type. compliant=A-E, at_risk=E, non_compliant=F-G, exempt=non-domestic/DEC.
1423
+ */
1424
+ export type EPCQueryResponseMeesCompliance = OpenEnum<
1425
+ typeof EPCQueryResponseMeesCompliance
1426
+ >;
1427
+
1428
+ export const BuildingCategory = {
1429
+ C1: "C1",
1430
+ C2: "C2",
1431
+ C3: "C3",
1432
+ C4: "C4",
1433
+ C5: "C5",
1434
+ C6: "C6",
1435
+ H1: "H1",
1436
+ H2: "H2",
1437
+ H3: "H3",
1438
+ H4: "H4",
1439
+ H5: "H5",
1440
+ H6: "H6",
1441
+ H7: "H7",
1442
+ H8: "H8",
1443
+ S1: "S1",
1444
+ S2: "S2",
1445
+ S3: "S3",
1446
+ S4: "S4",
1447
+ S5: "S5",
1448
+ S6: "S6",
1449
+ S7: "S7",
1450
+ S8: "S8",
1451
+ S9: "S9",
1452
+ S10: "S10",
1453
+ W1: "W1",
1454
+ W2: "W2",
1455
+ W3: "W3",
1456
+ W4: "W4",
1457
+ W5: "W5",
1458
+ } as const;
1459
+ export type BuildingCategory = OpenEnum<typeof BuildingCategory>;
1460
+
1461
+ /**
1462
+ * Electrical usage — actual vs benchmark.
1463
+ */
1464
+ export type ElectricalUsage = {
1465
+ /**
1466
+ * Actual annual electrical consumption (kWh/m²/year).
1467
+ */
1468
+ actual: number;
1469
+ /**
1470
+ * Benchmark electrical consumption (kWh/m²/year).
1471
+ */
1472
+ typical: number;
1473
+ };
1474
+
1475
+ /**
1476
+ * Operational rating band (A-G, no A+).
1477
+ */
1478
+ export const RatingBand = {
1479
+ APlus: "A+",
1480
+ A: "A",
1481
+ BPlus: "B+",
1482
+ B: "B",
1483
+ CPlus: "C+",
1484
+ C: "C",
1485
+ DPlus: "D+",
1486
+ D: "D",
1487
+ EPlus: "E+",
1488
+ E: "E",
1489
+ FPlus: "F+",
1490
+ F: "F",
1491
+ G: "G",
1492
+ } as const;
1493
+ /**
1494
+ * Operational rating band (A-G, no A+).
1495
+ */
1496
+ export type RatingBand = OpenEnum<typeof RatingBand>;
1497
+
1498
+ /**
1499
+ * Thermal fuel usage — actual vs benchmark.
1500
+ */
1501
+ export type ThermalUsage = {
1502
+ /**
1503
+ * Actual annual thermal fuel consumption (kWh/m²/year).
1504
+ */
1505
+ actual: number;
1506
+ /**
1507
+ * Benchmark thermal fuel consumption (kWh/m²/year).
1508
+ */
1509
+ typical: number;
1510
+ };
1511
+
1512
+ /**
1513
+ * DEC operational performance from metered energy use. Null for domestic and non-domestic EPCs.
1514
+ */
1515
+ export type OperationalPerformance = {
1516
+ /**
1517
+ * End of the 12-month assessment period (ISO 8601).
1518
+ */
1519
+ assessmentEndDate: string | null;
1520
+ /**
1521
+ * CIBSE TM46 benchmark category codes. Multi-use buildings can have multiple codes.
1522
+ */
1523
+ buildingCategory: Array<BuildingCategory>;
1524
+ /**
1525
+ * Current year operational rating — CO2 efficiency relative to benchmark. 100 = typical for building type. Lower is better. 9999 = placeholder/incomplete.
1526
+ */
1527
+ currentRating: number;
1528
+ /**
1529
+ * Electrical usage — actual vs benchmark.
1530
+ */
1531
+ electricalUsage: ElectricalUsage | null;
1532
+ /**
1533
+ * Primary benchmark category description (e.g. 'General Office', 'Hospital — Clinical and Research').
1534
+ */
1535
+ mainBenchmark: string | null;
1536
+ /**
1537
+ * Assessor-selected reference date (ISO 8601).
1538
+ */
1539
+ nominatedDate: string | null;
1540
+ /**
1541
+ * Building occupancy during operating hours.
1542
+ */
1543
+ occupancyLevel: string | null;
1544
+ /**
1545
+ * Operational rating band (A-G, no A+).
1546
+ */
1547
+ ratingBand: RatingBand;
1548
+ /**
1549
+ * Percentage of electricity from renewable sources.
1550
+ */
1551
+ renewablesElectricalPercentage: number | null;
1552
+ /**
1553
+ * Percentage of heating from renewable sources.
1554
+ */
1555
+ renewablesThermalPercentage: number | null;
1556
+ /**
1557
+ * Thermal fuel usage — actual vs benchmark.
1558
+ */
1559
+ thermalUsage: ThermalUsage | null;
1560
+ /**
1561
+ * Previous year operational rating.
1562
+ */
1563
+ yr1Rating: number | null;
1564
+ /**
1565
+ * Two years ago operational rating.
1566
+ */
1567
+ yr2Rating: number | null;
1568
+ };
1569
+
1570
+ /**
1571
+ * Energy efficiency band. A/A+ is most efficient, G is least. Domestic uses A-G. Non-domestic uses A+-G. Scotland non-domestic also has half-bands (B+, C+, etc.).
1572
+ */
1573
+ export const EPCQueryResponseBand = {
1574
+ APlus: "A+",
1575
+ A: "A",
1576
+ BPlus: "B+",
1577
+ B: "B",
1578
+ CPlus: "C+",
1579
+ C: "C",
1580
+ DPlus: "D+",
1581
+ D: "D",
1582
+ EPlus: "E+",
1583
+ E: "E",
1584
+ FPlus: "F+",
1585
+ F: "F",
1586
+ G: "G",
1587
+ } as const;
1588
+ /**
1589
+ * Energy efficiency band. A/A+ is most efficient, G is least. Domestic uses A-G. Non-domestic uses A+-G. Scotland non-domestic also has half-bands (B+, C+, etc.).
1590
+ */
1591
+ export type EPCQueryResponseBand = OpenEnum<typeof EPCQueryResponseBand>;
1592
+
1593
+ /**
1594
+ * Discriminator for numeric score interpretation.
1595
+ */
1596
+ export const EPCQueryResponseScoreType = {
1597
+ Sap: "sap",
1598
+ Asset: "asset",
1599
+ Operational: "operational",
1600
+ Epi: "epi",
1601
+ } as const;
1602
+ /**
1603
+ * Discriminator for numeric score interpretation.
1604
+ */
1605
+ export type EPCQueryResponseScoreType = OpenEnum<
1606
+ typeof EPCQueryResponseScoreType
1607
+ >;
1608
+
1609
+ /**
1610
+ * Current energy rating at time of assessment.
1611
+ */
1612
+ export type EPCQueryResponseCurrent = {
1613
+ /**
1614
+ * Energy efficiency band. A/A+ is most efficient, G is least. Domestic uses A-G. Non-domestic uses A+-G. Scotland non-domestic also has half-bands (B+, C+, etc.).
1615
+ */
1616
+ band: EPCQueryResponseBand;
1617
+ /**
1618
+ * Numeric score. Interpretation depends on scoreType: SAP = 1-100 (higher is better); Asset = kg CO2/m² (lower is better, unbounded); Operational = relative to benchmark (lower is better, unbounded); EPI = kg CO2/m² using Scottish weather data.
1619
+ */
1620
+ score: number;
1621
+ /**
1622
+ * Discriminator for numeric score interpretation.
1623
+ */
1624
+ scoreType: EPCQueryResponseScoreType;
1625
+ };
1626
+
1627
+ /**
1628
+ * Energy efficiency band. A/A+ is most efficient, G is least. Domestic uses A-G. Non-domestic uses A+-G. Scotland non-domestic also has half-bands (B+, C+, etc.).
1629
+ */
1630
+ export const EPCQueryResponseSchemasBand = {
1631
+ APlus: "A+",
1632
+ A: "A",
1633
+ BPlus: "B+",
1634
+ B: "B",
1635
+ CPlus: "C+",
1636
+ C: "C",
1637
+ DPlus: "D+",
1638
+ D: "D",
1639
+ EPlus: "E+",
1640
+ E: "E",
1641
+ FPlus: "F+",
1642
+ F: "F",
1643
+ G: "G",
1644
+ } as const;
1645
+ /**
1646
+ * Energy efficiency band. A/A+ is most efficient, G is least. Domestic uses A-G. Non-domestic uses A+-G. Scotland non-domestic also has half-bands (B+, C+, etc.).
1647
+ */
1648
+ export type EPCQueryResponseSchemasBand = OpenEnum<
1649
+ typeof EPCQueryResponseSchemasBand
1650
+ >;
1651
+
1652
+ /**
1653
+ * Discriminator for numeric score interpretation.
1654
+ */
1655
+ export const EPCQueryResponseSchemasScoreType = {
1656
+ Sap: "sap",
1657
+ Asset: "asset",
1658
+ Operational: "operational",
1659
+ Epi: "epi",
1660
+ } as const;
1661
+ /**
1662
+ * Discriminator for numeric score interpretation.
1663
+ */
1664
+ export type EPCQueryResponseSchemasScoreType = OpenEnum<
1665
+ typeof EPCQueryResponseSchemasScoreType
1666
+ >;
1667
+
1668
+ /**
1669
+ * Achievable rating with recommended improvements. Null for DECs (operational ratings have no potential). E&W non-domestic does not publish a potential rating; Scotland non-domestic does.
1670
+ */
1671
+ export type EPCQueryResponsePotential = {
1672
+ /**
1673
+ * Energy efficiency band. A/A+ is most efficient, G is least. Domestic uses A-G. Non-domestic uses A+-G. Scotland non-domestic also has half-bands (B+, C+, etc.).
1674
+ */
1675
+ band: EPCQueryResponseSchemasBand;
1676
+ /**
1677
+ * Numeric score. Interpretation depends on scoreType: SAP = 1-100 (higher is better); Asset = kg CO2/m² (lower is better, unbounded); Operational = relative to benchmark (lower is better, unbounded); EPI = kg CO2/m² using Scottish weather data.
1678
+ */
1679
+ score: number;
1680
+ /**
1681
+ * Discriminator for numeric score interpretation.
1682
+ */
1683
+ scoreType: EPCQueryResponseSchemasScoreType;
1684
+ };
1685
+
1686
+ /**
1687
+ * Energy rating — unified across domestic (SAP), non-domestic (asset), and DEC (operational). Filter on rating.current.band for cross-type comparisons.
1688
+ */
1689
+ export type EPCQueryResponseRating = {
1690
+ /**
1691
+ * Whether the building achieves net-zero carbon. Scotland non-domestic uses 'Carbon Neu' band; mapped to A+ with this flag set to true.
1692
+ */
1693
+ carbonNeutral: boolean;
1694
+ /**
1695
+ * Current energy rating at time of assessment.
1696
+ */
1697
+ current: EPCQueryResponseCurrent;
1698
+ /**
1699
+ * Achievable rating with recommended improvements. Null for DECs (operational ratings have no potential). E&W non-domestic does not publish a potential rating; Scotland non-domestic does.
1700
+ */
1701
+ potential: EPCQueryResponsePotential | null;
1702
+ };
1703
+
1704
+ /**
1705
+ * Measure category: insulation, glazing, heating, hot_water, renewables, lighting.
1706
+ */
1707
+ export const EPCQueryResponseCategory = {
1708
+ Insulation: "insulation",
1709
+ Glazing: "glazing",
1710
+ Heating: "heating",
1711
+ HotWater: "hot_water",
1712
+ Renewables: "renewables",
1713
+ Lighting: "lighting",
1714
+ } as const;
1715
+ /**
1716
+ * Measure category: insulation, glazing, heating, hot_water, renewables, lighting.
1717
+ */
1718
+ export type EPCQueryResponseCategory = OpenEnum<
1719
+ typeof EPCQueryResponseCategory
1720
+ >;
1721
+
1722
+ /**
1723
+ * CO2 reduction impact. Scotland non-domestic only: low, medium, high.
1724
+ */
1725
+ export const EPCQueryResponseCo2Impact = {
1726
+ Low: "low",
1727
+ Medium: "medium",
1728
+ High: "high",
1729
+ } as const;
1730
+ /**
1731
+ * CO2 reduction impact. Scotland non-domestic only: low, medium, high.
1732
+ */
1733
+ export type EPCQueryResponseCo2Impact = OpenEnum<
1734
+ typeof EPCQueryResponseCo2Impact
1735
+ >;
1736
+
1737
+ /**
1738
+ * Currency. All values normalised to GBP.
1739
+ */
1740
+ export const EPCQueryResponseCurrency = {
1741
+ Gbp: "GBP",
1742
+ } as const;
1743
+ /**
1744
+ * Currency. All values normalised to GBP.
1745
+ */
1746
+ export type EPCQueryResponseCurrency = ClosedEnum<
1747
+ typeof EPCQueryResponseCurrency
1748
+ >;
1749
+
1750
+ /**
1751
+ * Structured cost estimate with numeric min/max in GBP. Parsed from 1,054 unique source cost strings (including encoding variants). Use cost.year to apply your own inflation adjustment.
1752
+ */
1753
+ export type EPCQueryResponseCost = {
1754
+ /**
1755
+ * Currency. All values normalised to GBP.
1756
+ */
1757
+ currency: EPCQueryResponseCurrency;
1758
+ /**
1759
+ * Raw cost string from source (e.g. '£100 - £350'). Preserved for transparency.
1760
+ */
1761
+ indicative: string | null;
1762
+ /**
1763
+ * Upper bound cost estimate (£ GBP).
1764
+ */
1765
+ max: number | null;
1766
+ /**
1767
+ * Lower bound cost estimate (£ GBP).
1768
+ */
1769
+ min: number | null;
1770
+ /**
1771
+ * Assessment year for this cost estimate. Consumers should apply their own inflation adjustment from this base year.
1772
+ */
1773
+ year: number | null;
1774
+ };
1775
+
1776
+ /**
1777
+ * Canonical improvement measure: wall_insulation, condensing_boiler, solar_pv, etc. 40 canonical values covering all SAP standard improvement measures.
1778
+ */
1779
+ export const EPCQueryResponseMeasure = {
1780
+ WallInsulation: "wall_insulation",
1781
+ WallInsulationCombined: "wall_insulation_combined",
1782
+ CavityWallInsulation: "cavity_wall_insulation",
1783
+ LoftInsulation: "loft_insulation",
1784
+ FloorInsulationSolid: "floor_insulation_solid",
1785
+ FloorInsulationSuspended: "floor_insulation_suspended",
1786
+ FlatRoofInsulation: "flat_roof_insulation",
1787
+ RoomInRoofInsulation: "room_in_roof_insulation",
1788
+ PartyWallInsulation: "party_wall_insulation",
1789
+ DraughtProofing: "draught_proofing",
1790
+ ExternalDoors: "external_doors",
1791
+ DoubleGlazing: "double_glazing",
1792
+ ReplacementGlazing: "replacement_glazing",
1793
+ SecondaryGlazing: "secondary_glazing",
1794
+ CondensingBoiler: "condensing_boiler",
1795
+ GasCondensingBoiler: "gas_condensing_boiler",
1796
+ OilCondensingBoiler: "oil_condensing_boiler",
1797
+ RoomToCondensingBoiler: "room_to_condensing_boiler",
1798
+ CondensingUnit: "condensing_unit",
1799
+ GasCondensingUnit: "gas_condensing_unit",
1800
+ WarmAirUnit: "warm_air_unit",
1801
+ StorageHeaters: "storage_heaters",
1802
+ StorageHeatersDualImmersion: "storage_heaters_dual_immersion",
1803
+ HeatingControls: "heating_controls",
1804
+ ZoneControl: "zone_control",
1805
+ FlueGasRecovery: "flue_gas_recovery",
1806
+ ShowerHeatRecovery: "shower_heat_recovery",
1807
+ CylinderJacket: "cylinder_jacket",
1808
+ CylinderInsulation: "cylinder_insulation",
1809
+ CylinderThermostat: "cylinder_thermostat",
1810
+ WaterHeatingControls: "water_heating_controls",
1811
+ HeatPump: "heat_pump",
1812
+ HeatPumpUnderfloor: "heat_pump_underfloor",
1813
+ BiomassBoiler: "biomass_boiler",
1814
+ SolarThermal: "solar_thermal",
1815
+ SolarPv: "solar_pv",
1816
+ WindTurbine: "wind_turbine",
1817
+ PvBattery: "pv_battery",
1818
+ PvDiverter: "pv_diverter",
1819
+ LowEnergyLighting: "low_energy_lighting",
1820
+ } as const;
1821
+ /**
1822
+ * Canonical improvement measure: wall_insulation, condensing_boiler, solar_pv, etc. 40 canonical values covering all SAP standard improvement measures.
1823
+ */
1824
+ export type EPCQueryResponseMeasure = OpenEnum<typeof EPCQueryResponseMeasure>;
1825
+
1826
+ /**
1827
+ * Payback period classification. Non-domestic only: short, medium, long, other.
1828
+ */
1829
+ export const EPCQueryResponsePaybackType = {
1830
+ Short: "short",
1831
+ Medium: "medium",
1832
+ Long: "long",
1833
+ Other: "other",
1834
+ } as const;
1835
+ /**
1836
+ * Payback period classification. Non-domestic only: short, medium, long, other.
1837
+ */
1838
+ export type EPCQueryResponsePaybackType = OpenEnum<
1839
+ typeof EPCQueryResponsePaybackType
1840
+ >;
1841
+
1842
+ /**
1843
+ * Projected rating after this measure. Domestic only.
1844
+ */
1845
+ export type EPCQueryResponseProjectedRating = {
1846
+ /**
1847
+ * Projected energy band after this measure (e.g. 'C').
1848
+ */
1849
+ band: string | null;
1850
+ /**
1851
+ * Projected cumulative SAP score after implementing this and all prior measures.
1852
+ */
1853
+ energyScore: number | null;
1854
+ /**
1855
+ * Projected cumulative environmental score.
1856
+ */
1857
+ environmentalScore: number | null;
1858
+ };
1859
+
1860
+ /**
1861
+ * Currency.
1862
+ */
1863
+ export const EPCQueryResponseSchemasCurrency = {
1864
+ Gbp: "GBP",
1865
+ } as const;
1866
+ /**
1867
+ * Currency.
1868
+ */
1869
+ export type EPCQueryResponseSchemasCurrency = ClosedEnum<
1870
+ typeof EPCQueryResponseSchemasCurrency
1871
+ >;
1872
+
1873
+ /**
1874
+ * Estimated annual saving in GBP. Parsed from source typical saving field.
1875
+ */
1876
+ export type EPCQueryResponseSaving = {
1877
+ /**
1878
+ * Estimated annual saving (£ GBP).
1879
+ */
1880
+ annual: number | null;
1881
+ /**
1882
+ * Currency.
1883
+ */
1884
+ currency: EPCQueryResponseSchemasCurrency;
1885
+ };
1886
+
1887
+ /**
1888
+ * Individual improvement recommendation with structured cost/saving values, canonical measure classification, and projected rating impact.
1889
+ */
1890
+ export type EPCQueryResponseRecommendations = {
1891
+ /**
1892
+ * Measure category: insulation, glazing, heating, hot_water, renewables, lighting.
1893
+ */
1894
+ category: EPCQueryResponseCategory | null;
1895
+ /**
1896
+ * CO2 reduction impact. Scotland non-domestic only: low, medium, high.
1897
+ */
1898
+ co2Impact: EPCQueryResponseCo2Impact | null;
1899
+ /**
1900
+ * Structured cost estimate with numeric min/max in GBP. Parsed from 1,054 unique source cost strings (including encoding variants). Use cost.year to apply your own inflation adjustment.
1901
+ */
1902
+ cost: EPCQueryResponseCost | null;
1903
+ /**
1904
+ * Detailed description with guidance text.
1905
+ */
1906
+ description: string | null;
1907
+ /**
1908
+ * Whether this measure is eligible for Green Deal financing. Boolean — not a raw string code.
1909
+ */
1910
+ greenDealEligible: boolean | null;
1911
+ /**
1912
+ * Canonical improvement measure: wall_insulation, condensing_boiler, solar_pv, etc. 40 canonical values covering all SAP standard improvement measures.
1913
+ */
1914
+ measure: EPCQueryResponseMeasure | null;
1915
+ /**
1916
+ * Source measure code. E&W: IMPROVEMENT_ID. Scotland: EPC-prefixed (e.g. EPC-R4).
1917
+ */
1918
+ measureCode: string | null;
1919
+ /**
1920
+ * Payback period classification. Non-domestic only: short, medium, long, other.
1921
+ */
1922
+ paybackType: EPCQueryResponsePaybackType | null;
1923
+ /**
1924
+ * Projected rating after this measure. Domestic only.
1925
+ */
1926
+ projectedRating: EPCQueryResponseProjectedRating | null;
1927
+ /**
1928
+ * Estimated annual saving in GBP. Parsed from source typical saving field.
1929
+ */
1930
+ saving: EPCQueryResponseSaving | null;
1931
+ /**
1932
+ * Priority order. Implementing measures in sequence provides the most cost-effective path.
1933
+ */
1934
+ sequence: number;
1935
+ /**
1936
+ * Short description of the improvement measure.
1937
+ */
1938
+ summary: string | null;
1939
+ };
1940
+
1941
+ /**
1942
+ * Annual heating costs — current and achievable.
1943
+ */
1944
+ export type EPCQueryResponseHeating = {
1945
+ /**
1946
+ * Current annual heating cost (£).
1947
+ */
1948
+ current: number;
1949
+ /**
1950
+ * Achievable annual heating cost (£).
1951
+ */
1952
+ potential: number;
1953
+ };
1954
+
1955
+ /**
1956
+ * Annual hot water costs — current and achievable.
1957
+ */
1958
+ export type EPCQueryResponseSchemasHotWater = {
1959
+ /**
1960
+ * Current annual hot water cost (£).
1961
+ */
1962
+ current: number;
1963
+ /**
1964
+ * Achievable annual hot water cost (£).
1965
+ */
1966
+ potential: number;
1967
+ };
1968
+
1969
+ /**
1970
+ * Annual lighting costs — current and achievable.
1971
+ */
1972
+ export type EPCQueryResponseSchemasLighting = {
1973
+ /**
1974
+ * Current annual lighting cost (£).
1975
+ */
1976
+ current: number;
1977
+ /**
1978
+ * Achievable annual lighting cost (£).
1979
+ */
1980
+ potential: number;
1981
+ };
1982
+
1983
+ /**
1984
+ * Annual running costs in GBP. Domestic only; null for non-domestic and DECs.
1985
+ */
1986
+ export type EPCQueryResponseRunningCosts = {
1987
+ /**
1988
+ * Annual heating costs — current and achievable.
1989
+ */
1990
+ heating: EPCQueryResponseHeating;
1991
+ /**
1992
+ * Annual hot water costs — current and achievable.
1993
+ */
1994
+ hotWater: EPCQueryResponseSchemasHotWater;
1995
+ /**
1996
+ * Annual lighting costs — current and achievable.
1997
+ */
1998
+ lighting: EPCQueryResponseSchemasLighting;
1999
+ };
2000
+
2001
+ /**
2002
+ * Current band including Scotland half-bands (B+, C+, etc.) and 'Carbon Neu' → A+.
2003
+ */
2004
+ export const CurrentBand = {
2005
+ APlus: "A+",
2006
+ A: "A",
2007
+ BPlus: "B+",
2008
+ B: "B",
2009
+ CPlus: "C+",
2010
+ C: "C",
2011
+ DPlus: "D+",
2012
+ D: "D",
2013
+ EPlus: "E+",
2014
+ E: "E",
2015
+ FPlus: "F+",
2016
+ F: "F",
2017
+ G: "G",
2018
+ } as const;
2019
+ /**
2020
+ * Current band including Scotland half-bands (B+, C+, etc.) and 'Carbon Neu' → A+.
2021
+ */
2022
+ export type CurrentBand = OpenEnum<typeof CurrentBand>;
2023
+
2024
+ /**
2025
+ * Potential band.
2026
+ */
2027
+ export const PotentialBand = {
2028
+ APlus: "A+",
2029
+ A: "A",
2030
+ BPlus: "B+",
2031
+ B: "B",
2032
+ CPlus: "C+",
2033
+ C: "C",
2034
+ DPlus: "D+",
2035
+ D: "D",
2036
+ EPlus: "E+",
2037
+ E: "E",
2038
+ FPlus: "F+",
2039
+ F: "F",
2040
+ G: "G",
2041
+ } as const;
2042
+ /**
2043
+ * Potential band.
2044
+ */
2045
+ export type PotentialBand = OpenEnum<typeof PotentialBand>;
2046
+
2047
+ /**
2048
+ * Scotland's native non-domestic rating using Scottish weather data. Null for E&W certificates and domestic certificates.
2049
+ */
2050
+ export type ScotlandNativeRating = {
2051
+ /**
2052
+ * Current band including Scotland half-bands (B+, C+, etc.) and 'Carbon Neu' → A+.
2053
+ */
2054
+ currentBand: CurrentBand;
2055
+ /**
2056
+ * Current Energy Performance Rating using Scottish weather data (kg CO2/m²/year).
2057
+ */
2058
+ currentRating: number;
2059
+ /**
2060
+ * Potential band.
2061
+ */
2062
+ potentialBand: PotentialBand | null;
2063
+ /**
2064
+ * Potential rating if improvements carried out. Scotland publishes this; E&W does not.
2065
+ */
2066
+ potentialRating: number | null;
2067
+ };
2068
+
2069
+ /**
2070
+ * Source register: mhclg (England & Wales) or scottish_government (Scotland).
2071
+ */
2072
+ export const EPCQueryResponseSource = {
2073
+ Mhclg: "mhclg",
2074
+ ScottishGovernment: "scottish_government",
2075
+ } as const;
2076
+ /**
2077
+ * Source register: mhclg (England & Wales) or scottish_government (Scotland).
2078
+ */
2079
+ export type EPCQueryResponseSource = OpenEnum<typeof EPCQueryResponseSource>;
2080
+
2081
+ /**
2082
+ * AC inspection commissioning status.
2083
+ */
2084
+ export const EPCQueryResponseInspectionStatus = {
2085
+ Completed: "completed",
2086
+ Commissioned: "commissioned",
2087
+ NotCommissioned: "not_commissioned",
2088
+ NotRelevant: "not_relevant",
2089
+ Unknown: "unknown",
2090
+ } as const;
2091
+ /**
2092
+ * AC inspection commissioning status.
2093
+ */
2094
+ export type EPCQueryResponseInspectionStatus = OpenEnum<
2095
+ typeof EPCQueryResponseInspectionStatus
2096
+ >;
2097
+
2098
+ /**
2099
+ * Air conditioning details. Non-domestic/DEC only; null for domestic.
2100
+ */
2101
+ export type EPCQueryResponseAirConditioning = {
2102
+ /**
2103
+ * Estimated AC capacity when actual is unknown (kW).
2104
+ */
2105
+ estimatedKwRating: number | null;
2106
+ /**
2107
+ * AC inspection commissioning status.
2108
+ */
2109
+ inspectionStatus: EPCQueryResponseInspectionStatus | null;
2110
+ /**
2111
+ * Actual AC system capacity (kW).
2112
+ */
2113
+ kwRating: number | null;
2114
+ /**
2115
+ * Whether AC system is installed.
2116
+ */
2117
+ present: boolean;
2118
+ };
2119
+
2120
+ /**
2121
+ * Electricity tariff type. Domestic only.
2122
+ */
2123
+ export const EPCQueryResponseEnergyTariff = {
2124
+ Single: "single",
2125
+ Dual: "dual",
2126
+ OffPeak7hr: "off_peak_7hr",
2127
+ OffPeak10hr: "off_peak_10hr",
2128
+ OffPeak18hr: "off_peak_18hr",
2129
+ OffPeak24hr: "off_peak_24hr",
2130
+ Unknown: "unknown",
2131
+ } as const;
2132
+ /**
2133
+ * Electricity tariff type. Domestic only.
2134
+ */
2135
+ export type EPCQueryResponseEnergyTariff = OpenEnum<
2136
+ typeof EPCQueryResponseEnergyTariff
2137
+ >;
2138
+
2139
+ /**
2140
+ * Corridor heat loss classification. Flats/maisonettes only.
2141
+ */
2142
+ export const EPCQueryResponseHeatLossCorridor = {
2143
+ NoCorridor: "no_corridor",
2144
+ HeatedCorridor: "heated_corridor",
2145
+ UnheatedCorridor: "unheated_corridor",
2146
+ } as const;
2147
+ /**
2148
+ * Corridor heat loss classification. Flats/maisonettes only.
2149
+ */
2150
+ export type EPCQueryResponseHeatLossCorridor = OpenEnum<
2151
+ typeof EPCQueryResponseHeatLossCorridor
2152
+ >;
2153
+
2154
+ /**
2155
+ * Normalised primary fuel type. See mainFuelExternal for raw source text.
2156
+ */
2157
+ export const EPCQueryResponseMainFuel = {
2158
+ MainsGas: "mains_gas",
2159
+ Lpg: "lpg",
2160
+ Oil: "oil",
2161
+ Electricity: "electricity",
2162
+ Biomass: "biomass",
2163
+ Coal: "coal",
2164
+ Anthracite: "anthracite",
2165
+ SmokelessFuel: "smokeless_fuel",
2166
+ Biogas: "biogas",
2167
+ DistrictHeating: "district_heating",
2168
+ HeatPump: "heat_pump",
2169
+ DualFuel: "dual_fuel",
2170
+ WasteHeat: "waste_heat",
2171
+ Other: "other",
2172
+ } as const;
2173
+ /**
2174
+ * Normalised primary fuel type. See mainFuelExternal for raw source text.
2175
+ */
2176
+ export type EPCQueryResponseMainFuel = OpenEnum<
2177
+ typeof EPCQueryResponseMainFuel
2178
+ >;
2179
+
2180
+ /**
2181
+ * Photovoltaic panel installation.
2182
+ */
2183
+ export type EPCQueryResponsePhotovoltaic = {
2184
+ /**
2185
+ * Whether PV panels are installed.
2186
+ */
2187
+ present: boolean;
2188
+ /**
2189
+ * Percentage of demand met by PV. Domestic only (PHOTO_SUPPLY field).
2190
+ */
2191
+ supplyPercentage: number | null;
2192
+ };
2193
+
2194
+ /**
2195
+ * On-site renewable energy installations.
2196
+ */
2197
+ export type EPCQueryResponseRenewables = {
2198
+ /**
2199
+ * Free-text renewable sources description. Non-domestic only (RENEWABLE_SOURCES field).
2200
+ */
2201
+ description: string | null;
2202
+ /**
2203
+ * Photovoltaic panel installation.
2204
+ */
2205
+ photovoltaic: EPCQueryResponsePhotovoltaic | null;
2206
+ /**
2207
+ * Solar thermal (hot water) present. Domestic: from SOLAR_WATER_HEATING_FLAG. Non-domestic: derived from RENEWABLE_SOURCES text.
2208
+ */
2209
+ solarThermal: boolean | null;
2210
+ /**
2211
+ * Number of wind turbines installed. Domestic only.
2212
+ */
2213
+ windTurbines: number | null;
2214
+ };
2215
+
2216
+ /**
2217
+ * Mechanical ventilation type. Domestic only. Null means natural ventilation.
2218
+ */
2219
+ export const EPCQueryResponseVentilation = {
2220
+ Natural: "natural",
2221
+ MechanicalExtract: "mechanical_extract",
2222
+ MechanicalSupplyAndExtract: "mechanical_supply_and_extract",
2223
+ } as const;
2224
+ /**
2225
+ * Mechanical ventilation type. Domestic only. Null means natural ventilation.
2226
+ */
2227
+ export type EPCQueryResponseVentilation = OpenEnum<
2228
+ typeof EPCQueryResponseVentilation
2229
+ >;
2230
+
2231
+ /**
2232
+ * Building energy systems — fuel, heating, renewables, ventilation.
2233
+ */
2234
+ export type EPCQueryResponseSystems = {
2235
+ /**
2236
+ * Air conditioning details. Non-domestic/DEC only; null for domestic.
2237
+ */
2238
+ airConditioning: EPCQueryResponseAirConditioning | null;
2239
+ /**
2240
+ * Electricity tariff type. Domestic only.
2241
+ */
2242
+ energyTariff: EPCQueryResponseEnergyTariff | null;
2243
+ /**
2244
+ * Corridor heat loss classification. Flats/maisonettes only.
2245
+ */
2246
+ heatLossCorridor: EPCQueryResponseHeatLossCorridor | null;
2247
+ /**
2248
+ * Normalised primary fuel type. See mainFuelExternal for raw source text.
2249
+ */
2250
+ mainFuel: EPCQueryResponseMainFuel | null;
2251
+ /**
2252
+ * Raw fuel type text from source register. E.g. 'mains gas (not community)', 'electricity (7-hour tariff)', 'Natural Gas'.
2253
+ */
2254
+ mainFuelExternal: string | null;
2255
+ /**
2256
+ * Heating control system code. Domestic only.
2257
+ */
2258
+ mainHeatingControls: string | null;
2259
+ /**
2260
+ * Whether mains gas is connected. Domestic only. Derived from MAINS_GAS_FLAG (Y→true, N→false, blank→null).
2261
+ */
2262
+ mainsGas: boolean | null;
2263
+ /**
2264
+ * On-site renewable energy installations.
2265
+ */
2266
+ renewables: EPCQueryResponseRenewables;
2267
+ /**
2268
+ * Length of unheated corridor in metres. Flats/maisonettes only.
2269
+ */
2270
+ unheatedCorridorLength: number | null;
2271
+ /**
2272
+ * Mechanical ventilation type. Domestic only. Null means natural ventilation.
2273
+ */
2274
+ ventilation: EPCQueryResponseVentilation | null;
2275
+ };
2276
+
2277
+ /**
2278
+ * Normalised transaction type (trigger for assessment).
2279
+ */
2280
+ export const EPCQueryResponseTransactionType = {
2281
+ MarketedSale: "marketed_sale",
2282
+ NonMarketedSale: "non_marketed_sale",
2283
+ Rental: "rental",
2284
+ NewDwelling: "new_dwelling",
2285
+ Voluntary: "voluntary",
2286
+ VoluntaryReissue: "voluntary_reissue",
2287
+ StockConditionSurvey: "stock_condition_survey",
2288
+ GrantScheme: "grant_scheme",
2289
+ DisplayPublicBuilding: "display_public_building",
2290
+ Construction: "construction",
2291
+ Other: "other",
2292
+ } as const;
2293
+ /**
2294
+ * Normalised transaction type (trigger for assessment).
2295
+ */
2296
+ export type EPCQueryResponseTransactionType = OpenEnum<
2297
+ typeof EPCQueryResponseTransactionType
2298
+ >;
2299
+
2300
+ /**
2301
+ * Unified EPC entity covering domestic, non-domestic, and Display Energy Certificates across England, Wales, and Scotland. Filter by certificateType to narrow to a specific assessment type. Use rating.current.band for cross-type energy efficiency comparisons.
2302
+ */
2303
+ export type EPCQueryResponseData = {
2304
+ /**
2305
+ * Standardised address.
2306
+ */
2307
+ address: EPCQueryResponseAddress;
2308
+ /**
2309
+ * Assessment methodology: rdsap (existing domestic), sap (new domestic), sbem (non-domestic), dsm (complex non-domestic), operational (DEC).
2310
+ */
2311
+ assessmentMethodology: AssessmentMethodology;
2312
+ /**
2313
+ * Non-domestic benchmarks and building classification. Null for domestic.
2314
+ */
2315
+ benchmarks: Benchmarks | null;
2316
+ /**
2317
+ * Tracks the same building across successive assessments. E&W: 12-digit BUILDING_REFERENCE_NUMBER. Scotland: 10-digit SEPCR property identifier (not the same as UPRN).
2318
+ */
2319
+ buildingReferenceNumber: string | null;
2320
+ /**
2321
+ * Certificate type: domestic, non_domestic, or dec.
2322
+ */
2323
+ certificateType: EPCQueryResponseCertificateType;
2324
+ /**
2325
+ * ONS constituency code (E&W) or Scottish ward code.
2326
+ */
2327
+ constituency: string | null;
2328
+ /**
2329
+ * Constituency/ward name.
2330
+ */
2331
+ constituencyLabel: string | null;
2332
+ /**
2333
+ * Geographic coordinates. Derived from UPRN match or postcode centroid.
2334
+ */
2335
+ coordinates: Coordinates | null;
2336
+ /**
2337
+ * County name. E&W only.
2338
+ */
2339
+ county: string | null;
2340
+ /**
2341
+ * Record creation timestamp (ISO 8601).
2342
+ */
2343
+ createdAt: string;
2344
+ /**
2345
+ * Scottish Data Zone code. Scotland only.
2346
+ */
2347
+ dataZone: string | null;
2348
+ /**
2349
+ * Domestic property details — construction, rooms, glazing, Scotland-specific fields. Null for non-domestic and DECs.
2350
+ */
2351
+ domesticDetails: DomesticDetails | null;
2352
+ /**
2353
+ * Environmental impact, CO2 emissions, and energy consumption.
2354
+ */
2355
+ emissions: EPCQueryResponseEmissions;
2356
+ /**
2357
+ * Component-level building fabric assessment. Domestic only; null for non-domestic and DECs.
2358
+ */
2359
+ fabric: EPCQueryResponseFabric | null;
2360
+ /**
2361
+ * Vepler canonical entity ID.
2362
+ */
2363
+ id: string;
2364
+ /**
2365
+ * Date of energy assessment (ISO 8601).
2366
+ */
2367
+ inspectionDate: string;
2368
+ /**
2369
+ * ONS local authority code (E&W) or Scottish LA code.
2370
+ */
2371
+ localAuthority: string | null;
2372
+ /**
2373
+ * Local authority name.
2374
+ */
2375
+ localAuthorityLabel: string | null;
2376
+ /**
2377
+ * UPRN linking this certificate to the Vepler Property Index. Null if not yet matched. Populated by UPRN enrichment pipeline.
2378
+ */
2379
+ locationId: number | null;
2380
+ /**
2381
+ * Date registered with the government (ISO 8601).
2382
+ */
2383
+ lodgementDate: string;
2384
+ /**
2385
+ * Derived MEES compliance status (Decision D11). Based on current energy rating band and certificate type. compliant=A-E, at_risk=E, non_compliant=F-G, exempt=non-domestic/DEC.
2386
+ */
2387
+ meesCompliance: EPCQueryResponseMeesCompliance;
2388
+ /**
2389
+ * DEC operational performance from metered energy use. Null for domestic and non-domestic EPCs.
2390
+ */
2391
+ operationalPerformance: OperationalPerformance | null;
2392
+ /**
2393
+ * Normalised property type. Domestic: house, flat, bungalow, maisonette, park_home. Non-domestic: canonical NCM category (e.g. office_workshop, retail_financial). See EPC_DOMESTIC_PROPERTY_TYPE_VALUES and EPC_NON_DOMESTIC_PROPERTY_TYPE_VALUES.
2394
+ */
2395
+ propertyType: string | null;
2396
+ /**
2397
+ * Raw property type text from source register. E.g. 'House', 'A1/A2 Retail and Financial/Professional services', 'Offices and Workshop businesses'.
2398
+ */
2399
+ propertyTypeExternal: string | null;
2400
+ /**
2401
+ * Energy rating — unified across domestic (SAP), non-domestic (asset), and DEC (operational). Filter on rating.current.band for cross-type comparisons.
2402
+ */
2403
+ rating: EPCQueryResponseRating;
2404
+ /**
2405
+ * Improvement recommendations ordered by priority. Domestic: from separate recommendations CSV. Non-domestic Scotland: parsed from pipe-delimited IMPROVEMENT_RECOMMENDATIONS field. Non-domestic E&W: from separate recommendations file.
2406
+ */
2407
+ recommendations: Array<EPCQueryResponseRecommendations>;
2408
+ /**
2409
+ * Annual running costs in GBP. Domestic only; null for non-domestic and DECs.
2410
+ */
2411
+ runningCosts: EPCQueryResponseRunningCosts | null;
2412
+ /**
2413
+ * Scotland's native non-domestic rating using Scottish weather data. Null for E&W certificates and domestic certificates.
2414
+ */
2415
+ scotlandNativeRating: ScotlandNativeRating | null;
2416
+ /**
2417
+ * Source register: mhclg (England & Wales) or scottish_government (Scotland).
2418
+ */
2419
+ source: EPCQueryResponseSource;
2420
+ /**
2421
+ * Original certificate identifier from source register. E&W: LMK_KEY. Scotland domestic: OSG_REFERENCE_NUMBER. Scotland non-domestic: REPORT_REFERENCE_NUMBER.
2422
+ */
2423
+ sourceReference: string;
2424
+ /**
2425
+ * Building energy systems — fuel, heating, renewables, ventilation.
2426
+ */
2427
+ systems: EPCQueryResponseSystems;
2428
+ /**
2429
+ * Total floor area in m². Domestic: total internal floor area. Non-domestic: conditioned floor area.
2430
+ */
2431
+ totalFloorArea: number | null;
2432
+ /**
2433
+ * Normalised transaction type (trigger for assessment).
2434
+ */
2435
+ transactionType: EPCQueryResponseTransactionType | null;
2436
+ /**
2437
+ * Raw transaction type text from source register.
2438
+ */
2439
+ transactionTypeExternal: string | null;
2440
+ /**
2441
+ * Record last update timestamp (ISO 8601).
2442
+ */
2443
+ updatedAt: string;
2444
+ /**
2445
+ * Calculated expiry date. Domestic/non-domestic: lodgementDate + 10 years. DEC: lodgementDate + 1 year (advisory report: + 7 years).
2446
+ */
2447
+ validUntil: string | null;
2448
+ };
2449
+
2450
+ export const EPCQueryResponseObject = {
2451
+ List: "list",
2452
+ } as const;
2453
+ export type EPCQueryResponseObject = ClosedEnum<typeof EPCQueryResponseObject>;
2454
+
2455
+ export type Pagination = {
2456
+ hasMore: boolean;
2457
+ totalCount: number;
2458
+ };
2459
+
2460
+ export const Url = {
2461
+ RootV1EpcQuery: "/v1/epc/query",
2462
+ } as const;
2463
+ export type Url = ClosedEnum<typeof Url>;
2464
+
2465
+ export type EPCQueryResponse = {
2466
+ data: Array<EPCQueryResponseData>;
2467
+ object: EPCQueryResponseObject;
2468
+ pagination: Pagination;
2469
+ url: Url;
2470
+ };
2471
+
2472
+ /** @internal */
2473
+ export const EPCQueryResponseAddress$inboundSchema: z.ZodType<
2474
+ EPCQueryResponseAddress,
2475
+ z.ZodTypeDef,
2476
+ unknown
2477
+ > = z.object({
2478
+ displayAddress: z.string(),
2479
+ line1: z.nullable(z.string()),
2480
+ line2: z.nullable(z.string()),
2481
+ line3: z.nullable(z.string()),
2482
+ postTown: z.nullable(z.string()),
2483
+ postcode: z.string(),
2484
+ postcodeNoSpace: z.string(),
2485
+ });
2486
+
2487
+ export function epcQueryResponseAddressFromJSON(
2488
+ jsonString: string,
2489
+ ): SafeParseResult<EPCQueryResponseAddress, SDKValidationError> {
2490
+ return safeParse(
2491
+ jsonString,
2492
+ (x) => EPCQueryResponseAddress$inboundSchema.parse(JSON.parse(x)),
2493
+ `Failed to parse 'EPCQueryResponseAddress' from JSON`,
2494
+ );
2495
+ }
2496
+
2497
+ /** @internal */
2498
+ export const AssessmentMethodology$inboundSchema: z.ZodType<
2499
+ AssessmentMethodology,
2500
+ z.ZodTypeDef,
2501
+ unknown
2502
+ > = openEnums.inboundSchema(AssessmentMethodology);
2503
+
2504
+ /** @internal */
2505
+ export const BuildingEnvironment$inboundSchema: z.ZodType<
2506
+ BuildingEnvironment,
2507
+ z.ZodTypeDef,
2508
+ unknown
2509
+ > = openEnums.inboundSchema(BuildingEnvironment);
2510
+
2511
+ /** @internal */
2512
+ export const NewBuildBand$inboundSchema: z.ZodType<
2513
+ NewBuildBand,
2514
+ z.ZodTypeDef,
2515
+ unknown
2516
+ > = openEnums.inboundSchema(NewBuildBand);
2517
+
2518
+ /** @internal */
2519
+ export const Benchmarks$inboundSchema: z.ZodType<
2520
+ Benchmarks,
2521
+ z.ZodTypeDef,
2522
+ unknown
2523
+ > = z.object({
2524
+ approximateEnergyUse: z.nullable(z.number()),
2525
+ buildingEmissions: z.nullable(z.number()),
2526
+ buildingEnvironment: z.nullable(BuildingEnvironment$inboundSchema),
2527
+ buildingLevel: z.nullable(z.number().int()),
2528
+ electricitySource: z.nullable(z.string()),
2529
+ existingStock: z.nullable(z.string()),
2530
+ meets2002Standard: z.nullable(z.boolean()),
2531
+ newBuild: z.nullable(z.number()),
2532
+ newBuildBand: z.nullable(NewBuildBand$inboundSchema),
2533
+ standardEmissions: z.nullable(z.number()),
2534
+ targetEmissions: z.nullable(z.number()),
2535
+ typicalEmissions: z.nullable(z.number()),
2536
+ });
2537
+
2538
+ export function benchmarksFromJSON(
2539
+ jsonString: string,
2540
+ ): SafeParseResult<Benchmarks, SDKValidationError> {
2541
+ return safeParse(
2542
+ jsonString,
2543
+ (x) => Benchmarks$inboundSchema.parse(JSON.parse(x)),
2544
+ `Failed to parse 'Benchmarks' from JSON`,
2545
+ );
2546
+ }
2547
+
2548
+ /** @internal */
2549
+ export const EPCQueryResponseCertificateType$inboundSchema: z.ZodType<
2550
+ EPCQueryResponseCertificateType,
2551
+ z.ZodTypeDef,
2552
+ unknown
2553
+ > = openEnums.inboundSchema(EPCQueryResponseCertificateType);
2554
+
2555
+ /** @internal */
2556
+ export const Coordinates$inboundSchema: z.ZodType<
2557
+ Coordinates,
2558
+ z.ZodTypeDef,
2559
+ unknown
2560
+ > = z.object({
2561
+ latitude: z.number(),
2562
+ longitude: z.number(),
2563
+ });
2564
+
2565
+ export function coordinatesFromJSON(
2566
+ jsonString: string,
2567
+ ): SafeParseResult<Coordinates, SDKValidationError> {
2568
+ return safeParse(
2569
+ jsonString,
2570
+ (x) => Coordinates$inboundSchema.parse(JSON.parse(x)),
2571
+ `Failed to parse 'Coordinates' from JSON`,
2572
+ );
2573
+ }
2574
+
2575
+ /** @internal */
2576
+ export const BuiltForm$inboundSchema: z.ZodType<
2577
+ BuiltForm,
2578
+ z.ZodTypeDef,
2579
+ unknown
2580
+ > = openEnums.inboundSchema(BuiltForm);
2581
+
2582
+ /** @internal */
2583
+ export const EPCQueryResponseConstructionAge$inboundSchema: z.ZodType<
2584
+ EPCQueryResponseConstructionAge,
2585
+ z.ZodTypeDef,
2586
+ unknown
2587
+ > = z.object({
2588
+ endYear: z.nullable(z.number().int()),
2589
+ isExact: z.boolean(),
2590
+ midYear: z.nullable(z.number().int()),
2591
+ startYear: z.nullable(z.number().int()),
2592
+ });
2593
+
2594
+ export function epcQueryResponseConstructionAgeFromJSON(
2595
+ jsonString: string,
2596
+ ): SafeParseResult<EPCQueryResponseConstructionAge, SDKValidationError> {
2597
+ return safeParse(
2598
+ jsonString,
2599
+ (x) => EPCQueryResponseConstructionAge$inboundSchema.parse(JSON.parse(x)),
2600
+ `Failed to parse 'EPCQueryResponseConstructionAge' from JSON`,
2601
+ );
2602
+ }
2603
+
2604
+ /** @internal */
2605
+ export const EPCQueryResponseArea$inboundSchema: z.ZodType<
2606
+ EPCQueryResponseArea,
2607
+ z.ZodTypeDef,
2608
+ unknown
2609
+ > = openEnums.inboundSchema(EPCQueryResponseArea);
2610
+
2611
+ /** @internal */
2612
+ export const EPCQueryResponseType$inboundSchema: z.ZodType<
2613
+ EPCQueryResponseType,
2614
+ z.ZodTypeDef,
2615
+ unknown
2616
+ > = openEnums.inboundSchema(EPCQueryResponseType);
2617
+
2618
+ /** @internal */
2619
+ export const Glazing$inboundSchema: z.ZodType<Glazing, z.ZodTypeDef, unknown> =
2620
+ z.object({
2621
+ area: z.nullable(EPCQueryResponseArea$inboundSchema),
2622
+ proportion: z.nullable(z.number().int()),
2623
+ type: z.nullable(EPCQueryResponseType$inboundSchema),
2624
+ });
2625
+
2626
+ export function glazingFromJSON(
2627
+ jsonString: string,
2628
+ ): SafeParseResult<Glazing, SDKValidationError> {
2629
+ return safeParse(
2630
+ jsonString,
2631
+ (x) => Glazing$inboundSchema.parse(JSON.parse(x)),
2632
+ `Failed to parse 'Glazing' from JSON`,
2633
+ );
2634
+ }
2635
+
2636
+ /** @internal */
2637
+ export const Tenure$inboundSchema: z.ZodType<Tenure, z.ZodTypeDef, unknown> =
2638
+ openEnums.inboundSchema(Tenure);
2639
+
2640
+ /** @internal */
2641
+ export const DomesticDetails$inboundSchema: z.ZodType<
2642
+ DomesticDetails,
2643
+ z.ZodTypeDef,
2644
+ unknown
2645
+ > = z.object({
2646
+ builtForm: z.nullable(BuiltForm$inboundSchema),
2647
+ constructionAge: z.nullable(
2648
+ z.lazy(() => EPCQueryResponseConstructionAge$inboundSchema),
2649
+ ),
2650
+ constructionAgeBandExternal: z.nullable(z.string()),
2651
+ extensionCount: z.nullable(z.number().int()),
2652
+ flatStoreyCount: z.nullable(z.number().int()),
2653
+ flatTopStorey: z.nullable(z.boolean()),
2654
+ floorHeight: z.nullable(z.number()),
2655
+ floorLevel: z.nullable(z.string()),
2656
+ glazing: z.lazy(() => Glazing$inboundSchema),
2657
+ habitableRooms: z.nullable(z.number().int()),
2658
+ heatedRooms: z.nullable(z.number().int()),
2659
+ impactCavityWallInsulation: z.nullable(z.number()),
2660
+ impactLoftInsulation: z.nullable(z.number()),
2661
+ impactSolidWallInsulation: z.nullable(z.number()),
2662
+ lowEnergyLighting: z.nullable(z.number().int()),
2663
+ lzcEnergySources: z.nullable(z.string()),
2664
+ openFireplaces: z.nullable(z.number().int()),
2665
+ spaceHeatingDemand: z.nullable(z.number()),
2666
+ tenure: z.nullable(Tenure$inboundSchema),
2667
+ threeYearEnergyCostCurrent: z.nullable(z.number()),
2668
+ threeYearEnergySavingPotential: z.nullable(z.number()),
2669
+ waterHeatingDemand: z.nullable(z.number()),
2670
+ });
2671
+
2672
+ export function domesticDetailsFromJSON(
2673
+ jsonString: string,
2674
+ ): SafeParseResult<DomesticDetails, SDKValidationError> {
2675
+ return safeParse(
2676
+ jsonString,
2677
+ (x) => DomesticDetails$inboundSchema.parse(JSON.parse(x)),
2678
+ `Failed to parse 'DomesticDetails' from JSON`,
2679
+ );
2680
+ }
2681
+
2682
+ /** @internal */
2683
+ export const EPCQueryResponseCo2Unit$inboundSchema: z.ZodType<
2684
+ EPCQueryResponseCo2Unit,
2685
+ z.ZodTypeDef,
2686
+ unknown
2687
+ > = openEnums.inboundSchema(EPCQueryResponseCo2Unit);
2688
+
2689
+ /** @internal */
2690
+ export const EPCQueryResponseEnergyConsumptionUnit$inboundSchema: z.ZodType<
2691
+ EPCQueryResponseEnergyConsumptionUnit,
2692
+ z.ZodTypeDef,
2693
+ unknown
2694
+ > = openEnums.inboundSchema(EPCQueryResponseEnergyConsumptionUnit);
2695
+
2696
+ /** @internal */
2697
+ export const EPCQueryResponseEmissions$inboundSchema: z.ZodType<
2698
+ EPCQueryResponseEmissions,
2699
+ z.ZodTypeDef,
2700
+ unknown
2701
+ > = z.object({
2702
+ co2Current: z.nullable(z.number()),
2703
+ co2PerFloorArea: z.nullable(z.number()),
2704
+ co2Potential: z.nullable(z.number()),
2705
+ co2Unit: EPCQueryResponseCo2Unit$inboundSchema,
2706
+ energyConsumptionCurrent: z.nullable(z.number()),
2707
+ energyConsumptionPotential: z.nullable(z.number()),
2708
+ energyConsumptionUnit: z.nullable(
2709
+ EPCQueryResponseEnergyConsumptionUnit$inboundSchema,
2710
+ ),
2711
+ environmentalScoreCurrent: z.nullable(z.number().int()),
2712
+ environmentalScorePotential: z.nullable(z.number().int()),
2713
+ });
2714
+
2715
+ export function epcQueryResponseEmissionsFromJSON(
2716
+ jsonString: string,
2717
+ ): SafeParseResult<EPCQueryResponseEmissions, SDKValidationError> {
2718
+ return safeParse(
2719
+ jsonString,
2720
+ (x) => EPCQueryResponseEmissions$inboundSchema.parse(JSON.parse(x)),
2721
+ `Failed to parse 'EPCQueryResponseEmissions' from JSON`,
2722
+ );
2723
+ }
2724
+
2725
+ /** @internal */
2726
+ export const EPCQueryResponseEnergyEfficiency$inboundSchema: z.ZodType<
2727
+ EPCQueryResponseEnergyEfficiency,
2728
+ z.ZodTypeDef,
2729
+ unknown
2730
+ > = openEnums.inboundSchema(EPCQueryResponseEnergyEfficiency);
2731
+
2732
+ /** @internal */
2733
+ export const EPCQueryResponseEnvironmentalEfficiency$inboundSchema: z.ZodType<
2734
+ EPCQueryResponseEnvironmentalEfficiency,
2735
+ z.ZodTypeDef,
2736
+ unknown
2737
+ > = openEnums.inboundSchema(EPCQueryResponseEnvironmentalEfficiency);
2738
+
2739
+ /** @internal */
2740
+ export const EPCQueryResponseAirTightness$inboundSchema: z.ZodType<
2741
+ EPCQueryResponseAirTightness,
2742
+ z.ZodTypeDef,
2743
+ unknown
2744
+ > = z.object({
2745
+ description: z.nullable(z.string()),
2746
+ energyEfficiency: z.nullable(EPCQueryResponseEnergyEfficiency$inboundSchema),
2747
+ environmentalEfficiency: z.nullable(
2748
+ EPCQueryResponseEnvironmentalEfficiency$inboundSchema,
2749
+ ),
2750
+ });
2751
+
2752
+ export function epcQueryResponseAirTightnessFromJSON(
2753
+ jsonString: string,
2754
+ ): SafeParseResult<EPCQueryResponseAirTightness, SDKValidationError> {
2755
+ return safeParse(
2756
+ jsonString,
2757
+ (x) => EPCQueryResponseAirTightness$inboundSchema.parse(JSON.parse(x)),
2758
+ `Failed to parse 'EPCQueryResponseAirTightness' from JSON`,
2759
+ );
2760
+ }
2761
+
2762
+ /** @internal */
2763
+ export const EPCQueryResponseDataQuality$inboundSchema: z.ZodType<
2764
+ EPCQueryResponseDataQuality,
2765
+ z.ZodTypeDef,
2766
+ unknown
2767
+ > = openEnums.inboundSchema(EPCQueryResponseDataQuality);
2768
+
2769
+ /** @internal */
2770
+ export const EPCQueryResponseSchemasEnergyEfficiency$inboundSchema: z.ZodType<
2771
+ EPCQueryResponseSchemasEnergyEfficiency,
2772
+ z.ZodTypeDef,
2773
+ unknown
2774
+ > = openEnums.inboundSchema(EPCQueryResponseSchemasEnergyEfficiency);
2775
+
2776
+ /** @internal */
2777
+ export const EPCQueryResponseSchemasEnvironmentalEfficiency$inboundSchema:
2778
+ z.ZodType<
2779
+ EPCQueryResponseSchemasEnvironmentalEfficiency,
2780
+ z.ZodTypeDef,
2781
+ unknown
2782
+ > = openEnums.inboundSchema(EPCQueryResponseSchemasEnvironmentalEfficiency);
2783
+
2784
+ /** @internal */
2785
+ export const EPCQueryResponseFloorType$inboundSchema: z.ZodType<
2786
+ EPCQueryResponseFloorType,
2787
+ z.ZodTypeDef,
2788
+ unknown
2789
+ > = openEnums.inboundSchema(EPCQueryResponseFloorType);
2790
+
2791
+ /** @internal */
2792
+ export const EPCQueryResponseInsulationType$inboundSchema: z.ZodType<
2793
+ EPCQueryResponseInsulationType,
2794
+ z.ZodTypeDef,
2795
+ unknown
2796
+ > = openEnums.inboundSchema(EPCQueryResponseInsulationType);
2797
+
2798
+ /** @internal */
2799
+ export const EPCQueryResponseFloor$inboundSchema: z.ZodType<
2800
+ EPCQueryResponseFloor,
2801
+ z.ZodTypeDef,
2802
+ unknown
2803
+ > = z.object({
2804
+ dataQuality: z.nullable(EPCQueryResponseDataQuality$inboundSchema),
2805
+ description: z.nullable(z.string()),
2806
+ energyEfficiency: z.nullable(
2807
+ EPCQueryResponseSchemasEnergyEfficiency$inboundSchema,
2808
+ ),
2809
+ environmentalEfficiency: z.nullable(
2810
+ EPCQueryResponseSchemasEnvironmentalEfficiency$inboundSchema,
2811
+ ),
2812
+ floorType: z.nullable(EPCQueryResponseFloorType$inboundSchema),
2813
+ insulationAssumed: z.boolean(),
2814
+ insulationPresent: z.nullable(z.boolean()),
2815
+ insulationType: z.nullable(EPCQueryResponseInsulationType$inboundSchema),
2816
+ thermalTransmittance: z.nullable(z.number()),
2817
+ });
2818
+
2819
+ export function epcQueryResponseFloorFromJSON(
2820
+ jsonString: string,
2821
+ ): SafeParseResult<EPCQueryResponseFloor, SDKValidationError> {
2822
+ return safeParse(
2823
+ jsonString,
2824
+ (x) => EPCQueryResponseFloor$inboundSchema.parse(JSON.parse(x)),
2825
+ `Failed to parse 'EPCQueryResponseFloor' from JSON`,
2826
+ );
2827
+ }
2828
+
2829
+ /** @internal */
2830
+ export const EPCQueryResponseSchemasDataEnergyEfficiency$inboundSchema:
2831
+ z.ZodType<
2832
+ EPCQueryResponseSchemasDataEnergyEfficiency,
2833
+ z.ZodTypeDef,
2834
+ unknown
2835
+ > = openEnums.inboundSchema(EPCQueryResponseSchemasDataEnergyEfficiency);
2836
+
2837
+ /** @internal */
2838
+ export const EPCQueryResponseSchemasDataEnvironmentalEfficiency$inboundSchema:
2839
+ z.ZodType<
2840
+ EPCQueryResponseSchemasDataEnvironmentalEfficiency,
2841
+ z.ZodTypeDef,
2842
+ unknown
2843
+ > = openEnums.inboundSchema(
2844
+ EPCQueryResponseSchemasDataEnvironmentalEfficiency,
2845
+ );
2846
+
2847
+ /** @internal */
2848
+ export const EPCQueryResponseHeatingControls$inboundSchema: z.ZodType<
2849
+ EPCQueryResponseHeatingControls,
2850
+ z.ZodTypeDef,
2851
+ unknown
2852
+ > = z.object({
2853
+ description: z.nullable(z.string()),
2854
+ energyEfficiency: z.nullable(
2855
+ EPCQueryResponseSchemasDataEnergyEfficiency$inboundSchema,
2856
+ ),
2857
+ environmentalEfficiency: z.nullable(
2858
+ EPCQueryResponseSchemasDataEnvironmentalEfficiency$inboundSchema,
2859
+ ),
2860
+ });
2861
+
2862
+ export function epcQueryResponseHeatingControlsFromJSON(
2863
+ jsonString: string,
2864
+ ): SafeParseResult<EPCQueryResponseHeatingControls, SDKValidationError> {
2865
+ return safeParse(
2866
+ jsonString,
2867
+ (x) => EPCQueryResponseHeatingControls$inboundSchema.parse(JSON.parse(x)),
2868
+ `Failed to parse 'EPCQueryResponseHeatingControls' from JSON`,
2869
+ );
2870
+ }
2871
+
2872
+ /** @internal */
2873
+ export const EPCQueryResponseSchemasDataFabricEnergyEfficiency$inboundSchema:
2874
+ z.ZodType<
2875
+ EPCQueryResponseSchemasDataFabricEnergyEfficiency,
2876
+ z.ZodTypeDef,
2877
+ unknown
2878
+ > = openEnums.inboundSchema(
2879
+ EPCQueryResponseSchemasDataFabricEnergyEfficiency,
2880
+ );
2881
+
2882
+ /** @internal */
2883
+ export const EPCQueryResponseSchemasDataFabricEnvironmentalEfficiency$inboundSchema:
2884
+ z.ZodType<
2885
+ EPCQueryResponseSchemasDataFabricEnvironmentalEfficiency,
2886
+ z.ZodTypeDef,
2887
+ unknown
2888
+ > = openEnums.inboundSchema(
2889
+ EPCQueryResponseSchemasDataFabricEnvironmentalEfficiency,
2890
+ );
2891
+
2892
+ /** @internal */
2893
+ export const EPCQueryResponseHotWater$inboundSchema: z.ZodType<
2894
+ EPCQueryResponseHotWater,
2895
+ z.ZodTypeDef,
2896
+ unknown
2897
+ > = z.object({
2898
+ description: z.nullable(z.string()),
2899
+ energyEfficiency: z.nullable(
2900
+ EPCQueryResponseSchemasDataFabricEnergyEfficiency$inboundSchema,
2901
+ ),
2902
+ environmentalEfficiency: z.nullable(
2903
+ EPCQueryResponseSchemasDataFabricEnvironmentalEfficiency$inboundSchema,
2904
+ ),
2905
+ });
2906
+
2907
+ export function epcQueryResponseHotWaterFromJSON(
2908
+ jsonString: string,
2909
+ ): SafeParseResult<EPCQueryResponseHotWater, SDKValidationError> {
2910
+ return safeParse(
2911
+ jsonString,
2912
+ (x) => EPCQueryResponseHotWater$inboundSchema.parse(JSON.parse(x)),
2913
+ `Failed to parse 'EPCQueryResponseHotWater' from JSON`,
2914
+ );
2915
+ }
2916
+
2917
+ /** @internal */
2918
+ export const EPCQueryResponseSchemasDataFabricLightingEnergyEfficiency$inboundSchema:
2919
+ z.ZodType<
2920
+ EPCQueryResponseSchemasDataFabricLightingEnergyEfficiency,
2921
+ z.ZodTypeDef,
2922
+ unknown
2923
+ > = openEnums.inboundSchema(
2924
+ EPCQueryResponseSchemasDataFabricLightingEnergyEfficiency,
2925
+ );
2926
+
2927
+ /** @internal */
2928
+ export const EPCQueryResponseSchemasDataFabricLightingEnvironmentalEfficiency$inboundSchema:
2929
+ z.ZodType<
2930
+ EPCQueryResponseSchemasDataFabricLightingEnvironmentalEfficiency,
2931
+ z.ZodTypeDef,
2932
+ unknown
2933
+ > = openEnums.inboundSchema(
2934
+ EPCQueryResponseSchemasDataFabricLightingEnvironmentalEfficiency,
2935
+ );
2936
+
2937
+ /** @internal */
2938
+ export const EPCQueryResponseLighting$inboundSchema: z.ZodType<
2939
+ EPCQueryResponseLighting,
2940
+ z.ZodTypeDef,
2941
+ unknown
2942
+ > = z.object({
2943
+ description: z.nullable(z.string()),
2944
+ energyEfficiency: z.nullable(
2945
+ EPCQueryResponseSchemasDataFabricLightingEnergyEfficiency$inboundSchema,
2946
+ ),
2947
+ environmentalEfficiency: z.nullable(
2948
+ EPCQueryResponseSchemasDataFabricLightingEnvironmentalEfficiency$inboundSchema,
2949
+ ),
2950
+ });
2951
+
2952
+ export function epcQueryResponseLightingFromJSON(
2953
+ jsonString: string,
2954
+ ): SafeParseResult<EPCQueryResponseLighting, SDKValidationError> {
2955
+ return safeParse(
2956
+ jsonString,
2957
+ (x) => EPCQueryResponseLighting$inboundSchema.parse(JSON.parse(x)),
2958
+ `Failed to parse 'EPCQueryResponseLighting' from JSON`,
2959
+ );
2960
+ }
2961
+
2962
+ /** @internal */
2963
+ export const EPCQueryResponseSchemasDataQuality$inboundSchema: z.ZodType<
2964
+ EPCQueryResponseSchemasDataQuality,
2965
+ z.ZodTypeDef,
2966
+ unknown
2967
+ > = openEnums.inboundSchema(EPCQueryResponseSchemasDataQuality);
2968
+
2969
+ /** @internal */
2970
+ export const EPCQueryResponseSchemasDataFabricMainHeatingEnergyEfficiency$inboundSchema:
2971
+ z.ZodType<
2972
+ EPCQueryResponseSchemasDataFabricMainHeatingEnergyEfficiency,
2973
+ z.ZodTypeDef,
2974
+ unknown
2975
+ > = openEnums.inboundSchema(
2976
+ EPCQueryResponseSchemasDataFabricMainHeatingEnergyEfficiency,
2977
+ );
2978
+
2979
+ /** @internal */
2980
+ export const EPCQueryResponseSchemasDataFabricMainHeatingEnvironmentalEfficiency$inboundSchema:
2981
+ z.ZodType<
2982
+ EPCQueryResponseSchemasDataFabricMainHeatingEnvironmentalEfficiency,
2983
+ z.ZodTypeDef,
2984
+ unknown
2985
+ > = openEnums.inboundSchema(
2986
+ EPCQueryResponseSchemasDataFabricMainHeatingEnvironmentalEfficiency,
2987
+ );
2988
+
2989
+ /** @internal */
2990
+ export const EPCQueryResponseFuel$inboundSchema: z.ZodType<
2991
+ EPCQueryResponseFuel,
2992
+ z.ZodTypeDef,
2993
+ unknown
2994
+ > = openEnums.inboundSchema(EPCQueryResponseFuel);
2995
+
2996
+ /** @internal */
2997
+ export const EPCQueryResponseHeatPumpType$inboundSchema: z.ZodType<
2998
+ EPCQueryResponseHeatPumpType,
2999
+ z.ZodTypeDef,
3000
+ unknown
3001
+ > = openEnums.inboundSchema(EPCQueryResponseHeatPumpType);
3002
+
3003
+ /** @internal */
3004
+ export const EPCQueryResponseSystemType$inboundSchema: z.ZodType<
3005
+ EPCQueryResponseSystemType,
3006
+ z.ZodTypeDef,
3007
+ unknown
3008
+ > = openEnums.inboundSchema(EPCQueryResponseSystemType);
3009
+
3010
+ /** @internal */
3011
+ export const EPCQueryResponseMainHeating$inboundSchema: z.ZodType<
3012
+ EPCQueryResponseMainHeating,
3013
+ z.ZodTypeDef,
3014
+ unknown
3015
+ > = z.object({
3016
+ dataQuality: z.nullable(EPCQueryResponseSchemasDataQuality$inboundSchema),
3017
+ description: z.nullable(z.string()),
3018
+ energyEfficiency: z.nullable(
3019
+ EPCQueryResponseSchemasDataFabricMainHeatingEnergyEfficiency$inboundSchema,
3020
+ ),
3021
+ environmentalEfficiency: z.nullable(
3022
+ EPCQueryResponseSchemasDataFabricMainHeatingEnvironmentalEfficiency$inboundSchema,
3023
+ ),
3024
+ fuel: z.nullable(EPCQueryResponseFuel$inboundSchema),
3025
+ heatPumpType: z.nullable(EPCQueryResponseHeatPumpType$inboundSchema),
3026
+ isMultiSystem: z.boolean(),
3027
+ systemType: z.nullable(EPCQueryResponseSystemType$inboundSchema),
3028
+ });
3029
+
3030
+ export function epcQueryResponseMainHeatingFromJSON(
3031
+ jsonString: string,
3032
+ ): SafeParseResult<EPCQueryResponseMainHeating, SDKValidationError> {
3033
+ return safeParse(
3034
+ jsonString,
3035
+ (x) => EPCQueryResponseMainHeating$inboundSchema.parse(JSON.parse(x)),
3036
+ `Failed to parse 'EPCQueryResponseMainHeating' from JSON`,
3037
+ );
3038
+ }
3039
+
3040
+ /** @internal */
3041
+ export const EPCQueryResponseSchemasDataDataQuality$inboundSchema: z.ZodType<
3042
+ EPCQueryResponseSchemasDataDataQuality,
3043
+ z.ZodTypeDef,
3044
+ unknown
3045
+ > = openEnums.inboundSchema(EPCQueryResponseSchemasDataDataQuality);
3046
+
3047
+ /** @internal */
3048
+ export const EPCQueryResponseSchemasDataFabricRoofEnergyEfficiency$inboundSchema:
3049
+ z.ZodType<
3050
+ EPCQueryResponseSchemasDataFabricRoofEnergyEfficiency,
3051
+ z.ZodTypeDef,
3052
+ unknown
3053
+ > = openEnums.inboundSchema(
3054
+ EPCQueryResponseSchemasDataFabricRoofEnergyEfficiency,
3055
+ );
3056
+
3057
+ /** @internal */
3058
+ export const EPCQueryResponseSchemasDataFabricRoofEnvironmentalEfficiency$inboundSchema:
3059
+ z.ZodType<
3060
+ EPCQueryResponseSchemasDataFabricRoofEnvironmentalEfficiency,
3061
+ z.ZodTypeDef,
3062
+ unknown
3063
+ > = openEnums.inboundSchema(
3064
+ EPCQueryResponseSchemasDataFabricRoofEnvironmentalEfficiency,
3065
+ );
3066
+
3067
+ /** @internal */
3068
+ export const EPCQueryResponseSchemasInsulationType$inboundSchema: z.ZodType<
3069
+ EPCQueryResponseSchemasInsulationType,
3070
+ z.ZodTypeDef,
3071
+ unknown
3072
+ > = openEnums.inboundSchema(EPCQueryResponseSchemasInsulationType);
3073
+
3074
+ /** @internal */
3075
+ export const EPCQueryResponseRoofType$inboundSchema: z.ZodType<
3076
+ EPCQueryResponseRoofType,
3077
+ z.ZodTypeDef,
3078
+ unknown
3079
+ > = openEnums.inboundSchema(EPCQueryResponseRoofType);
3080
+
3081
+ /** @internal */
3082
+ export const EPCQueryResponseRoof$inboundSchema: z.ZodType<
3083
+ EPCQueryResponseRoof,
3084
+ z.ZodTypeDef,
3085
+ unknown
3086
+ > = z.object({
3087
+ dataQuality: z.nullable(EPCQueryResponseSchemasDataDataQuality$inboundSchema),
3088
+ description: z.nullable(z.string()),
3089
+ energyEfficiency: z.nullable(
3090
+ EPCQueryResponseSchemasDataFabricRoofEnergyEfficiency$inboundSchema,
3091
+ ),
3092
+ environmentalEfficiency: z.nullable(
3093
+ EPCQueryResponseSchemasDataFabricRoofEnvironmentalEfficiency$inboundSchema,
3094
+ ),
3095
+ insulationAssumed: z.boolean(),
3096
+ insulationDepthMm: z.nullable(z.number().int()),
3097
+ insulationPresent: z.nullable(z.boolean()),
3098
+ insulationType: z.nullable(
3099
+ EPCQueryResponseSchemasInsulationType$inboundSchema,
3100
+ ),
3101
+ roofType: z.nullable(EPCQueryResponseRoofType$inboundSchema),
3102
+ thermalTransmittance: z.nullable(z.number()),
3103
+ });
3104
+
3105
+ export function epcQueryResponseRoofFromJSON(
3106
+ jsonString: string,
3107
+ ): SafeParseResult<EPCQueryResponseRoof, SDKValidationError> {
3108
+ return safeParse(
3109
+ jsonString,
3110
+ (x) => EPCQueryResponseRoof$inboundSchema.parse(JSON.parse(x)),
3111
+ `Failed to parse 'EPCQueryResponseRoof' from JSON`,
3112
+ );
3113
+ }
3114
+
3115
+ /** @internal */
3116
+ export const EPCQueryResponseSchemasDataFabricSecondaryHeatingEnergyEfficiency$inboundSchema:
3117
+ z.ZodType<
3118
+ EPCQueryResponseSchemasDataFabricSecondaryHeatingEnergyEfficiency,
3119
+ z.ZodTypeDef,
3120
+ unknown
3121
+ > = openEnums.inboundSchema(
3122
+ EPCQueryResponseSchemasDataFabricSecondaryHeatingEnergyEfficiency,
3123
+ );
3124
+
3125
+ /** @internal */
3126
+ export const EPCQueryResponseSchemasDataFabricSecondaryHeatingEnvironmentalEfficiency$inboundSchema:
3127
+ z.ZodType<
3128
+ EPCQueryResponseSchemasDataFabricSecondaryHeatingEnvironmentalEfficiency,
3129
+ z.ZodTypeDef,
3130
+ unknown
3131
+ > = openEnums.inboundSchema(
3132
+ EPCQueryResponseSchemasDataFabricSecondaryHeatingEnvironmentalEfficiency,
3133
+ );
3134
+
3135
+ /** @internal */
3136
+ export const EPCQueryResponseSecondaryHeating$inboundSchema: z.ZodType<
3137
+ EPCQueryResponseSecondaryHeating,
3138
+ z.ZodTypeDef,
3139
+ unknown
3140
+ > = z.object({
3141
+ description: z.nullable(z.string()),
3142
+ energyEfficiency: z.nullable(
3143
+ EPCQueryResponseSchemasDataFabricSecondaryHeatingEnergyEfficiency$inboundSchema,
3144
+ ),
3145
+ environmentalEfficiency: z.nullable(
3146
+ EPCQueryResponseSchemasDataFabricSecondaryHeatingEnvironmentalEfficiency$inboundSchema,
3147
+ ),
3148
+ });
3149
+
3150
+ export function epcQueryResponseSecondaryHeatingFromJSON(
3151
+ jsonString: string,
3152
+ ): SafeParseResult<EPCQueryResponseSecondaryHeating, SDKValidationError> {
3153
+ return safeParse(
3154
+ jsonString,
3155
+ (x) => EPCQueryResponseSecondaryHeating$inboundSchema.parse(JSON.parse(x)),
3156
+ `Failed to parse 'EPCQueryResponseSecondaryHeating' from JSON`,
3157
+ );
3158
+ }
3159
+
3160
+ /** @internal */
3161
+ export const EPCQueryResponseConstruction$inboundSchema: z.ZodType<
3162
+ EPCQueryResponseConstruction,
3163
+ z.ZodTypeDef,
3164
+ unknown
3165
+ > = openEnums.inboundSchema(EPCQueryResponseConstruction);
3166
+
3167
+ /** @internal */
3168
+ export const EPCQueryResponseSchemasDataFabricDataQuality$inboundSchema:
3169
+ z.ZodType<
3170
+ EPCQueryResponseSchemasDataFabricDataQuality,
3171
+ z.ZodTypeDef,
3172
+ unknown
3173
+ > = openEnums.inboundSchema(EPCQueryResponseSchemasDataFabricDataQuality);
3174
+
3175
+ /** @internal */
3176
+ export const EPCQueryResponseSchemasDataFabricWallsEnergyEfficiency$inboundSchema:
3177
+ z.ZodType<
3178
+ EPCQueryResponseSchemasDataFabricWallsEnergyEfficiency,
3179
+ z.ZodTypeDef,
3180
+ unknown
3181
+ > = openEnums.inboundSchema(
3182
+ EPCQueryResponseSchemasDataFabricWallsEnergyEfficiency,
3183
+ );
3184
+
3185
+ /** @internal */
3186
+ export const EPCQueryResponseSchemasDataFabricWallsEnvironmentalEfficiency$inboundSchema:
3187
+ z.ZodType<
3188
+ EPCQueryResponseSchemasDataFabricWallsEnvironmentalEfficiency,
3189
+ z.ZodTypeDef,
3190
+ unknown
3191
+ > = openEnums.inboundSchema(
3192
+ EPCQueryResponseSchemasDataFabricWallsEnvironmentalEfficiency,
3193
+ );
3194
+
3195
+ /** @internal */
3196
+ export const EPCQueryResponseSchemasDataInsulationType$inboundSchema: z.ZodType<
3197
+ EPCQueryResponseSchemasDataInsulationType,
3198
+ z.ZodTypeDef,
3199
+ unknown
3200
+ > = openEnums.inboundSchema(EPCQueryResponseSchemasDataInsulationType);
3201
+
3202
+ /** @internal */
3203
+ export const EPCQueryResponseWalls$inboundSchema: z.ZodType<
3204
+ EPCQueryResponseWalls,
3205
+ z.ZodTypeDef,
3206
+ unknown
3207
+ > = z.object({
3208
+ construction: z.nullable(EPCQueryResponseConstruction$inboundSchema),
3209
+ dataQuality: z.nullable(
3210
+ EPCQueryResponseSchemasDataFabricDataQuality$inboundSchema,
3211
+ ),
3212
+ description: z.nullable(z.string()),
3213
+ energyEfficiency: z.nullable(
3214
+ EPCQueryResponseSchemasDataFabricWallsEnergyEfficiency$inboundSchema,
3215
+ ),
3216
+ environmentalEfficiency: z.nullable(
3217
+ EPCQueryResponseSchemasDataFabricWallsEnvironmentalEfficiency$inboundSchema,
3218
+ ),
3219
+ insulationAssumed: z.boolean(),
3220
+ insulationPresent: z.nullable(z.boolean()),
3221
+ insulationType: z.nullable(
3222
+ EPCQueryResponseSchemasDataInsulationType$inboundSchema,
3223
+ ),
3224
+ material: z.nullable(z.string()),
3225
+ thermalTransmittance: z.nullable(z.number()),
3226
+ });
3227
+
3228
+ export function epcQueryResponseWallsFromJSON(
3229
+ jsonString: string,
3230
+ ): SafeParseResult<EPCQueryResponseWalls, SDKValidationError> {
3231
+ return safeParse(
3232
+ jsonString,
3233
+ (x) => EPCQueryResponseWalls$inboundSchema.parse(JSON.parse(x)),
3234
+ `Failed to parse 'EPCQueryResponseWalls' from JSON`,
3235
+ );
3236
+ }
3237
+
3238
+ /** @internal */
3239
+ export const EPCQueryResponseSchemasDataFabricWindowsEnergyEfficiency$inboundSchema:
3240
+ z.ZodType<
3241
+ EPCQueryResponseSchemasDataFabricWindowsEnergyEfficiency,
3242
+ z.ZodTypeDef,
3243
+ unknown
3244
+ > = openEnums.inboundSchema(
3245
+ EPCQueryResponseSchemasDataFabricWindowsEnergyEfficiency,
3246
+ );
3247
+
3248
+ /** @internal */
3249
+ export const EPCQueryResponseSchemasDataFabricWindowsEnvironmentalEfficiency$inboundSchema:
3250
+ z.ZodType<
3251
+ EPCQueryResponseSchemasDataFabricWindowsEnvironmentalEfficiency,
3252
+ z.ZodTypeDef,
3253
+ unknown
3254
+ > = openEnums.inboundSchema(
3255
+ EPCQueryResponseSchemasDataFabricWindowsEnvironmentalEfficiency,
3256
+ );
3257
+
3258
+ /** @internal */
3259
+ export const EPCQueryResponseWindows$inboundSchema: z.ZodType<
3260
+ EPCQueryResponseWindows,
3261
+ z.ZodTypeDef,
3262
+ unknown
3263
+ > = z.object({
3264
+ description: z.nullable(z.string()),
3265
+ energyEfficiency: z.nullable(
3266
+ EPCQueryResponseSchemasDataFabricWindowsEnergyEfficiency$inboundSchema,
3267
+ ),
3268
+ environmentalEfficiency: z.nullable(
3269
+ EPCQueryResponseSchemasDataFabricWindowsEnvironmentalEfficiency$inboundSchema,
3270
+ ),
3271
+ });
3272
+
3273
+ export function epcQueryResponseWindowsFromJSON(
3274
+ jsonString: string,
3275
+ ): SafeParseResult<EPCQueryResponseWindows, SDKValidationError> {
3276
+ return safeParse(
3277
+ jsonString,
3278
+ (x) => EPCQueryResponseWindows$inboundSchema.parse(JSON.parse(x)),
3279
+ `Failed to parse 'EPCQueryResponseWindows' from JSON`,
3280
+ );
3281
+ }
3282
+
3283
+ /** @internal */
3284
+ export const EPCQueryResponseFabric$inboundSchema: z.ZodType<
3285
+ EPCQueryResponseFabric,
3286
+ z.ZodTypeDef,
3287
+ unknown
3288
+ > = z.object({
3289
+ airTightness: z.nullable(
3290
+ z.lazy(() => EPCQueryResponseAirTightness$inboundSchema),
3291
+ ),
3292
+ floor: z.lazy(() => EPCQueryResponseFloor$inboundSchema),
3293
+ heatingControls: z.lazy(() => EPCQueryResponseHeatingControls$inboundSchema),
3294
+ hotWater: z.lazy(() => EPCQueryResponseHotWater$inboundSchema),
3295
+ lighting: z.lazy(() => EPCQueryResponseLighting$inboundSchema),
3296
+ mainHeating: z.lazy(() => EPCQueryResponseMainHeating$inboundSchema),
3297
+ roof: z.lazy(() => EPCQueryResponseRoof$inboundSchema),
3298
+ secondaryHeating: z.nullable(
3299
+ z.lazy(() => EPCQueryResponseSecondaryHeating$inboundSchema),
3300
+ ),
3301
+ walls: z.lazy(() => EPCQueryResponseWalls$inboundSchema),
3302
+ windows: z.lazy(() => EPCQueryResponseWindows$inboundSchema),
3303
+ });
3304
+
3305
+ export function epcQueryResponseFabricFromJSON(
3306
+ jsonString: string,
3307
+ ): SafeParseResult<EPCQueryResponseFabric, SDKValidationError> {
3308
+ return safeParse(
3309
+ jsonString,
3310
+ (x) => EPCQueryResponseFabric$inboundSchema.parse(JSON.parse(x)),
3311
+ `Failed to parse 'EPCQueryResponseFabric' from JSON`,
3312
+ );
3313
+ }
3314
+
3315
+ /** @internal */
3316
+ export const EPCQueryResponseMeesCompliance$inboundSchema: z.ZodType<
3317
+ EPCQueryResponseMeesCompliance,
3318
+ z.ZodTypeDef,
3319
+ unknown
3320
+ > = openEnums.inboundSchema(EPCQueryResponseMeesCompliance);
3321
+
3322
+ /** @internal */
3323
+ export const BuildingCategory$inboundSchema: z.ZodType<
3324
+ BuildingCategory,
3325
+ z.ZodTypeDef,
3326
+ unknown
3327
+ > = openEnums.inboundSchema(BuildingCategory);
3328
+
3329
+ /** @internal */
3330
+ export const ElectricalUsage$inboundSchema: z.ZodType<
3331
+ ElectricalUsage,
3332
+ z.ZodTypeDef,
3333
+ unknown
3334
+ > = z.object({
3335
+ actual: z.number(),
3336
+ typical: z.number(),
3337
+ });
3338
+
3339
+ export function electricalUsageFromJSON(
3340
+ jsonString: string,
3341
+ ): SafeParseResult<ElectricalUsage, SDKValidationError> {
3342
+ return safeParse(
3343
+ jsonString,
3344
+ (x) => ElectricalUsage$inboundSchema.parse(JSON.parse(x)),
3345
+ `Failed to parse 'ElectricalUsage' from JSON`,
3346
+ );
3347
+ }
3348
+
3349
+ /** @internal */
3350
+ export const RatingBand$inboundSchema: z.ZodType<
3351
+ RatingBand,
3352
+ z.ZodTypeDef,
3353
+ unknown
3354
+ > = openEnums.inboundSchema(RatingBand);
3355
+
3356
+ /** @internal */
3357
+ export const ThermalUsage$inboundSchema: z.ZodType<
3358
+ ThermalUsage,
3359
+ z.ZodTypeDef,
3360
+ unknown
3361
+ > = z.object({
3362
+ actual: z.number(),
3363
+ typical: z.number(),
3364
+ });
3365
+
3366
+ export function thermalUsageFromJSON(
3367
+ jsonString: string,
3368
+ ): SafeParseResult<ThermalUsage, SDKValidationError> {
3369
+ return safeParse(
3370
+ jsonString,
3371
+ (x) => ThermalUsage$inboundSchema.parse(JSON.parse(x)),
3372
+ `Failed to parse 'ThermalUsage' from JSON`,
3373
+ );
3374
+ }
3375
+
3376
+ /** @internal */
3377
+ export const OperationalPerformance$inboundSchema: z.ZodType<
3378
+ OperationalPerformance,
3379
+ z.ZodTypeDef,
3380
+ unknown
3381
+ > = z.object({
3382
+ assessmentEndDate: z.nullable(z.string()),
3383
+ buildingCategory: z.array(BuildingCategory$inboundSchema),
3384
+ currentRating: z.number(),
3385
+ electricalUsage: z.nullable(z.lazy(() => ElectricalUsage$inboundSchema)),
3386
+ mainBenchmark: z.nullable(z.string()),
3387
+ nominatedDate: z.nullable(z.string()),
3388
+ occupancyLevel: z.nullable(z.string()),
3389
+ ratingBand: RatingBand$inboundSchema,
3390
+ renewablesElectricalPercentage: z.nullable(z.number()),
3391
+ renewablesThermalPercentage: z.nullable(z.number()),
3392
+ thermalUsage: z.nullable(z.lazy(() => ThermalUsage$inboundSchema)),
3393
+ yr1Rating: z.nullable(z.number()),
3394
+ yr2Rating: z.nullable(z.number()),
3395
+ });
3396
+
3397
+ export function operationalPerformanceFromJSON(
3398
+ jsonString: string,
3399
+ ): SafeParseResult<OperationalPerformance, SDKValidationError> {
3400
+ return safeParse(
3401
+ jsonString,
3402
+ (x) => OperationalPerformance$inboundSchema.parse(JSON.parse(x)),
3403
+ `Failed to parse 'OperationalPerformance' from JSON`,
3404
+ );
3405
+ }
3406
+
3407
+ /** @internal */
3408
+ export const EPCQueryResponseBand$inboundSchema: z.ZodType<
3409
+ EPCQueryResponseBand,
3410
+ z.ZodTypeDef,
3411
+ unknown
3412
+ > = openEnums.inboundSchema(EPCQueryResponseBand);
3413
+
3414
+ /** @internal */
3415
+ export const EPCQueryResponseScoreType$inboundSchema: z.ZodType<
3416
+ EPCQueryResponseScoreType,
3417
+ z.ZodTypeDef,
3418
+ unknown
3419
+ > = openEnums.inboundSchema(EPCQueryResponseScoreType);
3420
+
3421
+ /** @internal */
3422
+ export const EPCQueryResponseCurrent$inboundSchema: z.ZodType<
3423
+ EPCQueryResponseCurrent,
3424
+ z.ZodTypeDef,
3425
+ unknown
3426
+ > = z.object({
3427
+ band: EPCQueryResponseBand$inboundSchema,
3428
+ score: z.number(),
3429
+ scoreType: EPCQueryResponseScoreType$inboundSchema,
3430
+ });
3431
+
3432
+ export function epcQueryResponseCurrentFromJSON(
3433
+ jsonString: string,
3434
+ ): SafeParseResult<EPCQueryResponseCurrent, SDKValidationError> {
3435
+ return safeParse(
3436
+ jsonString,
3437
+ (x) => EPCQueryResponseCurrent$inboundSchema.parse(JSON.parse(x)),
3438
+ `Failed to parse 'EPCQueryResponseCurrent' from JSON`,
3439
+ );
3440
+ }
3441
+
3442
+ /** @internal */
3443
+ export const EPCQueryResponseSchemasBand$inboundSchema: z.ZodType<
3444
+ EPCQueryResponseSchemasBand,
3445
+ z.ZodTypeDef,
3446
+ unknown
3447
+ > = openEnums.inboundSchema(EPCQueryResponseSchemasBand);
3448
+
3449
+ /** @internal */
3450
+ export const EPCQueryResponseSchemasScoreType$inboundSchema: z.ZodType<
3451
+ EPCQueryResponseSchemasScoreType,
3452
+ z.ZodTypeDef,
3453
+ unknown
3454
+ > = openEnums.inboundSchema(EPCQueryResponseSchemasScoreType);
3455
+
3456
+ /** @internal */
3457
+ export const EPCQueryResponsePotential$inboundSchema: z.ZodType<
3458
+ EPCQueryResponsePotential,
3459
+ z.ZodTypeDef,
3460
+ unknown
3461
+ > = z.object({
3462
+ band: EPCQueryResponseSchemasBand$inboundSchema,
3463
+ score: z.number(),
3464
+ scoreType: EPCQueryResponseSchemasScoreType$inboundSchema,
3465
+ });
3466
+
3467
+ export function epcQueryResponsePotentialFromJSON(
3468
+ jsonString: string,
3469
+ ): SafeParseResult<EPCQueryResponsePotential, SDKValidationError> {
3470
+ return safeParse(
3471
+ jsonString,
3472
+ (x) => EPCQueryResponsePotential$inboundSchema.parse(JSON.parse(x)),
3473
+ `Failed to parse 'EPCQueryResponsePotential' from JSON`,
3474
+ );
3475
+ }
3476
+
3477
+ /** @internal */
3478
+ export const EPCQueryResponseRating$inboundSchema: z.ZodType<
3479
+ EPCQueryResponseRating,
3480
+ z.ZodTypeDef,
3481
+ unknown
3482
+ > = z.object({
3483
+ carbonNeutral: z.boolean(),
3484
+ current: z.lazy(() => EPCQueryResponseCurrent$inboundSchema),
3485
+ potential: z.nullable(z.lazy(() => EPCQueryResponsePotential$inboundSchema)),
3486
+ });
3487
+
3488
+ export function epcQueryResponseRatingFromJSON(
3489
+ jsonString: string,
3490
+ ): SafeParseResult<EPCQueryResponseRating, SDKValidationError> {
3491
+ return safeParse(
3492
+ jsonString,
3493
+ (x) => EPCQueryResponseRating$inboundSchema.parse(JSON.parse(x)),
3494
+ `Failed to parse 'EPCQueryResponseRating' from JSON`,
3495
+ );
3496
+ }
3497
+
3498
+ /** @internal */
3499
+ export const EPCQueryResponseCategory$inboundSchema: z.ZodType<
3500
+ EPCQueryResponseCategory,
3501
+ z.ZodTypeDef,
3502
+ unknown
3503
+ > = openEnums.inboundSchema(EPCQueryResponseCategory);
3504
+
3505
+ /** @internal */
3506
+ export const EPCQueryResponseCo2Impact$inboundSchema: z.ZodType<
3507
+ EPCQueryResponseCo2Impact,
3508
+ z.ZodTypeDef,
3509
+ unknown
3510
+ > = openEnums.inboundSchema(EPCQueryResponseCo2Impact);
3511
+
3512
+ /** @internal */
3513
+ export const EPCQueryResponseCurrency$inboundSchema: z.ZodNativeEnum<
3514
+ typeof EPCQueryResponseCurrency
3515
+ > = z.nativeEnum(EPCQueryResponseCurrency);
3516
+
3517
+ /** @internal */
3518
+ export const EPCQueryResponseCost$inboundSchema: z.ZodType<
3519
+ EPCQueryResponseCost,
3520
+ z.ZodTypeDef,
3521
+ unknown
3522
+ > = z.object({
3523
+ currency: EPCQueryResponseCurrency$inboundSchema,
3524
+ indicative: z.nullable(z.string()),
3525
+ max: z.nullable(z.number().int()),
3526
+ min: z.nullable(z.number().int()),
3527
+ year: z.nullable(z.number().int()),
3528
+ });
3529
+
3530
+ export function epcQueryResponseCostFromJSON(
3531
+ jsonString: string,
3532
+ ): SafeParseResult<EPCQueryResponseCost, SDKValidationError> {
3533
+ return safeParse(
3534
+ jsonString,
3535
+ (x) => EPCQueryResponseCost$inboundSchema.parse(JSON.parse(x)),
3536
+ `Failed to parse 'EPCQueryResponseCost' from JSON`,
3537
+ );
3538
+ }
3539
+
3540
+ /** @internal */
3541
+ export const EPCQueryResponseMeasure$inboundSchema: z.ZodType<
3542
+ EPCQueryResponseMeasure,
3543
+ z.ZodTypeDef,
3544
+ unknown
3545
+ > = openEnums.inboundSchema(EPCQueryResponseMeasure);
3546
+
3547
+ /** @internal */
3548
+ export const EPCQueryResponsePaybackType$inboundSchema: z.ZodType<
3549
+ EPCQueryResponsePaybackType,
3550
+ z.ZodTypeDef,
3551
+ unknown
3552
+ > = openEnums.inboundSchema(EPCQueryResponsePaybackType);
3553
+
3554
+ /** @internal */
3555
+ export const EPCQueryResponseProjectedRating$inboundSchema: z.ZodType<
3556
+ EPCQueryResponseProjectedRating,
3557
+ z.ZodTypeDef,
3558
+ unknown
3559
+ > = z.object({
3560
+ band: z.nullable(z.string()),
3561
+ energyScore: z.nullable(z.number().int()),
3562
+ environmentalScore: z.nullable(z.number().int()),
3563
+ });
3564
+
3565
+ export function epcQueryResponseProjectedRatingFromJSON(
3566
+ jsonString: string,
3567
+ ): SafeParseResult<EPCQueryResponseProjectedRating, SDKValidationError> {
3568
+ return safeParse(
3569
+ jsonString,
3570
+ (x) => EPCQueryResponseProjectedRating$inboundSchema.parse(JSON.parse(x)),
3571
+ `Failed to parse 'EPCQueryResponseProjectedRating' from JSON`,
3572
+ );
3573
+ }
3574
+
3575
+ /** @internal */
3576
+ export const EPCQueryResponseSchemasCurrency$inboundSchema: z.ZodNativeEnum<
3577
+ typeof EPCQueryResponseSchemasCurrency
3578
+ > = z.nativeEnum(EPCQueryResponseSchemasCurrency);
3579
+
3580
+ /** @internal */
3581
+ export const EPCQueryResponseSaving$inboundSchema: z.ZodType<
3582
+ EPCQueryResponseSaving,
3583
+ z.ZodTypeDef,
3584
+ unknown
3585
+ > = z.object({
3586
+ annual: z.nullable(z.number().int()),
3587
+ currency: EPCQueryResponseSchemasCurrency$inboundSchema,
3588
+ });
3589
+
3590
+ export function epcQueryResponseSavingFromJSON(
3591
+ jsonString: string,
3592
+ ): SafeParseResult<EPCQueryResponseSaving, SDKValidationError> {
3593
+ return safeParse(
3594
+ jsonString,
3595
+ (x) => EPCQueryResponseSaving$inboundSchema.parse(JSON.parse(x)),
3596
+ `Failed to parse 'EPCQueryResponseSaving' from JSON`,
3597
+ );
3598
+ }
3599
+
3600
+ /** @internal */
3601
+ export const EPCQueryResponseRecommendations$inboundSchema: z.ZodType<
3602
+ EPCQueryResponseRecommendations,
3603
+ z.ZodTypeDef,
3604
+ unknown
3605
+ > = z.object({
3606
+ category: z.nullable(EPCQueryResponseCategory$inboundSchema),
3607
+ co2Impact: z.nullable(EPCQueryResponseCo2Impact$inboundSchema),
3608
+ cost: z.nullable(z.lazy(() => EPCQueryResponseCost$inboundSchema)),
3609
+ description: z.nullable(z.string()),
3610
+ greenDealEligible: z.nullable(z.boolean()),
3611
+ measure: z.nullable(EPCQueryResponseMeasure$inboundSchema),
3612
+ measureCode: z.nullable(z.string()),
3613
+ paybackType: z.nullable(EPCQueryResponsePaybackType$inboundSchema),
3614
+ projectedRating: z.nullable(
3615
+ z.lazy(() => EPCQueryResponseProjectedRating$inboundSchema),
3616
+ ),
3617
+ saving: z.nullable(z.lazy(() => EPCQueryResponseSaving$inboundSchema)),
3618
+ sequence: z.number().int(),
3619
+ summary: z.nullable(z.string()),
3620
+ });
3621
+
3622
+ export function epcQueryResponseRecommendationsFromJSON(
3623
+ jsonString: string,
3624
+ ): SafeParseResult<EPCQueryResponseRecommendations, SDKValidationError> {
3625
+ return safeParse(
3626
+ jsonString,
3627
+ (x) => EPCQueryResponseRecommendations$inboundSchema.parse(JSON.parse(x)),
3628
+ `Failed to parse 'EPCQueryResponseRecommendations' from JSON`,
3629
+ );
3630
+ }
3631
+
3632
+ /** @internal */
3633
+ export const EPCQueryResponseHeating$inboundSchema: z.ZodType<
3634
+ EPCQueryResponseHeating,
3635
+ z.ZodTypeDef,
3636
+ unknown
3637
+ > = z.object({
3638
+ current: z.number().int(),
3639
+ potential: z.number().int(),
3640
+ });
3641
+
3642
+ export function epcQueryResponseHeatingFromJSON(
3643
+ jsonString: string,
3644
+ ): SafeParseResult<EPCQueryResponseHeating, SDKValidationError> {
3645
+ return safeParse(
3646
+ jsonString,
3647
+ (x) => EPCQueryResponseHeating$inboundSchema.parse(JSON.parse(x)),
3648
+ `Failed to parse 'EPCQueryResponseHeating' from JSON`,
3649
+ );
3650
+ }
3651
+
3652
+ /** @internal */
3653
+ export const EPCQueryResponseSchemasHotWater$inboundSchema: z.ZodType<
3654
+ EPCQueryResponseSchemasHotWater,
3655
+ z.ZodTypeDef,
3656
+ unknown
3657
+ > = z.object({
3658
+ current: z.number().int(),
3659
+ potential: z.number().int(),
3660
+ });
3661
+
3662
+ export function epcQueryResponseSchemasHotWaterFromJSON(
3663
+ jsonString: string,
3664
+ ): SafeParseResult<EPCQueryResponseSchemasHotWater, SDKValidationError> {
3665
+ return safeParse(
3666
+ jsonString,
3667
+ (x) => EPCQueryResponseSchemasHotWater$inboundSchema.parse(JSON.parse(x)),
3668
+ `Failed to parse 'EPCQueryResponseSchemasHotWater' from JSON`,
3669
+ );
3670
+ }
3671
+
3672
+ /** @internal */
3673
+ export const EPCQueryResponseSchemasLighting$inboundSchema: z.ZodType<
3674
+ EPCQueryResponseSchemasLighting,
3675
+ z.ZodTypeDef,
3676
+ unknown
3677
+ > = z.object({
3678
+ current: z.number().int(),
3679
+ potential: z.number().int(),
3680
+ });
3681
+
3682
+ export function epcQueryResponseSchemasLightingFromJSON(
3683
+ jsonString: string,
3684
+ ): SafeParseResult<EPCQueryResponseSchemasLighting, SDKValidationError> {
3685
+ return safeParse(
3686
+ jsonString,
3687
+ (x) => EPCQueryResponseSchemasLighting$inboundSchema.parse(JSON.parse(x)),
3688
+ `Failed to parse 'EPCQueryResponseSchemasLighting' from JSON`,
3689
+ );
3690
+ }
3691
+
3692
+ /** @internal */
3693
+ export const EPCQueryResponseRunningCosts$inboundSchema: z.ZodType<
3694
+ EPCQueryResponseRunningCosts,
3695
+ z.ZodTypeDef,
3696
+ unknown
3697
+ > = z.object({
3698
+ heating: z.lazy(() => EPCQueryResponseHeating$inboundSchema),
3699
+ hotWater: z.lazy(() => EPCQueryResponseSchemasHotWater$inboundSchema),
3700
+ lighting: z.lazy(() => EPCQueryResponseSchemasLighting$inboundSchema),
3701
+ });
3702
+
3703
+ export function epcQueryResponseRunningCostsFromJSON(
3704
+ jsonString: string,
3705
+ ): SafeParseResult<EPCQueryResponseRunningCosts, SDKValidationError> {
3706
+ return safeParse(
3707
+ jsonString,
3708
+ (x) => EPCQueryResponseRunningCosts$inboundSchema.parse(JSON.parse(x)),
3709
+ `Failed to parse 'EPCQueryResponseRunningCosts' from JSON`,
3710
+ );
3711
+ }
3712
+
3713
+ /** @internal */
3714
+ export const CurrentBand$inboundSchema: z.ZodType<
3715
+ CurrentBand,
3716
+ z.ZodTypeDef,
3717
+ unknown
3718
+ > = openEnums.inboundSchema(CurrentBand);
3719
+
3720
+ /** @internal */
3721
+ export const PotentialBand$inboundSchema: z.ZodType<
3722
+ PotentialBand,
3723
+ z.ZodTypeDef,
3724
+ unknown
3725
+ > = openEnums.inboundSchema(PotentialBand);
3726
+
3727
+ /** @internal */
3728
+ export const ScotlandNativeRating$inboundSchema: z.ZodType<
3729
+ ScotlandNativeRating,
3730
+ z.ZodTypeDef,
3731
+ unknown
3732
+ > = z.object({
3733
+ currentBand: CurrentBand$inboundSchema,
3734
+ currentRating: z.number(),
3735
+ potentialBand: z.nullable(PotentialBand$inboundSchema),
3736
+ potentialRating: z.nullable(z.number()),
3737
+ });
3738
+
3739
+ export function scotlandNativeRatingFromJSON(
3740
+ jsonString: string,
3741
+ ): SafeParseResult<ScotlandNativeRating, SDKValidationError> {
3742
+ return safeParse(
3743
+ jsonString,
3744
+ (x) => ScotlandNativeRating$inboundSchema.parse(JSON.parse(x)),
3745
+ `Failed to parse 'ScotlandNativeRating' from JSON`,
3746
+ );
3747
+ }
3748
+
3749
+ /** @internal */
3750
+ export const EPCQueryResponseSource$inboundSchema: z.ZodType<
3751
+ EPCQueryResponseSource,
3752
+ z.ZodTypeDef,
3753
+ unknown
3754
+ > = openEnums.inboundSchema(EPCQueryResponseSource);
3755
+
3756
+ /** @internal */
3757
+ export const EPCQueryResponseInspectionStatus$inboundSchema: z.ZodType<
3758
+ EPCQueryResponseInspectionStatus,
3759
+ z.ZodTypeDef,
3760
+ unknown
3761
+ > = openEnums.inboundSchema(EPCQueryResponseInspectionStatus);
3762
+
3763
+ /** @internal */
3764
+ export const EPCQueryResponseAirConditioning$inboundSchema: z.ZodType<
3765
+ EPCQueryResponseAirConditioning,
3766
+ z.ZodTypeDef,
3767
+ unknown
3768
+ > = z.object({
3769
+ estimatedKwRating: z.nullable(z.number()),
3770
+ inspectionStatus: z.nullable(EPCQueryResponseInspectionStatus$inboundSchema),
3771
+ kwRating: z.nullable(z.number()),
3772
+ present: z.boolean(),
3773
+ });
3774
+
3775
+ export function epcQueryResponseAirConditioningFromJSON(
3776
+ jsonString: string,
3777
+ ): SafeParseResult<EPCQueryResponseAirConditioning, SDKValidationError> {
3778
+ return safeParse(
3779
+ jsonString,
3780
+ (x) => EPCQueryResponseAirConditioning$inboundSchema.parse(JSON.parse(x)),
3781
+ `Failed to parse 'EPCQueryResponseAirConditioning' from JSON`,
3782
+ );
3783
+ }
3784
+
3785
+ /** @internal */
3786
+ export const EPCQueryResponseEnergyTariff$inboundSchema: z.ZodType<
3787
+ EPCQueryResponseEnergyTariff,
3788
+ z.ZodTypeDef,
3789
+ unknown
3790
+ > = openEnums.inboundSchema(EPCQueryResponseEnergyTariff);
3791
+
3792
+ /** @internal */
3793
+ export const EPCQueryResponseHeatLossCorridor$inboundSchema: z.ZodType<
3794
+ EPCQueryResponseHeatLossCorridor,
3795
+ z.ZodTypeDef,
3796
+ unknown
3797
+ > = openEnums.inboundSchema(EPCQueryResponseHeatLossCorridor);
3798
+
3799
+ /** @internal */
3800
+ export const EPCQueryResponseMainFuel$inboundSchema: z.ZodType<
3801
+ EPCQueryResponseMainFuel,
3802
+ z.ZodTypeDef,
3803
+ unknown
3804
+ > = openEnums.inboundSchema(EPCQueryResponseMainFuel);
3805
+
3806
+ /** @internal */
3807
+ export const EPCQueryResponsePhotovoltaic$inboundSchema: z.ZodType<
3808
+ EPCQueryResponsePhotovoltaic,
3809
+ z.ZodTypeDef,
3810
+ unknown
3811
+ > = z.object({
3812
+ present: z.boolean(),
3813
+ supplyPercentage: z.nullable(z.number()),
3814
+ });
3815
+
3816
+ export function epcQueryResponsePhotovoltaicFromJSON(
3817
+ jsonString: string,
3818
+ ): SafeParseResult<EPCQueryResponsePhotovoltaic, SDKValidationError> {
3819
+ return safeParse(
3820
+ jsonString,
3821
+ (x) => EPCQueryResponsePhotovoltaic$inboundSchema.parse(JSON.parse(x)),
3822
+ `Failed to parse 'EPCQueryResponsePhotovoltaic' from JSON`,
3823
+ );
3824
+ }
3825
+
3826
+ /** @internal */
3827
+ export const EPCQueryResponseRenewables$inboundSchema: z.ZodType<
3828
+ EPCQueryResponseRenewables,
3829
+ z.ZodTypeDef,
3830
+ unknown
3831
+ > = z.object({
3832
+ description: z.nullable(z.string()),
3833
+ photovoltaic: z.nullable(
3834
+ z.lazy(() => EPCQueryResponsePhotovoltaic$inboundSchema),
3835
+ ),
3836
+ solarThermal: z.nullable(z.boolean()),
3837
+ windTurbines: z.nullable(z.number().int()),
3838
+ });
3839
+
3840
+ export function epcQueryResponseRenewablesFromJSON(
3841
+ jsonString: string,
3842
+ ): SafeParseResult<EPCQueryResponseRenewables, SDKValidationError> {
3843
+ return safeParse(
3844
+ jsonString,
3845
+ (x) => EPCQueryResponseRenewables$inboundSchema.parse(JSON.parse(x)),
3846
+ `Failed to parse 'EPCQueryResponseRenewables' from JSON`,
3847
+ );
3848
+ }
3849
+
3850
+ /** @internal */
3851
+ export const EPCQueryResponseVentilation$inboundSchema: z.ZodType<
3852
+ EPCQueryResponseVentilation,
3853
+ z.ZodTypeDef,
3854
+ unknown
3855
+ > = openEnums.inboundSchema(EPCQueryResponseVentilation);
3856
+
3857
+ /** @internal */
3858
+ export const EPCQueryResponseSystems$inboundSchema: z.ZodType<
3859
+ EPCQueryResponseSystems,
3860
+ z.ZodTypeDef,
3861
+ unknown
3862
+ > = z.object({
3863
+ airConditioning: z.nullable(
3864
+ z.lazy(() => EPCQueryResponseAirConditioning$inboundSchema),
3865
+ ),
3866
+ energyTariff: z.nullable(EPCQueryResponseEnergyTariff$inboundSchema),
3867
+ heatLossCorridor: z.nullable(EPCQueryResponseHeatLossCorridor$inboundSchema),
3868
+ mainFuel: z.nullable(EPCQueryResponseMainFuel$inboundSchema),
3869
+ mainFuelExternal: z.nullable(z.string()),
3870
+ mainHeatingControls: z.nullable(z.string()),
3871
+ mainsGas: z.nullable(z.boolean()),
3872
+ renewables: z.lazy(() => EPCQueryResponseRenewables$inboundSchema),
3873
+ unheatedCorridorLength: z.nullable(z.number()),
3874
+ ventilation: z.nullable(EPCQueryResponseVentilation$inboundSchema),
3875
+ });
3876
+
3877
+ export function epcQueryResponseSystemsFromJSON(
3878
+ jsonString: string,
3879
+ ): SafeParseResult<EPCQueryResponseSystems, SDKValidationError> {
3880
+ return safeParse(
3881
+ jsonString,
3882
+ (x) => EPCQueryResponseSystems$inboundSchema.parse(JSON.parse(x)),
3883
+ `Failed to parse 'EPCQueryResponseSystems' from JSON`,
3884
+ );
3885
+ }
3886
+
3887
+ /** @internal */
3888
+ export const EPCQueryResponseTransactionType$inboundSchema: z.ZodType<
3889
+ EPCQueryResponseTransactionType,
3890
+ z.ZodTypeDef,
3891
+ unknown
3892
+ > = openEnums.inboundSchema(EPCQueryResponseTransactionType);
3893
+
3894
+ /** @internal */
3895
+ export const EPCQueryResponseData$inboundSchema: z.ZodType<
3896
+ EPCQueryResponseData,
3897
+ z.ZodTypeDef,
3898
+ unknown
3899
+ > = z.object({
3900
+ address: z.lazy(() => EPCQueryResponseAddress$inboundSchema),
3901
+ assessmentMethodology: AssessmentMethodology$inboundSchema,
3902
+ benchmarks: z.nullable(z.lazy(() => Benchmarks$inboundSchema)),
3903
+ buildingReferenceNumber: z.nullable(z.string()),
3904
+ certificateType: EPCQueryResponseCertificateType$inboundSchema,
3905
+ constituency: z.nullable(z.string()),
3906
+ constituencyLabel: z.nullable(z.string()),
3907
+ coordinates: z.nullable(z.lazy(() => Coordinates$inboundSchema)),
3908
+ county: z.nullable(z.string()),
3909
+ createdAt: z.string(),
3910
+ dataZone: z.nullable(z.string()),
3911
+ domesticDetails: z.nullable(z.lazy(() => DomesticDetails$inboundSchema)),
3912
+ emissions: z.lazy(() => EPCQueryResponseEmissions$inboundSchema),
3913
+ fabric: z.nullable(z.lazy(() => EPCQueryResponseFabric$inboundSchema)),
3914
+ id: z.string(),
3915
+ inspectionDate: z.string(),
3916
+ localAuthority: z.nullable(z.string()),
3917
+ localAuthorityLabel: z.nullable(z.string()),
3918
+ locationId: z.nullable(z.number().int()),
3919
+ lodgementDate: z.string(),
3920
+ meesCompliance: EPCQueryResponseMeesCompliance$inboundSchema,
3921
+ operationalPerformance: z.nullable(
3922
+ z.lazy(() => OperationalPerformance$inboundSchema),
3923
+ ),
3924
+ propertyType: z.nullable(z.string()),
3925
+ propertyTypeExternal: z.nullable(z.string()),
3926
+ rating: z.lazy(() => EPCQueryResponseRating$inboundSchema),
3927
+ recommendations: z.array(
3928
+ z.lazy(() => EPCQueryResponseRecommendations$inboundSchema),
3929
+ ),
3930
+ runningCosts: z.nullable(
3931
+ z.lazy(() => EPCQueryResponseRunningCosts$inboundSchema),
3932
+ ),
3933
+ scotlandNativeRating: z.nullable(
3934
+ z.lazy(() => ScotlandNativeRating$inboundSchema),
3935
+ ),
3936
+ source: EPCQueryResponseSource$inboundSchema,
3937
+ sourceReference: z.string(),
3938
+ systems: z.lazy(() => EPCQueryResponseSystems$inboundSchema),
3939
+ totalFloorArea: z.nullable(z.number()),
3940
+ transactionType: z.nullable(EPCQueryResponseTransactionType$inboundSchema),
3941
+ transactionTypeExternal: z.nullable(z.string()),
3942
+ updatedAt: z.string(),
3943
+ validUntil: z.nullable(z.string()),
3944
+ });
3945
+
3946
+ export function epcQueryResponseDataFromJSON(
3947
+ jsonString: string,
3948
+ ): SafeParseResult<EPCQueryResponseData, SDKValidationError> {
3949
+ return safeParse(
3950
+ jsonString,
3951
+ (x) => EPCQueryResponseData$inboundSchema.parse(JSON.parse(x)),
3952
+ `Failed to parse 'EPCQueryResponseData' from JSON`,
3953
+ );
3954
+ }
3955
+
3956
+ /** @internal */
3957
+ export const EPCQueryResponseObject$inboundSchema: z.ZodNativeEnum<
3958
+ typeof EPCQueryResponseObject
3959
+ > = z.nativeEnum(EPCQueryResponseObject);
3960
+
3961
+ /** @internal */
3962
+ export const Pagination$inboundSchema: z.ZodType<
3963
+ Pagination,
3964
+ z.ZodTypeDef,
3965
+ unknown
3966
+ > = z.object({
3967
+ has_more: z.boolean(),
3968
+ total_count: z.number().int(),
3969
+ }).transform((v) => {
3970
+ return remap$(v, {
3971
+ "has_more": "hasMore",
3972
+ "total_count": "totalCount",
3973
+ });
3974
+ });
3975
+
3976
+ export function paginationFromJSON(
3977
+ jsonString: string,
3978
+ ): SafeParseResult<Pagination, SDKValidationError> {
3979
+ return safeParse(
3980
+ jsonString,
3981
+ (x) => Pagination$inboundSchema.parse(JSON.parse(x)),
3982
+ `Failed to parse 'Pagination' from JSON`,
3983
+ );
3984
+ }
3985
+
3986
+ /** @internal */
3987
+ export const Url$inboundSchema: z.ZodNativeEnum<typeof Url> = z.nativeEnum(Url);
3988
+
3989
+ /** @internal */
3990
+ export const EPCQueryResponse$inboundSchema: z.ZodType<
3991
+ EPCQueryResponse,
3992
+ z.ZodTypeDef,
3993
+ unknown
3994
+ > = z.object({
3995
+ data: z.array(z.lazy(() => EPCQueryResponseData$inboundSchema)),
3996
+ object: EPCQueryResponseObject$inboundSchema,
3997
+ pagination: z.lazy(() => Pagination$inboundSchema),
3998
+ url: Url$inboundSchema,
3999
+ });
4000
+
4001
+ export function epcQueryResponseFromJSON(
4002
+ jsonString: string,
4003
+ ): SafeParseResult<EPCQueryResponse, SDKValidationError> {
4004
+ return safeParse(
4005
+ jsonString,
4006
+ (x) => EPCQueryResponse$inboundSchema.parse(JSON.parse(x)),
4007
+ `Failed to parse 'EPCQueryResponse' from JSON`,
4008
+ );
4009
+ }