@vendasta/billing 8.2.0 → 9.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/esm2020/lib/_generated/host.service.mjs +25 -0
  2. package/esm2020/lib/_generated/index.mjs +2 -0
  3. package/esm2020/lib/_internal/bank-reconciliation.api.service.mjs +46 -0
  4. package/esm2020/lib/_internal/billing.api.service.mjs +216 -0
  5. package/esm2020/lib/_internal/bundle.api.service.mjs +50 -0
  6. package/esm2020/lib/_internal/contract-document.api.service.mjs +45 -0
  7. package/esm2020/lib/_internal/contract.api.service.mjs +55 -0
  8. package/esm2020/lib/_internal/credit.api.service.mjs +45 -0
  9. package/esm2020/lib/_internal/discount.api.service.mjs +53 -0
  10. package/esm2020/lib/_internal/enums/applied-discount.enum.mjs +14 -0
  11. package/esm2020/lib/_internal/enums/card.enum.mjs +17 -0
  12. package/esm2020/lib/_internal/enums/contract.enum.mjs +14 -0
  13. package/esm2020/lib/_internal/enums/currency.enum.mjs +35 -0
  14. package/esm2020/lib/_internal/enums/frequency.enum.mjs +14 -0
  15. package/esm2020/lib/_internal/enums/index.mjs +31 -0
  16. package/esm2020/lib/_internal/enums/invoice.enum.mjs +18 -0
  17. package/esm2020/lib/_internal/enums/merchant-report.enum.mjs +13 -0
  18. package/{esm2015/lib/_internal/enums/merchant.enum.js → esm2020/lib/_internal/enums/merchant.enum.mjs} +1 -1
  19. package/esm2020/lib/_internal/enums/month.enum.mjs +23 -0
  20. package/esm2020/lib/_internal/enums/payment-card.enum.mjs +24 -0
  21. package/esm2020/lib/_internal/enums/payment-processor.enum.mjs +13 -0
  22. package/{esm2015/lib/_internal/enums/payment.enum.js → esm2020/lib/_internal/enums/payment.enum.mjs} +1 -1
  23. package/esm2020/lib/_internal/enums/payout.enum.mjs +22 -0
  24. package/esm2020/lib/_internal/enums/pricing-plan.enum.mjs +22 -0
  25. package/{esm2015/lib/_internal/enums/product-summary.enum.js → esm2020/lib/_internal/enums/product-summary.enum.mjs} +1 -1
  26. package/esm2020/lib/_internal/enums/product.enum.mjs +17 -0
  27. package/esm2020/lib/_internal/enums/purchase.enum.mjs +27 -0
  28. package/esm2020/lib/_internal/enums/recurring-invoice.enum.mjs +29 -0
  29. package/esm2020/lib/_internal/enums/refund.enum.mjs +25 -0
  30. package/esm2020/lib/_internal/enums/sales-credit-note.enum.mjs +14 -0
  31. package/{esm2015/lib/_internal/enums/sales-invoice.enum.js → esm2020/lib/_internal/enums/sales-invoice.enum.mjs} +1 -1
  32. package/esm2020/lib/_internal/enums/sort-direction.enum.mjs +12 -0
  33. package/{esm2015/lib/_internal/enums/subscribe-validation.enum.js → esm2020/lib/_internal/enums/subscribe-validation.enum.mjs} +1 -1
  34. package/esm2020/lib/_internal/enums/subscription.enum.mjs +12 -0
  35. package/esm2020/lib/_internal/index.mjs +33 -0
  36. package/esm2020/lib/_internal/interfaces/api.interface.mjs +2 -0
  37. package/esm2020/lib/_internal/interfaces/applied-bundle.interface.mjs +8 -0
  38. package/esm2020/lib/_internal/interfaces/applied-discount.interface.mjs +8 -0
  39. package/esm2020/lib/_internal/interfaces/applied-tax-rate.interface.mjs +8 -0
  40. package/esm2020/lib/_internal/interfaces/balance.interface.mjs +8 -0
  41. package/esm2020/lib/_internal/interfaces/billable-item.interface.mjs +2 -0
  42. package/esm2020/lib/_internal/interfaces/bundle.interface.mjs +2 -0
  43. package/esm2020/lib/_internal/interfaces/card.interface.mjs +8 -0
  44. package/esm2020/lib/_internal/interfaces/commitment.interface.mjs +8 -0
  45. package/esm2020/lib/_internal/interfaces/common.interface.mjs +8 -0
  46. package/esm2020/lib/_internal/interfaces/contract-document.interface.mjs +2 -0
  47. package/esm2020/lib/_internal/interfaces/contract.interface.mjs +2 -0
  48. package/esm2020/lib/_internal/interfaces/credit.interface.mjs +8 -0
  49. package/esm2020/lib/_internal/interfaces/currency.interface.mjs +8 -0
  50. package/esm2020/lib/_internal/interfaces/customer-summary.interface.mjs +8 -0
  51. package/esm2020/lib/_internal/interfaces/date-range.interface.mjs +8 -0
  52. package/esm2020/lib/_internal/interfaces/discount.interface.mjs +2 -0
  53. package/esm2020/lib/_internal/interfaces/external-account.interface.mjs +8 -0
  54. package/esm2020/lib/_internal/interfaces/field-mask.interface.mjs +8 -0
  55. package/esm2020/lib/_internal/interfaces/frequency.interface.mjs +8 -0
  56. package/esm2020/lib/_internal/interfaces/index.mjs +2 -0
  57. package/esm2020/lib/_internal/interfaces/invoice-template.interface.mjs +2 -0
  58. package/esm2020/lib/_internal/interfaces/invoice.interface.mjs +2 -0
  59. package/esm2020/lib/_internal/interfaces/merchant-report.interface.mjs +2 -0
  60. package/esm2020/lib/_internal/interfaces/merchant.interface.mjs +2 -0
  61. package/esm2020/lib/_internal/interfaces/metered-component.interface.mjs +8 -0
  62. package/esm2020/lib/_internal/interfaces/month.interface.mjs +8 -0
  63. package/esm2020/lib/_internal/interfaces/payment-card.interface.mjs +8 -0
  64. package/esm2020/lib/_internal/interfaces/payment-processor.interface.mjs +8 -0
  65. package/esm2020/lib/_internal/interfaces/payment.interface.mjs +2 -0
  66. package/esm2020/lib/_internal/interfaces/payout.interface.mjs +2 -0
  67. package/esm2020/lib/_internal/interfaces/pricing-plan-product.interface.mjs +2 -0
  68. package/esm2020/lib/_internal/interfaces/pricing-plan.interface.mjs +2 -0
  69. package/esm2020/lib/_internal/interfaces/product-pricing.interface.mjs +2 -0
  70. package/esm2020/lib/_internal/interfaces/product-summary.interface.mjs +2 -0
  71. package/esm2020/lib/_internal/interfaces/product.interface.mjs +2 -0
  72. package/esm2020/lib/_internal/interfaces/purchase.interface.mjs +2 -0
  73. package/esm2020/lib/_internal/interfaces/recurring-invoice.interface.mjs +2 -0
  74. package/esm2020/lib/_internal/interfaces/refund.interface.mjs +8 -0
  75. package/esm2020/lib/_internal/interfaces/retail-customer-configuration.interface.mjs +8 -0
  76. package/esm2020/lib/_internal/interfaces/sales-credit-note.interface.mjs +2 -0
  77. package/esm2020/lib/_internal/interfaces/sales-invoice.interface.mjs +2 -0
  78. package/esm2020/lib/_internal/interfaces/sort-direction.interface.mjs +8 -0
  79. package/esm2020/lib/_internal/interfaces/subscribe-validation.interface.mjs +8 -0
  80. package/esm2020/lib/_internal/interfaces/subscription.interface.mjs +2 -0
  81. package/esm2020/lib/_internal/interfaces/tax-rate.interface.mjs +2 -0
  82. package/esm2020/lib/_internal/invoice-template.api.service.mjs +85 -0
  83. package/esm2020/lib/_internal/invoice.api.service.mjs +116 -0
  84. package/esm2020/lib/_internal/merchant.api.service.mjs +159 -0
  85. package/esm2020/lib/_internal/objects/api.mjs +890 -0
  86. package/esm2020/lib/_internal/objects/applied-bundle.mjs +77 -0
  87. package/esm2020/lib/_internal/objects/applied-discount.mjs +46 -0
  88. package/esm2020/lib/_internal/objects/applied-tax-rate.mjs +39 -0
  89. package/esm2020/lib/_internal/objects/balance.mjs +45 -0
  90. package/esm2020/lib/_internal/objects/billable-item.mjs +562 -0
  91. package/esm2020/lib/_internal/objects/bundle.mjs +390 -0
  92. package/esm2020/lib/_internal/objects/card.mjs +7 -0
  93. package/esm2020/lib/_internal/objects/commitment.mjs +36 -0
  94. package/esm2020/lib/_internal/objects/common.mjs +56 -0
  95. package/esm2020/lib/_internal/objects/contract-document.mjs +141 -0
  96. package/esm2020/lib/_internal/objects/contract.mjs +474 -0
  97. package/esm2020/lib/_internal/objects/credit.mjs +114 -0
  98. package/esm2020/lib/_internal/objects/currency.mjs +7 -0
  99. package/esm2020/lib/_internal/objects/customer-summary.mjs +104 -0
  100. package/esm2020/lib/_internal/objects/date-range.mjs +36 -0
  101. package/esm2020/lib/_internal/objects/discount.mjs +299 -0
  102. package/esm2020/lib/_internal/objects/external-account.mjs +160 -0
  103. package/esm2020/lib/_internal/objects/field-mask.mjs +27 -0
  104. package/esm2020/lib/_internal/objects/frequency.mjs +7 -0
  105. package/esm2020/lib/_internal/objects/index.mjs +46 -0
  106. package/esm2020/lib/_internal/objects/invoice-template.mjs +707 -0
  107. package/esm2020/lib/_internal/objects/invoice.mjs +1117 -0
  108. package/esm2020/lib/_internal/objects/merchant-report.mjs +108 -0
  109. package/esm2020/lib/_internal/objects/merchant.mjs +991 -0
  110. package/esm2020/lib/_internal/objects/metered-component.mjs +97 -0
  111. package/esm2020/lib/_internal/objects/month.mjs +7 -0
  112. package/esm2020/lib/_internal/objects/payment-card.mjs +211 -0
  113. package/esm2020/lib/_internal/objects/payment-processor.mjs +7 -0
  114. package/esm2020/lib/_internal/objects/payment.mjs +1219 -0
  115. package/esm2020/lib/_internal/objects/payout.mjs +258 -0
  116. package/esm2020/lib/_internal/objects/pricing-plan-product.mjs +565 -0
  117. package/esm2020/lib/_internal/objects/pricing-plan.mjs +290 -0
  118. package/esm2020/lib/_internal/objects/product-pricing.mjs +139 -0
  119. package/esm2020/lib/_internal/objects/product-summary.mjs +538 -0
  120. package/esm2020/lib/_internal/objects/product.mjs +302 -0
  121. package/esm2020/lib/_internal/objects/purchase.mjs +524 -0
  122. package/esm2020/lib/_internal/objects/recurring-invoice.mjs +324 -0
  123. package/esm2020/lib/_internal/objects/refund.mjs +181 -0
  124. package/esm2020/lib/_internal/objects/retail-customer-configuration.mjs +159 -0
  125. package/esm2020/lib/_internal/objects/sales-credit-note.mjs +211 -0
  126. package/esm2020/lib/_internal/objects/sales-invoice.mjs +300 -0
  127. package/esm2020/lib/_internal/objects/sort-direction.mjs +7 -0
  128. package/esm2020/lib/_internal/objects/subscribe-validation.mjs +31 -0
  129. package/esm2020/lib/_internal/objects/subscription.mjs +555 -0
  130. package/esm2020/lib/_internal/objects/tax-rate.mjs +342 -0
  131. package/esm2020/lib/_internal/payment-method.api.service.mjs +49 -0
  132. package/esm2020/lib/_internal/payment.api.service.mjs +102 -0
  133. package/esm2020/lib/_internal/pricing.api.service.mjs +81 -0
  134. package/esm2020/lib/_internal/product-summary.api.service.mjs +46 -0
  135. package/esm2020/lib/_internal/product.api.service.mjs +47 -0
  136. package/esm2020/lib/_internal/purchase.api.service.mjs +59 -0
  137. package/esm2020/lib/_internal/recurring-invoice.api.service.mjs +60 -0
  138. package/esm2020/lib/_internal/refund.api.service.mjs +45 -0
  139. package/esm2020/lib/_internal/retail-customer-configuration.api.service.mjs +45 -0
  140. package/esm2020/lib/_internal/sales-credit-note.api.service.mjs +45 -0
  141. package/esm2020/lib/_internal/sales-invoice.api.service.mjs +50 -0
  142. package/esm2020/lib/_internal/tax.api.service.mjs +63 -0
  143. package/esm2020/lib/_internal/vendor.api.service.mjs +46 -0
  144. package/esm2020/lib/index.mjs +3 -0
  145. package/esm2020/public_api.mjs +2 -0
  146. package/esm2020/vendasta-billing.mjs +5 -0
  147. package/fesm2015/{vendasta-billing.js → vendasta-billing.mjs} +717 -5236
  148. package/fesm2015/vendasta-billing.mjs.map +1 -0
  149. package/fesm2020/vendasta-billing.mjs +14454 -0
  150. package/fesm2020/vendasta-billing.mjs.map +1 -0
  151. package/lib/_generated/host.service.d.ts +5 -9
  152. package/lib/_internal/bank-reconciliation.api.service.d.ts +4 -0
  153. package/lib/_internal/billing.api.service.d.ts +4 -0
  154. package/lib/_internal/bundle.api.service.d.ts +4 -0
  155. package/lib/_internal/contract-document.api.service.d.ts +4 -0
  156. package/lib/_internal/contract.api.service.d.ts +4 -0
  157. package/lib/_internal/credit.api.service.d.ts +4 -0
  158. package/lib/_internal/discount.api.service.d.ts +4 -0
  159. package/lib/_internal/interfaces/api.interface.d.ts +8 -1
  160. package/lib/_internal/interfaces/index.d.ts +2 -2
  161. package/lib/_internal/interfaces/product-pricing.interface.d.ts +5 -0
  162. package/lib/_internal/interfaces/recurring-invoice.interface.d.ts +2 -1
  163. package/lib/_internal/invoice-template.api.service.d.ts +4 -0
  164. package/lib/_internal/invoice.api.service.d.ts +4 -0
  165. package/lib/_internal/merchant.api.service.d.ts +4 -0
  166. package/lib/_internal/objects/api.d.ts +14 -1
  167. package/lib/_internal/objects/index.d.ts +2 -2
  168. package/lib/_internal/objects/product-pricing.d.ts +8 -0
  169. package/lib/_internal/objects/recurring-invoice.d.ts +2 -1
  170. package/lib/_internal/payment-method.api.service.d.ts +4 -0
  171. package/lib/_internal/payment.api.service.d.ts +4 -0
  172. package/lib/_internal/pricing.api.service.d.ts +7 -2
  173. package/lib/_internal/product-summary.api.service.d.ts +4 -0
  174. package/lib/_internal/product.api.service.d.ts +4 -0
  175. package/lib/_internal/purchase.api.service.d.ts +4 -0
  176. package/lib/_internal/recurring-invoice.api.service.d.ts +4 -0
  177. package/lib/_internal/refund.api.service.d.ts +4 -0
  178. package/lib/_internal/retail-customer-configuration.api.service.d.ts +4 -0
  179. package/lib/_internal/sales-credit-note.api.service.d.ts +4 -0
  180. package/lib/_internal/sales-invoice.api.service.d.ts +4 -0
  181. package/lib/_internal/tax.api.service.d.ts +4 -0
  182. package/lib/_internal/vendor.api.service.d.ts +4 -0
  183. package/lib/index.d.ts +2 -37
  184. package/package.json +26 -15
  185. package/src/README.md +1 -0
  186. package/vendasta-billing.d.ts +1 -0
  187. package/bundles/vendasta-billing.umd.js +0 -19912
  188. package/bundles/vendasta-billing.umd.js.map +0 -1
  189. package/bundles/vendasta-billing.umd.min.js +0 -16
  190. package/bundles/vendasta-billing.umd.min.js.map +0 -1
  191. package/esm2015/lib/_generated/host.service.js +0 -65
  192. package/esm2015/lib/_generated/index.js +0 -2
  193. package/esm2015/lib/_internal/bank-reconciliation.api.service.js +0 -47
  194. package/esm2015/lib/_internal/billing.api.service.js +0 -217
  195. package/esm2015/lib/_internal/bundle.api.service.js +0 -51
  196. package/esm2015/lib/_internal/contract-document.api.service.js +0 -46
  197. package/esm2015/lib/_internal/contract.api.service.js +0 -56
  198. package/esm2015/lib/_internal/credit.api.service.js +0 -46
  199. package/esm2015/lib/_internal/discount.api.service.js +0 -54
  200. package/esm2015/lib/_internal/enums/applied-discount.enum.js +0 -14
  201. package/esm2015/lib/_internal/enums/card.enum.js +0 -17
  202. package/esm2015/lib/_internal/enums/contract.enum.js +0 -14
  203. package/esm2015/lib/_internal/enums/currency.enum.js +0 -35
  204. package/esm2015/lib/_internal/enums/frequency.enum.js +0 -14
  205. package/esm2015/lib/_internal/enums/index.js +0 -31
  206. package/esm2015/lib/_internal/enums/invoice.enum.js +0 -18
  207. package/esm2015/lib/_internal/enums/merchant-report.enum.js +0 -13
  208. package/esm2015/lib/_internal/enums/month.enum.js +0 -23
  209. package/esm2015/lib/_internal/enums/payment-card.enum.js +0 -24
  210. package/esm2015/lib/_internal/enums/payment-processor.enum.js +0 -13
  211. package/esm2015/lib/_internal/enums/payout.enum.js +0 -22
  212. package/esm2015/lib/_internal/enums/pricing-plan.enum.js +0 -22
  213. package/esm2015/lib/_internal/enums/product.enum.js +0 -17
  214. package/esm2015/lib/_internal/enums/purchase.enum.js +0 -27
  215. package/esm2015/lib/_internal/enums/recurring-invoice.enum.js +0 -29
  216. package/esm2015/lib/_internal/enums/refund.enum.js +0 -25
  217. package/esm2015/lib/_internal/enums/sales-credit-note.enum.js +0 -14
  218. package/esm2015/lib/_internal/enums/sort-direction.enum.js +0 -12
  219. package/esm2015/lib/_internal/enums/subscription.enum.js +0 -12
  220. package/esm2015/lib/_internal/index.js +0 -33
  221. package/esm2015/lib/_internal/interfaces/api.interface.js +0 -2
  222. package/esm2015/lib/_internal/interfaces/applied-bundle.interface.js +0 -8
  223. package/esm2015/lib/_internal/interfaces/applied-discount.interface.js +0 -8
  224. package/esm2015/lib/_internal/interfaces/applied-tax-rate.interface.js +0 -8
  225. package/esm2015/lib/_internal/interfaces/balance.interface.js +0 -8
  226. package/esm2015/lib/_internal/interfaces/billable-item.interface.js +0 -2
  227. package/esm2015/lib/_internal/interfaces/bundle.interface.js +0 -2
  228. package/esm2015/lib/_internal/interfaces/card.interface.js +0 -8
  229. package/esm2015/lib/_internal/interfaces/commitment.interface.js +0 -8
  230. package/esm2015/lib/_internal/interfaces/common.interface.js +0 -8
  231. package/esm2015/lib/_internal/interfaces/contract-document.interface.js +0 -2
  232. package/esm2015/lib/_internal/interfaces/contract.interface.js +0 -2
  233. package/esm2015/lib/_internal/interfaces/credit.interface.js +0 -8
  234. package/esm2015/lib/_internal/interfaces/currency.interface.js +0 -8
  235. package/esm2015/lib/_internal/interfaces/customer-summary.interface.js +0 -8
  236. package/esm2015/lib/_internal/interfaces/date-range.interface.js +0 -8
  237. package/esm2015/lib/_internal/interfaces/discount.interface.js +0 -2
  238. package/esm2015/lib/_internal/interfaces/external-account.interface.js +0 -8
  239. package/esm2015/lib/_internal/interfaces/field-mask.interface.js +0 -8
  240. package/esm2015/lib/_internal/interfaces/frequency.interface.js +0 -8
  241. package/esm2015/lib/_internal/interfaces/index.js +0 -2
  242. package/esm2015/lib/_internal/interfaces/invoice-template.interface.js +0 -2
  243. package/esm2015/lib/_internal/interfaces/invoice.interface.js +0 -2
  244. package/esm2015/lib/_internal/interfaces/merchant-report.interface.js +0 -2
  245. package/esm2015/lib/_internal/interfaces/merchant.interface.js +0 -2
  246. package/esm2015/lib/_internal/interfaces/metered-component.interface.js +0 -8
  247. package/esm2015/lib/_internal/interfaces/month.interface.js +0 -8
  248. package/esm2015/lib/_internal/interfaces/payment-card.interface.js +0 -8
  249. package/esm2015/lib/_internal/interfaces/payment-processor.interface.js +0 -8
  250. package/esm2015/lib/_internal/interfaces/payment.interface.js +0 -2
  251. package/esm2015/lib/_internal/interfaces/payout.interface.js +0 -2
  252. package/esm2015/lib/_internal/interfaces/pricing-plan-product.interface.js +0 -2
  253. package/esm2015/lib/_internal/interfaces/pricing-plan.interface.js +0 -2
  254. package/esm2015/lib/_internal/interfaces/product-pricing.interface.js +0 -2
  255. package/esm2015/lib/_internal/interfaces/product-summary.interface.js +0 -2
  256. package/esm2015/lib/_internal/interfaces/product.interface.js +0 -2
  257. package/esm2015/lib/_internal/interfaces/purchase.interface.js +0 -2
  258. package/esm2015/lib/_internal/interfaces/recurring-invoice.interface.js +0 -2
  259. package/esm2015/lib/_internal/interfaces/refund.interface.js +0 -8
  260. package/esm2015/lib/_internal/interfaces/retail-customer-configuration.interface.js +0 -8
  261. package/esm2015/lib/_internal/interfaces/sales-credit-note.interface.js +0 -2
  262. package/esm2015/lib/_internal/interfaces/sales-invoice.interface.js +0 -2
  263. package/esm2015/lib/_internal/interfaces/sort-direction.interface.js +0 -8
  264. package/esm2015/lib/_internal/interfaces/subscribe-validation.interface.js +0 -8
  265. package/esm2015/lib/_internal/interfaces/subscription.interface.js +0 -2
  266. package/esm2015/lib/_internal/interfaces/tax-rate.interface.js +0 -2
  267. package/esm2015/lib/_internal/invoice-template.api.service.js +0 -86
  268. package/esm2015/lib/_internal/invoice.api.service.js +0 -117
  269. package/esm2015/lib/_internal/merchant.api.service.js +0 -160
  270. package/esm2015/lib/_internal/objects/api.js +0 -841
  271. package/esm2015/lib/_internal/objects/applied-bundle.js +0 -77
  272. package/esm2015/lib/_internal/objects/applied-discount.js +0 -46
  273. package/esm2015/lib/_internal/objects/applied-tax-rate.js +0 -39
  274. package/esm2015/lib/_internal/objects/balance.js +0 -45
  275. package/esm2015/lib/_internal/objects/billable-item.js +0 -562
  276. package/esm2015/lib/_internal/objects/bundle.js +0 -390
  277. package/esm2015/lib/_internal/objects/card.js +0 -7
  278. package/esm2015/lib/_internal/objects/commitment.js +0 -36
  279. package/esm2015/lib/_internal/objects/common.js +0 -56
  280. package/esm2015/lib/_internal/objects/contract-document.js +0 -141
  281. package/esm2015/lib/_internal/objects/contract.js +0 -474
  282. package/esm2015/lib/_internal/objects/credit.js +0 -114
  283. package/esm2015/lib/_internal/objects/currency.js +0 -7
  284. package/esm2015/lib/_internal/objects/customer-summary.js +0 -104
  285. package/esm2015/lib/_internal/objects/date-range.js +0 -36
  286. package/esm2015/lib/_internal/objects/discount.js +0 -299
  287. package/esm2015/lib/_internal/objects/external-account.js +0 -160
  288. package/esm2015/lib/_internal/objects/field-mask.js +0 -27
  289. package/esm2015/lib/_internal/objects/frequency.js +0 -7
  290. package/esm2015/lib/_internal/objects/index.js +0 -46
  291. package/esm2015/lib/_internal/objects/invoice-template.js +0 -707
  292. package/esm2015/lib/_internal/objects/invoice.js +0 -1117
  293. package/esm2015/lib/_internal/objects/merchant-report.js +0 -108
  294. package/esm2015/lib/_internal/objects/merchant.js +0 -991
  295. package/esm2015/lib/_internal/objects/metered-component.js +0 -97
  296. package/esm2015/lib/_internal/objects/month.js +0 -7
  297. package/esm2015/lib/_internal/objects/payment-card.js +0 -211
  298. package/esm2015/lib/_internal/objects/payment-processor.js +0 -7
  299. package/esm2015/lib/_internal/objects/payment.js +0 -1219
  300. package/esm2015/lib/_internal/objects/payout.js +0 -258
  301. package/esm2015/lib/_internal/objects/pricing-plan-product.js +0 -565
  302. package/esm2015/lib/_internal/objects/pricing-plan.js +0 -290
  303. package/esm2015/lib/_internal/objects/product-pricing.js +0 -107
  304. package/esm2015/lib/_internal/objects/product-summary.js +0 -538
  305. package/esm2015/lib/_internal/objects/product.js +0 -302
  306. package/esm2015/lib/_internal/objects/purchase.js +0 -524
  307. package/esm2015/lib/_internal/objects/recurring-invoice.js +0 -324
  308. package/esm2015/lib/_internal/objects/refund.js +0 -181
  309. package/esm2015/lib/_internal/objects/retail-customer-configuration.js +0 -159
  310. package/esm2015/lib/_internal/objects/sales-credit-note.js +0 -211
  311. package/esm2015/lib/_internal/objects/sales-invoice.js +0 -300
  312. package/esm2015/lib/_internal/objects/sort-direction.js +0 -7
  313. package/esm2015/lib/_internal/objects/subscribe-validation.js +0 -31
  314. package/esm2015/lib/_internal/objects/subscription.js +0 -555
  315. package/esm2015/lib/_internal/objects/tax-rate.js +0 -342
  316. package/esm2015/lib/_internal/payment-method.api.service.js +0 -50
  317. package/esm2015/lib/_internal/payment.api.service.js +0 -103
  318. package/esm2015/lib/_internal/pricing.api.service.js +0 -77
  319. package/esm2015/lib/_internal/product-summary.api.service.js +0 -47
  320. package/esm2015/lib/_internal/product.api.service.js +0 -48
  321. package/esm2015/lib/_internal/purchase.api.service.js +0 -60
  322. package/esm2015/lib/_internal/recurring-invoice.api.service.js +0 -61
  323. package/esm2015/lib/_internal/refund.api.service.js +0 -46
  324. package/esm2015/lib/_internal/retail-customer-configuration.api.service.js +0 -46
  325. package/esm2015/lib/_internal/sales-credit-note.api.service.js +0 -46
  326. package/esm2015/lib/_internal/sales-invoice.api.service.js +0 -51
  327. package/esm2015/lib/_internal/tax.api.service.js +0 -64
  328. package/esm2015/lib/_internal/vendor.api.service.js +0 -47
  329. package/esm2015/lib/applied_bundle/applied_bundle.js +0 -12
  330. package/esm2015/lib/applied_bundle/index.js +0 -2
  331. package/esm2015/lib/applied_discount/applied_discount.js +0 -48
  332. package/esm2015/lib/applied_discount/index.js +0 -2
  333. package/esm2015/lib/bank_account/bank-account.service.js +0 -38
  334. package/esm2015/lib/bank_account/bank_account.js +0 -13
  335. package/esm2015/lib/bank_account/index.js +0 -3
  336. package/esm2015/lib/bank_reconciliation/bank-reconciliation.service.js +0 -54
  337. package/esm2015/lib/bank_reconciliation/index.js +0 -3
  338. package/esm2015/lib/bank_reconciliation/payout.js +0 -53
  339. package/esm2015/lib/billable-item/billable-item.js +0 -40
  340. package/esm2015/lib/billable-item/billable-item.service.js +0 -31
  341. package/esm2015/lib/billable-item/index.js +0 -2
  342. package/esm2015/lib/billing-host.service.js +0 -41
  343. package/esm2015/lib/billing.service.js +0 -376
  344. package/esm2015/lib/bundle/bundle.js +0 -37
  345. package/esm2015/lib/bundle/bundle.service.js +0 -56
  346. package/esm2015/lib/bundle/index.js +0 -2
  347. package/esm2015/lib/contract/contract.js +0 -21
  348. package/esm2015/lib/contract/contract.service.js +0 -39
  349. package/esm2015/lib/contract/dimension.js +0 -21
  350. package/esm2015/lib/contract/index.js +0 -5
  351. package/esm2015/lib/contract/mutations.js +0 -11
  352. package/esm2015/lib/contract-document/contract-document.js +0 -9
  353. package/esm2015/lib/contract-document/contract-document.service.js +0 -68
  354. package/esm2015/lib/contract-document/index.js +0 -2
  355. package/esm2015/lib/contract-document/list-contract-document.js +0 -2
  356. package/esm2015/lib/core/index.js +0 -3
  357. package/esm2015/lib/core/paged-response.js +0 -8
  358. package/esm2015/lib/core/sort-direction.js +0 -6
  359. package/esm2015/lib/credit/credit.js +0 -8
  360. package/esm2015/lib/credit/credit.service.js +0 -33
  361. package/esm2015/lib/credit/index.js +0 -2
  362. package/esm2015/lib/customer_summary/customer-summary.js +0 -15
  363. package/esm2015/lib/discount/discount.js +0 -18
  364. package/esm2015/lib/discount/discount.service.js +0 -73
  365. package/esm2015/lib/discount/discount_type.js +0 -32
  366. package/esm2015/lib/discount/index.js +0 -3
  367. package/esm2015/lib/discount/list-discount.js +0 -2
  368. package/esm2015/lib/http-shared/error-handlers.js +0 -20
  369. package/esm2015/lib/index.js +0 -38
  370. package/esm2015/lib/invoice/index.js +0 -3
  371. package/esm2015/lib/invoice/invoice.js +0 -198
  372. package/esm2015/lib/invoice/invoice.service.js +0 -254
  373. package/esm2015/lib/invoice/list-invoice.js +0 -2
  374. package/esm2015/lib/invoice-template/index.js +0 -2
  375. package/esm2015/lib/invoice-template/invoice-template.js +0 -38
  376. package/esm2015/lib/invoice-template/invoice-template.service.js +0 -78
  377. package/esm2015/lib/merchant/balance.js +0 -2
  378. package/esm2015/lib/merchant/index.js +0 -5
  379. package/esm2015/lib/merchant/merchant.interface.js +0 -2
  380. package/esm2015/lib/merchant/merchant.js +0 -20
  381. package/esm2015/lib/merchant/merchant.service.js +0 -212
  382. package/esm2015/lib/merchant/payout-summary.js +0 -32
  383. package/esm2015/lib/merchant/retail-configuration.js +0 -57
  384. package/esm2015/lib/merchant-report/index.js +0 -2
  385. package/esm2015/lib/merchant-report/merchant-report-status.js +0 -2
  386. package/esm2015/lib/merchant-report/merchant-report.interfaces.js +0 -2
  387. package/esm2015/lib/merchant-report/merchant-report.js +0 -2
  388. package/esm2015/lib/merchant-report/merchant-report.service.js +0 -38
  389. package/esm2015/lib/payment/dispute.js +0 -92
  390. package/esm2015/lib/payment/index.js +0 -10
  391. package/esm2015/lib/payment/payment-allocation-type.js +0 -18
  392. package/esm2015/lib/payment/payment-source.js +0 -18
  393. package/esm2015/lib/payment/payment-status.js +0 -17
  394. package/esm2015/lib/payment/payment.js +0 -292
  395. package/esm2015/lib/payment/payment.service.js +0 -138
  396. package/esm2015/lib/payment/retail-payment.js +0 -70
  397. package/esm2015/lib/payment/retail-status.js +0 -50
  398. package/esm2015/lib/payment-card/index.js +0 -3
  399. package/esm2015/lib/payment-card/payment-card.js +0 -60
  400. package/esm2015/lib/payment-card/payment-card.service.js +0 -45
  401. package/esm2015/lib/payment-method/index.js +0 -2
  402. package/esm2015/lib/payment-method/payment-method.service.js +0 -43
  403. package/esm2015/lib/pricing/billing-strategy.js +0 -39
  404. package/esm2015/lib/pricing/commitment.js +0 -7
  405. package/esm2015/lib/pricing/currency.js +0 -86
  406. package/esm2015/lib/pricing/frequency.js +0 -42
  407. package/esm2015/lib/pricing/index.js +0 -12
  408. package/esm2015/lib/pricing/list-pricing-plan-product-filter.js +0 -2
  409. package/esm2015/lib/pricing/pricing-plan-product.js +0 -53
  410. package/esm2015/lib/pricing/pricing-plan.js +0 -14
  411. package/esm2015/lib/pricing/pricing-plan.service.js +0 -287
  412. package/esm2015/lib/pricing/product-pricing-rules.js +0 -10
  413. package/esm2015/lib/pricing/product-pricing-type.js +0 -31
  414. package/esm2015/lib/pricing/product-pricing.js +0 -44
  415. package/esm2015/lib/pricing/wholesale-pricing.service.js +0 -61
  416. package/esm2015/lib/product/index.js +0 -3
  417. package/esm2015/lib/product/list-products.js +0 -30
  418. package/esm2015/lib/product/product.js +0 -10
  419. package/esm2015/lib/product-summary/index.js +0 -3
  420. package/esm2015/lib/product-summary/product-summary.service.js +0 -42
  421. package/esm2015/lib/product-summary/subscription-retention.js +0 -19
  422. package/esm2015/lib/purchase/index.js +0 -4
  423. package/esm2015/lib/purchase/list-purchases.js +0 -17
  424. package/esm2015/lib/purchase/purchase.js +0 -79
  425. package/esm2015/lib/purchase/purchase.service.js +0 -31
  426. package/esm2015/lib/purchase/purchase_status.js +0 -26
  427. package/esm2015/lib/recurring_invoice/collection-method.js +0 -31
  428. package/esm2015/lib/recurring_invoice/index.js +0 -6
  429. package/esm2015/lib/recurring_invoice/interval.js +0 -42
  430. package/esm2015/lib/recurring_invoice/payment-processor.js +0 -32
  431. package/esm2015/lib/recurring_invoice/recurring-invoice.js +0 -123
  432. package/esm2015/lib/recurring_invoice/recurring-invoice.service.js +0 -64
  433. package/esm2015/lib/recurring_invoice/status.js +0 -37
  434. package/esm2015/lib/refund/index.js +0 -3
  435. package/esm2015/lib/refund/refund.js +0 -81
  436. package/esm2015/lib/refund/refund.service.js +0 -53
  437. package/esm2015/lib/retail-customer-configuration/index.js +0 -3
  438. package/esm2015/lib/retail-customer-configuration/retail-customer-configuration.js +0 -44
  439. package/esm2015/lib/retail-customer-configuration/retail-customer-configuration.service.js +0 -39
  440. package/esm2015/lib/revenue/index.js +0 -2
  441. package/esm2015/lib/revenue/revenue.interfaces.js +0 -2
  442. package/esm2015/lib/revenue/revenue.service.js +0 -34
  443. package/esm2015/lib/sales-credit-note/index.js +0 -3
  444. package/esm2015/lib/sales-credit-note/sales-credit-note.js +0 -53
  445. package/esm2015/lib/sales-credit-note/sales-credit-note.service.js +0 -72
  446. package/esm2015/lib/sales-invoice/index.js +0 -3
  447. package/esm2015/lib/sales-invoice/sales-invoice.js +0 -87
  448. package/esm2015/lib/sales-invoice/sales-invoice.service.js +0 -77
  449. package/esm2015/lib/sku.js +0 -4
  450. package/esm2015/lib/stripe-file/file.js +0 -2
  451. package/esm2015/lib/stripe-file/index.js +0 -3
  452. package/esm2015/lib/stripe-file/purpose.js +0 -13
  453. package/esm2015/lib/stripe-file/stripe-file.service.js +0 -35
  454. package/esm2015/lib/subscription/can-create-subscriptions-item.js +0 -2
  455. package/esm2015/lib/subscription/index.js +0 -2
  456. package/esm2015/lib/tax-rate/index.js +0 -2
  457. package/esm2015/lib/tax-rate/tax-rate.js +0 -13
  458. package/esm2015/lib/tax-rate/tax-rate.service.js +0 -86
  459. package/esm2015/public_api.js +0 -2
  460. package/esm2015/vendasta-billing.js +0 -5
  461. package/fesm2015/vendasta-billing.js.map +0 -1
  462. package/lib/applied_bundle/applied_bundle.d.ts +0 -15
  463. package/lib/applied_bundle/index.d.ts +0 -1
  464. package/lib/applied_discount/applied_discount.d.ts +0 -26
  465. package/lib/applied_discount/index.d.ts +0 -1
  466. package/lib/bank_account/bank-account.service.d.ts +0 -11
  467. package/lib/bank_account/bank_account.d.ts +0 -12
  468. package/lib/bank_account/index.d.ts +0 -3
  469. package/lib/bank_reconciliation/bank-reconciliation.service.d.ts +0 -10
  470. package/lib/bank_reconciliation/index.d.ts +0 -2
  471. package/lib/bank_reconciliation/payout.d.ts +0 -37
  472. package/lib/billable-item/billable-item.d.ts +0 -40
  473. package/lib/billable-item/billable-item.service.d.ts +0 -10
  474. package/lib/billable-item/index.d.ts +0 -2
  475. package/lib/billing-host.service.d.ts +0 -11
  476. package/lib/billing.service.d.ts +0 -88
  477. package/lib/bundle/bundle.d.ts +0 -26
  478. package/lib/bundle/bundle.service.d.ts +0 -14
  479. package/lib/bundle/index.d.ts +0 -2
  480. package/lib/contract/contract.d.ts +0 -20
  481. package/lib/contract/contract.service.d.ts +0 -23
  482. package/lib/contract/dimension.d.ts +0 -11
  483. package/lib/contract/index.d.ts +0 -5
  484. package/lib/contract/mutations.d.ts +0 -11
  485. package/lib/contract-document/contract-document.d.ts +0 -8
  486. package/lib/contract-document/contract-document.service.d.ts +0 -17
  487. package/lib/contract-document/index.d.ts +0 -3
  488. package/lib/contract-document/list-contract-document.d.ts +0 -3
  489. package/lib/core/index.d.ts +0 -2
  490. package/lib/core/paged-response.d.ts +0 -6
  491. package/lib/core/sort-direction.d.ts +0 -4
  492. package/lib/credit/credit.d.ts +0 -7
  493. package/lib/credit/credit.service.d.ts +0 -9
  494. package/lib/credit/index.d.ts +0 -2
  495. package/lib/customer_summary/customer-summary.d.ts +0 -9
  496. package/lib/discount/discount.d.ts +0 -17
  497. package/lib/discount/discount.service.d.ts +0 -15
  498. package/lib/discount/discount_type.d.ts +0 -9
  499. package/lib/discount/index.d.ts +0 -4
  500. package/lib/discount/list-discount.d.ts +0 -5
  501. package/lib/http-shared/error-handlers.d.ts +0 -4
  502. package/lib/invoice/index.d.ts +0 -3
  503. package/lib/invoice/invoice.d.ts +0 -86
  504. package/lib/invoice/invoice.service.d.ts +0 -40
  505. package/lib/invoice/list-invoice.d.ts +0 -15
  506. package/lib/invoice-template/index.d.ts +0 -2
  507. package/lib/invoice-template/invoice-template.d.ts +0 -35
  508. package/lib/invoice-template/invoice-template.service.d.ts +0 -14
  509. package/lib/merchant/balance.d.ts +0 -5
  510. package/lib/merchant/index.d.ts +0 -7
  511. package/lib/merchant/merchant.d.ts +0 -19
  512. package/lib/merchant/merchant.interface.d.ts +0 -3
  513. package/lib/merchant/merchant.service.d.ts +0 -59
  514. package/lib/merchant/payout-summary.d.ts +0 -19
  515. package/lib/merchant/retail-configuration.d.ts +0 -24
  516. package/lib/merchant-report/index.d.ts +0 -4
  517. package/lib/merchant-report/merchant-report-status.d.ts +0 -1
  518. package/lib/merchant-report/merchant-report.d.ts +0 -8
  519. package/lib/merchant-report/merchant-report.interfaces.d.ts +0 -5
  520. package/lib/merchant-report/merchant-report.service.d.ts +0 -12
  521. package/lib/payment/dispute.d.ts +0 -61
  522. package/lib/payment/index.d.ts +0 -9
  523. package/lib/payment/payment-allocation-type.d.ts +0 -7
  524. package/lib/payment/payment-source.d.ts +0 -7
  525. package/lib/payment/payment-status.d.ts +0 -7
  526. package/lib/payment/payment.d.ts +0 -42
  527. package/lib/payment/payment.service.d.ts +0 -24
  528. package/lib/payment/retail-payment.d.ts +0 -33
  529. package/lib/payment/retail-status.d.ts +0 -24
  530. package/lib/payment-card/index.d.ts +0 -2
  531. package/lib/payment-card/payment-card.d.ts +0 -41
  532. package/lib/payment-card/payment-card.service.d.ts +0 -13
  533. package/lib/payment-method/index.d.ts +0 -1
  534. package/lib/payment-method/payment-method.service.d.ts +0 -10
  535. package/lib/pricing/billing-strategy.d.ts +0 -11
  536. package/lib/pricing/commitment.d.ts +0 -6
  537. package/lib/pricing/currency.d.ts +0 -29
  538. package/lib/pricing/frequency.d.ts +0 -10
  539. package/lib/pricing/index.d.ts +0 -11
  540. package/lib/pricing/list-pricing-plan-product-filter.d.ts +0 -4
  541. package/lib/pricing/pricing-plan-product.d.ts +0 -34
  542. package/lib/pricing/pricing-plan.d.ts +0 -13
  543. package/lib/pricing/pricing-plan.service.d.ts +0 -17
  544. package/lib/pricing/product-pricing-rules.d.ts +0 -7
  545. package/lib/pricing/product-pricing-type.d.ts +0 -9
  546. package/lib/pricing/product-pricing.d.ts +0 -37
  547. package/lib/pricing/wholesale-pricing.service.d.ts +0 -19
  548. package/lib/product/index.d.ts +0 -2
  549. package/lib/product/list-products.d.ts +0 -16
  550. package/lib/product/product.d.ts +0 -9
  551. package/lib/product-summary/index.d.ts +0 -2
  552. package/lib/product-summary/product-summary.service.d.ts +0 -10
  553. package/lib/product-summary/subscription-retention.d.ts +0 -20
  554. package/lib/purchase/index.d.ts +0 -4
  555. package/lib/purchase/list-purchases.d.ts +0 -27
  556. package/lib/purchase/purchase.d.ts +0 -56
  557. package/lib/purchase/purchase.service.d.ts +0 -10
  558. package/lib/purchase/purchase_status.d.ts +0 -10
  559. package/lib/recurring_invoice/collection-method.d.ts +0 -4
  560. package/lib/recurring_invoice/index.d.ts +0 -5
  561. package/lib/recurring_invoice/interval.d.ts +0 -10
  562. package/lib/recurring_invoice/payment-processor.d.ts +0 -8
  563. package/lib/recurring_invoice/recurring-invoice.d.ts +0 -62
  564. package/lib/recurring_invoice/recurring-invoice.service.d.ts +0 -14
  565. package/lib/recurring_invoice/status.d.ts +0 -9
  566. package/lib/refund/index.d.ts +0 -2
  567. package/lib/refund/refund.d.ts +0 -36
  568. package/lib/refund/refund.service.d.ts +0 -11
  569. package/lib/retail-customer-configuration/index.d.ts +0 -2
  570. package/lib/retail-customer-configuration/retail-customer-configuration.d.ts +0 -20
  571. package/lib/retail-customer-configuration/retail-customer-configuration.service.d.ts +0 -9
  572. package/lib/revenue/index.d.ts +0 -2
  573. package/lib/revenue/revenue.interfaces.d.ts +0 -3
  574. package/lib/revenue/revenue.service.d.ts +0 -11
  575. package/lib/sales-credit-note/index.d.ts +0 -2
  576. package/lib/sales-credit-note/sales-credit-note.d.ts +0 -30
  577. package/lib/sales-credit-note/sales-credit-note.service.d.ts +0 -16
  578. package/lib/sales-invoice/index.d.ts +0 -2
  579. package/lib/sales-invoice/sales-invoice.d.ts +0 -42
  580. package/lib/sales-invoice/sales-invoice.service.d.ts +0 -16
  581. package/lib/sku.d.ts +0 -3
  582. package/lib/stripe-file/file.d.ts +0 -6
  583. package/lib/stripe-file/index.d.ts +0 -3
  584. package/lib/stripe-file/purpose.d.ts +0 -11
  585. package/lib/stripe-file/stripe-file.service.d.ts +0 -12
  586. package/lib/subscription/can-create-subscriptions-item.d.ts +0 -6
  587. package/lib/subscription/index.d.ts +0 -1
  588. package/lib/tax-rate/index.d.ts +0 -2
  589. package/lib/tax-rate/tax-rate.d.ts +0 -20
  590. package/lib/tax-rate/tax-rate.service.d.ts +0 -15
  591. package/vendasta-billing.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"vendasta-billing.umd.js","sources":["../../../billing_sdk/src/lib/applied_bundle/applied_bundle.ts","../../../billing_sdk/src/lib/_internal/enums/frequency.enum.ts","../../../billing_sdk/src/lib/_internal/enums/applied-discount.enum.ts","../../../billing_sdk/src/lib/_internal/enums/currency.enum.ts","../../../billing_sdk/src/lib/_internal/enums/contract.enum.ts","../../../billing_sdk/src/lib/_internal/enums/product-summary.enum.ts","../../../billing_sdk/src/lib/_internal/enums/invoice.enum.ts","../../../billing_sdk/src/lib/_internal/enums/payout.enum.ts","../../../billing_sdk/src/lib/_internal/enums/sort-direction.enum.ts","../../../billing_sdk/src/lib/_internal/enums/merchant.enum.ts","../../../billing_sdk/src/lib/_internal/enums/month.enum.ts","../../../billing_sdk/src/lib/_internal/enums/merchant-report.enum.ts","../../../billing_sdk/src/lib/_internal/enums/card.enum.ts","../../../billing_sdk/src/lib/_internal/enums/payment.enum.ts","../../../billing_sdk/src/lib/_internal/enums/payment-card.enum.ts","../../../billing_sdk/src/lib/_internal/enums/pricing-plan.enum.ts","../../../billing_sdk/src/lib/_internal/enums/product.enum.ts","../../../billing_sdk/src/lib/_internal/enums/purchase.enum.ts","../../../billing_sdk/src/lib/_internal/enums/refund.enum.ts","../../../billing_sdk/src/lib/_internal/enums/sales-credit-note.enum.ts","../../../billing_sdk/src/lib/_internal/enums/sales-invoice.enum.ts","../../../billing_sdk/src/lib/_internal/enums/subscribe-validation.enum.ts","../../../billing_sdk/src/lib/_internal/enums/subscription.enum.ts","../../../billing_sdk/src/lib/_internal/enums/payment-processor.enum.ts","../../../billing_sdk/src/lib/_internal/enums/recurring-invoice.enum.ts","../../../billing_sdk/src/lib/_internal/enums/index.ts","../../../billing_sdk/src/lib/_internal/objects/common.ts","../../../billing_sdk/src/lib/_internal/objects/billable-item.ts","../../../billing_sdk/src/lib/_internal/objects/applied-discount.ts","../../../billing_sdk/src/lib/_internal/objects/bundle.ts","../../../billing_sdk/src/lib/_internal/objects/commitment.ts","../../../billing_sdk/src/lib/_internal/objects/contract.ts","../../../billing_sdk/src/lib/_internal/objects/customer-summary.ts","../../../billing_sdk/src/lib/_internal/objects/external-account.ts","../../../billing_sdk/src/lib/_internal/objects/product-summary.ts","../../../billing_sdk/src/lib/_internal/objects/discount.ts","../../../billing_sdk/src/lib/_internal/objects/applied-tax-rate.ts","../../../billing_sdk/src/lib/_internal/objects/field-mask.ts","../../../billing_sdk/src/lib/_internal/objects/tax-rate.ts","../../../billing_sdk/src/lib/_internal/objects/applied-bundle.ts","../../../billing_sdk/src/lib/_internal/objects/invoice.ts","../../../billing_sdk/src/lib/_internal/objects/balance.ts","../../../billing_sdk/src/lib/_internal/objects/date-range.ts","../../../billing_sdk/src/lib/_internal/objects/payout.ts","../../../billing_sdk/src/lib/_internal/objects/merchant.ts","../../../billing_sdk/src/lib/_internal/objects/merchant-report.ts","../../../billing_sdk/src/lib/_internal/objects/metered-component.ts","../../../billing_sdk/src/lib/_internal/objects/payment.ts","../../../billing_sdk/src/lib/_internal/objects/payment-card.ts","../../../billing_sdk/src/lib/_internal/objects/pricing-plan.ts","../../../billing_sdk/src/lib/_internal/objects/pricing-plan-product.ts","../../../billing_sdk/src/lib/_internal/objects/product.ts","../../../billing_sdk/src/lib/_internal/objects/product-pricing.ts","../../../billing_sdk/src/lib/_internal/objects/purchase.ts","../../../billing_sdk/src/lib/_internal/objects/refund.ts","../../../billing_sdk/src/lib/_internal/objects/sales-credit-note.ts","../../../billing_sdk/src/lib/_internal/objects/sales-invoice.ts","../../../billing_sdk/src/lib/_internal/objects/subscribe-validation.ts","../../../billing_sdk/src/lib/_internal/objects/subscription.ts","../../../billing_sdk/src/lib/_internal/objects/contract-document.ts","../../../billing_sdk/src/lib/_internal/objects/retail-customer-configuration.ts","../../../billing_sdk/src/lib/_internal/objects/credit.ts","../../../billing_sdk/src/lib/_internal/objects/invoice-template.ts","../../../billing_sdk/src/lib/_internal/objects/recurring-invoice.ts","../../../billing_sdk/src/lib/_internal/objects/api.ts","../../../billing_sdk/src/lib/_internal/objects/index.ts","../../../billing_sdk/src/lib/_generated/host.service.ts","../../../billing_sdk/src/lib/_internal/bank-reconciliation.api.service.ts","../../../billing_sdk/src/lib/_internal/billing.api.service.ts","../../../billing_sdk/src/lib/_internal/bundle.api.service.ts","../../../billing_sdk/src/lib/_internal/contract-document.api.service.ts","../../../billing_sdk/src/lib/_internal/contract.api.service.ts","../../../billing_sdk/src/lib/_internal/credit.api.service.ts","../../../billing_sdk/src/lib/_internal/discount.api.service.ts","../../../billing_sdk/src/lib/_internal/invoice.api.service.ts","../../../billing_sdk/src/lib/_internal/invoice-template.api.service.ts","../../../billing_sdk/src/lib/_internal/merchant.api.service.ts","../../../billing_sdk/src/lib/_internal/payment-method.api.service.ts","../../../billing_sdk/src/lib/_internal/payment.api.service.ts","../../../billing_sdk/src/lib/_internal/pricing.api.service.ts","../../../billing_sdk/src/lib/_internal/product.api.service.ts","../../../billing_sdk/src/lib/_internal/product-summary.api.service.ts","../../../billing_sdk/src/lib/_internal/purchase.api.service.ts","../../../billing_sdk/src/lib/_internal/recurring-invoice.api.service.ts","../../../billing_sdk/src/lib/_internal/refund.api.service.ts","../../../billing_sdk/src/lib/_internal/retail-customer-configuration.api.service.ts","../../../billing_sdk/src/lib/_internal/sales-credit-note.api.service.ts","../../../billing_sdk/src/lib/_internal/sales-invoice.api.service.ts","../../../billing_sdk/src/lib/_internal/tax.api.service.ts","../../../billing_sdk/src/lib/_internal/vendor.api.service.ts","../../../billing_sdk/src/lib/_internal/index.ts","../../../billing_sdk/src/lib/applied_discount/applied_discount.ts","../../../billing_sdk/src/lib/bank_account/bank_account.ts","../../../billing_sdk/src/lib/bank_account/bank-account.service.ts","../../../billing_sdk/src/lib/pricing/billing-strategy.ts","../../../billing_sdk/src/lib/pricing/currency.ts","../../../billing_sdk/src/lib/pricing/frequency.ts","../../../billing_sdk/src/lib/pricing/product-pricing-rules.ts","../../../billing_sdk/src/lib/pricing/product-pricing-type.ts","../../../billing_sdk/src/lib/pricing/commitment.ts","../../../billing_sdk/src/lib/pricing/product-pricing.ts","../../../billing_sdk/src/lib/pricing/pricing-plan-product.ts","../../../billing_sdk/src/lib/pricing/wholesale-pricing.service.ts","../../../billing_sdk/src/lib/pricing/pricing-plan.ts","../../../node_modules/tslib/tslib.es6.js","../../../billing_sdk/src/lib/pricing/pricing-plan.service.ts","../../../billing_sdk/src/lib/bank_reconciliation/payout.ts","../../../billing_sdk/src/lib/core/sort-direction.ts","../../../billing_sdk/src/lib/core/paged-response.ts","../../../billing_sdk/src/lib/bank_reconciliation/bank-reconciliation.service.ts","../../../billing_sdk/src/lib/billable-item/billable-item.ts","../../../billing_sdk/src/lib/billable-item/billable-item.service.ts","../../../billing_sdk/src/lib/billing-host.service.ts","../../../billing_sdk/src/lib/http-shared/error-handlers.ts","../../../billing_sdk/src/lib/revenue/revenue.service.ts","../../../billing_sdk/src/lib/merchant-report/merchant-report.service.ts","../../../billing_sdk/src/lib/purchase/purchase_status.ts","../../../billing_sdk/src/lib/purchase/purchase.ts","../../../billing_sdk/src/lib/customer_summary/customer-summary.ts","../../../billing_sdk/src/lib/contract/dimension.ts","../../../billing_sdk/src/lib/contract/contract.ts","../../../billing_sdk/src/lib/contract/contract.service.ts","../../../billing_sdk/src/lib/contract/mutations.ts","../../../billing_sdk/src/lib/product/product.ts","../../../billing_sdk/src/lib/product/list-products.ts","../../../billing_sdk/src/lib/billing.service.ts","../../../billing_sdk/src/lib/discount/discount_type.ts","../../../billing_sdk/src/lib/bundle/bundle.ts","../../../billing_sdk/src/lib/bundle/bundle.service.ts","../../../billing_sdk/src/lib/contract-document/contract-document.ts","../../../billing_sdk/src/lib/contract-document/contract-document.service.ts","../../../billing_sdk/src/lib/credit/credit.ts","../../../billing_sdk/src/lib/credit/credit.service.ts","../../../billing_sdk/src/lib/discount/discount.ts","../../../billing_sdk/src/lib/discount/discount.service.ts","../../../billing_sdk/src/lib/retail-customer-configuration/retail-customer-configuration.ts","../../../billing_sdk/src/lib/retail-customer-configuration/retail-customer-configuration.service.ts","../../../billing_sdk/src/lib/invoice/invoice.ts","../../../billing_sdk/src/lib/invoice/invoice.service.ts","../../../billing_sdk/src/lib/invoice-template/invoice-template.ts","../../../billing_sdk/src/lib/invoice-template/invoice-template.service.ts","../../../billing_sdk/src/lib/merchant/merchant.ts","../../../billing_sdk/src/lib/merchant/payout-summary.ts","../../../billing_sdk/src/lib/merchant/retail-configuration.ts","../../../billing_sdk/src/lib/merchant/merchant.service.ts","../../../billing_sdk/src/lib/payment/dispute.ts","../../../billing_sdk/src/lib/payment/payment-source.ts","../../../billing_sdk/src/lib/payment/payment-status.ts","../../../billing_sdk/src/lib/payment/payment-allocation-type.ts","../../../billing_sdk/src/lib/payment/payment.ts","../../../billing_sdk/src/lib/payment-card/payment-card.ts","../../../billing_sdk/src/lib/payment-card/payment-card.service.ts","../../../billing_sdk/src/lib/payment/retail-payment.ts","../../../billing_sdk/src/lib/payment/retail-status.ts","../../../billing_sdk/src/lib/payment/payment.service.ts","../../../billing_sdk/src/lib/payment-method/payment-method.service.ts","../../../billing_sdk/src/lib/product-summary/subscription-retention.ts","../../../billing_sdk/src/lib/product-summary/product-summary.service.ts","../../../billing_sdk/src/lib/purchase/list-purchases.ts","../../../billing_sdk/src/lib/purchase/purchase.service.ts","../../../billing_sdk/src/lib/refund/refund.ts","../../../billing_sdk/src/lib/refund/refund.service.ts","../../../billing_sdk/src/lib/recurring_invoice/collection-method.ts","../../../billing_sdk/src/lib/recurring_invoice/interval.ts","../../../billing_sdk/src/lib/recurring_invoice/payment-processor.ts","../../../billing_sdk/src/lib/recurring_invoice/status.ts","../../../billing_sdk/src/lib/recurring_invoice/recurring-invoice.ts","../../../billing_sdk/src/lib/recurring_invoice/recurring-invoice.service.ts","../../../billing_sdk/src/lib/sales-credit-note/sales-credit-note.ts","../../../billing_sdk/src/lib/sales-credit-note/sales-credit-note.service.ts","../../../billing_sdk/src/lib/sales-invoice/sales-invoice.ts","../../../billing_sdk/src/lib/sales-invoice/sales-invoice.service.ts","../../../billing_sdk/src/lib/sku.ts","../../../billing_sdk/src/lib/stripe-file/stripe-file.service.ts","../../../billing_sdk/src/lib/stripe-file/purpose.ts","../../../billing_sdk/src/lib/tax-rate/tax-rate.ts","../../../billing_sdk/src/lib/tax-rate/tax-rate.service.ts","../../../billing_sdk/src/vendasta-billing.ts"],"sourcesContent":["import {AppliedBundle as ApiAppliedBundle} from '../_internal';\n\nexport interface AppliedBundle {\n bundleId?: string;\n bundleInstanceId?: string;\n name?: string;\n bundleItems?: AppliedBundleItem[];\n hideBundleItems?: boolean;\n}\n\nexport interface AppliedBundleItem {\n productId?: string;\n discountType?: string;\n discountAmount?: number;\n quantity?: number;\n}\n\nexport function convertApiAppliedBundle(ab: ApiAppliedBundle): AppliedBundle {\n if (!ab) {\n return null\n }\n\n return {\n bundleId: ab.bundleId,\n bundleInstanceId: ab.bundleInstanceId,\n name: ab.name,\n hideBundleItems: ab.hideBundleItems || false,\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum Frequency {\n INVALID = 0,\n MONTHLY = 1,\n YEARLY = 2,\n ONE_TIME = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum DiscountType {\n DISCOUNT_TYPE_FIXED_AMOUNT = 0,\n DISCOUNT_TYPE_PERCENT_AMOUNT = 1,\n DISCOUNT_TYPE_FIXED_NUMBER_OF_UNITS = 2,\n DISCOUNT_TYPE_FIXED_AMOUNT_PER_UNIT = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum Currency {\n USD = 0,\n CAD = 1,\n EUR = 2,\n AUD = 3,\n GBP = 4,\n NZD = 5,\n BRL = 6,\n CHF = 7,\n CNY = 8,\n CZK = 9,\n INR = 10,\n JPY = 11,\n KHR = 12,\n KRW = 13,\n MXN = 14,\n NOK = 15,\n RUB = 16,\n SEK = 17,\n SGD = 18,\n TRY = 19,\n ZAR = 20,\n DZD = 21,\n AWG = 22,\n FJD = 23,\n KYD = 24,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ContractSubscriptionStatus {\n CONTRACT_SUBSCRIPTION_STATUS_UNSET = 0,\n CONTRACT_SUBSCRIPTION_STATUS_PENDING = 1,\n CONTRACT_SUBSCRIPTION_STATUS_SUCCEEDED = 2,\n CONTRACT_SUBSCRIPTION_STATUS_FAILED = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ProductSummaryBillingStrategy {\n CHARGE_AT_END_OF_BILLING_PERIOD = 0,\n CHARGE_AT_START_OF_BILLING_PERIOD = 1,\n CHARGE_INSTANTLY = 2,\n CHARGE_AT_END_OF_DAY = 3,\n}\n\nexport enum ProductSummaryDiscountDiscountType {\n FIXED_AMOUNT = 0,\n PERCENT_AMOUNT = 1,\n FIXED_NUMBER_OF_UNITS = 2,\n FIXED_AMOUNT_PER_UNIT = 3,\n}\n\nexport enum ProductSummaryProductType {\n BUNDLE = 0,\n FEE = 1,\n PRODUCT = 2,\n SUBSCRIPTION = 3,\n VENDASTA_PRODUCT = 4,\n}\n\nexport enum PricingRuleType {\n STANDARD = 0,\n STAIRSTEP = 1,\n TIERED = 2,\n CUSTOM = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ListInvoicesRequestFiltersDateFilterDateField {\n CREATED = 0,\n}\n\nexport enum InvoiceStatus {\n DRAFT = 0,\n DUE = 1,\n PAID = 2,\n VOID = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum PayoutStatus {\n PAYOUT_STATUS_NOT_SET = 0,\n PAYOUT_STATUS_PAID = 1,\n PAYOUT_STATUS_PENDING = 2,\n PAYOUT_STATUS_IN_TRANSIT = 3,\n PAYOUT_STATUS_CANCELED = 4,\n PAYOUT_STATUS_FAILED = 5,\n}\n\nexport enum PayoutType {\n PAYOUT_TYPE_NOT_SET = 0,\n PAYOUT_TYPE_BANK_ACCOUNT = 1,\n PAYOUT_TYPE_CARD = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum SortDirection {\n SORT_DIRECTION_ASCENDING = 0,\n SORT_DIRECTION_DESCENDING = 1,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum SearchMerchantsRequestSortBy {\n SEARCH_MERCHANTS_REQUEST_SORT_BY_MERCHANT_ID = 0,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_COMPANY_NAME = 1,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_CONTACT_NAME = 2,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_EMAIL_ADDRESS = 3,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_COUNTRY = 4,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_STATE = 5,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_CREATED = 6,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_UPDATED = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum Month {\n INVALID_MONTH = 0,\n JANUARY = 1,\n FEBRUARY = 2,\n MARCH = 3,\n APRIL = 4,\n MAY = 5,\n JUNE = 6,\n JULY = 7,\n AUGUST = 8,\n SEPTEMBER = 9,\n OCTOBER = 10,\n NOVEMBER = 11,\n DECEMBER = 12,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum MerchantReportStatus {\n FAILED = 0,\n PENDING = 1,\n COMPLETED = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum CardType {\n CARD_TYPE_UNKNOWN = 0,\n CARD_TYPE_VISA = 1,\n CARD_TYPE_MASTERCARD = 2,\n CARD_TYPE_AMEX = 3,\n CARD_TYPE_DISCOVER = 4,\n CARD_TYPE_JCB = 5,\n CARD_TYPE_DINERS_CLUB = 6,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum DisputeStatus {\n DISPUTE_STATUS_UNSET = 0,\n DISPUTE_STATUS_WARNING_NEEDS_RESPONSE = 1,\n DISPUTE_STATUS_WARNING_UNDER_REVIEW = 2,\n DISPUTE_STATUS_WARNING_CLOSED = 3,\n DISPUTE_STATUS_NEEDS_RESPONSE = 4,\n DISPUTE_STATUS_UNDER_REVIEW = 5,\n DISPUTE_STATUS_CHARGE_REFUNDED = 6,\n DISPUTE_STATUS_WON = 7,\n DISPUTE_STATUS_LOST = 8,\n}\n\nexport enum PaymentAllocationType {\n PAYMENT_ALLOCATION_TYPE_UNSET = 0,\n PAYMENT_ALLOCATION_TYPE_PURCHASE = 1,\n PAYMENT_ALLOCATION_TYPE_INVOICE = 2,\n}\n\nexport enum PaymentSource {\n PAYMENT_SOURCE_NONE = 0,\n PAYMENT_SOURCE_STRIPE = 1,\n PAYMENT_SOURCE_VCASH = 2,\n}\n\nexport enum PaymentStatus {\n PAYMENT_STATUS_UNSET = 0,\n PAYMENT_STATUS_SUCCEEDED = 1,\n PAYMENT_STATUS_FAILED = 2,\n PAYMENT_STATUS_REFUNDED = 3,\n PAYMENT_STATUS_PARTIALLY_REFUNDED = 4,\n}\n\nexport enum RetailPaymentReferenceType {\n RETAIL_PAYMENT_REFERENCE_TYPE_UNSET = 0,\n RETAIL_PAYMENT_REFERENCE_TYPE_INVOICE = 1,\n RETAIL_PAYMENT_REFERENCE_TYPE_SALES_ORDER = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum PaymentCardCARD_TYPE {\n UNKNOWN = 0,\n VISA = 1,\n MASTERCARD = 2,\n AMEX = 3,\n DISCOVER = 4,\n JCB = 5,\n DINERS_CLUB = 6,\n}\n\nexport enum PaymentCardFUNDING_TYPE {\n FUNDING_TYPE_UNKNOWN = 0,\n FUNDING_TYPE_CREDIT = 1,\n FUNDING_TYPE_DEBIT = 2,\n FUNDING_TYPE_PREPAID = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum BillingStrategy {\n BILLING_STRATEGY_NONE = 0,\n BILLING_STRATEGY_END_OF_PERIOD = 1,\n BILLING_STRATEGY_START_OF_PERIOD = 2,\n BILLING_STRATEGY_INSTANTLY = 3,\n BILLING_STRATEGY_END_OF_DAY = 4,\n}\n\nexport enum ProductPricingType {\n PRODUCT_PRICING_TYPE_INVALID = 0,\n PRODUCT_PRICING_TYPE_STANDARD = 1,\n PRODUCT_PRICING_TYPE_STAIRSTEP = 2,\n PRODUCT_PRICING_TYPE_TIERED = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ProductType {\n PRODUCT_TYPE_INVALID = 0,\n PRODUCT_TYPE_STANDARD_PRODUCT = 1,\n PRODUCT_TYPE_VENDASTA_PRODUCT = 2,\n PRODUCT_TYPE_SUBSCRIPTION = 3,\n PRODUCT_TYPE_FEE = 4,\n PRODUCT_TYPE_PRIVATE_PRODUCT = 5,\n PRODUCT_TYPE_PARTNER_SUPPORT_SALES = 6,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum CreditType {\n CREDIT_TYPE_UNSET = 0,\n CREDIT_TYPE_CREDIT_NOTE = 1,\n CREDIT_TYPE_PROMOTIONAL = 2,\n}\n\nexport enum PurchaseStatus {\n PURCHASE_STATUS_UNSET = 0,\n PURCHASE_STATUS_PENDING = 1,\n PURCHASE_STATUS_DUE = 2,\n PURCHASE_STATUS_SUCCESS = 3,\n PURCHASE_STATUS_DUNNING = 4,\n PURCHASE_STATUS_FAILED = 5,\n}\n\nexport enum ListPurchaseRequestState {\n LIST_PURCHASE_REQUEST_STATE_ALL = 0,\n LIST_PURCHASE_REQUEST_STATE_OVERDUE = 1,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ReferenceType {\n PURCHASE = 0,\n PURCHASE_ITEM = 1,\n INVOICE = 2,\n}\n\nexport enum RefundReason {\n REQUESTED_BY_CUSTOMER = 0,\n DUPLICATE = 1,\n FRAUDULENT = 2,\n}\n\nexport enum RefundStatus {\n SUCCEEDED = 0,\n FAILED = 1,\n PENDING = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum SalesCreditNoteStatus {\n SALES_CREDIT_NOTE_STATUS_IN_PROGRESS = 0,\n SALES_CREDIT_NOTE_STATUS_READY_TO_POST = 1,\n SALES_CREDIT_NOTE_STATUS_COMPLETE = 2,\n SALES_CREDIT_NOTE_STATUS_DISCARDED = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum PaymentStatuses {\n PAYMENT_STATUSES_NOT_SET = 0,\n PAYMENT_STATUSES_UNPAID = 1,\n PAYMENT_STATUSES_PAID = 2,\n PAYMENT_STATUSES_PART_PAID = 3,\n PAYMENT_STATUSES_NOT_APPLICABLE = 4,\n}\n\nexport enum SalesInvoiceStatus {\n SALES_INVOICE_STATUS_IN_PROGRESS = 0,\n SALES_INVOICE_STATUS_READY_TO_POST = 1,\n SALES_INVOICE_STATUS_COMPLETE = 2,\n SALES_INVOICE_STATUS_DISCARDED = 3,\n}\n\nexport enum SalesInvoiceType {\n SALES_INVOICE_TYPE_UNSET = 0,\n SALES_INVOICE_TYPE_INVOICED = 1,\n SALES_INVOICE_TYPE_INSTANT = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum SubscribeValidationStatus {\n SUBSCRIBE_VALIDATION_STATUS_UNSET = 0,\n SUBSCRIBE_VALIDATION_STATUS_CANNOT_INSTANT_BILL = 1,\n SUBSCRIBE_VALIDATION_STATUS_MISSING_MERCHANT_INFO = 2,\n SUBSCRIBE_VALIDATION_STATUS_MISSING_PAYMENT_INFO = 3,\n SUBSCRIBE_VALIDATION_STATUS_WILL_CAUSE_FUTURE_CHARGES = 4,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum RenewalState {\n RENEWAL_STATE_IMMEDIATE = 0,\n RENEWAL_STATE_DELAYED = 1,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum PaymentProcessor {\n PAYMENT_PROCESSOR_INVALID = 0,\n PAYMENT_PROCESSOR_UNSET = 1,\n PAYMENT_PROCESSOR_STRIPE = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum CollectionMethod {\n COLLECTION_METHOD_INVALID = 0,\n COLLECTION_METHOD_MANUAL = 1,\n COLLECTION_METHOD_EMAIL = 2,\n COLLECTION_METHOD_CHARGE_AUTOMATICALLY = 3,\n}\n\nexport enum Interval {\n INTERVAL_INVALID = 0,\n INTERVAL_DAY = 1,\n INTERVAL_WEEK = 2,\n INTERVAL_MONTH = 3,\n INTERVAL_YEAR = 4,\n}\n\nexport enum RecurringInvoiceStatus {\n RECURRING_INVOICE_STATUS_INVALID = 0,\n RECURRING_INVOICE_STATUS_INACTIVE = 1,\n RECURRING_INVOICE_STATUS_ACTIVE = 2,\n RECURRING_INVOICE_STATUS_ARCHIVED = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\nexport {\n Frequency,\n} from './frequency.enum';\nexport {\n DiscountType,\n} from './applied-discount.enum';\nexport {\n Currency,\n} from './currency.enum';\nexport {\n ContractSubscriptionStatus,\n} from './contract.enum';\nexport {\n ProductSummaryBillingStrategy,\n ProductSummaryDiscountDiscountType,\n ProductSummaryProductType,\n PricingRuleType,\n} from './product-summary.enum';\nexport {\n ListInvoicesRequestFiltersDateFilterDateField,\n InvoiceStatus,\n} from './invoice.enum';\nexport {\n PayoutStatus,\n PayoutType,\n} from './payout.enum';\nexport {\n SortDirection,\n} from './sort-direction.enum';\nexport {\n SearchMerchantsRequestSortBy,\n} from './merchant.enum';\nexport {\n Month,\n} from './month.enum';\nexport {\n MerchantReportStatus,\n} from './merchant-report.enum';\nexport {\n CardType,\n} from './card.enum';\nexport {\n DisputeStatus,\n PaymentAllocationType,\n PaymentSource,\n PaymentStatus,\n RetailPaymentReferenceType,\n} from './payment.enum';\nexport {\n PaymentCardCARD_TYPE,\n PaymentCardFUNDING_TYPE,\n} from './payment-card.enum';\nexport {\n BillingStrategy,\n ProductPricingType,\n} from './pricing-plan.enum';\nexport {\n ProductType,\n} from './product.enum';\nexport {\n CreditType,\n PurchaseStatus,\n ListPurchaseRequestState,\n} from './purchase.enum';\nexport {\n ReferenceType,\n RefundReason,\n RefundStatus,\n} from './refund.enum';\nexport {\n SalesCreditNoteStatus,\n} from './sales-credit-note.enum';\nexport {\n PaymentStatuses,\n SalesInvoiceStatus,\n SalesInvoiceType,\n} from './sales-invoice.enum';\nexport {\n SubscribeValidationStatus,\n} from './subscribe-validation.enum';\nexport {\n RenewalState,\n} from './subscription.enum';\nexport {\n PaymentProcessor,\n} from './payment-processor.enum';\nexport {\n CollectionMethod,\n Interval,\n RecurringInvoiceStatus,\n} from './recurring-invoice.enum';\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class PagedRequestOptions implements i.PagedRequestOptionsInterface {\n cursor: string;\n pageSize: number;\n\n static fromProto(proto: any): PagedRequestOptions {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PagedRequestOptionsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n return toReturn;\n }\n}\n\nexport class PagedResponseMetadata implements i.PagedResponseMetadataInterface {\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): PagedResponseMetadata {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedResponseMetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class BillItemRequest implements i.BillItemRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n billingStart: Date;\n proratedTo: Date;\n\n static fromProto(proto: any): BillItemRequest {\n let m = new BillItemRequest();\n m = Object.assign(m, proto);\n if (proto.billingStart) {m.billingStart = new Date(proto.billingStart);}\n if (proto.proratedTo) {m.proratedTo = new Date(proto.proratedTo);}\n return m;\n }\n\n constructor(kwargs?: i.BillItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.billingStart !== 'undefined' && this.billingStart !== null) {toReturn['billingStart'] = 'toApiJson' in this.billingStart ? (this.billingStart as any).toApiJson() : this.billingStart;}\n if (typeof this.proratedTo !== 'undefined' && this.proratedTo !== null) {toReturn['proratedTo'] = 'toApiJson' in this.proratedTo ? (this.proratedTo as any).toApiJson() : this.proratedTo;}\n return toReturn;\n }\n}\n\nexport class BillMultipleItemsRequest implements i.BillMultipleItemsRequestInterface {\n merchantId: string;\n items: Item[];\n\n static fromProto(proto: any): BillMultipleItemsRequest {\n let m = new BillMultipleItemsRequest();\n m = Object.assign(m, proto);\n if (proto.items) {m.items = proto.items.map(Item.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.BillMultipleItemsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n return toReturn;\n }\n}\n\nexport class BillMultipleItemsResponse implements i.BillMultipleItemsResponseInterface {\n id: string;\n\n static fromProto(proto: any): BillMultipleItemsResponse {\n let m = new BillMultipleItemsResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BillMultipleItemsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class BillableItem implements i.BillableItemInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n expiry: Date;\n billingStart: Date;\n created: Date;\n updated: Date;\n frequency: e.Frequency;\n nextRenewal: Date;\n customerName: string;\n productName: string;\n customerAddress: BillableItemCustomerAddress;\n customUnitPrice: number;\n retailFrequency: e.Frequency;\n nextRetailRenewal: Date;\n retailUnitPrice: number;\n\n static fromProto(proto: any): BillableItem {\n let m = new BillableItem();\n m = Object.assign(m, proto);\n if (proto.expiry) {m.expiry = new Date(proto.expiry);}\n if (proto.billingStart) {m.billingStart = new Date(proto.billingStart);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.nextRenewal) {m.nextRenewal = new Date(proto.nextRenewal);}\n if (proto.customerAddress) {m.customerAddress = BillableItemCustomerAddress.fromProto(proto.customerAddress);}\n if (proto.customUnitPrice) {m.customUnitPrice = parseInt(proto.customUnitPrice, 10);}\n if (proto.retailFrequency) {m.retailFrequency = enumStringToValue<e.Frequency>(e.Frequency, proto.retailFrequency);}\n if (proto.nextRetailRenewal) {m.nextRetailRenewal = new Date(proto.nextRetailRenewal);}\n if (proto.retailUnitPrice) {m.retailUnitPrice = parseInt(proto.retailUnitPrice, 10);}\n return m;\n }\n\n constructor(kwargs?: i.BillableItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.expiry !== 'undefined' && this.expiry !== null) {toReturn['expiry'] = 'toApiJson' in this.expiry ? (this.expiry as any).toApiJson() : this.expiry;}\n if (typeof this.billingStart !== 'undefined' && this.billingStart !== null) {toReturn['billingStart'] = 'toApiJson' in this.billingStart ? (this.billingStart as any).toApiJson() : this.billingStart;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.nextRenewal !== 'undefined' && this.nextRenewal !== null) {toReturn['nextRenewal'] = 'toApiJson' in this.nextRenewal ? (this.nextRenewal as any).toApiJson() : this.nextRenewal;}\n if (typeof this.customerName !== 'undefined') {toReturn['customerName'] = this.customerName;}\n if (typeof this.productName !== 'undefined') {toReturn['productName'] = this.productName;}\n if (typeof this.customerAddress !== 'undefined' && this.customerAddress !== null) {toReturn['customerAddress'] = 'toApiJson' in this.customerAddress ? (this.customerAddress as any).toApiJson() : this.customerAddress;}\n if (typeof this.customUnitPrice !== 'undefined') {toReturn['customUnitPrice'] = this.customUnitPrice;}\n if (typeof this.retailFrequency !== 'undefined') {toReturn['retailFrequency'] = this.retailFrequency;}\n if (typeof this.nextRetailRenewal !== 'undefined' && this.nextRetailRenewal !== null) {toReturn['nextRetailRenewal'] = 'toApiJson' in this.nextRetailRenewal ? (this.nextRetailRenewal as any).toApiJson() : this.nextRetailRenewal;}\n if (typeof this.retailUnitPrice !== 'undefined') {toReturn['retailUnitPrice'] = this.retailUnitPrice;}\n return toReturn;\n }\n}\n\nexport class CanBillItemRequest implements i.CanBillItemRequestInterface {\n merchantId: string;\n sku: string;\n\n static fromProto(proto: any): CanBillItemRequest {\n let m = new CanBillItemRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CanBillItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class BillableItemCustomerAddress implements i.BillableItemCustomerAddressInterface {\n address: string;\n city: string;\n state: string;\n zip: string;\n country: string;\n\n static fromProto(proto: any): BillableItemCustomerAddress {\n let m = new BillableItemCustomerAddress();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BillableItemCustomerAddressInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.address !== 'undefined') {toReturn['address'] = this.address;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.zip !== 'undefined') {toReturn['zip'] = this.zip;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n return toReturn;\n }\n}\n\nexport class DeleteBillableItemRequest implements i.DeleteBillableItemRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n\n static fromProto(proto: any): DeleteBillableItemRequest {\n let m = new DeleteBillableItemRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteBillableItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n return toReturn;\n }\n}\n\nexport class ExpireBillableItemRequest implements i.ExpireBillableItemRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n expiry: Date;\n\n static fromProto(proto: any): ExpireBillableItemRequest {\n let m = new ExpireBillableItemRequest();\n m = Object.assign(m, proto);\n if (proto.expiry) {m.expiry = new Date(proto.expiry);}\n return m;\n }\n\n constructor(kwargs?: i.ExpireBillableItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.expiry !== 'undefined' && this.expiry !== null) {toReturn['expiry'] = 'toApiJson' in this.expiry ? (this.expiry as any).toApiJson() : this.expiry;}\n return toReturn;\n }\n}\n\nexport class ListBillableItemsRequestFilters implements i.ListBillableItemsRequestFiltersInterface {\n skus: string[];\n merchantId: string;\n customerId: string;\n\n static fromProto(proto: any): ListBillableItemsRequestFilters {\n let m = new ListBillableItemsRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListBillableItemsRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n return toReturn;\n }\n}\n\nexport class GetBillableItemRequest implements i.GetBillableItemRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n\n static fromProto(proto: any): GetBillableItemRequest {\n let m = new GetBillableItemRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetBillableItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n return toReturn;\n }\n}\n\nexport class GetBillableItemResponse implements i.GetBillableItemResponseInterface {\n item: BillableItem;\n\n static fromProto(proto: any): GetBillableItemResponse {\n let m = new GetBillableItemResponse();\n m = Object.assign(m, proto);\n if (proto.item) {m.item = BillableItem.fromProto(proto.item);}\n return m;\n }\n\n constructor(kwargs?: i.GetBillableItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.item !== 'undefined' && this.item !== null) {toReturn['item'] = 'toApiJson' in this.item ? (this.item as any).toApiJson() : this.item;}\n return toReturn;\n }\n}\n\nexport class GetMultiSubscriptionsRequest implements i.GetMultiSubscriptionsRequestInterface {\n subscriptionKeys: GetMultiSubscriptionsRequestKey[];\n\n static fromProto(proto: any): GetMultiSubscriptionsRequest {\n let m = new GetMultiSubscriptionsRequest();\n m = Object.assign(m, proto);\n if (proto.subscriptionKeys) {m.subscriptionKeys = proto.subscriptionKeys.map(GetMultiSubscriptionsRequestKey.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiSubscriptionsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subscriptionKeys !== 'undefined' && this.subscriptionKeys !== null) {toReturn['subscriptionKeys'] = 'toApiJson' in this.subscriptionKeys ? (this.subscriptionKeys as any).toApiJson() : this.subscriptionKeys;}\n return toReturn;\n }\n}\n\nexport class GetMultiSubscriptionsResponse implements i.GetMultiSubscriptionsResponseInterface {\n subscriptions: BillableItem[];\n\n static fromProto(proto: any): GetMultiSubscriptionsResponse {\n let m = new GetMultiSubscriptionsResponse();\n m = Object.assign(m, proto);\n if (proto.subscriptions) {m.subscriptions = proto.subscriptions.map(BillableItem.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiSubscriptionsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subscriptions !== 'undefined' && this.subscriptions !== null) {toReturn['subscriptions'] = 'toApiJson' in this.subscriptions ? (this.subscriptions as any).toApiJson() : this.subscriptions;}\n return toReturn;\n }\n}\n\nexport class Item implements i.ItemInterface {\n sku: string;\n customerId: string;\n orderId: string;\n billingStart: Date;\n\n static fromProto(proto: any): Item {\n let m = new Item();\n m = Object.assign(m, proto);\n if (proto.billingStart) {m.billingStart = new Date(proto.billingStart);}\n return m;\n }\n\n constructor(kwargs?: i.ItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.billingStart !== 'undefined' && this.billingStart !== null) {toReturn['billingStart'] = 'toApiJson' in this.billingStart ? (this.billingStart as any).toApiJson() : this.billingStart;}\n return toReturn;\n }\n}\n\nexport class GetMultiSubscriptionsRequestKey implements i.GetMultiSubscriptionsRequestKeyInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n\n static fromProto(proto: any): GetMultiSubscriptionsRequestKey {\n let m = new GetMultiSubscriptionsRequestKey();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiSubscriptionsRequestKeyInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n return toReturn;\n }\n}\n\nexport class ListBillableItemsRequest implements i.ListBillableItemsRequestInterface {\n filters: ListBillableItemsRequestFilters;\n pagingOptions: PagedRequestOptions;\n searchTerm: string;\n\n static fromProto(proto: any): ListBillableItemsRequest {\n let m = new ListBillableItemsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListBillableItemsRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListBillableItemsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n return toReturn;\n }\n}\n\nexport class ListBillableItemsResponse implements i.ListBillableItemsResponseInterface {\n items: BillableItem[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListBillableItemsResponse {\n let m = new ListBillableItemsResponse();\n m = Object.assign(m, proto);\n if (proto.items) {m.items = proto.items.map(BillableItem.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListBillableItemsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AppliedDiscount implements i.AppliedDiscountInterface {\n type: e.DiscountType;\n value: number;\n totalAmount: number;\n description: string;\n\n static fromProto(proto: any): AppliedDiscount {\n let m = new AppliedDiscount();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.DiscountType>(e.DiscountType, proto.type);}\n if (proto.value) {m.value = parseInt(proto.value, 10);}\n if (proto.totalAmount) {m.totalAmount = parseInt(proto.totalAmount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.AppliedDiscountInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n if (typeof this.totalAmount !== 'undefined') {toReturn['totalAmount'] = this.totalAmount;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Bundle implements i.BundleInterface {\n merchantId: string;\n bundleId: string;\n name: string;\n items: BundleItem[];\n created: Date;\n updated: Date;\n hideBundleDetails: boolean;\n\n static fromProto(proto: any): Bundle {\n let m = new Bundle();\n m = Object.assign(m, proto);\n if (proto.items) {m.items = proto.items.map(BundleItem.fromProto);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n return m;\n }\n\n constructor(kwargs?: i.BundleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.hideBundleDetails !== 'undefined') {toReturn['hideBundleDetails'] = this.hideBundleDetails;}\n return toReturn;\n }\n}\n\nexport class BundleItem implements i.BundleItemInterface {\n productId: string;\n discountType: e.DiscountType;\n discountAmount: number;\n quantity: number;\n defaultSku: string;\n price: BundleItemPrice;\n\n static fromProto(proto: any): BundleItem {\n let m = new BundleItem();\n m = Object.assign(m, proto);\n if (proto.discountType) {m.discountType = enumStringToValue<e.DiscountType>(e.DiscountType, proto.discountType);}\n if (proto.discountAmount) {m.discountAmount = parseInt(proto.discountAmount, 10);}\n if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n if (proto.price) {m.price = BundleItemPrice.fromProto(proto.price);}\n return m;\n }\n\n constructor(kwargs?: i.BundleItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n if (typeof this.discountType !== 'undefined') {toReturn['discountType'] = this.discountType;}\n if (typeof this.discountAmount !== 'undefined') {toReturn['discountAmount'] = this.discountAmount;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.defaultSku !== 'undefined') {toReturn['defaultSku'] = this.defaultSku;}\n if (typeof this.price !== 'undefined' && this.price !== null) {toReturn['price'] = 'toApiJson' in this.price ? (this.price as any).toApiJson() : this.price;}\n return toReturn;\n }\n}\n\nexport class BundlePricing implements i.BundlePricingInterface {\n bundleId: string;\n currency: string;\n prices: BundlePricingPriceAndFrequency[];\n\n static fromProto(proto: any): BundlePricing {\n let m = new BundlePricing();\n m = Object.assign(m, proto);\n if (proto.prices) {m.prices = proto.prices.map(BundlePricingPriceAndFrequency.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.BundlePricingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.prices !== 'undefined' && this.prices !== null) {toReturn['prices'] = 'toApiJson' in this.prices ? (this.prices as any).toApiJson() : this.prices;}\n return toReturn;\n }\n}\n\nexport class GetMultiBundleResponseBundlesEntry implements i.GetMultiBundleResponseBundlesEntryInterface {\n key: string;\n value: Bundle;\n\n static fromProto(proto: any): GetMultiBundleResponseBundlesEntry {\n let m = new GetMultiBundleResponseBundlesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = Bundle.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiBundleResponseBundlesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class ListBundlesRequestFilters implements i.ListBundlesRequestFiltersInterface {\n merchantId: string;\n\n static fromProto(proto: any): ListBundlesRequestFilters {\n let m = new ListBundlesRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListBundlesRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetMultiBundleRequest implements i.GetMultiBundleRequestInterface {\n merchantId: string;\n bundleIds: string[];\n\n static fromProto(proto: any): GetMultiBundleRequest {\n let m = new GetMultiBundleRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bundleIds !== 'undefined') {toReturn['bundleIds'] = this.bundleIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiBundleResponse implements i.GetMultiBundleResponseInterface {\n bundles: {[key: string]: Bundle};\n\n static fromProto(proto: any): GetMultiBundleResponse {\n let m = new GetMultiBundleResponse();\n m = Object.assign(m, proto);\n if (proto.bundles) {m.bundles = Object.keys(proto.bundles).reduce<any>((obj, k) => { obj[k] = Bundle.fromProto(proto.bundles[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiBundleResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.bundles !== 'undefined' && this.bundles !== null) {toReturn['bundles'] = 'toApiJson' in this.bundles ? (this.bundles as any).toApiJson() : this.bundles;}\n return toReturn;\n }\n}\n\nexport class ListBundlesRequest implements i.ListBundlesRequestInterface {\n filters: ListBundlesRequestFilters;\n searchTerm: string;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListBundlesRequest {\n let m = new ListBundlesRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListBundlesRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListBundlesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListBundlesResponse implements i.ListBundlesResponseInterface {\n bundles: Bundle[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListBundlesResponse {\n let m = new ListBundlesResponse();\n m = Object.assign(m, proto);\n if (proto.bundles) {m.bundles = proto.bundles.map(Bundle.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListBundlesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.bundles !== 'undefined' && this.bundles !== null) {toReturn['bundles'] = 'toApiJson' in this.bundles ? (this.bundles as any).toApiJson() : this.bundles;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class BundleItemPrice implements i.BundleItemPriceInterface {\n amount: number;\n setupFee: number;\n\n static fromProto(proto: any): BundleItemPrice {\n let m = new BundleItemPrice();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.BundleItemPriceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n return toReturn;\n }\n}\n\nexport class BundlePricingPriceAndFrequency implements i.BundlePricingPriceAndFrequencyInterface {\n frequency: e.Frequency;\n effectivePrice: number;\n initialPrice: number;\n setupFee: number;\n\n static fromProto(proto: any): BundlePricingPriceAndFrequency {\n let m = new BundlePricingPriceAndFrequency();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.effectivePrice) {m.effectivePrice = parseInt(proto.effectivePrice, 10);}\n if (proto.initialPrice) {m.initialPrice = parseInt(proto.initialPrice, 10);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.BundlePricingPriceAndFrequencyInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.effectivePrice !== 'undefined') {toReturn['effectivePrice'] = this.effectivePrice;}\n if (typeof this.initialPrice !== 'undefined') {toReturn['initialPrice'] = this.initialPrice;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n return toReturn;\n }\n}\n\nexport class UpsertBundleRequest implements i.UpsertBundleRequestInterface {\n merchantId: string;\n bundleId: string;\n name: string;\n items: BundleItem[];\n hideBundleDetails: boolean;\n\n static fromProto(proto: any): UpsertBundleRequest {\n let m = new UpsertBundleRequest();\n m = Object.assign(m, proto);\n if (proto.items) {m.items = proto.items.map(BundleItem.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.hideBundleDetails !== 'undefined') {toReturn['hideBundleDetails'] = this.hideBundleDetails;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Commitment implements i.CommitmentInterface {\n initial: number;\n recurring: number;\n\n static fromProto(proto: any): Commitment {\n let m = new Commitment();\n m = Object.assign(m, proto);\n if (proto.initial) {m.initial = parseInt(proto.initial, 10);}\n if (proto.recurring) {m.recurring = parseInt(proto.recurring, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CommitmentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.initial !== 'undefined') {toReturn['initial'] = this.initial;}\n if (typeof this.recurring !== 'undefined') {toReturn['recurring'] = this.recurring;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Contract implements i.ContractInterface {\n merchantId: string;\n netD: number;\n created: Date;\n subscriptionId: string;\n currency: e.Currency;\n signed: Date;\n activated: Date;\n modified: Date;\n verified: Date;\n status: string;\n creditLimit: number;\n dimension: string;\n pricingPlanId: string;\n end: Date;\n subscriptionUpdateStatus: e.ContractSubscriptionStatus;\n\n static fromProto(proto: any): Contract {\n let m = new Contract();\n m = Object.assign(m, proto);\n if (proto.netD) {m.netD = parseInt(proto.netD, 10);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.signed) {m.signed = new Date(proto.signed);}\n if (proto.activated) {m.activated = new Date(proto.activated);}\n if (proto.modified) {m.modified = new Date(proto.modified);}\n if (proto.verified) {m.verified = new Date(proto.verified);}\n if (proto.creditLimit) {m.creditLimit = parseInt(proto.creditLimit, 10);}\n if (proto.end) {m.end = new Date(proto.end);}\n if (proto.subscriptionUpdateStatus) {m.subscriptionUpdateStatus = enumStringToValue<e.ContractSubscriptionStatus>(e.ContractSubscriptionStatus, proto.subscriptionUpdateStatus);}\n return m;\n }\n\n constructor(kwargs?: i.ContractInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.netD !== 'undefined') {toReturn['netD'] = this.netD;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.subscriptionId !== 'undefined') {toReturn['subscriptionId'] = this.subscriptionId;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.signed !== 'undefined' && this.signed !== null) {toReturn['signed'] = 'toApiJson' in this.signed ? (this.signed as any).toApiJson() : this.signed;}\n if (typeof this.activated !== 'undefined' && this.activated !== null) {toReturn['activated'] = 'toApiJson' in this.activated ? (this.activated as any).toApiJson() : this.activated;}\n if (typeof this.modified !== 'undefined' && this.modified !== null) {toReturn['modified'] = 'toApiJson' in this.modified ? (this.modified as any).toApiJson() : this.modified;}\n if (typeof this.verified !== 'undefined' && this.verified !== null) {toReturn['verified'] = 'toApiJson' in this.verified ? (this.verified as any).toApiJson() : this.verified;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.creditLimit !== 'undefined') {toReturn['creditLimit'] = this.creditLimit;}\n if (typeof this.dimension !== 'undefined') {toReturn['dimension'] = this.dimension;}\n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.subscriptionUpdateStatus !== 'undefined') {toReturn['subscriptionUpdateStatus'] = this.subscriptionUpdateStatus;}\n return toReturn;\n }\n}\n\nexport class GetMultiContractsResponseContractsEntry implements i.GetMultiContractsResponseContractsEntryInterface {\n key: string;\n value: Contract;\n\n static fromProto(proto: any): GetMultiContractsResponseContractsEntry {\n let m = new GetMultiContractsResponseContractsEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = Contract.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiContractsResponseContractsEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class CreateContractRequest implements i.CreateContractRequestInterface {\n merchantId: string;\n currencyCode: string;\n\n static fromProto(proto: any): CreateContractRequest {\n let m = new CreateContractRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateContractRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n return toReturn;\n }\n}\n\nexport class CreateContractResponse implements i.CreateContractResponseInterface {\n contract: Contract;\n\n static fromProto(proto: any): CreateContractResponse {\n let m = new CreateContractResponse();\n m = Object.assign(m, proto);\n if (proto.contract) {m.contract = Contract.fromProto(proto.contract);}\n return m;\n }\n\n constructor(kwargs?: i.CreateContractResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contract !== 'undefined' && this.contract !== null) {toReturn['contract'] = 'toApiJson' in this.contract ? (this.contract as any).toApiJson() : this.contract;}\n return toReturn;\n }\n}\n\nexport class GetContractRequest implements i.GetContractRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetContractRequest {\n let m = new GetContractRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetContractRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetContractResponse implements i.GetContractResponseInterface {\n contract: Contract;\n\n static fromProto(proto: any): GetContractResponse {\n let m = new GetContractResponse();\n m = Object.assign(m, proto);\n if (proto.contract) {m.contract = Contract.fromProto(proto.contract);}\n return m;\n }\n\n constructor(kwargs?: i.GetContractResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contract !== 'undefined' && this.contract !== null) {toReturn['contract'] = 'toApiJson' in this.contract ? (this.contract as any).toApiJson() : this.contract;}\n return toReturn;\n }\n}\n\nexport class GetMultiContractsRequest implements i.GetMultiContractsRequestInterface {\n merchantIds: string[];\n\n static fromProto(proto: any): GetMultiContractsRequest {\n let m = new GetMultiContractsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiContractsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantIds !== 'undefined') {toReturn['merchantIds'] = this.merchantIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiContractsResponse implements i.GetMultiContractsResponseInterface {\n contracts: {[key: string]: Contract};\n\n static fromProto(proto: any): GetMultiContractsResponse {\n let m = new GetMultiContractsResponse();\n m = Object.assign(m, proto);\n if (proto.contracts) {m.contracts = Object.keys(proto.contracts).reduce<any>((obj, k) => { obj[k] = Contract.fromProto(proto.contracts[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiContractsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contracts !== 'undefined' && this.contracts !== null) {toReturn['contracts'] = 'toApiJson' in this.contracts ? (this.contracts as any).toApiJson() : this.contracts;}\n return toReturn;\n }\n}\n\nexport class ListContractsRequest implements i.ListContractsRequestInterface {\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListContractsRequest {\n let m = new ListContractsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListContractsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListContractsResponse implements i.ListContractsResponseInterface {\n contracts: Contract[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListContractsResponse {\n let m = new ListContractsResponse();\n m = Object.assign(m, proto);\n if (proto.contracts) {m.contracts = proto.contracts.map(Contract.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListContractsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contracts !== 'undefined' && this.contracts !== null) {toReturn['contracts'] = 'toApiJson' in this.contracts ? (this.contracts as any).toApiJson() : this.contracts;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class UpdateContractRequestMutation implements i.UpdateContractRequestMutationInterface {\n netD: number;\n currencyCode: string;\n status: string;\n dimension: string;\n signed: Date;\n activated: Date;\n end: Date;\n modified: Date;\n creditLimit: number;\n subscriptionId: string;\n\n static fromProto(proto: any): UpdateContractRequestMutation {\n let m = new UpdateContractRequestMutation();\n m = Object.assign(m, proto);\n if (proto.netD) {m.netD = parseInt(proto.netD, 10);}\n if (proto.signed) {m.signed = new Date(proto.signed);}\n if (proto.activated) {m.activated = new Date(proto.activated);}\n if (proto.end) {m.end = new Date(proto.end);}\n if (proto.modified) {m.modified = new Date(proto.modified);}\n if (proto.creditLimit) {m.creditLimit = parseInt(proto.creditLimit, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateContractRequestMutationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.netD !== 'undefined') {toReturn['netD'] = this.netD;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.dimension !== 'undefined') {toReturn['dimension'] = this.dimension;}\n if (typeof this.signed !== 'undefined' && this.signed !== null) {toReturn['signed'] = 'toApiJson' in this.signed ? (this.signed as any).toApiJson() : this.signed;}\n if (typeof this.activated !== 'undefined' && this.activated !== null) {toReturn['activated'] = 'toApiJson' in this.activated ? (this.activated as any).toApiJson() : this.activated;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.modified !== 'undefined' && this.modified !== null) {toReturn['modified'] = 'toApiJson' in this.modified ? (this.modified as any).toApiJson() : this.modified;}\n if (typeof this.creditLimit !== 'undefined') {toReturn['creditLimit'] = this.creditLimit;}\n if (typeof this.subscriptionId !== 'undefined') {toReturn['subscriptionId'] = this.subscriptionId;}\n return toReturn;\n }\n}\n\nexport class ResetContractPricingRequest implements i.ResetContractPricingRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): ResetContractPricingRequest {\n let m = new ResetContractPricingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ResetContractPricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class UpdateContractRequest implements i.UpdateContractRequestInterface {\n merchantId: string;\n mutations: UpdateContractRequestMutation[];\n\n static fromProto(proto: any): UpdateContractRequest {\n let m = new UpdateContractRequest();\n m = Object.assign(m, proto);\n if (proto.mutations) {m.mutations = proto.mutations.map(UpdateContractRequestMutation.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateContractRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.mutations !== 'undefined' && this.mutations !== null) {toReturn['mutations'] = 'toApiJson' in this.mutations ? (this.mutations as any).toApiJson() : this.mutations;}\n return toReturn;\n }\n}\n\nexport class UpdateContractResponse implements i.UpdateContractResponseInterface {\n contract: Contract;\n\n static fromProto(proto: any): UpdateContractResponse {\n let m = new UpdateContractResponse();\n m = Object.assign(m, proto);\n if (proto.contract) {m.contract = Contract.fromProto(proto.contract);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateContractResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contract !== 'undefined' && this.contract !== null) {toReturn['contract'] = 'toApiJson' in this.contract ? (this.contract as any).toApiJson() : this.contract;}\n return toReturn;\n }\n}\n\nexport class UpdateContractSubscriptionRequest implements i.UpdateContractSubscriptionRequestInterface {\n merchantId: string;\n subscriptionId: string;\n frequency: e.Frequency;\n\n static fromProto(proto: any): UpdateContractSubscriptionRequest {\n let m = new UpdateContractSubscriptionRequest();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateContractSubscriptionRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.subscriptionId !== 'undefined') {toReturn['subscriptionId'] = this.subscriptionId;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CustomerSummary implements i.CustomerSummaryInterface {\n customerId: string;\n purchaseItemQuantity: number;\n purchaseItemTotal: number;\n currency: e.Currency;\n\n static fromProto(proto: any): CustomerSummary {\n let m = new CustomerSummary();\n m = Object.assign(m, proto);\n if (proto.purchaseItemQuantity) {m.purchaseItemQuantity = parseInt(proto.purchaseItemQuantity, 10);}\n if (proto.purchaseItemTotal) {m.purchaseItemTotal = parseInt(proto.purchaseItemTotal, 10);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n return m;\n }\n\n constructor(kwargs?: i.CustomerSummaryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.purchaseItemQuantity !== 'undefined') {toReturn['purchaseItemQuantity'] = this.purchaseItemQuantity;}\n if (typeof this.purchaseItemTotal !== 'undefined') {toReturn['purchaseItemTotal'] = this.purchaseItemTotal;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n return toReturn;\n }\n}\n\nexport class GetMultiCustomerSummariesRequest implements i.GetMultiCustomerSummariesRequestInterface {\n customerIds: string[];\n merchantId: string;\n periodStart: Date;\n periodEnd: Date;\n\n static fromProto(proto: any): GetMultiCustomerSummariesRequest {\n let m = new GetMultiCustomerSummariesRequest();\n m = Object.assign(m, proto);\n if (proto.periodStart) {m.periodStart = new Date(proto.periodStart);}\n if (proto.periodEnd) {m.periodEnd = new Date(proto.periodEnd);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiCustomerSummariesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerIds !== 'undefined') {toReturn['customerIds'] = this.customerIds;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.periodStart !== 'undefined' && this.periodStart !== null) {toReturn['periodStart'] = 'toApiJson' in this.periodStart ? (this.periodStart as any).toApiJson() : this.periodStart;}\n if (typeof this.periodEnd !== 'undefined' && this.periodEnd !== null) {toReturn['periodEnd'] = 'toApiJson' in this.periodEnd ? (this.periodEnd as any).toApiJson() : this.periodEnd;}\n return toReturn;\n }\n}\n\nexport class GetMultiCustomerSummariesResponse implements i.GetMultiCustomerSummariesResponseInterface {\n customerSummaries: CustomerSummary[];\n\n static fromProto(proto: any): GetMultiCustomerSummariesResponse {\n let m = new GetMultiCustomerSummariesResponse();\n m = Object.assign(m, proto);\n if (proto.customerSummaries) {m.customerSummaries = proto.customerSummaries.map(CustomerSummary.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiCustomerSummariesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerSummaries !== 'undefined' && this.customerSummaries !== null) {toReturn['customerSummaries'] = 'toApiJson' in this.customerSummaries ? (this.customerSummaries as any).toApiJson() : this.customerSummaries;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class BankAccount implements i.BankAccountInterface {\n id: string;\n accountHolderName: string;\n bankName: string;\n country: string;\n currency: string;\n routingNumber: string;\n last4: string;\n defaultForCurrency: boolean;\n\n static fromProto(proto: any): BankAccount {\n let m = new BankAccount();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BankAccountInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.accountHolderName !== 'undefined') {toReturn['accountHolderName'] = this.accountHolderName;}\n if (typeof this.bankName !== 'undefined') {toReturn['bankName'] = this.bankName;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.routingNumber !== 'undefined') {toReturn['routingNumber'] = this.routingNumber;}\n if (typeof this.last4 !== 'undefined') {toReturn['last4'] = this.last4;}\n if (typeof this.defaultForCurrency !== 'undefined') {toReturn['defaultForCurrency'] = this.defaultForCurrency;}\n return toReturn;\n }\n}\n\nexport class CreateStripeExternalAccountRequest implements i.CreateStripeExternalAccountRequestInterface {\n merchantId: string;\n stripeToken: string;\n\n static fromProto(proto: any): CreateStripeExternalAccountRequest {\n let m = new CreateStripeExternalAccountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateStripeExternalAccountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.stripeToken !== 'undefined') {toReturn['stripeToken'] = this.stripeToken;}\n return toReturn;\n }\n}\n\nexport class DeleteBankAccountRequest implements i.DeleteBankAccountRequestInterface {\n merchantId: string;\n bankAccountId: string;\n\n static fromProto(proto: any): DeleteBankAccountRequest {\n let m = new DeleteBankAccountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteBankAccountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bankAccountId !== 'undefined') {toReturn['bankAccountId'] = this.bankAccountId;}\n return toReturn;\n }\n}\n\nexport class ListBankAccountsRequest implements i.ListBankAccountsRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): ListBankAccountsRequest {\n let m = new ListBankAccountsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListBankAccountsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class ListBankAccountsResponse implements i.ListBankAccountsResponseInterface {\n bankAccount: BankAccount[];\n\n static fromProto(proto: any): ListBankAccountsResponse {\n let m = new ListBankAccountsResponse();\n m = Object.assign(m, proto);\n if (proto.bankAccount) {m.bankAccount = proto.bankAccount.map(BankAccount.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListBankAccountsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.bankAccount !== 'undefined' && this.bankAccount !== null) {toReturn['bankAccount'] = 'toApiJson' in this.bankAccount ? (this.bankAccount as any).toApiJson() : this.bankAccount;}\n return toReturn;\n }\n}\n\nexport class SetDefaultBankAccountRequest implements i.SetDefaultBankAccountRequestInterface {\n merchantId: string;\n bankAccountId: string;\n\n static fromProto(proto: any): SetDefaultBankAccountRequest {\n let m = new SetDefaultBankAccountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetDefaultBankAccountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bankAccountId !== 'undefined') {toReturn['bankAccountId'] = this.bankAccountId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedResponseMetadata, PagedRequestOptions } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ProductSummaryDiscount implements i.ProductSummaryDiscountInterface {\n type: e.ProductSummaryDiscountDiscountType;\n value: number;\n totalAmount: number;\n description: string;\n resetEachPeriod: boolean;\n\n static fromProto(proto: any): ProductSummaryDiscount {\n let m = new ProductSummaryDiscount();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.ProductSummaryDiscountDiscountType>(e.ProductSummaryDiscountDiscountType, proto.type);}\n if (proto.value) {m.value = parseInt(proto.value, 10);}\n if (proto.totalAmount) {m.totalAmount = parseInt(proto.totalAmount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ProductSummaryDiscountInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n if (typeof this.totalAmount !== 'undefined') {toReturn['totalAmount'] = this.totalAmount;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.resetEachPeriod !== 'undefined') {toReturn['resetEachPeriod'] = this.resetEachPeriod;}\n return toReturn;\n }\n}\n\nexport class ListSubscriptionRetentionRequestFilters implements i.ListSubscriptionRetentionRequestFiltersInterface {\n start: Date;\n end: Date;\n\n static fromProto(proto: any): ListSubscriptionRetentionRequestFilters {\n let m = new ListSubscriptionRetentionRequestFilters();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.ListSubscriptionRetentionRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n return toReturn;\n }\n}\n\nexport class GetProductSummariesTotalRequest implements i.GetProductSummariesTotalRequestInterface {\n merchantId: string;\n startDate: Date;\n endDate: Date;\n\n static fromProto(proto: any): GetProductSummariesTotalRequest {\n let m = new GetProductSummariesTotalRequest();\n m = Object.assign(m, proto);\n if (proto.startDate) {m.startDate = new Date(proto.startDate);}\n if (proto.endDate) {m.endDate = new Date(proto.endDate);}\n return m;\n }\n\n constructor(kwargs?: i.GetProductSummariesTotalRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.startDate !== 'undefined' && this.startDate !== null) {toReturn['startDate'] = 'toApiJson' in this.startDate ? (this.startDate as any).toApiJson() : this.startDate;}\n if (typeof this.endDate !== 'undefined' && this.endDate !== null) {toReturn['endDate'] = 'toApiJson' in this.endDate ? (this.endDate as any).toApiJson() : this.endDate;}\n return toReturn;\n }\n}\n\nexport class GetProductSummariesTotalResponse implements i.GetProductSummariesTotalResponseInterface {\n totalAmount: number;\n\n static fromProto(proto: any): GetProductSummariesTotalResponse {\n let m = new GetProductSummariesTotalResponse();\n m = Object.assign(m, proto);\n if (proto.totalAmount) {m.totalAmount = parseInt(proto.totalAmount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GetProductSummariesTotalResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.totalAmount !== 'undefined') {toReturn['totalAmount'] = this.totalAmount;}\n return toReturn;\n }\n}\n\nexport class ListProductSummariesRequest implements i.ListProductSummariesRequestInterface {\n merchantId: string;\n startDate: Date;\n endDate: Date;\n cursor: string;\n pageSize: number;\n skus: string[];\n\n static fromProto(proto: any): ListProductSummariesRequest {\n let m = new ListProductSummariesRequest();\n m = Object.assign(m, proto);\n if (proto.startDate) {m.startDate = new Date(proto.startDate);}\n if (proto.endDate) {m.endDate = new Date(proto.endDate);}\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ListProductSummariesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.startDate !== 'undefined' && this.startDate !== null) {toReturn['startDate'] = 'toApiJson' in this.startDate ? (this.startDate as any).toApiJson() : this.startDate;}\n if (typeof this.endDate !== 'undefined' && this.endDate !== null) {toReturn['endDate'] = 'toApiJson' in this.endDate ? (this.endDate as any).toApiJson() : this.endDate;}\n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n return toReturn;\n }\n}\n\nexport class ListProductSummariesResponse implements i.ListProductSummariesResponseInterface {\n results: ProductSummary[];\n nextCursor: string;\n hasMore: boolean;\n totalResults: number;\n\n static fromProto(proto: any): ListProductSummariesResponse {\n let m = new ListProductSummariesResponse();\n m = Object.assign(m, proto);\n if (proto.results) {m.results = proto.results.map(ProductSummary.fromProto);}\n if (proto.totalResults) {m.totalResults = parseInt(proto.totalResults, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ListProductSummariesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.results !== 'undefined' && this.results !== null) {toReturn['results'] = 'toApiJson' in this.results ? (this.results as any).toApiJson() : this.results;}\n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n if (typeof this.totalResults !== 'undefined') {toReturn['totalResults'] = this.totalResults;}\n return toReturn;\n }\n}\n\nexport class ListSubscriptionRetentionByGroupResponse implements i.ListSubscriptionRetentionByGroupResponseInterface {\n metricsByGroup: ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListSubscriptionRetentionByGroupResponse {\n let m = new ListSubscriptionRetentionByGroupResponse();\n m = Object.assign(m, proto);\n if (proto.metricsByGroup) {m.metricsByGroup = proto.metricsByGroup.map(ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListSubscriptionRetentionByGroupResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.metricsByGroup !== 'undefined' && this.metricsByGroup !== null) {toReturn['metricsByGroup'] = 'toApiJson' in this.metricsByGroup ? (this.metricsByGroup as any).toApiJson() : this.metricsByGroup;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class ListSubscriptionRetentionBySKUResponse implements i.ListSubscriptionRetentionBySKUResponseInterface {\n subscriptionMetrics: RetentionMetrics[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListSubscriptionRetentionBySKUResponse {\n let m = new ListSubscriptionRetentionBySKUResponse();\n m = Object.assign(m, proto);\n if (proto.subscriptionMetrics) {m.subscriptionMetrics = proto.subscriptionMetrics.map(RetentionMetrics.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListSubscriptionRetentionBySKUResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subscriptionMetrics !== 'undefined' && this.subscriptionMetrics !== null) {toReturn['subscriptionMetrics'] = 'toApiJson' in this.subscriptionMetrics ? (this.subscriptionMetrics as any).toApiJson() : this.subscriptionMetrics;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class ListSubscriptionRetentionRequest implements i.ListSubscriptionRetentionRequestInterface {\n merchantId: string;\n filters: ListSubscriptionRetentionRequestFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListSubscriptionRetentionRequest {\n let m = new ListSubscriptionRetentionRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListSubscriptionRetentionRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListSubscriptionRetentionRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class Pricing implements i.PricingInterface {\n type: e.PricingRuleType;\n rules: PricingRule[];\n\n static fromProto(proto: any): Pricing {\n let m = new Pricing();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.PricingRuleType>(e.PricingRuleType, proto.type);}\n if (proto.rules) {m.rules = proto.rules.map(PricingRule.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.PricingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.rules !== 'undefined' && this.rules !== null) {toReturn['rules'] = 'toApiJson' in this.rules ? (this.rules as any).toApiJson() : this.rules;}\n return toReturn;\n }\n}\n\nexport class ProductSummary implements i.ProductSummaryInterface {\n sku: string;\n productName: string;\n totalQuantity: number;\n totalAmount: number;\n totalDiscount: number;\n pricing: Pricing;\n discounts: ProductSummaryDiscount[];\n billingStrategy: e.ProductSummaryBillingStrategy;\n productType: e.ProductSummaryProductType;\n frequency: e.Frequency;\n proratedPercent: number;\n volumeCommitment: number;\n setupFee: number;\n\n static fromProto(proto: any): ProductSummary {\n let m = new ProductSummary();\n m = Object.assign(m, proto);\n if (proto.totalQuantity) {m.totalQuantity = parseInt(proto.totalQuantity, 10);}\n if (proto.totalAmount) {m.totalAmount = parseInt(proto.totalAmount, 10);}\n if (proto.totalDiscount) {m.totalDiscount = parseInt(proto.totalDiscount, 10);}\n if (proto.pricing) {m.pricing = Pricing.fromProto(proto.pricing);}\n if (proto.discounts) {m.discounts = proto.discounts.map(ProductSummaryDiscount.fromProto);}\n if (proto.billingStrategy) {m.billingStrategy = enumStringToValue<e.ProductSummaryBillingStrategy>(e.ProductSummaryBillingStrategy, proto.billingStrategy);}\n if (proto.productType) {m.productType = enumStringToValue<e.ProductSummaryProductType>(e.ProductSummaryProductType, proto.productType);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ProductSummaryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.productName !== 'undefined') {toReturn['productName'] = this.productName;}\n if (typeof this.totalQuantity !== 'undefined') {toReturn['totalQuantity'] = this.totalQuantity;}\n if (typeof this.totalAmount !== 'undefined') {toReturn['totalAmount'] = this.totalAmount;}\n if (typeof this.totalDiscount !== 'undefined') {toReturn['totalDiscount'] = this.totalDiscount;}\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n if (typeof this.discounts !== 'undefined' && this.discounts !== null) {toReturn['discounts'] = 'toApiJson' in this.discounts ? (this.discounts as any).toApiJson() : this.discounts;}\n if (typeof this.billingStrategy !== 'undefined') {toReturn['billingStrategy'] = this.billingStrategy;}\n if (typeof this.productType !== 'undefined') {toReturn['productType'] = this.productType;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.proratedPercent !== 'undefined') {toReturn['proratedPercent'] = this.proratedPercent;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n return toReturn;\n }\n}\n\nexport class RetentionMetrics implements i.RetentionMetricsInterface {\n sku: string;\n productName: string;\n startingCount: number;\n activations: number;\n deactivations: number;\n churn: number;\n retention: number;\n\n static fromProto(proto: any): RetentionMetrics {\n let m = new RetentionMetrics();\n m = Object.assign(m, proto);\n if (proto.startingCount) {m.startingCount = parseInt(proto.startingCount, 10);}\n if (proto.activations) {m.activations = parseInt(proto.activations, 10);}\n if (proto.deactivations) {m.deactivations = parseInt(proto.deactivations, 10);}\n return m;\n }\n\n constructor(kwargs?: i.RetentionMetricsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.productName !== 'undefined') {toReturn['productName'] = this.productName;}\n if (typeof this.startingCount !== 'undefined') {toReturn['startingCount'] = this.startingCount;}\n if (typeof this.activations !== 'undefined') {toReturn['activations'] = this.activations;}\n if (typeof this.deactivations !== 'undefined') {toReturn['deactivations'] = this.deactivations;}\n if (typeof this.churn !== 'undefined') {toReturn['churn'] = this.churn;}\n if (typeof this.retention !== 'undefined') {toReturn['retention'] = this.retention;}\n return toReturn;\n }\n}\n\nexport class PricingRule implements i.PricingRuleInterface {\n min: number;\n max: number;\n units: number;\n unitPrice: number;\n totalAmount: number;\n\n static fromProto(proto: any): PricingRule {\n let m = new PricingRule();\n m = Object.assign(m, proto);\n if (proto.min) {m.min = parseInt(proto.min, 10);}\n if (proto.max) {m.max = parseInt(proto.max, 10);}\n if (proto.units) {m.units = parseInt(proto.units, 10);}\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n if (proto.totalAmount) {m.totalAmount = parseInt(proto.totalAmount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PricingRuleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.min !== 'undefined') {toReturn['min'] = this.min;}\n if (typeof this.max !== 'undefined') {toReturn['max'] = this.max;}\n if (typeof this.units !== 'undefined') {toReturn['units'] = this.units;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n if (typeof this.totalAmount !== 'undefined') {toReturn['totalAmount'] = this.totalAmount;}\n return toReturn;\n }\n}\n\nexport class ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup implements i.ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroupInterface {\n groupId: string;\n subscriptionMetrics: RetentionMetrics[];\n\n static fromProto(proto: any): ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup {\n let m = new ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup();\n m = Object.assign(m, proto);\n if (proto.subscriptionMetrics) {m.subscriptionMetrics = proto.subscriptionMetrics.map(RetentionMetrics.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroupInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.groupId !== 'undefined') {toReturn['groupId'] = this.groupId;}\n if (typeof this.subscriptionMetrics !== 'undefined' && this.subscriptionMetrics !== null) {toReturn['subscriptionMetrics'] = 'toApiJson' in this.subscriptionMetrics ? (this.subscriptionMetrics as any).toApiJson() : this.subscriptionMetrics;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateDiscountRequest implements i.CreateDiscountRequestInterface {\n merchantId: string;\n sku: string;\n discountType: e.DiscountType;\n amount: number;\n start: Date;\n end: Date;\n resetEachPeriod: boolean;\n description: string;\n\n static fromProto(proto: any): CreateDiscountRequest {\n let m = new CreateDiscountRequest();\n m = Object.assign(m, proto);\n if (proto.discountType) {m.discountType = enumStringToValue<e.DiscountType>(e.DiscountType, proto.discountType);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.CreateDiscountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.discountType !== 'undefined') {toReturn['discountType'] = this.discountType;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.resetEachPeriod !== 'undefined') {toReturn['resetEachPeriod'] = this.resetEachPeriod;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n return toReturn;\n }\n}\n\nexport class Discount implements i.DiscountInterface {\n discountId: number;\n discountType: e.DiscountType;\n amount: number;\n start: Date;\n end: Date;\n resetEachPeriod: boolean;\n merchantId: string;\n created: Date;\n updated: Date;\n sku: string;\n id: string;\n description: string;\n\n static fromProto(proto: any): Discount {\n let m = new Discount();\n m = Object.assign(m, proto);\n if (proto.discountId) {m.discountId = parseInt(proto.discountId, 10);}\n if (proto.discountType) {m.discountType = enumStringToValue<e.DiscountType>(e.DiscountType, proto.discountType);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n return m;\n }\n\n constructor(kwargs?: i.DiscountInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.discountId !== 'undefined') {toReturn['discountId'] = this.discountId;}\n if (typeof this.discountType !== 'undefined') {toReturn['discountType'] = this.discountType;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.resetEachPeriod !== 'undefined') {toReturn['resetEachPeriod'] = this.resetEachPeriod;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n return toReturn;\n }\n}\n\nexport class ExpireDiscountRequest implements i.ExpireDiscountRequestInterface {\n merchantId: string;\n id: string;\n\n static fromProto(proto: any): ExpireDiscountRequest {\n let m = new ExpireDiscountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ExpireDiscountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class ListDiscountsRequestFilters implements i.ListDiscountsRequestFiltersInterface {\n merchantId: string;\n expiry: Date;\n skus: string[];\n\n static fromProto(proto: any): ListDiscountsRequestFilters {\n let m = new ListDiscountsRequestFilters();\n m = Object.assign(m, proto);\n if (proto.expiry) {m.expiry = new Date(proto.expiry);}\n return m;\n }\n\n constructor(kwargs?: i.ListDiscountsRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.expiry !== 'undefined' && this.expiry !== null) {toReturn['expiry'] = 'toApiJson' in this.expiry ? (this.expiry as any).toApiJson() : this.expiry;}\n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n return toReturn;\n }\n}\n\nexport class ListDiscountsRequest implements i.ListDiscountsRequestInterface {\n filters: ListDiscountsRequestFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListDiscountsRequest {\n let m = new ListDiscountsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListDiscountsRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListDiscountsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListDiscountsResponse implements i.ListDiscountsResponseInterface {\n discounts: Discount[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListDiscountsResponse {\n let m = new ListDiscountsResponse();\n m = Object.assign(m, proto);\n if (proto.discounts) {m.discounts = proto.discounts.map(Discount.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListDiscountsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.discounts !== 'undefined' && this.discounts !== null) {toReturn['discounts'] = 'toApiJson' in this.discounts ? (this.discounts as any).toApiJson() : this.discounts;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class UpdateDiscountRequest implements i.UpdateDiscountRequestInterface {\n merchantId: string;\n id: string;\n discountType: e.DiscountType;\n amount: number;\n start: Date;\n end: Date;\n resetEachPeriod: boolean;\n description: string;\n\n static fromProto(proto: any): UpdateDiscountRequest {\n let m = new UpdateDiscountRequest();\n m = Object.assign(m, proto);\n if (proto.discountType) {m.discountType = enumStringToValue<e.DiscountType>(e.DiscountType, proto.discountType);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateDiscountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.discountType !== 'undefined') {toReturn['discountType'] = this.discountType;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.resetEachPeriod !== 'undefined') {toReturn['resetEachPeriod'] = this.resetEachPeriod;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AppliedTaxRate implements i.AppliedTaxRateInterface {\n amount: number;\n taxRateId: string;\n name: string;\n percentage: number;\n\n static fromProto(proto: any): AppliedTaxRate {\n let m = new AppliedTaxRate();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.AppliedTaxRateInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.taxRateId !== 'undefined') {toReturn['taxRateId'] = this.taxRateId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.percentage !== 'undefined') {toReturn['percentage'] = this.percentage;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class FieldMask implements i.FieldMaskInterface {\n paths: string[];\n\n static fromProto(proto: any): FieldMask {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.FieldMaskInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.paths !== 'undefined') {toReturn['paths'] = this.paths;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ArchiveTaxRequest implements i.ArchiveTaxRequestInterface {\n merchantId: string;\n id: string;\n\n static fromProto(proto: any): ArchiveTaxRequest {\n let m = new ArchiveTaxRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ArchiveTaxRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class CalculateTaxRequest implements i.CalculateTaxRequestInterface {\n merchantId: string;\n customerId: string;\n amount: number;\n\n static fromProto(proto: any): CalculateTaxRequest {\n let m = new CalculateTaxRequest();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CalculateTaxRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n return toReturn;\n }\n}\n\nexport class CalculateTaxResponse implements i.CalculateTaxResponseInterface {\n taxableAmount: number;\n taxRates: TaxRate[];\n\n static fromProto(proto: any): CalculateTaxResponse {\n let m = new CalculateTaxResponse();\n m = Object.assign(m, proto);\n if (proto.taxableAmount) {m.taxableAmount = parseInt(proto.taxableAmount, 10);}\n if (proto.taxRates) {m.taxRates = proto.taxRates.map(TaxRate.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.CalculateTaxResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.taxableAmount !== 'undefined') {toReturn['taxableAmount'] = this.taxableAmount;}\n if (typeof this.taxRates !== 'undefined' && this.taxRates !== null) {toReturn['taxRates'] = 'toApiJson' in this.taxRates ? (this.taxRates as any).toApiJson() : this.taxRates;}\n return toReturn;\n }\n}\n\nexport class CreateTaxRequest implements i.CreateTaxRequestInterface {\n merchantId: string;\n countryCode: string;\n stateCode: string;\n name: string;\n description: string;\n percentage: number;\n accountingSystemId: string;\n\n static fromProto(proto: any): CreateTaxRequest {\n let m = new CreateTaxRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateTaxRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.countryCode !== 'undefined') {toReturn['countryCode'] = this.countryCode;}\n if (typeof this.stateCode !== 'undefined') {toReturn['stateCode'] = this.stateCode;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.percentage !== 'undefined') {toReturn['percentage'] = this.percentage;}\n if (typeof this.accountingSystemId !== 'undefined') {toReturn['accountingSystemId'] = this.accountingSystemId;}\n return toReturn;\n }\n}\n\nexport class ListTaxRequestFilters implements i.ListTaxRequestFiltersInterface {\n merchantId: string;\n includeArchived: boolean;\n\n static fromProto(proto: any): ListTaxRequestFilters {\n let m = new ListTaxRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListTaxRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.includeArchived !== 'undefined') {toReturn['includeArchived'] = this.includeArchived;}\n return toReturn;\n }\n}\n\nexport class GetMultiTaxRequest implements i.GetMultiTaxRequestInterface {\n merchantId: string;\n ids: string[];\n\n static fromProto(proto: any): GetMultiTaxRequest {\n let m = new GetMultiTaxRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiTaxRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.ids !== 'undefined') {toReturn['ids'] = this.ids;}\n return toReturn;\n }\n}\n\nexport class GetMultiTaxResponse implements i.GetMultiTaxResponseInterface {\n taxRates: TaxRate[];\n\n static fromProto(proto: any): GetMultiTaxResponse {\n let m = new GetMultiTaxResponse();\n m = Object.assign(m, proto);\n if (proto.taxRates) {m.taxRates = proto.taxRates.map(TaxRate.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiTaxResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.taxRates !== 'undefined' && this.taxRates !== null) {toReturn['taxRates'] = 'toApiJson' in this.taxRates ? (this.taxRates as any).toApiJson() : this.taxRates;}\n return toReturn;\n }\n}\n\nexport class ListTaxRequest implements i.ListTaxRequestInterface {\n filters: ListTaxRequestFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListTaxRequest {\n let m = new ListTaxRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListTaxRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListTaxRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListTaxResponse implements i.ListTaxResponseInterface {\n taxRates: TaxRate[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListTaxResponse {\n let m = new ListTaxResponse();\n m = Object.assign(m, proto);\n if (proto.taxRates) {m.taxRates = proto.taxRates.map(TaxRate.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListTaxResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.taxRates !== 'undefined' && this.taxRates !== null) {toReturn['taxRates'] = 'toApiJson' in this.taxRates ? (this.taxRates as any).toApiJson() : this.taxRates;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class TaxRate implements i.TaxRateInterface {\n id: string;\n merchantId: string;\n countryCode: string;\n stateCode: string;\n name: string;\n description: string;\n percentage: number;\n accountingSystemId: string;\n archived: Date;\n\n static fromProto(proto: any): TaxRate {\n let m = new TaxRate();\n m = Object.assign(m, proto);\n if (proto.archived) {m.archived = new Date(proto.archived);}\n return m;\n }\n\n constructor(kwargs?: i.TaxRateInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.countryCode !== 'undefined') {toReturn['countryCode'] = this.countryCode;}\n if (typeof this.stateCode !== 'undefined') {toReturn['stateCode'] = this.stateCode;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.percentage !== 'undefined') {toReturn['percentage'] = this.percentage;}\n if (typeof this.accountingSystemId !== 'undefined') {toReturn['accountingSystemId'] = this.accountingSystemId;}\n if (typeof this.archived !== 'undefined' && this.archived !== null) {toReturn['archived'] = 'toApiJson' in this.archived ? (this.archived as any).toApiJson() : this.archived;}\n return toReturn;\n }\n}\n\nexport class UpdateTaxRequest implements i.UpdateTaxRequestInterface {\n merchantId: string;\n id: string;\n countryCode: string;\n stateCode: string;\n name: string;\n description: string;\n percentage: number;\n accountingSystemId: string;\n\n static fromProto(proto: any): UpdateTaxRequest {\n let m = new UpdateTaxRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateTaxRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.countryCode !== 'undefined') {toReturn['countryCode'] = this.countryCode;}\n if (typeof this.stateCode !== 'undefined') {toReturn['stateCode'] = this.stateCode;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.percentage !== 'undefined') {toReturn['percentage'] = this.percentage;}\n if (typeof this.accountingSystemId !== 'undefined') {toReturn['accountingSystemId'] = this.accountingSystemId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AppliedBundle implements i.AppliedBundleInterface {\n bundleId: string;\n name: string;\n bundleItems: AppliedBundleItem[];\n hideBundleItems: boolean;\n bundleInstanceId: string;\n\n static fromProto(proto: any): AppliedBundle {\n let m = new AppliedBundle();\n m = Object.assign(m, proto);\n if (proto.bundleItems) {m.bundleItems = proto.bundleItems.map(AppliedBundleItem.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AppliedBundleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.bundleItems !== 'undefined' && this.bundleItems !== null) {toReturn['bundleItems'] = 'toApiJson' in this.bundleItems ? (this.bundleItems as any).toApiJson() : this.bundleItems;}\n if (typeof this.hideBundleItems !== 'undefined') {toReturn['hideBundleItems'] = this.hideBundleItems;}\n if (typeof this.bundleInstanceId !== 'undefined') {toReturn['bundleInstanceId'] = this.bundleInstanceId;}\n return toReturn;\n }\n}\n\nexport class AppliedBundleItem implements i.AppliedBundleItemInterface {\n productId: string;\n discountType: string;\n discountAmount: number;\n quantity: number;\n\n static fromProto(proto: any): AppliedBundleItem {\n let m = new AppliedBundleItem();\n m = Object.assign(m, proto);\n if (proto.discountAmount) {m.discountAmount = parseInt(proto.discountAmount, 10);}\n if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n return m;\n }\n\n constructor(kwargs?: i.AppliedBundleItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n if (typeof this.discountType !== 'undefined') {toReturn['discountType'] = this.discountType;}\n if (typeof this.discountAmount !== 'undefined') {toReturn['discountAmount'] = this.discountAmount;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { AppliedBundle } from './applied-bundle';\nimport { AppliedDiscount } from './applied-discount';\nimport { AppliedTaxRate } from './applied-tax-rate';\nimport { FieldMask } from './field-mask';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport { TaxRate } from './tax-rate';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AddBundleRequest implements i.AddBundleRequestInterface {\n invoiceId: string;\n merchantId: string;\n bundleId: string;\n\n static fromProto(proto: any): AddBundleRequest {\n let m = new AddBundleRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AddBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n return toReturn;\n }\n}\n\nexport class AddBundleResponse implements i.AddBundleResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): AddBundleResponse {\n let m = new AddBundleResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.AddBundleResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class AddLineItemRequest implements i.AddLineItemRequestInterface {\n merchantId: string;\n invoiceId: string;\n sku: string;\n amount: number;\n quantity: number;\n description: string;\n taxRates: string[];\n\n static fromProto(proto: any): AddLineItemRequest {\n let m = new AddLineItemRequest();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.AddLineItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.taxRates !== 'undefined') {toReturn['taxRates'] = this.taxRates;}\n return toReturn;\n }\n}\n\nexport class AddLineItemResponse implements i.AddLineItemResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): AddLineItemResponse {\n let m = new AddLineItemResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.AddLineItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class ChargeInvoiceRequest implements i.ChargeInvoiceRequestInterface {\n merchantId: string;\n customerId: string;\n invoiceId: string;\n paymentMethodId: string;\n\n static fromProto(proto: any): ChargeInvoiceRequest {\n let m = new ChargeInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ChargeInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.paymentMethodId !== 'undefined') {toReturn['paymentMethodId'] = this.paymentMethodId;}\n return toReturn;\n }\n}\n\nexport class CreateInvoiceRequest implements i.CreateInvoiceRequestInterface {\n merchantId: string;\n customerId: string;\n currencyCode: string;\n orderId: string;\n\n static fromProto(proto: any): CreateInvoiceRequest {\n let m = new CreateInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n return toReturn;\n }\n}\n\nexport class CreateInvoiceResponse implements i.CreateInvoiceResponseInterface {\n invoiceId: string;\n\n static fromProto(proto: any): CreateInvoiceResponse {\n let m = new CreateInvoiceResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateInvoiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class InvoiceCustomerAddress implements i.InvoiceCustomerAddressInterface {\n address: string;\n city: string;\n state: string;\n zip: string;\n country: string;\n address2: string;\n\n static fromProto(proto: any): InvoiceCustomerAddress {\n let m = new InvoiceCustomerAddress();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.InvoiceCustomerAddressInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.address !== 'undefined') {toReturn['address'] = this.address;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.zip !== 'undefined') {toReturn['zip'] = this.zip;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.address2 !== 'undefined') {toReturn['address2'] = this.address2;}\n return toReturn;\n }\n}\n\nexport class ListInvoicesRequestFiltersDateFilter implements i.ListInvoicesRequestFiltersDateFilterInterface {\n dateField: e.ListInvoicesRequestFiltersDateFilterDateField;\n dateLte: Date;\n dateGte: Date;\n\n static fromProto(proto: any): ListInvoicesRequestFiltersDateFilter {\n let m = new ListInvoicesRequestFiltersDateFilter();\n m = Object.assign(m, proto);\n if (proto.dateField) {m.dateField = enumStringToValue<e.ListInvoicesRequestFiltersDateFilterDateField>(e.ListInvoicesRequestFiltersDateFilterDateField, proto.dateField);}\n if (proto.dateLte) {m.dateLte = new Date(proto.dateLte);}\n if (proto.dateGte) {m.dateGte = new Date(proto.dateGte);}\n return m;\n }\n\n constructor(kwargs?: i.ListInvoicesRequestFiltersDateFilterInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.dateField !== 'undefined') {toReturn['dateField'] = this.dateField;}\n if (typeof this.dateLte !== 'undefined' && this.dateLte !== null) {toReturn['dateLte'] = 'toApiJson' in this.dateLte ? (this.dateLte as any).toApiJson() : this.dateLte;}\n if (typeof this.dateGte !== 'undefined' && this.dateGte !== null) {toReturn['dateGte'] = 'toApiJson' in this.dateGte ? (this.dateGte as any).toApiJson() : this.dateGte;}\n return toReturn;\n }\n}\n\nexport class DeleteInvoiceRequest implements i.DeleteInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): DeleteInvoiceRequest {\n let m = new DeleteInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class DeleteLineItemRequest implements i.DeleteLineItemRequestInterface {\n merchantId: string;\n invoiceId: string;\n id: string;\n\n static fromProto(proto: any): DeleteLineItemRequest {\n let m = new DeleteLineItemRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteLineItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class DeleteLineItemResponse implements i.DeleteLineItemResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): DeleteLineItemResponse {\n let m = new DeleteLineItemResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.DeleteLineItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class DuplicateInvoiceRequest implements i.DuplicateInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): DuplicateInvoiceRequest {\n let m = new DuplicateInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DuplicateInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class DuplicateInvoiceResponse implements i.DuplicateInvoiceResponseInterface {\n invoiceId: string;\n\n static fromProto(proto: any): DuplicateInvoiceResponse {\n let m = new DuplicateInvoiceResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DuplicateInvoiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class ListInvoicesRequestFilters implements i.ListInvoicesRequestFiltersInterface {\n merchantId: string;\n customerId: string;\n statuses: e.InvoiceStatus[];\n pastDue: boolean;\n number: string;\n dateFilter: ListInvoicesRequestFiltersDateFilter;\n\n static fromProto(proto: any): ListInvoicesRequestFilters {\n let m = new ListInvoicesRequestFilters();\n m = Object.assign(m, proto);\n if (proto.statuses) {m.statuses = proto.statuses.map((v: string) => enumStringToValue<e.InvoiceStatus>(e.InvoiceStatus, v));}\n if (proto.dateFilter) {m.dateFilter = ListInvoicesRequestFiltersDateFilter.fromProto(proto.dateFilter);}\n return m;\n }\n\n constructor(kwargs?: i.ListInvoicesRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.statuses !== 'undefined') {toReturn['statuses'] = this.statuses;}\n if (typeof this.pastDue !== 'undefined') {toReturn['pastDue'] = this.pastDue;}\n if (typeof this.number !== 'undefined') {toReturn['number'] = this.number;}\n if (typeof this.dateFilter !== 'undefined' && this.dateFilter !== null) {toReturn['dateFilter'] = 'toApiJson' in this.dateFilter ? (this.dateFilter as any).toApiJson() : this.dateFilter;}\n return toReturn;\n }\n}\n\nexport class GetInvoiceRequest implements i.GetInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): GetInvoiceRequest {\n let m = new GetInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class GetInvoiceResponse implements i.GetInvoiceResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): GetInvoiceResponse {\n let m = new GetInvoiceResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.GetInvoiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class Invoice implements i.InvoiceInterface {\n merchantId: string;\n id: string;\n number: string;\n customerId: string;\n status: e.InvoiceStatus;\n subtotal: number;\n total: number;\n amountPaid: number;\n issued: Date;\n due: Date;\n created: Date;\n updated: Date;\n items: InvoiceItem[];\n currency: e.Currency;\n paid: Date;\n orderId: string;\n amountTax: number;\n appliedTaxes: AppliedTaxRate[];\n defaultTaxRates: TaxRate[];\n appliedBundles: AppliedBundle[];\n amountDiscount: number;\n customerName: string;\n origin: string;\n collectionMethod: string;\n contactId: string;\n memo: string;\n voided: Date;\n defaultPaymentMethod: string;\n customerAddress: InvoiceCustomerAddress;\n externalCustomerIdentifier: string;\n\n static fromProto(proto: any): Invoice {\n let m = new Invoice();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.InvoiceStatus>(e.InvoiceStatus, proto.status);}\n if (proto.subtotal) {m.subtotal = parseInt(proto.subtotal, 10);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.amountPaid) {m.amountPaid = parseInt(proto.amountPaid, 10);}\n if (proto.issued) {m.issued = new Date(proto.issued);}\n if (proto.due) {m.due = new Date(proto.due);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.items) {m.items = proto.items.map(InvoiceItem.fromProto);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.paid) {m.paid = new Date(proto.paid);}\n if (proto.amountTax) {m.amountTax = parseInt(proto.amountTax, 10);}\n if (proto.appliedTaxes) {m.appliedTaxes = proto.appliedTaxes.map(AppliedTaxRate.fromProto);}\n if (proto.defaultTaxRates) {m.defaultTaxRates = proto.defaultTaxRates.map(TaxRate.fromProto);}\n if (proto.appliedBundles) {m.appliedBundles = proto.appliedBundles.map(AppliedBundle.fromProto);}\n if (proto.amountDiscount) {m.amountDiscount = parseInt(proto.amountDiscount, 10);}\n if (proto.voided) {m.voided = new Date(proto.voided);}\n if (proto.customerAddress) {m.customerAddress = InvoiceCustomerAddress.fromProto(proto.customerAddress);}\n return m;\n }\n\n constructor(kwargs?: i.InvoiceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.number !== 'undefined') {toReturn['number'] = this.number;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.subtotal !== 'undefined') {toReturn['subtotal'] = this.subtotal;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.amountPaid !== 'undefined') {toReturn['amountPaid'] = this.amountPaid;}\n if (typeof this.issued !== 'undefined' && this.issued !== null) {toReturn['issued'] = 'toApiJson' in this.issued ? (this.issued as any).toApiJson() : this.issued;}\n if (typeof this.due !== 'undefined' && this.due !== null) {toReturn['due'] = 'toApiJson' in this.due ? (this.due as any).toApiJson() : this.due;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.paid !== 'undefined' && this.paid !== null) {toReturn['paid'] = 'toApiJson' in this.paid ? (this.paid as any).toApiJson() : this.paid;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.amountTax !== 'undefined') {toReturn['amountTax'] = this.amountTax;}\n if (typeof this.appliedTaxes !== 'undefined' && this.appliedTaxes !== null) {toReturn['appliedTaxes'] = 'toApiJson' in this.appliedTaxes ? (this.appliedTaxes as any).toApiJson() : this.appliedTaxes;}\n if (typeof this.defaultTaxRates !== 'undefined' && this.defaultTaxRates !== null) {toReturn['defaultTaxRates'] = 'toApiJson' in this.defaultTaxRates ? (this.defaultTaxRates as any).toApiJson() : this.defaultTaxRates;}\n if (typeof this.appliedBundles !== 'undefined' && this.appliedBundles !== null) {toReturn['appliedBundles'] = 'toApiJson' in this.appliedBundles ? (this.appliedBundles as any).toApiJson() : this.appliedBundles;}\n if (typeof this.amountDiscount !== 'undefined') {toReturn['amountDiscount'] = this.amountDiscount;}\n if (typeof this.customerName !== 'undefined') {toReturn['customerName'] = this.customerName;}\n if (typeof this.origin !== 'undefined') {toReturn['origin'] = this.origin;}\n if (typeof this.collectionMethod !== 'undefined') {toReturn['collectionMethod'] = this.collectionMethod;}\n if (typeof this.contactId !== 'undefined') {toReturn['contactId'] = this.contactId;}\n if (typeof this.memo !== 'undefined') {toReturn['memo'] = this.memo;}\n if (typeof this.voided !== 'undefined' && this.voided !== null) {toReturn['voided'] = 'toApiJson' in this.voided ? (this.voided as any).toApiJson() : this.voided;}\n if (typeof this.defaultPaymentMethod !== 'undefined') {toReturn['defaultPaymentMethod'] = this.defaultPaymentMethod;}\n if (typeof this.customerAddress !== 'undefined' && this.customerAddress !== null) {toReturn['customerAddress'] = 'toApiJson' in this.customerAddress ? (this.customerAddress as any).toApiJson() : this.customerAddress;}\n if (typeof this.externalCustomerIdentifier !== 'undefined') {toReturn['externalCustomerIdentifier'] = this.externalCustomerIdentifier;}\n return toReturn;\n }\n}\n\nexport class InvoiceItem implements i.InvoiceItemInterface {\n id: string;\n sku: string;\n amount: number;\n quantity: number;\n description: string;\n total: number;\n appliedTaxes: AppliedTaxRate[];\n taxRates: TaxRate[];\n bundleId: string;\n discounts: AppliedDiscount[];\n subtotal: number;\n bundleInstanceId: string;\n\n static fromProto(proto: any): InvoiceItem {\n let m = new InvoiceItem();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.appliedTaxes) {m.appliedTaxes = proto.appliedTaxes.map(AppliedTaxRate.fromProto);}\n if (proto.taxRates) {m.taxRates = proto.taxRates.map(TaxRate.fromProto);}\n if (proto.discounts) {m.discounts = proto.discounts.map(AppliedDiscount.fromProto);}\n if (proto.subtotal) {m.subtotal = parseInt(proto.subtotal, 10);}\n return m;\n }\n\n constructor(kwargs?: i.InvoiceItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.appliedTaxes !== 'undefined' && this.appliedTaxes !== null) {toReturn['appliedTaxes'] = 'toApiJson' in this.appliedTaxes ? (this.appliedTaxes as any).toApiJson() : this.appliedTaxes;}\n if (typeof this.taxRates !== 'undefined' && this.taxRates !== null) {toReturn['taxRates'] = 'toApiJson' in this.taxRates ? (this.taxRates as any).toApiJson() : this.taxRates;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.discounts !== 'undefined' && this.discounts !== null) {toReturn['discounts'] = 'toApiJson' in this.discounts ? (this.discounts as any).toApiJson() : this.discounts;}\n if (typeof this.subtotal !== 'undefined') {toReturn['subtotal'] = this.subtotal;}\n if (typeof this.bundleInstanceId !== 'undefined') {toReturn['bundleInstanceId'] = this.bundleInstanceId;}\n return toReturn;\n }\n}\n\nexport class ListInvoicesRequest implements i.ListInvoicesRequestInterface {\n filters: ListInvoicesRequestFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListInvoicesRequest {\n let m = new ListInvoicesRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListInvoicesRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListInvoicesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListInvoicesResponse implements i.ListInvoicesResponseInterface {\n invoices: Invoice[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListInvoicesResponse {\n let m = new ListInvoicesResponse();\n m = Object.assign(m, proto);\n if (proto.invoices) {m.invoices = proto.invoices.map(Invoice.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListInvoicesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoices !== 'undefined' && this.invoices !== null) {toReturn['invoices'] = 'toApiJson' in this.invoices ? (this.invoices as any).toApiJson() : this.invoices;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class PayInvoiceRequest implements i.PayInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): PayInvoiceRequest {\n let m = new PayInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PayInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class RemoveBundleRequest implements i.RemoveBundleRequestInterface {\n invoiceId: string;\n merchantId: string;\n bundleId: string;\n bundleInstanceId: string;\n\n static fromProto(proto: any): RemoveBundleRequest {\n let m = new RemoveBundleRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RemoveBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.bundleInstanceId !== 'undefined') {toReturn['bundleInstanceId'] = this.bundleInstanceId;}\n return toReturn;\n }\n}\n\nexport class RemoveBundleResponse implements i.RemoveBundleResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): RemoveBundleResponse {\n let m = new RemoveBundleResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.RemoveBundleResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class SendInvoiceRequest implements i.SendInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n emailAddresses: string[];\n languageCode: string;\n\n static fromProto(proto: any): SendInvoiceRequest {\n let m = new SendInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SendInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.emailAddresses !== 'undefined') {toReturn['emailAddresses'] = this.emailAddresses;}\n if (typeof this.languageCode !== 'undefined') {toReturn['languageCode'] = this.languageCode;}\n return toReturn;\n }\n}\n\nexport class UpdateBundleRequest implements i.UpdateBundleRequestInterface {\n merchantId: string;\n invoiceId: string;\n bundleId: string;\n hideBundleItems: boolean;\n bundleInstanceId: string;\n\n static fromProto(proto: any): UpdateBundleRequest {\n let m = new UpdateBundleRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.hideBundleItems !== 'undefined') {toReturn['hideBundleItems'] = this.hideBundleItems;}\n if (typeof this.bundleInstanceId !== 'undefined') {toReturn['bundleInstanceId'] = this.bundleInstanceId;}\n return toReturn;\n }\n}\n\nexport class UpdateBundleResponse implements i.UpdateBundleResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): UpdateBundleResponse {\n let m = new UpdateBundleResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateBundleResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class UpdateDefaultTaxRatesRequest implements i.UpdateDefaultTaxRatesRequestInterface {\n invoiceId: string;\n merchantId: string;\n taxRateIds: string[];\n\n static fromProto(proto: any): UpdateDefaultTaxRatesRequest {\n let m = new UpdateDefaultTaxRatesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateDefaultTaxRatesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.taxRateIds !== 'undefined') {toReturn['taxRateIds'] = this.taxRateIds;}\n return toReturn;\n }\n}\n\nexport class UpdateDefaultTaxRatesResponse implements i.UpdateDefaultTaxRatesResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): UpdateDefaultTaxRatesResponse {\n let m = new UpdateDefaultTaxRatesResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateDefaultTaxRatesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class UpdateInvoiceRequest implements i.UpdateInvoiceRequestInterface {\n invoice: Invoice;\n fieldMask: FieldMask;\n\n static fromProto(proto: any): UpdateInvoiceRequest {\n let m = new UpdateInvoiceRequest();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class UpdateInvoiceResponse implements i.UpdateInvoiceResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): UpdateInvoiceResponse {\n let m = new UpdateInvoiceResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateInvoiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class UpdateLineItemRequest implements i.UpdateLineItemRequestInterface {\n merchantId: string;\n invoiceId: string;\n id: string;\n sku: string;\n amount: number;\n quantity: number;\n description: string;\n taxRates: string[];\n\n static fromProto(proto: any): UpdateLineItemRequest {\n let m = new UpdateLineItemRequest();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateLineItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.taxRates !== 'undefined') {toReturn['taxRates'] = this.taxRates;}\n return toReturn;\n }\n}\n\nexport class UpdateLineItemResponse implements i.UpdateLineItemResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): UpdateLineItemResponse {\n let m = new UpdateLineItemResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateLineItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class VoidInvoiceRequest implements i.VoidInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): VoidInvoiceRequest {\n let m = new VoidInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.VoidInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Balance implements i.BalanceInterface {\n currencyCode: string;\n amount: number;\n futurePayouts: number;\n inTransit: number;\n\n static fromProto(proto: any): Balance {\n let m = new Balance();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.futurePayouts) {m.futurePayouts = parseInt(proto.futurePayouts, 10);}\n if (proto.inTransit) {m.inTransit = parseInt(proto.inTransit, 10);}\n return m;\n }\n\n constructor(kwargs?: i.BalanceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.futurePayouts !== 'undefined') {toReturn['futurePayouts'] = this.futurePayouts;}\n if (typeof this.inTransit !== 'undefined') {toReturn['inTransit'] = this.inTransit;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DateRange implements i.DateRangeInterface {\n start: Date;\n end: Date;\n\n static fromProto(proto: any): DateRange {\n let m = new DateRange();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.DateRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { DateRange } from './date-range';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ListPayoutsRequestFilters implements i.ListPayoutsRequestFiltersInterface {\n arrivalDateRange: DateRange;\n\n static fromProto(proto: any): ListPayoutsRequestFilters {\n let m = new ListPayoutsRequestFilters();\n m = Object.assign(m, proto);\n if (proto.arrivalDateRange) {m.arrivalDateRange = DateRange.fromProto(proto.arrivalDateRange);}\n return m;\n }\n\n constructor(kwargs?: i.ListPayoutsRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.arrivalDateRange !== 'undefined' && this.arrivalDateRange !== null) {toReturn['arrivalDateRange'] = 'toApiJson' in this.arrivalDateRange ? (this.arrivalDateRange as any).toApiJson() : this.arrivalDateRange;}\n return toReturn;\n }\n}\n\nexport class ListPayoutsRequest implements i.ListPayoutsRequestInterface {\n filters: ListPayoutsRequestFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListPayoutsRequest {\n let m = new ListPayoutsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListPayoutsRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListPayoutsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListPayoutsResponse implements i.ListPayoutsResponseInterface {\n payouts: Payout[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListPayoutsResponse {\n let m = new ListPayoutsResponse();\n m = Object.assign(m, proto);\n if (proto.payouts) {m.payouts = proto.payouts.map(Payout.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListPayoutsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payouts !== 'undefined' && this.payouts !== null) {toReturn['payouts'] = 'toApiJson' in this.payouts ? (this.payouts as any).toApiJson() : this.payouts;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Payout implements i.PayoutInterface {\n id: string;\n arrivalDate: Date;\n amount: number;\n currency: e.Currency;\n status: e.PayoutStatus;\n type: e.PayoutType;\n lastFourDigits: string;\n bankName: string;\n bankId: string;\n\n static fromProto(proto: any): Payout {\n let m = new Payout();\n m = Object.assign(m, proto);\n if (proto.arrivalDate) {m.arrivalDate = new Date(proto.arrivalDate);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.status) {m.status = enumStringToValue<e.PayoutStatus>(e.PayoutStatus, proto.status);}\n if (proto.type) {m.type = enumStringToValue<e.PayoutType>(e.PayoutType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.PayoutInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.arrivalDate !== 'undefined' && this.arrivalDate !== null) {toReturn['arrivalDate'] = 'toApiJson' in this.arrivalDate ? (this.arrivalDate as any).toApiJson() : this.arrivalDate;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.lastFourDigits !== 'undefined') {toReturn['lastFourDigits'] = this.lastFourDigits;}\n if (typeof this.bankName !== 'undefined') {toReturn['bankName'] = this.bankName;}\n if (typeof this.bankId !== 'undefined') {toReturn['bankId'] = this.bankId;}\n return toReturn;\n }\n}\n\nexport class ReconcilePayoutRequest implements i.ReconcilePayoutRequestInterface {\n bankReconciliationId: string;\n payoutId: string;\n allowRetries: boolean;\n\n static fromProto(proto: any): ReconcilePayoutRequest {\n let m = new ReconcilePayoutRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ReconcilePayoutRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.bankReconciliationId !== 'undefined') {toReturn['bankReconciliationId'] = this.bankReconciliationId;}\n if (typeof this.payoutId !== 'undefined') {toReturn['payoutId'] = this.payoutId;}\n if (typeof this.allowRetries !== 'undefined') {toReturn['allowRetries'] = this.allowRetries;}\n return toReturn;\n }\n}\n\nexport class ReconcilePayoutResponse implements i.ReconcilePayoutResponseInterface {\n pipelineId: string;\n\n static fromProto(proto: any): ReconcilePayoutResponse {\n let m = new ReconcilePayoutResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ReconcilePayoutResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pipelineId !== 'undefined') {toReturn['pipelineId'] = this.pipelineId;}\n return toReturn;\n }\n}\n\nexport class RetailPayout implements i.RetailPayoutInterface {\n id: string;\n arrivalDate: Date;\n amount: number;\n currencyCode: string;\n status: e.PayoutStatus;\n type: e.PayoutType;\n lastFourDigits: string;\n bankName: string;\n bankId: string;\n failureCode: string;\n failureMessage: string;\n\n static fromProto(proto: any): RetailPayout {\n let m = new RetailPayout();\n m = Object.assign(m, proto);\n if (proto.arrivalDate) {m.arrivalDate = new Date(proto.arrivalDate);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.status) {m.status = enumStringToValue<e.PayoutStatus>(e.PayoutStatus, proto.status);}\n if (proto.type) {m.type = enumStringToValue<e.PayoutType>(e.PayoutType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.RetailPayoutInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.arrivalDate !== 'undefined' && this.arrivalDate !== null) {toReturn['arrivalDate'] = 'toApiJson' in this.arrivalDate ? (this.arrivalDate as any).toApiJson() : this.arrivalDate;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.lastFourDigits !== 'undefined') {toReturn['lastFourDigits'] = this.lastFourDigits;}\n if (typeof this.bankName !== 'undefined') {toReturn['bankName'] = this.bankName;}\n if (typeof this.bankId !== 'undefined') {toReturn['bankId'] = this.bankId;}\n if (typeof this.failureCode !== 'undefined') {toReturn['failureCode'] = this.failureCode;}\n if (typeof this.failureMessage !== 'undefined') {toReturn['failureMessage'] = this.failureMessage;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Balance } from './balance';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport { RetailPayout } from './payout';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ChargeSalesInvoiceRequest implements i.ChargeSalesInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n amount: number;\n\n static fromProto(proto: any): ChargeSalesInvoiceRequest {\n let m = new ChargeSalesInvoiceRequest();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ChargeSalesInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n return toReturn;\n }\n}\n\nexport class ConnectStripeAccountRequest implements i.ConnectStripeAccountRequestInterface {\n countryCode: string;\n failureUrl: string;\n successUrl: string;\n merchantId: string;\n\n static fromProto(proto: any): ConnectStripeAccountRequest {\n let m = new ConnectStripeAccountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ConnectStripeAccountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.countryCode !== 'undefined') {toReturn['countryCode'] = this.countryCode;}\n if (typeof this.failureUrl !== 'undefined') {toReturn['failureUrl'] = this.failureUrl;}\n if (typeof this.successUrl !== 'undefined') {toReturn['successUrl'] = this.successUrl;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class ConnectStripeAccountResponse implements i.ConnectStripeAccountResponseInterface {\n stripeUrl: string;\n error: string;\n\n static fromProto(proto: any): ConnectStripeAccountResponse {\n let m = new ConnectStripeAccountResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ConnectStripeAccountResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.stripeUrl !== 'undefined') {toReturn['stripeUrl'] = this.stripeUrl;}\n if (typeof this.error !== 'undefined') {toReturn['error'] = this.error;}\n return toReturn;\n }\n}\n\nexport class CreateMerchantRequest implements i.CreateMerchantRequestInterface {\n merchantId: string;\n address: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n emailAddress: string;\n phoneNumber: string;\n contactName: string;\n companyName: string;\n additionalEmailAddresses: string[];\n includeInFinancialRecords: CreateMerchantRequestIncludeInFinancialRecords;\n hasAlternativePaymentMethod: boolean;\n\n static fromProto(proto: any): CreateMerchantRequest {\n let m = new CreateMerchantRequest();\n m = Object.assign(m, proto);\n if (proto.includeInFinancialRecords) {m.includeInFinancialRecords = CreateMerchantRequestIncludeInFinancialRecords.fromProto(proto.includeInFinancialRecords);}\n return m;\n }\n\n constructor(kwargs?: i.CreateMerchantRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.address !== 'undefined') {toReturn['address'] = this.address;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.zipCode !== 'undefined') {toReturn['zipCode'] = this.zipCode;}\n if (typeof this.emailAddress !== 'undefined') {toReturn['emailAddress'] = this.emailAddress;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.contactName !== 'undefined') {toReturn['contactName'] = this.contactName;}\n if (typeof this.companyName !== 'undefined') {toReturn['companyName'] = this.companyName;}\n if (typeof this.additionalEmailAddresses !== 'undefined') {toReturn['additionalEmailAddresses'] = this.additionalEmailAddresses;}\n if (typeof this.includeInFinancialRecords !== 'undefined' && this.includeInFinancialRecords !== null) {toReturn['includeInFinancialRecords'] = 'toApiJson' in this.includeInFinancialRecords ? (this.includeInFinancialRecords as any).toApiJson() : this.includeInFinancialRecords;}\n if (typeof this.hasAlternativePaymentMethod !== 'undefined') {toReturn['hasAlternativePaymentMethod'] = this.hasAlternativePaymentMethod;}\n return toReturn;\n }\n}\n\nexport class DefaultCustomerConfiguration implements i.DefaultCustomerConfigurationInterface {\n generateMethod: string;\n collectionMethod: string;\n invoiceDay: number;\n\n static fromProto(proto: any): DefaultCustomerConfiguration {\n let m = new DefaultCustomerConfiguration();\n m = Object.assign(m, proto);\n if (proto.invoiceDay) {m.invoiceDay = parseInt(proto.invoiceDay, 10);}\n return m;\n }\n\n constructor(kwargs?: i.DefaultCustomerConfigurationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.generateMethod !== 'undefined') {toReturn['generateMethod'] = this.generateMethod;}\n if (typeof this.collectionMethod !== 'undefined') {toReturn['collectionMethod'] = this.collectionMethod;}\n if (typeof this.invoiceDay !== 'undefined') {toReturn['invoiceDay'] = this.invoiceDay;}\n return toReturn;\n }\n}\n\nexport class GetMerchantRequest implements i.GetMerchantRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetMerchantRequest {\n let m = new GetMerchantRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMerchantRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetMerchantResponse implements i.GetMerchantResponseInterface {\n merchant: Merchant;\n\n static fromProto(proto: any): GetMerchantResponse {\n let m = new GetMerchantResponse();\n m = Object.assign(m, proto);\n if (proto.merchant) {m.merchant = Merchant.fromProto(proto.merchant);}\n return m;\n }\n\n constructor(kwargs?: i.GetMerchantResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchant !== 'undefined' && this.merchant !== null) {toReturn['merchant'] = 'toApiJson' in this.merchant ? (this.merchant as any).toApiJson() : this.merchant;}\n return toReturn;\n }\n}\n\nexport class GetMultiRetailConfigurationsRequest implements i.GetMultiRetailConfigurationsRequestInterface {\n merchantId: string;\n retailGroupIds: string[];\n\n static fromProto(proto: any): GetMultiRetailConfigurationsRequest {\n let m = new GetMultiRetailConfigurationsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiRetailConfigurationsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.retailGroupIds !== 'undefined') {toReturn['retailGroupIds'] = this.retailGroupIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiRetailConfigurationsResponse implements i.GetMultiRetailConfigurationsResponseInterface {\n retailConfigurations: {[key: string]: RetailConfiguration};\n\n static fromProto(proto: any): GetMultiRetailConfigurationsResponse {\n let m = new GetMultiRetailConfigurationsResponse();\n m = Object.assign(m, proto);\n if (proto.retailConfigurations) {m.retailConfigurations = Object.keys(proto.retailConfigurations).reduce<any>((obj, k) => { obj[k] = RetailConfiguration.fromProto(proto.retailConfigurations[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiRetailConfigurationsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.retailConfigurations !== 'undefined' && this.retailConfigurations !== null) {toReturn['retailConfigurations'] = 'toApiJson' in this.retailConfigurations ? (this.retailConfigurations as any).toApiJson() : this.retailConfigurations;}\n return toReturn;\n }\n}\n\nexport class GetOutstandingBalanceRequest implements i.GetOutstandingBalanceRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetOutstandingBalanceRequest {\n let m = new GetOutstandingBalanceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetOutstandingBalanceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetOutstandingBalanceResponse implements i.GetOutstandingBalanceResponseInterface {\n outstandingBalance: number;\n currency: e.Currency;\n\n static fromProto(proto: any): GetOutstandingBalanceResponse {\n let m = new GetOutstandingBalanceResponse();\n m = Object.assign(m, proto);\n if (proto.outstandingBalance) {m.outstandingBalance = parseInt(proto.outstandingBalance, 10);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n return m;\n }\n\n constructor(kwargs?: i.GetOutstandingBalanceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.outstandingBalance !== 'undefined') {toReturn['outstandingBalance'] = this.outstandingBalance;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n return toReturn;\n }\n}\n\nexport class GetPayoutSummaryRequest implements i.GetPayoutSummaryRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetPayoutSummaryRequest {\n let m = new GetPayoutSummaryRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetPayoutSummaryRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetPayoutSummaryResponse implements i.GetPayoutSummaryResponseInterface {\n balances: Balance[];\n nextInTransitPayoutExpectedDate: Date;\n payoutInterval: string;\n payoutDelayDays: number;\n\n static fromProto(proto: any): GetPayoutSummaryResponse {\n let m = new GetPayoutSummaryResponse();\n m = Object.assign(m, proto);\n if (proto.balances) {m.balances = proto.balances.map(Balance.fromProto);}\n if (proto.nextInTransitPayoutExpectedDate) {m.nextInTransitPayoutExpectedDate = new Date(proto.nextInTransitPayoutExpectedDate);}\n if (proto.payoutDelayDays) {m.payoutDelayDays = parseInt(proto.payoutDelayDays, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GetPayoutSummaryResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.balances !== 'undefined' && this.balances !== null) {toReturn['balances'] = 'toApiJson' in this.balances ? (this.balances as any).toApiJson() : this.balances;}\n if (typeof this.nextInTransitPayoutExpectedDate !== 'undefined' && this.nextInTransitPayoutExpectedDate !== null) {toReturn['nextInTransitPayoutExpectedDate'] = 'toApiJson' in this.nextInTransitPayoutExpectedDate ? (this.nextInTransitPayoutExpectedDate as any).toApiJson() : this.nextInTransitPayoutExpectedDate;}\n if (typeof this.payoutInterval !== 'undefined') {toReturn['payoutInterval'] = this.payoutInterval;}\n if (typeof this.payoutDelayDays !== 'undefined') {toReturn['payoutDelayDays'] = this.payoutDelayDays;}\n return toReturn;\n }\n}\n\nexport class GetRetailBalanceRequest implements i.GetRetailBalanceRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetRetailBalanceRequest {\n let m = new GetRetailBalanceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailBalanceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetRetailBalanceResponse implements i.GetRetailBalanceResponseInterface {\n balances: Balance[];\n\n static fromProto(proto: any): GetRetailBalanceResponse {\n let m = new GetRetailBalanceResponse();\n m = Object.assign(m, proto);\n if (proto.balances) {m.balances = proto.balances.map(Balance.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetRetailBalanceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.balances !== 'undefined' && this.balances !== null) {toReturn['balances'] = 'toApiJson' in this.balances ? (this.balances as any).toApiJson() : this.balances;}\n return toReturn;\n }\n}\n\nexport class GetRetailPayoutRequest implements i.GetRetailPayoutRequestInterface {\n merchantId: string;\n payoutId: string;\n\n static fromProto(proto: any): GetRetailPayoutRequest {\n let m = new GetRetailPayoutRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailPayoutRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.payoutId !== 'undefined') {toReturn['payoutId'] = this.payoutId;}\n return toReturn;\n }\n}\n\nexport class GetRetailPayoutResponse implements i.GetRetailPayoutResponseInterface {\n payout: RetailPayout;\n\n static fromProto(proto: any): GetRetailPayoutResponse {\n let m = new GetRetailPayoutResponse();\n m = Object.assign(m, proto);\n if (proto.payout) {m.payout = RetailPayout.fromProto(proto.payout);}\n return m;\n }\n\n constructor(kwargs?: i.GetRetailPayoutResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payout !== 'undefined' && this.payout !== null) {toReturn['payout'] = 'toApiJson' in this.payout ? (this.payout as any).toApiJson() : this.payout;}\n return toReturn;\n }\n}\n\nexport class UpdateMerchantRequestIncludeInFinancialRecords implements i.UpdateMerchantRequestIncludeInFinancialRecordsInterface {\n includeInFinancialRecords: boolean;\n\n static fromProto(proto: any): UpdateMerchantRequestIncludeInFinancialRecords {\n let m = new UpdateMerchantRequestIncludeInFinancialRecords();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateMerchantRequestIncludeInFinancialRecordsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.includeInFinancialRecords !== 'undefined') {toReturn['includeInFinancialRecords'] = this.includeInFinancialRecords;}\n return toReturn;\n }\n}\n\nexport class CreateMerchantRequestIncludeInFinancialRecords implements i.CreateMerchantRequestIncludeInFinancialRecordsInterface {\n includeInFinancialRecords: boolean;\n\n static fromProto(proto: any): CreateMerchantRequestIncludeInFinancialRecords {\n let m = new CreateMerchantRequestIncludeInFinancialRecords();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateMerchantRequestIncludeInFinancialRecordsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.includeInFinancialRecords !== 'undefined') {toReturn['includeInFinancialRecords'] = this.includeInFinancialRecords;}\n return toReturn;\n }\n}\n\nexport class ListRetailPayoutsRequest implements i.ListRetailPayoutsRequestInterface {\n merchantId: string;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListRetailPayoutsRequest {\n let m = new ListRetailPayoutsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailPayoutsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListRetailPayoutsResponse implements i.ListRetailPayoutsResponseInterface {\n payouts: RetailPayout[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListRetailPayoutsResponse {\n let m = new ListRetailPayoutsResponse();\n m = Object.assign(m, proto);\n if (proto.payouts) {m.payouts = proto.payouts.map(RetailPayout.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailPayoutsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payouts !== 'undefined' && this.payouts !== null) {toReturn['payouts'] = 'toApiJson' in this.payouts ? (this.payouts as any).toApiJson() : this.payouts;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Merchant implements i.MerchantInterface {\n merchantId: string;\n address: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n emailAddress: string;\n phoneNumber: string;\n contactName: string;\n companyName: string;\n autoPostInvoices: boolean;\n autoChargeInvoices: boolean;\n includeInFinancialRecords: boolean;\n additionalEmailAddresses: string[];\n hasAlternativePaymentMethod: boolean;\n stripeAccountId: string;\n\n static fromProto(proto: any): Merchant {\n let m = new Merchant();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.MerchantInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.address !== 'undefined') {toReturn['address'] = this.address;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.zipCode !== 'undefined') {toReturn['zipCode'] = this.zipCode;}\n if (typeof this.emailAddress !== 'undefined') {toReturn['emailAddress'] = this.emailAddress;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.contactName !== 'undefined') {toReturn['contactName'] = this.contactName;}\n if (typeof this.companyName !== 'undefined') {toReturn['companyName'] = this.companyName;}\n if (typeof this.autoPostInvoices !== 'undefined') {toReturn['autoPostInvoices'] = this.autoPostInvoices;}\n if (typeof this.autoChargeInvoices !== 'undefined') {toReturn['autoChargeInvoices'] = this.autoChargeInvoices;}\n if (typeof this.includeInFinancialRecords !== 'undefined') {toReturn['includeInFinancialRecords'] = this.includeInFinancialRecords;}\n if (typeof this.additionalEmailAddresses !== 'undefined') {toReturn['additionalEmailAddresses'] = this.additionalEmailAddresses;}\n if (typeof this.hasAlternativePaymentMethod !== 'undefined') {toReturn['hasAlternativePaymentMethod'] = this.hasAlternativePaymentMethod;}\n if (typeof this.stripeAccountId !== 'undefined') {toReturn['stripeAccountId'] = this.stripeAccountId;}\n return toReturn;\n }\n}\n\nexport class RetailConfiguration implements i.RetailConfigurationInterface {\n merchantId: string;\n retailGroupId: string;\n currencyCode: string;\n defaultCustomerConfiguration: DefaultCustomerConfiguration;\n currencyConversionRate: number;\n\n static fromProto(proto: any): RetailConfiguration {\n let m = new RetailConfiguration();\n m = Object.assign(m, proto);\n if (proto.defaultCustomerConfiguration) {m.defaultCustomerConfiguration = DefaultCustomerConfiguration.fromProto(proto.defaultCustomerConfiguration);}\n if (proto.currencyConversionRate) {m.currencyConversionRate = parseInt(proto.currencyConversionRate, 10);}\n return m;\n }\n\n constructor(kwargs?: i.RetailConfigurationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.retailGroupId !== 'undefined') {toReturn['retailGroupId'] = this.retailGroupId;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.defaultCustomerConfiguration !== 'undefined' && this.defaultCustomerConfiguration !== null) {toReturn['defaultCustomerConfiguration'] = 'toApiJson' in this.defaultCustomerConfiguration ? (this.defaultCustomerConfiguration as any).toApiJson() : this.defaultCustomerConfiguration;}\n if (typeof this.currencyConversionRate !== 'undefined') {toReturn['currencyConversionRate'] = this.currencyConversionRate;}\n return toReturn;\n }\n}\n\nexport class GetMultiRetailConfigurationsResponseRetailConfigurationsEntry implements i.GetMultiRetailConfigurationsResponseRetailConfigurationsEntryInterface {\n key: string;\n value: RetailConfiguration;\n\n static fromProto(proto: any): GetMultiRetailConfigurationsResponseRetailConfigurationsEntry {\n let m = new GetMultiRetailConfigurationsResponseRetailConfigurationsEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = RetailConfiguration.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiRetailConfigurationsResponseRetailConfigurationsEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class SearchMerchantsRequest implements i.SearchMerchantsRequestInterface {\n searchTerm: string;\n sortBy: e.SearchMerchantsRequestSortBy;\n sortDirection: e.SortDirection;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): SearchMerchantsRequest {\n let m = new SearchMerchantsRequest();\n m = Object.assign(m, proto);\n if (proto.sortBy) {m.sortBy = enumStringToValue<e.SearchMerchantsRequestSortBy>(e.SearchMerchantsRequestSortBy, proto.sortBy);}\n if (proto.sortDirection) {m.sortDirection = enumStringToValue<e.SortDirection>(e.SortDirection, proto.sortDirection);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.SearchMerchantsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n if (typeof this.sortBy !== 'undefined') {toReturn['sortBy'] = this.sortBy;}\n if (typeof this.sortDirection !== 'undefined') {toReturn['sortDirection'] = this.sortDirection;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class SearchMerchantsResponse implements i.SearchMerchantsResponseInterface {\n merchants: Merchant[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): SearchMerchantsResponse {\n let m = new SearchMerchantsResponse();\n m = Object.assign(m, proto);\n if (proto.merchants) {m.merchants = proto.merchants.map(Merchant.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.SearchMerchantsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchants !== 'undefined' && this.merchants !== null) {toReturn['merchants'] = 'toApiJson' in this.merchants ? (this.merchants as any).toApiJson() : this.merchants;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class SetAutoChargeInvoicesRequest implements i.SetAutoChargeInvoicesRequestInterface {\n merchantId: string;\n autoChargeInvoices: boolean;\n\n static fromProto(proto: any): SetAutoChargeInvoicesRequest {\n let m = new SetAutoChargeInvoicesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetAutoChargeInvoicesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.autoChargeInvoices !== 'undefined') {toReturn['autoChargeInvoices'] = this.autoChargeInvoices;}\n return toReturn;\n }\n}\n\nexport class SetAutoPostInvoicesRequest implements i.SetAutoPostInvoicesRequestInterface {\n merchantId: string;\n shouldAutoPostInvoices: boolean;\n\n static fromProto(proto: any): SetAutoPostInvoicesRequest {\n let m = new SetAutoPostInvoicesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetAutoPostInvoicesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.shouldAutoPostInvoices !== 'undefined') {toReturn['shouldAutoPostInvoices'] = this.shouldAutoPostInvoices;}\n return toReturn;\n }\n}\n\nexport class SetDefaultPaymentCardRequest implements i.SetDefaultPaymentCardRequestInterface {\n merchantId: string;\n cardId: string;\n\n static fromProto(proto: any): SetDefaultPaymentCardRequest {\n let m = new SetDefaultPaymentCardRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetDefaultPaymentCardRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.cardId !== 'undefined') {toReturn['cardId'] = this.cardId;}\n return toReturn;\n }\n}\n\nexport class SetHasAlternativePaymentMethodRequest implements i.SetHasAlternativePaymentMethodRequestInterface {\n merchantId: string;\n hasAlternativePaymentMethod: boolean;\n\n static fromProto(proto: any): SetHasAlternativePaymentMethodRequest {\n let m = new SetHasAlternativePaymentMethodRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetHasAlternativePaymentMethodRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.hasAlternativePaymentMethod !== 'undefined') {toReturn['hasAlternativePaymentMethod'] = this.hasAlternativePaymentMethod;}\n return toReturn;\n }\n}\n\nexport class SetIncludeInFinancialRecordsRequest implements i.SetIncludeInFinancialRecordsRequestInterface {\n merchantId: string;\n includeInFinancialRecords: boolean;\n\n static fromProto(proto: any): SetIncludeInFinancialRecordsRequest {\n let m = new SetIncludeInFinancialRecordsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetIncludeInFinancialRecordsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.includeInFinancialRecords !== 'undefined') {toReturn['includeInFinancialRecords'] = this.includeInFinancialRecords;}\n return toReturn;\n }\n}\n\nexport class UpdateMerchantRequest implements i.UpdateMerchantRequestInterface {\n merchantId: string;\n address: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n emailAddress: string;\n phoneNumber: string;\n contactName: string;\n companyName: string;\n additionalEmailAddresses: string[];\n includeInFinancialRecords: UpdateMerchantRequestIncludeInFinancialRecords;\n hasAlternativePaymentMethod: boolean;\n\n static fromProto(proto: any): UpdateMerchantRequest {\n let m = new UpdateMerchantRequest();\n m = Object.assign(m, proto);\n if (proto.includeInFinancialRecords) {m.includeInFinancialRecords = UpdateMerchantRequestIncludeInFinancialRecords.fromProto(proto.includeInFinancialRecords);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMerchantRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.address !== 'undefined') {toReturn['address'] = this.address;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.zipCode !== 'undefined') {toReturn['zipCode'] = this.zipCode;}\n if (typeof this.emailAddress !== 'undefined') {toReturn['emailAddress'] = this.emailAddress;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.contactName !== 'undefined') {toReturn['contactName'] = this.contactName;}\n if (typeof this.companyName !== 'undefined') {toReturn['companyName'] = this.companyName;}\n if (typeof this.additionalEmailAddresses !== 'undefined') {toReturn['additionalEmailAddresses'] = this.additionalEmailAddresses;}\n if (typeof this.includeInFinancialRecords !== 'undefined' && this.includeInFinancialRecords !== null) {toReturn['includeInFinancialRecords'] = 'toApiJson' in this.includeInFinancialRecords ? (this.includeInFinancialRecords as any).toApiJson() : this.includeInFinancialRecords;}\n if (typeof this.hasAlternativePaymentMethod !== 'undefined') {toReturn['hasAlternativePaymentMethod'] = this.hasAlternativePaymentMethod;}\n return toReturn;\n }\n}\n\nexport class UpsertDefaultRetailCustomerConfigurationRequest implements i.UpsertDefaultRetailCustomerConfigurationRequestInterface {\n merchantId: string;\n retailGroupId: string;\n defaultCustomerConfiguration: DefaultCustomerConfiguration;\n\n static fromProto(proto: any): UpsertDefaultRetailCustomerConfigurationRequest {\n let m = new UpsertDefaultRetailCustomerConfigurationRequest();\n m = Object.assign(m, proto);\n if (proto.defaultCustomerConfiguration) {m.defaultCustomerConfiguration = DefaultCustomerConfiguration.fromProto(proto.defaultCustomerConfiguration);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertDefaultRetailCustomerConfigurationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.retailGroupId !== 'undefined') {toReturn['retailGroupId'] = this.retailGroupId;}\n if (typeof this.defaultCustomerConfiguration !== 'undefined' && this.defaultCustomerConfiguration !== null) {toReturn['defaultCustomerConfiguration'] = 'toApiJson' in this.defaultCustomerConfiguration ? (this.defaultCustomerConfiguration as any).toApiJson() : this.defaultCustomerConfiguration;}\n return toReturn;\n }\n}\n\nexport class UpsertRetailConfigurationRequest implements i.UpsertRetailConfigurationRequestInterface {\n merchantId: string;\n retailGroupId: string;\n currencyCode: string;\n currencyConversionRate: number;\n\n static fromProto(proto: any): UpsertRetailConfigurationRequest {\n let m = new UpsertRetailConfigurationRequest();\n m = Object.assign(m, proto);\n if (proto.currencyConversionRate) {m.currencyConversionRate = parseInt(proto.currencyConversionRate, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertRetailConfigurationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.retailGroupId !== 'undefined') {toReturn['retailGroupId'] = this.retailGroupId;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.currencyConversionRate !== 'undefined') {toReturn['currencyConversionRate'] = this.currencyConversionRate;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ListMerchantBillingReportsRequest implements i.ListMerchantBillingReportsRequestInterface {\n merchantId: string;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListMerchantBillingReportsRequest {\n let m = new ListMerchantBillingReportsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListMerchantBillingReportsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListMerchantBillingReportsResponse implements i.ListMerchantBillingReportsResponseInterface {\n reports: MerchantReport[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListMerchantBillingReportsResponse {\n let m = new ListMerchantBillingReportsResponse();\n m = Object.assign(m, proto);\n if (proto.reports) {m.reports = proto.reports.map(MerchantReport.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListMerchantBillingReportsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.reports !== 'undefined' && this.reports !== null) {toReturn['reports'] = 'toApiJson' in this.reports ? (this.reports as any).toApiJson() : this.reports;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class MerchantReport implements i.MerchantReportInterface {\n merchantId: string;\n year: number;\n month: e.Month;\n created: Date;\n status: e.MerchantReportStatus;\n\n static fromProto(proto: any): MerchantReport {\n let m = new MerchantReport();\n m = Object.assign(m, proto);\n if (proto.year) {m.year = parseInt(proto.year, 10);}\n if (proto.month) {m.month = enumStringToValue<e.Month>(e.Month, proto.month);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.status) {m.status = enumStringToValue<e.MerchantReportStatus>(e.MerchantReportStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.MerchantReportInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.year !== 'undefined') {toReturn['year'] = this.year;}\n if (typeof this.month !== 'undefined') {toReturn['month'] = this.month;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateMeteredComponentRequest implements i.CreateMeteredComponentRequestInterface {\n component: MeteredComponent;\n sku: string;\n\n static fromProto(proto: any): CreateMeteredComponentRequest {\n let m = new CreateMeteredComponentRequest();\n m = Object.assign(m, proto);\n if (proto.component) {m.component = MeteredComponent.fromProto(proto.component);}\n return m;\n }\n\n constructor(kwargs?: i.CreateMeteredComponentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.component !== 'undefined' && this.component !== null) {toReturn['component'] = 'toApiJson' in this.component ? (this.component as any).toApiJson() : this.component;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class MeteredComponent implements i.MeteredComponentInterface {\n componentId: string;\n name: string;\n\n static fromProto(proto: any): MeteredComponent {\n let m = new MeteredComponent();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.MeteredComponentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.componentId !== 'undefined') {toReturn['componentId'] = this.componentId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n return toReturn;\n }\n}\n\nexport class TickComponentUsageRequest implements i.TickComponentUsageRequestInterface {\n merchantId: string;\n customerId: string;\n componentId: string;\n orderId: string;\n sku: string;\n quantity: number;\n idempotencyKey: string;\n\n static fromProto(proto: any): TickComponentUsageRequest {\n let m = new TickComponentUsageRequest();\n m = Object.assign(m, proto);\n if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n return m;\n }\n\n constructor(kwargs?: i.TickComponentUsageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.componentId !== 'undefined') {toReturn['componentId'] = this.componentId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.idempotencyKey !== 'undefined') {toReturn['idempotencyKey'] = this.idempotencyKey;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class RetailPaymentCardDetails implements i.RetailPaymentCardDetailsInterface {\n cardType: e.CardType;\n lastFourDigits: string;\n\n static fromProto(proto: any): RetailPaymentCardDetails {\n let m = new RetailPaymentCardDetails();\n m = Object.assign(m, proto);\n if (proto.cardType) {m.cardType = enumStringToValue<e.CardType>(e.CardType, proto.cardType);}\n return m;\n }\n\n constructor(kwargs?: i.RetailPaymentCardDetailsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.cardType !== 'undefined') {toReturn['cardType'] = this.cardType;}\n if (typeof this.lastFourDigits !== 'undefined') {toReturn['lastFourDigits'] = this.lastFourDigits;}\n return toReturn;\n }\n}\n\nexport class CloseRetailDisputeRequest implements i.CloseRetailDisputeRequestInterface {\n merchantId: string;\n disputeId: string;\n\n static fromProto(proto: any): CloseRetailDisputeRequest {\n let m = new CloseRetailDisputeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CloseRetailDisputeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.disputeId !== 'undefined') {toReturn['disputeId'] = this.disputeId;}\n return toReturn;\n }\n}\n\nexport class ConfigureRetailPaymentProviderRequest implements i.ConfigureRetailPaymentProviderRequestInterface {\n merchantId: string;\n failureUrl: string;\n successUrl: string;\n\n static fromProto(proto: any): ConfigureRetailPaymentProviderRequest {\n let m = new ConfigureRetailPaymentProviderRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ConfigureRetailPaymentProviderRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.failureUrl !== 'undefined') {toReturn['failureUrl'] = this.failureUrl;}\n if (typeof this.successUrl !== 'undefined') {toReturn['successUrl'] = this.successUrl;}\n return toReturn;\n }\n}\n\nexport class ConfigureRetailPaymentProviderResponse implements i.ConfigureRetailPaymentProviderResponseInterface {\n stripeUrl: string;\n error: string;\n\n static fromProto(proto: any): ConfigureRetailPaymentProviderResponse {\n let m = new ConfigureRetailPaymentProviderResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ConfigureRetailPaymentProviderResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.stripeUrl !== 'undefined') {toReturn['stripeUrl'] = this.stripeUrl;}\n if (typeof this.error !== 'undefined') {toReturn['error'] = this.error;}\n return toReturn;\n }\n}\n\nexport class ConfirmRetailPaymentRequest implements i.ConfirmRetailPaymentRequestInterface {\n merchantId: string;\n id: string;\n\n static fromProto(proto: any): ConfirmRetailPaymentRequest {\n let m = new ConfirmRetailPaymentRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ConfirmRetailPaymentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class Dispute implements i.DisputeInterface {\n paymentId: string;\n status: e.DisputeStatus;\n id: string;\n amount: number;\n created: Date;\n currencyCode: string;\n evidence: DisputeEvidence;\n evidenceDetails: DisputeEvidenceDetails;\n isChargeRefundable: boolean;\n reason: string;\n fee: number;\n feeCurrencyCode: string;\n\n static fromProto(proto: any): Dispute {\n let m = new Dispute();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.DisputeStatus>(e.DisputeStatus, proto.status);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.evidence) {m.evidence = DisputeEvidence.fromProto(proto.evidence);}\n if (proto.evidenceDetails) {m.evidenceDetails = DisputeEvidenceDetails.fromProto(proto.evidenceDetails);}\n if (proto.fee) {m.fee = parseInt(proto.fee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.DisputeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.paymentId !== 'undefined') {toReturn['paymentId'] = this.paymentId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.evidence !== 'undefined' && this.evidence !== null) {toReturn['evidence'] = 'toApiJson' in this.evidence ? (this.evidence as any).toApiJson() : this.evidence;}\n if (typeof this.evidenceDetails !== 'undefined' && this.evidenceDetails !== null) {toReturn['evidenceDetails'] = 'toApiJson' in this.evidenceDetails ? (this.evidenceDetails as any).toApiJson() : this.evidenceDetails;}\n if (typeof this.isChargeRefundable !== 'undefined') {toReturn['isChargeRefundable'] = this.isChargeRefundable;}\n if (typeof this.reason !== 'undefined') {toReturn['reason'] = this.reason;}\n if (typeof this.fee !== 'undefined') {toReturn['fee'] = this.fee;}\n if (typeof this.feeCurrencyCode !== 'undefined') {toReturn['feeCurrencyCode'] = this.feeCurrencyCode;}\n return toReturn;\n }\n}\n\nexport class DisputeEvidence implements i.DisputeEvidenceInterface {\n customerCommunication: File;\n customerSignature: File;\n shippingDocumentation: File;\n receipt: File;\n uncategorizedFile: File;\n billingAddress: string;\n customerEmailAddress: string;\n customerName: string;\n productDescription: string;\n\n static fromProto(proto: any): DisputeEvidence {\n let m = new DisputeEvidence();\n m = Object.assign(m, proto);\n if (proto.customerCommunication) {m.customerCommunication = File.fromProto(proto.customerCommunication);}\n if (proto.customerSignature) {m.customerSignature = File.fromProto(proto.customerSignature);}\n if (proto.shippingDocumentation) {m.shippingDocumentation = File.fromProto(proto.shippingDocumentation);}\n if (proto.receipt) {m.receipt = File.fromProto(proto.receipt);}\n if (proto.uncategorizedFile) {m.uncategorizedFile = File.fromProto(proto.uncategorizedFile);}\n return m;\n }\n\n constructor(kwargs?: i.DisputeEvidenceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerCommunication !== 'undefined' && this.customerCommunication !== null) {toReturn['customerCommunication'] = 'toApiJson' in this.customerCommunication ? (this.customerCommunication as any).toApiJson() : this.customerCommunication;}\n if (typeof this.customerSignature !== 'undefined' && this.customerSignature !== null) {toReturn['customerSignature'] = 'toApiJson' in this.customerSignature ? (this.customerSignature as any).toApiJson() : this.customerSignature;}\n if (typeof this.shippingDocumentation !== 'undefined' && this.shippingDocumentation !== null) {toReturn['shippingDocumentation'] = 'toApiJson' in this.shippingDocumentation ? (this.shippingDocumentation as any).toApiJson() : this.shippingDocumentation;}\n if (typeof this.receipt !== 'undefined' && this.receipt !== null) {toReturn['receipt'] = 'toApiJson' in this.receipt ? (this.receipt as any).toApiJson() : this.receipt;}\n if (typeof this.uncategorizedFile !== 'undefined' && this.uncategorizedFile !== null) {toReturn['uncategorizedFile'] = 'toApiJson' in this.uncategorizedFile ? (this.uncategorizedFile as any).toApiJson() : this.uncategorizedFile;}\n if (typeof this.billingAddress !== 'undefined') {toReturn['billingAddress'] = this.billingAddress;}\n if (typeof this.customerEmailAddress !== 'undefined') {toReturn['customerEmailAddress'] = this.customerEmailAddress;}\n if (typeof this.customerName !== 'undefined') {toReturn['customerName'] = this.customerName;}\n if (typeof this.productDescription !== 'undefined') {toReturn['productDescription'] = this.productDescription;}\n return toReturn;\n }\n}\n\nexport class SubmitEvidenceRequestDisputeEvidence implements i.SubmitEvidenceRequestDisputeEvidenceInterface {\n billingAddress: string;\n customerEmailAddress: string;\n customerName: string;\n productDescription: string;\n customerSignatureFileId: string;\n customerCommunicationFileId: string;\n receiptFileId: string;\n shippingDocumentationFileId: string;\n uncategorizedFileId: string;\n\n static fromProto(proto: any): SubmitEvidenceRequestDisputeEvidence {\n let m = new SubmitEvidenceRequestDisputeEvidence();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SubmitEvidenceRequestDisputeEvidenceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.billingAddress !== 'undefined') {toReturn['billingAddress'] = this.billingAddress;}\n if (typeof this.customerEmailAddress !== 'undefined') {toReturn['customerEmailAddress'] = this.customerEmailAddress;}\n if (typeof this.customerName !== 'undefined') {toReturn['customerName'] = this.customerName;}\n if (typeof this.productDescription !== 'undefined') {toReturn['productDescription'] = this.productDescription;}\n if (typeof this.customerSignatureFileId !== 'undefined') {toReturn['customerSignatureFileId'] = this.customerSignatureFileId;}\n if (typeof this.customerCommunicationFileId !== 'undefined') {toReturn['customerCommunicationFileId'] = this.customerCommunicationFileId;}\n if (typeof this.receiptFileId !== 'undefined') {toReturn['receiptFileId'] = this.receiptFileId;}\n if (typeof this.shippingDocumentationFileId !== 'undefined') {toReturn['shippingDocumentationFileId'] = this.shippingDocumentationFileId;}\n if (typeof this.uncategorizedFileId !== 'undefined') {toReturn['uncategorizedFileId'] = this.uncategorizedFileId;}\n return toReturn;\n }\n}\n\nexport class DisputeEvidenceDetails implements i.DisputeEvidenceDetailsInterface {\n dueBy: Date;\n hasEvidence: boolean;\n pastDue: boolean;\n submissionCount: number;\n\n static fromProto(proto: any): DisputeEvidenceDetails {\n let m = new DisputeEvidenceDetails();\n m = Object.assign(m, proto);\n if (proto.dueBy) {m.dueBy = new Date(proto.dueBy);}\n if (proto.submissionCount) {m.submissionCount = parseInt(proto.submissionCount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.DisputeEvidenceDetailsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.dueBy !== 'undefined' && this.dueBy !== null) {toReturn['dueBy'] = 'toApiJson' in this.dueBy ? (this.dueBy as any).toApiJson() : this.dueBy;}\n if (typeof this.hasEvidence !== 'undefined') {toReturn['hasEvidence'] = this.hasEvidence;}\n if (typeof this.pastDue !== 'undefined') {toReturn['pastDue'] = this.pastDue;}\n if (typeof this.submissionCount !== 'undefined') {toReturn['submissionCount'] = this.submissionCount;}\n return toReturn;\n }\n}\n\nexport class File implements i.FileInterface {\n created: Date;\n id: string;\n filename: string;\n url: string;\n\n static fromProto(proto: any): File {\n let m = new File();\n m = Object.assign(m, proto);\n if (proto.created) {m.created = new Date(proto.created);}\n return m;\n }\n\n constructor(kwargs?: i.FileInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.filename !== 'undefined') {toReturn['filename'] = this.filename;}\n if (typeof this.url !== 'undefined') {toReturn['url'] = this.url;}\n return toReturn;\n }\n}\n\nexport class GetRetailDisputeRequest implements i.GetRetailDisputeRequestInterface {\n merchantId: string;\n disputeId: string;\n\n static fromProto(proto: any): GetRetailDisputeRequest {\n let m = new GetRetailDisputeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailDisputeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.disputeId !== 'undefined') {toReturn['disputeId'] = this.disputeId;}\n return toReturn;\n }\n}\n\nexport class GetRetailDisputeResponse implements i.GetRetailDisputeResponseInterface {\n dispute: Dispute;\n\n static fromProto(proto: any): GetRetailDisputeResponse {\n let m = new GetRetailDisputeResponse();\n m = Object.assign(m, proto);\n if (proto.dispute) {m.dispute = Dispute.fromProto(proto.dispute);}\n return m;\n }\n\n constructor(kwargs?: i.GetRetailDisputeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.dispute !== 'undefined' && this.dispute !== null) {toReturn['dispute'] = 'toApiJson' in this.dispute ? (this.dispute as any).toApiJson() : this.dispute;}\n return toReturn;\n }\n}\n\nexport class GetRetailPaymentProviderRequest implements i.GetRetailPaymentProviderRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetRetailPaymentProviderRequest {\n let m = new GetRetailPaymentProviderRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailPaymentProviderRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetRetailPaymentProviderResponse implements i.GetRetailPaymentProviderResponseInterface {\n statementDescriptor: string;\n stripeConnectId: string;\n\n static fromProto(proto: any): GetRetailPaymentProviderResponse {\n let m = new GetRetailPaymentProviderResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailPaymentProviderResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.statementDescriptor !== 'undefined') {toReturn['statementDescriptor'] = this.statementDescriptor;}\n if (typeof this.stripeConnectId !== 'undefined') {toReturn['stripeConnectId'] = this.stripeConnectId;}\n return toReturn;\n }\n}\n\nexport class GetRetailPaymentRequest implements i.GetRetailPaymentRequestInterface {\n merchantId: string;\n paymentId: string;\n\n static fromProto(proto: any): GetRetailPaymentRequest {\n let m = new GetRetailPaymentRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailPaymentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.paymentId !== 'undefined') {toReturn['paymentId'] = this.paymentId;}\n return toReturn;\n }\n}\n\nexport class GetRetailPaymentResponse implements i.GetRetailPaymentResponseInterface {\n payment: RetailPayment;\n\n static fromProto(proto: any): GetRetailPaymentResponse {\n let m = new GetRetailPaymentResponse();\n m = Object.assign(m, proto);\n if (proto.payment) {m.payment = RetailPayment.fromProto(proto.payment);}\n return m;\n }\n\n constructor(kwargs?: i.GetRetailPaymentResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payment !== 'undefined' && this.payment !== null) {toReturn['payment'] = 'toApiJson' in this.payment ? (this.payment as any).toApiJson() : this.payment;}\n return toReturn;\n }\n}\n\nexport class ListPaymentRequestListPaymentFilters implements i.ListPaymentRequestListPaymentFiltersInterface {\n merchantId: string;\n allocationIds: string[];\n start: Date;\n end: Date;\n\n static fromProto(proto: any): ListPaymentRequestListPaymentFilters {\n let m = new ListPaymentRequestListPaymentFilters();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.ListPaymentRequestListPaymentFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.allocationIds !== 'undefined') {toReturn['allocationIds'] = this.allocationIds;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n return toReturn;\n }\n}\n\nexport class ListPaymentRequest implements i.ListPaymentRequestInterface {\n filters: ListPaymentRequestListPaymentFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListPaymentRequest {\n let m = new ListPaymentRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListPaymentRequestListPaymentFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListPaymentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListPaymentResponse implements i.ListPaymentResponseInterface {\n payments: Payment[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListPaymentResponse {\n let m = new ListPaymentResponse();\n m = Object.assign(m, proto);\n if (proto.payments) {m.payments = proto.payments.map(Payment.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListPaymentResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payments !== 'undefined' && this.payments !== null) {toReturn['payments'] = 'toApiJson' in this.payments ? (this.payments as any).toApiJson() : this.payments;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class ListRetailDisputesRequest implements i.ListRetailDisputesRequestInterface {\n merchantId: string;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListRetailDisputesRequest {\n let m = new ListRetailDisputesRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailDisputesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListRetailDisputesResponse implements i.ListRetailDisputesResponseInterface {\n disputes: Dispute[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListRetailDisputesResponse {\n let m = new ListRetailDisputesResponse();\n m = Object.assign(m, proto);\n if (proto.disputes) {m.disputes = proto.disputes.map(Dispute.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailDisputesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.disputes !== 'undefined' && this.disputes !== null) {toReturn['disputes'] = 'toApiJson' in this.disputes ? (this.disputes as any).toApiJson() : this.disputes;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class ListRetailPaymentsRequestListRetailPaymentsFilters implements i.ListRetailPaymentsRequestListRetailPaymentsFiltersInterface {\n payoutId: string;\n customerId: string;\n createdDateGte: Date;\n createdDateLte: Date;\n\n static fromProto(proto: any): ListRetailPaymentsRequestListRetailPaymentsFilters {\n let m = new ListRetailPaymentsRequestListRetailPaymentsFilters();\n m = Object.assign(m, proto);\n if (proto.createdDateGte) {m.createdDateGte = new Date(proto.createdDateGte);}\n if (proto.createdDateLte) {m.createdDateLte = new Date(proto.createdDateLte);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailPaymentsRequestListRetailPaymentsFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payoutId !== 'undefined') {toReturn['payoutId'] = this.payoutId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.createdDateGte !== 'undefined' && this.createdDateGte !== null) {toReturn['createdDateGte'] = 'toApiJson' in this.createdDateGte ? (this.createdDateGte as any).toApiJson() : this.createdDateGte;}\n if (typeof this.createdDateLte !== 'undefined' && this.createdDateLte !== null) {toReturn['createdDateLte'] = 'toApiJson' in this.createdDateLte ? (this.createdDateLte as any).toApiJson() : this.createdDateLte;}\n return toReturn;\n }\n}\n\nexport class ListRetailPaymentsRequest implements i.ListRetailPaymentsRequestInterface {\n merchantId: string;\n pagingOptions: PagedRequestOptions;\n filters: ListRetailPaymentsRequestListRetailPaymentsFilters;\n\n static fromProto(proto: any): ListRetailPaymentsRequest {\n let m = new ListRetailPaymentsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n if (proto.filters) {m.filters = ListRetailPaymentsRequestListRetailPaymentsFilters.fromProto(proto.filters);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailPaymentsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n return toReturn;\n }\n}\n\nexport class ListRetailPaymentsResponse implements i.ListRetailPaymentsResponseInterface {\n payments: RetailPayment[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListRetailPaymentsResponse {\n let m = new ListRetailPaymentsResponse();\n m = Object.assign(m, proto);\n if (proto.payments) {m.payments = proto.payments.map(RetailPayment.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailPaymentsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payments !== 'undefined' && this.payments !== null) {toReturn['payments'] = 'toApiJson' in this.payments ? (this.payments as any).toApiJson() : this.payments;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class PrepareRetailPaymentRequestOrder implements i.PrepareRetailPaymentRequestOrderInterface {\n orderId: string;\n amount: number;\n currencyCode: string;\n paymentMethodId: string;\n\n static fromProto(proto: any): PrepareRetailPaymentRequestOrder {\n let m = new PrepareRetailPaymentRequestOrder();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PrepareRetailPaymentRequestOrderInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.paymentMethodId !== 'undefined') {toReturn['paymentMethodId'] = this.paymentMethodId;}\n return toReturn;\n }\n}\n\nexport class Payment implements i.PaymentInterface {\n merchantId: string;\n created: Date;\n currency: e.Currency;\n paymentSource: e.PaymentSource;\n allocations: PaymentPaymentAllocation[];\n total: number;\n description: string;\n externalReferenceId: string;\n status: e.PaymentStatus;\n\n static fromProto(proto: any): Payment {\n let m = new Payment();\n m = Object.assign(m, proto);\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.paymentSource) {m.paymentSource = enumStringToValue<e.PaymentSource>(e.PaymentSource, proto.paymentSource);}\n if (proto.allocations) {m.allocations = proto.allocations.map(PaymentPaymentAllocation.fromProto);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.status) {m.status = enumStringToValue<e.PaymentStatus>(e.PaymentStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.PaymentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.paymentSource !== 'undefined') {toReturn['paymentSource'] = this.paymentSource;}\n if (typeof this.allocations !== 'undefined' && this.allocations !== null) {toReturn['allocations'] = 'toApiJson' in this.allocations ? (this.allocations as any).toApiJson() : this.allocations;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.externalReferenceId !== 'undefined') {toReturn['externalReferenceId'] = this.externalReferenceId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\nexport class PaymentPaymentAllocation implements i.PaymentPaymentAllocationInterface {\n referenceId: string;\n amount: number;\n type: e.PaymentAllocationType;\n\n static fromProto(proto: any): PaymentPaymentAllocation {\n let m = new PaymentPaymentAllocation();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.type) {m.type = enumStringToValue<e.PaymentAllocationType>(e.PaymentAllocationType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.PaymentPaymentAllocationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.referenceId !== 'undefined') {toReturn['referenceId'] = this.referenceId;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n return toReturn;\n }\n}\n\nexport class PrepareRetailPaymentRequest implements i.PrepareRetailPaymentRequestInterface {\n merchantId: string;\n customerId: string;\n invoiceId: string;\n order: PrepareRetailPaymentRequestOrder;\n\n static fromProto(proto: any): PrepareRetailPaymentRequest {\n let m = new PrepareRetailPaymentRequest();\n m = Object.assign(m, proto);\n if (proto.order) {m.order = PrepareRetailPaymentRequestOrder.fromProto(proto.order);}\n return m;\n }\n\n constructor(kwargs?: i.PrepareRetailPaymentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n return toReturn;\n }\n}\n\nexport class PrepareRetailPaymentResponse implements i.PrepareRetailPaymentResponseInterface {\n stripeClientSecret: string;\n intentId: string;\n\n static fromProto(proto: any): PrepareRetailPaymentResponse {\n let m = new PrepareRetailPaymentResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PrepareRetailPaymentResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.stripeClientSecret !== 'undefined') {toReturn['stripeClientSecret'] = this.stripeClientSecret;}\n if (typeof this.intentId !== 'undefined') {toReturn['intentId'] = this.intentId;}\n return toReturn;\n }\n}\n\nexport class RetailPayment implements i.RetailPaymentInterface {\n merchantId: string;\n created: Date;\n currencyCode: string;\n amount: number;\n referenceId: string;\n referenceType: e.RetailPaymentReferenceType;\n customerId: string;\n status: e.PaymentStatus;\n description: string;\n failureCode: string;\n failureMessage: string;\n applicationFee: number;\n disputed: boolean;\n id: string;\n dispute: Dispute;\n cardDetails: RetailPaymentCardDetails;\n\n static fromProto(proto: any): RetailPayment {\n let m = new RetailPayment();\n m = Object.assign(m, proto);\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.referenceType) {m.referenceType = enumStringToValue<e.RetailPaymentReferenceType>(e.RetailPaymentReferenceType, proto.referenceType);}\n if (proto.status) {m.status = enumStringToValue<e.PaymentStatus>(e.PaymentStatus, proto.status);}\n if (proto.applicationFee) {m.applicationFee = parseInt(proto.applicationFee, 10);}\n if (proto.dispute) {m.dispute = Dispute.fromProto(proto.dispute);}\n if (proto.cardDetails) {m.cardDetails = RetailPaymentCardDetails.fromProto(proto.cardDetails);}\n return m;\n }\n\n constructor(kwargs?: i.RetailPaymentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.referenceId !== 'undefined') {toReturn['referenceId'] = this.referenceId;}\n if (typeof this.referenceType !== 'undefined') {toReturn['referenceType'] = this.referenceType;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.failureCode !== 'undefined') {toReturn['failureCode'] = this.failureCode;}\n if (typeof this.failureMessage !== 'undefined') {toReturn['failureMessage'] = this.failureMessage;}\n if (typeof this.applicationFee !== 'undefined') {toReturn['applicationFee'] = this.applicationFee;}\n if (typeof this.disputed !== 'undefined') {toReturn['disputed'] = this.disputed;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.dispute !== 'undefined' && this.dispute !== null) {toReturn['dispute'] = 'toApiJson' in this.dispute ? (this.dispute as any).toApiJson() : this.dispute;}\n if (typeof this.cardDetails !== 'undefined' && this.cardDetails !== null) {toReturn['cardDetails'] = 'toApiJson' in this.cardDetails ? (this.cardDetails as any).toApiJson() : this.cardDetails;}\n return toReturn;\n }\n}\n\nexport class RetailPaymentsEnabledRequest implements i.RetailPaymentsEnabledRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): RetailPaymentsEnabledRequest {\n let m = new RetailPaymentsEnabledRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RetailPaymentsEnabledRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class RetailPaymentsEnabledResponse implements i.RetailPaymentsEnabledResponseInterface {\n enabled: boolean;\n\n static fromProto(proto: any): RetailPaymentsEnabledResponse {\n let m = new RetailPaymentsEnabledResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RetailPaymentsEnabledResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.enabled !== 'undefined') {toReturn['enabled'] = this.enabled;}\n return toReturn;\n }\n}\n\nexport class RetailStatusRequest implements i.RetailStatusRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): RetailStatusRequest {\n let m = new RetailStatusRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RetailStatusRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class RetailStatusResponse implements i.RetailStatusResponseInterface {\n supportedRegion: boolean;\n canAcceptPayment: boolean;\n requirements: RetailStatusResponseVerificationRequirements;\n disabledReason: string;\n\n static fromProto(proto: any): RetailStatusResponse {\n let m = new RetailStatusResponse();\n m = Object.assign(m, proto);\n if (proto.requirements) {m.requirements = RetailStatusResponseVerificationRequirements.fromProto(proto.requirements);}\n return m;\n }\n\n constructor(kwargs?: i.RetailStatusResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.supportedRegion !== 'undefined') {toReturn['supportedRegion'] = this.supportedRegion;}\n if (typeof this.canAcceptPayment !== 'undefined') {toReturn['canAcceptPayment'] = this.canAcceptPayment;}\n if (typeof this.requirements !== 'undefined' && this.requirements !== null) {toReturn['requirements'] = 'toApiJson' in this.requirements ? (this.requirements as any).toApiJson() : this.requirements;}\n if (typeof this.disabledReason !== 'undefined') {toReturn['disabledReason'] = this.disabledReason;}\n return toReturn;\n }\n}\n\nexport class SubmitEvidenceRequest implements i.SubmitEvidenceRequestInterface {\n merchantId: string;\n disputeId: string;\n paymentId: string;\n evidence: SubmitEvidenceRequestDisputeEvidence;\n submit: boolean;\n\n static fromProto(proto: any): SubmitEvidenceRequest {\n let m = new SubmitEvidenceRequest();\n m = Object.assign(m, proto);\n if (proto.evidence) {m.evidence = SubmitEvidenceRequestDisputeEvidence.fromProto(proto.evidence);}\n return m;\n }\n\n constructor(kwargs?: i.SubmitEvidenceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.disputeId !== 'undefined') {toReturn['disputeId'] = this.disputeId;}\n if (typeof this.paymentId !== 'undefined') {toReturn['paymentId'] = this.paymentId;}\n if (typeof this.evidence !== 'undefined' && this.evidence !== null) {toReturn['evidence'] = 'toApiJson' in this.evidence ? (this.evidence as any).toApiJson() : this.evidence;}\n if (typeof this.submit !== 'undefined') {toReturn['submit'] = this.submit;}\n return toReturn;\n }\n}\n\nexport class UpdateRetailPaymentProviderRequest implements i.UpdateRetailPaymentProviderRequestInterface {\n merchantId: string;\n statementDescriptor: string;\n\n static fromProto(proto: any): UpdateRetailPaymentProviderRequest {\n let m = new UpdateRetailPaymentProviderRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateRetailPaymentProviderRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.statementDescriptor !== 'undefined') {toReturn['statementDescriptor'] = this.statementDescriptor;}\n return toReturn;\n }\n}\n\nexport class RetailStatusResponseVerificationError implements i.RetailStatusResponseVerificationErrorInterface {\n requirement: string;\n code: string;\n reason: string;\n\n static fromProto(proto: any): RetailStatusResponseVerificationError {\n let m = new RetailStatusResponseVerificationError();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RetailStatusResponseVerificationErrorInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.requirement !== 'undefined') {toReturn['requirement'] = this.requirement;}\n if (typeof this.code !== 'undefined') {toReturn['code'] = this.code;}\n if (typeof this.reason !== 'undefined') {toReturn['reason'] = this.reason;}\n return toReturn;\n }\n}\n\nexport class RetailStatusResponseVerificationRequirements implements i.RetailStatusResponseVerificationRequirementsInterface {\n due: string[];\n error: RetailStatusResponseVerificationError[];\n\n static fromProto(proto: any): RetailStatusResponseVerificationRequirements {\n let m = new RetailStatusResponseVerificationRequirements();\n m = Object.assign(m, proto);\n if (proto.error) {m.error = proto.error.map(RetailStatusResponseVerificationError.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.RetailStatusResponseVerificationRequirementsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.due !== 'undefined') {toReturn['due'] = this.due;}\n if (typeof this.error !== 'undefined' && this.error !== null) {toReturn['error'] = 'toApiJson' in this.error ? (this.error as any).toApiJson() : this.error;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreatePaymentCardRequest implements i.CreatePaymentCardRequestInterface {\n merchantId: string;\n stripeToken: string;\n\n static fromProto(proto: any): CreatePaymentCardRequest {\n let m = new CreatePaymentCardRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreatePaymentCardRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.stripeToken !== 'undefined') {toReturn['stripeToken'] = this.stripeToken;}\n return toReturn;\n }\n}\n\nexport class DeletePaymentCardRequest implements i.DeletePaymentCardRequestInterface {\n merchantId: string;\n cardId: string;\n\n static fromProto(proto: any): DeletePaymentCardRequest {\n let m = new DeletePaymentCardRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeletePaymentCardRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.cardId !== 'undefined') {toReturn['cardId'] = this.cardId;}\n return toReturn;\n }\n}\n\nexport class ListPaymentCardsRequest implements i.ListPaymentCardsRequestInterface {\n merchantId: string;\n customerId: string;\n\n static fromProto(proto: any): ListPaymentCardsRequest {\n let m = new ListPaymentCardsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListPaymentCardsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n return toReturn;\n }\n}\n\nexport class ListPaymentCardsResponse implements i.ListPaymentCardsResponseInterface {\n paymentCard: PaymentCard[];\n\n static fromProto(proto: any): ListPaymentCardsResponse {\n let m = new ListPaymentCardsResponse();\n m = Object.assign(m, proto);\n if (proto.paymentCard) {m.paymentCard = proto.paymentCard.map(PaymentCard.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListPaymentCardsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.paymentCard !== 'undefined' && this.paymentCard !== null) {toReturn['paymentCard'] = 'toApiJson' in this.paymentCard ? (this.paymentCard as any).toApiJson() : this.paymentCard;}\n return toReturn;\n }\n}\n\nexport class PaymentCard implements i.PaymentCardInterface {\n lastFourDigits: string;\n cardType: e.PaymentCardCARD_TYPE;\n address: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n cardId: string;\n cardholderName: string;\n expiryMonth: number;\n expiryYear: number;\n fundingType: e.PaymentCardFUNDING_TYPE;\n default: boolean;\n\n static fromProto(proto: any): PaymentCard {\n let m = new PaymentCard();\n m = Object.assign(m, proto);\n if (proto.cardType) {m.cardType = enumStringToValue<e.PaymentCardCARD_TYPE>(e.PaymentCardCARD_TYPE, proto.cardType);}\n if (proto.fundingType) {m.fundingType = enumStringToValue<e.PaymentCardFUNDING_TYPE>(e.PaymentCardFUNDING_TYPE, proto.fundingType);}\n return m;\n }\n\n constructor(kwargs?: i.PaymentCardInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.lastFourDigits !== 'undefined') {toReturn['lastFourDigits'] = this.lastFourDigits;}\n if (typeof this.cardType !== 'undefined') {toReturn['cardType'] = this.cardType;}\n if (typeof this.address !== 'undefined') {toReturn['address'] = this.address;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.zipCode !== 'undefined') {toReturn['zipCode'] = this.zipCode;}\n if (typeof this.cardId !== 'undefined') {toReturn['cardId'] = this.cardId;}\n if (typeof this.cardholderName !== 'undefined') {toReturn['cardholderName'] = this.cardholderName;}\n if (typeof this.expiryMonth !== 'undefined') {toReturn['expiryMonth'] = this.expiryMonth;}\n if (typeof this.expiryYear !== 'undefined') {toReturn['expiryYear'] = this.expiryYear;}\n if (typeof this.fundingType !== 'undefined') {toReturn['fundingType'] = this.fundingType;}\n if (typeof this.default !== 'undefined') {toReturn['default'] = this.default;}\n return toReturn;\n }\n}\n\nexport class SetDefaultPaymentMethodRequest implements i.SetDefaultPaymentMethodRequestInterface {\n merchantId: string;\n customerId: string;\n paymentMethodId: string;\n\n static fromProto(proto: any): SetDefaultPaymentMethodRequest {\n let m = new SetDefaultPaymentMethodRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetDefaultPaymentMethodRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.paymentMethodId !== 'undefined') {toReturn['paymentMethodId'] = this.paymentMethodId;}\n return toReturn;\n }\n}\n\nexport class UpdatePaymentCardRequest implements i.UpdatePaymentCardRequestInterface {\n merchantId: string;\n stripeToken: string;\n\n static fromProto(proto: any): UpdatePaymentCardRequest {\n let m = new UpdatePaymentCardRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdatePaymentCardRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.stripeToken !== 'undefined') {toReturn['stripeToken'] = this.stripeToken;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { FieldMask } from './field-mask';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ComponentPricing implements i.ComponentPricingInterface {\n componentId: string;\n unitPrice: number;\n\n static fromProto(proto: any): ComponentPricing {\n let m = new ComponentPricing();\n m = Object.assign(m, proto);\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ComponentPricingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.componentId !== 'undefined') {toReturn['componentId'] = this.componentId;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n return toReturn;\n }\n}\n\nexport class CreatePricingPlanRequest implements i.CreatePricingPlanRequestInterface {\n name: string;\n defaultBillingStrategy: e.BillingStrategy;\n\n static fromProto(proto: any): CreatePricingPlanRequest {\n let m = new CreatePricingPlanRequest();\n m = Object.assign(m, proto);\n if (proto.defaultBillingStrategy) {m.defaultBillingStrategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.defaultBillingStrategy);}\n return m;\n }\n\n constructor(kwargs?: i.CreatePricingPlanRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.defaultBillingStrategy !== 'undefined') {toReturn['defaultBillingStrategy'] = this.defaultBillingStrategy;}\n return toReturn;\n }\n}\n\nexport class CreatePricingPlanResponse implements i.CreatePricingPlanResponseInterface {\n id: string;\n\n static fromProto(proto: any): CreatePricingPlanResponse {\n let m = new CreatePricingPlanResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreatePricingPlanResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class GetMultiPricingPlanRequest implements i.GetMultiPricingPlanRequestInterface {\n pricingPlanIds: string[];\n\n static fromProto(proto: any): GetMultiPricingPlanRequest {\n let m = new GetMultiPricingPlanRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiPricingPlanRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanIds !== 'undefined') {toReturn['pricingPlanIds'] = this.pricingPlanIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiPricingPlanResponse implements i.GetMultiPricingPlanResponseInterface {\n plans: PricingPlan[];\n\n static fromProto(proto: any): GetMultiPricingPlanResponse {\n let m = new GetMultiPricingPlanResponse();\n m = Object.assign(m, proto);\n if (proto.plans) {m.plans = proto.plans.map(PricingPlan.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiPricingPlanResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.plans !== 'undefined' && this.plans !== null) {toReturn['plans'] = 'toApiJson' in this.plans ? (this.plans as any).toApiJson() : this.plans;}\n return toReturn;\n }\n}\n\nexport class PricingPlan implements i.PricingPlanInterface {\n id: string;\n name: string;\n defaultBillingStrategy: e.BillingStrategy;\n\n static fromProto(proto: any): PricingPlan {\n let m = new PricingPlan();\n m = Object.assign(m, proto);\n if (proto.defaultBillingStrategy) {m.defaultBillingStrategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.defaultBillingStrategy);}\n return m;\n }\n\n constructor(kwargs?: i.PricingPlanInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.defaultBillingStrategy !== 'undefined') {toReturn['defaultBillingStrategy'] = this.defaultBillingStrategy;}\n return toReturn;\n }\n}\n\nexport class PricingPlanProductPricing implements i.PricingPlanProductPricingInterface {\n type: e.ProductPricingType;\n rules: ProductPricingRule[];\n setupFee: number;\n frequency: e.Frequency;\n currencyCode: string;\n\n static fromProto(proto: any): PricingPlanProductPricing {\n let m = new PricingPlanProductPricing();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.ProductPricingType>(e.ProductPricingType, proto.type);}\n if (proto.rules) {m.rules = proto.rules.map(ProductPricingRule.fromProto);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n return m;\n }\n\n constructor(kwargs?: i.PricingPlanProductPricingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.rules !== 'undefined' && this.rules !== null) {toReturn['rules'] = 'toApiJson' in this.rules ? (this.rules as any).toApiJson() : this.rules;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n return toReturn;\n }\n}\n\nexport class ProductPricingRule implements i.ProductPricingRuleInterface {\n price: number;\n minUnits: number;\n maxUnits: number;\n componentPricing: ComponentPricing[];\n\n static fromProto(proto: any): ProductPricingRule {\n let m = new ProductPricingRule();\n m = Object.assign(m, proto);\n if (proto.price) {m.price = parseInt(proto.price, 10);}\n if (proto.minUnits) {m.minUnits = parseInt(proto.minUnits, 10);}\n if (proto.maxUnits) {m.maxUnits = parseInt(proto.maxUnits, 10);}\n if (proto.componentPricing) {m.componentPricing = proto.componentPricing.map(ComponentPricing.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ProductPricingRuleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.price !== 'undefined') {toReturn['price'] = this.price;}\n if (typeof this.minUnits !== 'undefined') {toReturn['minUnits'] = this.minUnits;}\n if (typeof this.maxUnits !== 'undefined') {toReturn['maxUnits'] = this.maxUnits;}\n if (typeof this.componentPricing !== 'undefined' && this.componentPricing !== null) {toReturn['componentPricing'] = 'toApiJson' in this.componentPricing ? (this.componentPricing as any).toApiJson() : this.componentPricing;}\n return toReturn;\n }\n}\n\nexport class UpdatePricingPlanRequest implements i.UpdatePricingPlanRequestInterface {\n id: string;\n fieldMask: FieldMask;\n name: string;\n defaultBillingStrategy: e.BillingStrategy;\n\n static fromProto(proto: any): UpdatePricingPlanRequest {\n let m = new UpdatePricingPlanRequest();\n m = Object.assign(m, proto);\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n if (proto.defaultBillingStrategy) {m.defaultBillingStrategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.defaultBillingStrategy);}\n return m;\n }\n\n constructor(kwargs?: i.UpdatePricingPlanRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.defaultBillingStrategy !== 'undefined') {toReturn['defaultBillingStrategy'] = this.defaultBillingStrategy;}\n return toReturn;\n }\n}\n\nexport class UpdatePricingPlanResponse implements i.UpdatePricingPlanResponseInterface {\n\n static fromProto(proto: any): UpdatePricingPlanResponse {\n let m = new UpdatePricingPlanResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdatePricingPlanResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Commitment } from './commitment';\nimport { FieldMask } from './field-mask';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport { PricingPlanProductPricing } from './pricing-plan';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreatePricingPlanProductRequest implements i.CreatePricingPlanProductRequestInterface {\n pricingPlanId: string;\n sku: string;\n frequency: e.Frequency;\n pricing: {[key: string]: PricingPlanProductPricing};\n commitment: Commitment;\n strategy: e.BillingStrategy;\n volumeCommitment: number;\n\n static fromProto(proto: any): CreatePricingPlanProductRequest {\n let m = new CreatePricingPlanProductRequest();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.pricing) {m.pricing = Object.keys(proto.pricing).reduce<any>((obj, k) => { obj[k] = PricingPlanProductPricing.fromProto(proto.pricing[k]); return obj; }, {});}\n if (proto.commitment) {m.commitment = Commitment.fromProto(proto.commitment);}\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CreatePricingPlanProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {toReturn['commitment'] = 'toApiJson' in this.commitment ? (this.commitment as any).toApiJson() : this.commitment;}\n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n return toReturn;\n }\n}\n\nexport class CreatePricingPlanProductResponse implements i.CreatePricingPlanProductResponseInterface {\n pricingPlanId: string;\n sku: string;\n\n static fromProto(proto: any): CreatePricingPlanProductResponse {\n let m = new CreatePricingPlanProductResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreatePricingPlanProductResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class DeletePricingPlanProductRequest implements i.DeletePricingPlanProductRequestInterface {\n pricingPlanId: string;\n sku: string;\n\n static fromProto(proto: any): DeletePricingPlanProductRequest {\n let m = new DeletePricingPlanProductRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeletePricingPlanProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class GetMultiPricingPlanProductRequest implements i.GetMultiPricingPlanProductRequestInterface {\n pricingPlanId: string;\n skus: string[];\n\n static fromProto(proto: any): GetMultiPricingPlanProductRequest {\n let m = new GetMultiPricingPlanProductRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiPricingPlanProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n return toReturn;\n }\n}\n\nexport class GetMultiPricingPlanProductResponse implements i.GetMultiPricingPlanProductResponseInterface {\n pricingPlanProducts: PricingPlanProduct[];\n\n static fromProto(proto: any): GetMultiPricingPlanProductResponse {\n let m = new GetMultiPricingPlanProductResponse();\n m = Object.assign(m, proto);\n if (proto.pricingPlanProducts) {m.pricingPlanProducts = proto.pricingPlanProducts.map(PricingPlanProduct.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiPricingPlanProductResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanProducts !== 'undefined' && this.pricingPlanProducts !== null) {toReturn['pricingPlanProducts'] = 'toApiJson' in this.pricingPlanProducts ? (this.pricingPlanProducts as any).toApiJson() : this.pricingPlanProducts;}\n return toReturn;\n }\n}\n\nexport class GetPricingPlanProductRequest implements i.GetPricingPlanProductRequestInterface {\n pricingPlanId: string;\n sku: string;\n\n static fromProto(proto: any): GetPricingPlanProductRequest {\n let m = new GetPricingPlanProductRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetPricingPlanProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class GetPricingPlanProductResponse implements i.GetPricingPlanProductResponseInterface {\n pricingPlanProduct: PricingPlanProduct;\n pricingPlanDefaultStrategy: e.BillingStrategy;\n\n static fromProto(proto: any): GetPricingPlanProductResponse {\n let m = new GetPricingPlanProductResponse();\n m = Object.assign(m, proto);\n if (proto.pricingPlanProduct) {m.pricingPlanProduct = PricingPlanProduct.fromProto(proto.pricingPlanProduct);}\n if (proto.pricingPlanDefaultStrategy) {m.pricingPlanDefaultStrategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.pricingPlanDefaultStrategy);}\n return m;\n }\n\n constructor(kwargs?: i.GetPricingPlanProductResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanProduct !== 'undefined' && this.pricingPlanProduct !== null) {toReturn['pricingPlanProduct'] = 'toApiJson' in this.pricingPlanProduct ? (this.pricingPlanProduct as any).toApiJson() : this.pricingPlanProduct;}\n if (typeof this.pricingPlanDefaultStrategy !== 'undefined') {toReturn['pricingPlanDefaultStrategy'] = this.pricingPlanDefaultStrategy;}\n return toReturn;\n }\n}\n\nexport class ListPricingPlanProductsRequestListPricingPlanProductsFilters implements i.ListPricingPlanProductsRequestListPricingPlanProductsFiltersInterface {\n sku: string;\n pricingPlanIds: string[];\n\n static fromProto(proto: any): ListPricingPlanProductsRequestListPricingPlanProductsFilters {\n let m = new ListPricingPlanProductsRequestListPricingPlanProductsFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListPricingPlanProductsRequestListPricingPlanProductsFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.pricingPlanIds !== 'undefined') {toReturn['pricingPlanIds'] = this.pricingPlanIds;}\n return toReturn;\n }\n}\n\nexport class ListPricingPlanProductsRequest implements i.ListPricingPlanProductsRequestInterface {\n sku: string;\n pagingOptions: PagedRequestOptions;\n filters: ListPricingPlanProductsRequestListPricingPlanProductsFilters;\n\n static fromProto(proto: any): ListPricingPlanProductsRequest {\n let m = new ListPricingPlanProductsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n if (proto.filters) {m.filters = ListPricingPlanProductsRequestListPricingPlanProductsFilters.fromProto(proto.filters);}\n return m;\n }\n\n constructor(kwargs?: i.ListPricingPlanProductsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n return toReturn;\n }\n}\n\nexport class ListPricingPlanProductsResponse implements i.ListPricingPlanProductsResponseInterface {\n products: PricingPlanProduct[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListPricingPlanProductsResponse {\n let m = new ListPricingPlanProductsResponse();\n m = Object.assign(m, proto);\n if (proto.products) {m.products = proto.products.map(PricingPlanProduct.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListPricingPlanProductsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.products !== 'undefined' && this.products !== null) {toReturn['products'] = 'toApiJson' in this.products ? (this.products as any).toApiJson() : this.products;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class PricingPlanProductPricingEntry implements i.PricingPlanProductPricingEntryInterface {\n key: string;\n value: PricingPlanProductPricing;\n\n static fromProto(proto: any): PricingPlanProductPricingEntry {\n let m = new PricingPlanProductPricingEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = PricingPlanProductPricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.PricingPlanProductPricingEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class CreatePricingPlanProductRequestPricingEntry implements i.CreatePricingPlanProductRequestPricingEntryInterface {\n key: string;\n value: PricingPlanProductPricing;\n\n static fromProto(proto: any): CreatePricingPlanProductRequestPricingEntry {\n let m = new CreatePricingPlanProductRequestPricingEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = PricingPlanProductPricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.CreatePricingPlanProductRequestPricingEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class UpdatePricingPlanProductRequestPricingEntry implements i.UpdatePricingPlanProductRequestPricingEntryInterface {\n key: string;\n value: PricingPlanProductPricing;\n\n static fromProto(proto: any): UpdatePricingPlanProductRequestPricingEntry {\n let m = new UpdatePricingPlanProductRequestPricingEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = PricingPlanProductPricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.UpdatePricingPlanProductRequestPricingEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class PricingPlanProduct implements i.PricingPlanProductInterface {\n pricingPlanId: string;\n sku: string;\n frequency: e.Frequency;\n pricing: {[key: string]: PricingPlanProductPricing};\n commitment: Commitment;\n created: Date;\n modified: Date;\n strategy: e.BillingStrategy;\n volumeCommitment: number;\n pricingType: e.ProductPricingType;\n\n static fromProto(proto: any): PricingPlanProduct {\n let m = new PricingPlanProduct();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.pricing) {m.pricing = Object.keys(proto.pricing).reduce<any>((obj, k) => { obj[k] = PricingPlanProductPricing.fromProto(proto.pricing[k]); return obj; }, {});}\n if (proto.commitment) {m.commitment = Commitment.fromProto(proto.commitment);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.modified) {m.modified = new Date(proto.modified);}\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n if (proto.pricingType) {m.pricingType = enumStringToValue<e.ProductPricingType>(e.ProductPricingType, proto.pricingType);}\n return m;\n }\n\n constructor(kwargs?: i.PricingPlanProductInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {toReturn['commitment'] = 'toApiJson' in this.commitment ? (this.commitment as any).toApiJson() : this.commitment;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.modified !== 'undefined' && this.modified !== null) {toReturn['modified'] = 'toApiJson' in this.modified ? (this.modified as any).toApiJson() : this.modified;}\n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n if (typeof this.pricingType !== 'undefined') {toReturn['pricingType'] = this.pricingType;}\n return toReturn;\n }\n}\n\nexport class UpdatePricingPlanProductRequest implements i.UpdatePricingPlanProductRequestInterface {\n pricingPlanId: string;\n sku: string;\n frequency: e.Frequency;\n pricing: {[key: string]: PricingPlanProductPricing};\n commitment: Commitment;\n fieldMask: FieldMask;\n strategy: e.BillingStrategy;\n volumeCommitment: number;\n\n static fromProto(proto: any): UpdatePricingPlanProductRequest {\n let m = new UpdatePricingPlanProductRequest();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.pricing) {m.pricing = Object.keys(proto.pricing).reduce<any>((obj, k) => { obj[k] = PricingPlanProductPricing.fromProto(proto.pricing[k]); return obj; }, {});}\n if (proto.commitment) {m.commitment = Commitment.fromProto(proto.commitment);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpdatePricingPlanProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {toReturn['commitment'] = 'toApiJson' in this.commitment ? (this.commitment as any).toApiJson() : this.commitment;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n return toReturn;\n }\n}\n\nexport class UpdatePricingPlanProductResponse implements i.UpdatePricingPlanProductResponseInterface {\n\n static fromProto(proto: any): UpdatePricingPlanProductResponse {\n let m = new UpdatePricingPlanProductResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdatePricingPlanProductResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class UpsertWholesalePricingRequest implements i.UpsertWholesalePricingRequestInterface {\n pricingPlanId: string;\n sku: string;\n pricing: PricingPlanProductPricing[];\n termCommitment: Commitment;\n strategy: e.BillingStrategy;\n volumeCommitment: number;\n\n static fromProto(proto: any): UpsertWholesalePricingRequest {\n let m = new UpsertWholesalePricingRequest();\n m = Object.assign(m, proto);\n if (proto.pricing) {m.pricing = proto.pricing.map(PricingPlanProductPricing.fromProto);}\n if (proto.termCommitment) {m.termCommitment = Commitment.fromProto(proto.termCommitment);}\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertWholesalePricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n if (typeof this.termCommitment !== 'undefined' && this.termCommitment !== null) {toReturn['termCommitment'] = 'toApiJson' in this.termCommitment ? (this.termCommitment as any).toApiJson() : this.termCommitment;}\n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateProductRequest implements i.CreateProductRequestInterface {\n sku: string;\n productId: string;\n editionId: string;\n name: string;\n reportingCode: string;\n productType: e.ProductType;\n\n static fromProto(proto: any): CreateProductRequest {\n let m = new CreateProductRequest();\n m = Object.assign(m, proto);\n if (proto.productType) {m.productType = enumStringToValue<e.ProductType>(e.ProductType, proto.productType);}\n return m;\n }\n\n constructor(kwargs?: i.CreateProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.reportingCode !== 'undefined') {toReturn['reportingCode'] = this.reportingCode;}\n if (typeof this.productType !== 'undefined') {toReturn['productType'] = this.productType;}\n return toReturn;\n }\n}\n\nexport class DeleteProductRequest implements i.DeleteProductRequestInterface {\n sku: string;\n\n static fromProto(proto: any): DeleteProductRequest {\n let m = new DeleteProductRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class GetMultiProductRequest implements i.GetMultiProductRequestInterface {\n skus: string[];\n\n static fromProto(proto: any): GetMultiProductRequest {\n let m = new GetMultiProductRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n return toReturn;\n }\n}\n\nexport class GetMultiProductResponse implements i.GetMultiProductResponseInterface {\n products: {[key: string]: Product};\n\n static fromProto(proto: any): GetMultiProductResponse {\n let m = new GetMultiProductResponse();\n m = Object.assign(m, proto);\n if (proto.products) {m.products = Object.keys(proto.products).reduce<any>((obj, k) => { obj[k] = Product.fromProto(proto.products[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiProductResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.products !== 'undefined' && this.products !== null) {toReturn['products'] = 'toApiJson' in this.products ? (this.products as any).toApiJson() : this.products;}\n return toReturn;\n }\n}\n\nexport class ListProductsRequestListProductsFilters implements i.ListProductsRequestListProductsFiltersInterface {\n hasDiscount: boolean;\n hasPricingOverride: boolean;\n productType: e.ProductType[];\n skus: string[];\n\n static fromProto(proto: any): ListProductsRequestListProductsFilters {\n let m = new ListProductsRequestListProductsFilters();\n m = Object.assign(m, proto);\n if (proto.productType) {m.productType = proto.productType.map((v: string) => enumStringToValue<e.ProductType>(e.ProductType, v));}\n return m;\n }\n\n constructor(kwargs?: i.ListProductsRequestListProductsFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hasDiscount !== 'undefined') {toReturn['hasDiscount'] = this.hasDiscount;}\n if (typeof this.hasPricingOverride !== 'undefined') {toReturn['hasPricingOverride'] = this.hasPricingOverride;}\n if (typeof this.productType !== 'undefined') {toReturn['productType'] = this.productType;}\n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n return toReturn;\n }\n}\n\nexport class ListProductsRequest implements i.ListProductsRequestInterface {\n merchantId: string;\n searchTerm: string;\n filters: ListProductsRequestListProductsFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListProductsRequest {\n let m = new ListProductsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListProductsRequestListProductsFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListProductsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListProductsResponse implements i.ListProductsResponseInterface {\n products: Product[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListProductsResponse {\n let m = new ListProductsResponse();\n m = Object.assign(m, proto);\n if (proto.products) {m.products = proto.products.map(Product.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListProductsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.products !== 'undefined' && this.products !== null) {toReturn['products'] = 'toApiJson' in this.products ? (this.products as any).toApiJson() : this.products;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Product implements i.ProductInterface {\n name: string;\n sku: string;\n iconUrl: string;\n hasPricingOverride: boolean;\n hasDiscount: boolean;\n productType: e.ProductType;\n\n static fromProto(proto: any): Product {\n let m = new Product();\n m = Object.assign(m, proto);\n if (proto.productType) {m.productType = enumStringToValue<e.ProductType>(e.ProductType, proto.productType);}\n return m;\n }\n\n constructor(kwargs?: i.ProductInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.iconUrl !== 'undefined') {toReturn['iconUrl'] = this.iconUrl;}\n if (typeof this.hasPricingOverride !== 'undefined') {toReturn['hasPricingOverride'] = this.hasPricingOverride;}\n if (typeof this.hasDiscount !== 'undefined') {toReturn['hasDiscount'] = this.hasDiscount;}\n if (typeof this.productType !== 'undefined') {toReturn['productType'] = this.productType;}\n return toReturn;\n }\n}\n\nexport class GetMultiProductResponseProductsEntry implements i.GetMultiProductResponseProductsEntryInterface {\n key: string;\n value: Product;\n\n static fromProto(proto: any): GetMultiProductResponseProductsEntry {\n let m = new GetMultiProductResponseProductsEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = Product.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiProductResponseProductsEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class UpdateProductRequest implements i.UpdateProductRequestInterface {\n sku: string;\n name: string;\n reportingCode: string;\n productType: e.ProductType;\n\n static fromProto(proto: any): UpdateProductRequest {\n let m = new UpdateProductRequest();\n m = Object.assign(m, proto);\n if (proto.productType) {m.productType = enumStringToValue<e.ProductType>(e.ProductType, proto.productType);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.reportingCode !== 'undefined') {toReturn['reportingCode'] = this.reportingCode;}\n if (typeof this.productType !== 'undefined') {toReturn['productType'] = this.productType;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Commitment } from './commitment';\nimport { ProductPricingRule } from './pricing-plan';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ProductPrices implements i.ProductPricesInterface {\n sku: string;\n prices: ProductPricing[];\n\n static fromProto(proto: any): ProductPrices {\n let m = new ProductPrices();\n m = Object.assign(m, proto);\n if (proto.prices) {m.prices = proto.prices.map(ProductPricing.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ProductPricesInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.prices !== 'undefined' && this.prices !== null) {toReturn['prices'] = 'toApiJson' in this.prices ? (this.prices as any).toApiJson() : this.prices;}\n return toReturn;\n }\n}\n\nexport class ProductPricing implements i.ProductPricingInterface {\n strategy: e.BillingStrategy;\n pricingType: e.ProductPricingType;\n currency: e.Currency;\n frequency: e.Frequency;\n pricingRules: ProductPricingRule[];\n commitment: Commitment;\n isStartingPrice: boolean;\n resolvedFrom: string;\n volumeCommitment: number;\n setupFee: number;\n\n static fromProto(proto: any): ProductPricing {\n let m = new ProductPricing();\n m = Object.assign(m, proto);\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n if (proto.pricingType) {m.pricingType = enumStringToValue<e.ProductPricingType>(e.ProductPricingType, proto.pricingType);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.pricingRules) {m.pricingRules = proto.pricingRules.map(ProductPricingRule.fromProto);}\n if (proto.commitment) {m.commitment = Commitment.fromProto(proto.commitment);}\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ProductPricingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n if (typeof this.pricingType !== 'undefined') {toReturn['pricingType'] = this.pricingType;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.pricingRules !== 'undefined' && this.pricingRules !== null) {toReturn['pricingRules'] = 'toApiJson' in this.pricingRules ? (this.pricingRules as any).toApiJson() : this.pricingRules;}\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {toReturn['commitment'] = 'toApiJson' in this.commitment ? (this.commitment as any).toApiJson() : this.commitment;}\n if (typeof this.isStartingPrice !== 'undefined') {toReturn['isStartingPrice'] = this.isStartingPrice;}\n if (typeof this.resolvedFrom !== 'undefined') {toReturn['resolvedFrom'] = this.resolvedFrom;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { AppliedDiscount } from './applied-discount';\nimport { AppliedTaxRate } from './applied-tax-rate';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AppliedCredit implements i.AppliedCreditInterface {\n appliedAmount: number;\n referenceId: string;\n referenceType: e.CreditType;\n\n static fromProto(proto: any): AppliedCredit {\n let m = new AppliedCredit();\n m = Object.assign(m, proto);\n if (proto.appliedAmount) {m.appliedAmount = parseInt(proto.appliedAmount, 10);}\n if (proto.referenceType) {m.referenceType = enumStringToValue<e.CreditType>(e.CreditType, proto.referenceType);}\n return m;\n }\n\n constructor(kwargs?: i.AppliedCreditInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.appliedAmount !== 'undefined') {toReturn['appliedAmount'] = this.appliedAmount;}\n if (typeof this.referenceId !== 'undefined') {toReturn['referenceId'] = this.referenceId;}\n if (typeof this.referenceType !== 'undefined') {toReturn['referenceType'] = this.referenceType;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseRequestListPurchaseBillingStrategyFilter implements i.ListPurchaseRequestListPurchaseBillingStrategyFilterInterface {\n billingStrategy: e.BillingStrategy[];\n\n static fromProto(proto: any): ListPurchaseRequestListPurchaseBillingStrategyFilter {\n let m = new ListPurchaseRequestListPurchaseBillingStrategyFilter();\n m = Object.assign(m, proto);\n if (proto.billingStrategy) {m.billingStrategy = proto.billingStrategy.map((v: string) => enumStringToValue<e.BillingStrategy>(e.BillingStrategy, v));}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseRequestListPurchaseBillingStrategyFilterInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.billingStrategy !== 'undefined') {toReturn['billingStrategy'] = this.billingStrategy;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseRequestListPurchaseFilters implements i.ListPurchaseRequestListPurchaseFiltersInterface {\n merchantId: string;\n purchaseId: string;\n start: Date;\n end: Date;\n billingStrategyFilter: ListPurchaseRequestListPurchaseBillingStrategyFilter;\n state: e.ListPurchaseRequestState;\n minPrice: number;\n status: e.PurchaseStatus;\n includeVoided: boolean;\n\n static fromProto(proto: any): ListPurchaseRequestListPurchaseFilters {\n let m = new ListPurchaseRequestListPurchaseFilters();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n if (proto.billingStrategyFilter) {m.billingStrategyFilter = ListPurchaseRequestListPurchaseBillingStrategyFilter.fromProto(proto.billingStrategyFilter);}\n if (proto.state) {m.state = enumStringToValue<e.ListPurchaseRequestState>(e.ListPurchaseRequestState, proto.state);}\n if (proto.minPrice) {m.minPrice = parseInt(proto.minPrice, 10);}\n if (proto.status) {m.status = enumStringToValue<e.PurchaseStatus>(e.PurchaseStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseRequestListPurchaseFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.purchaseId !== 'undefined') {toReturn['purchaseId'] = this.purchaseId;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.billingStrategyFilter !== 'undefined' && this.billingStrategyFilter !== null) {toReturn['billingStrategyFilter'] = 'toApiJson' in this.billingStrategyFilter ? (this.billingStrategyFilter as any).toApiJson() : this.billingStrategyFilter;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.minPrice !== 'undefined') {toReturn['minPrice'] = this.minPrice;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.includeVoided !== 'undefined') {toReturn['includeVoided'] = this.includeVoided;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseItemsRequestListPurchaseItemsFilters implements i.ListPurchaseItemsRequestListPurchaseItemsFiltersInterface {\n merchantId: string;\n customerId: string;\n start: Date;\n end: Date;\n\n static fromProto(proto: any): ListPurchaseItemsRequestListPurchaseItemsFilters {\n let m = new ListPurchaseItemsRequestListPurchaseItemsFilters();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseItemsRequestListPurchaseItemsFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseItemsRequest implements i.ListPurchaseItemsRequestInterface {\n filters: ListPurchaseItemsRequestListPurchaseItemsFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListPurchaseItemsRequest {\n let m = new ListPurchaseItemsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListPurchaseItemsRequestListPurchaseItemsFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseItemsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseItemsResponse implements i.ListPurchaseItemsResponseInterface {\n purchaseItems: PurchaseItem[];\n pagingMetadata: PagedResponseMetadata;\n currency: e.Currency;\n\n static fromProto(proto: any): ListPurchaseItemsResponse {\n let m = new ListPurchaseItemsResponse();\n m = Object.assign(m, proto);\n if (proto.purchaseItems) {m.purchaseItems = proto.purchaseItems.map(PurchaseItem.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseItemsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.purchaseItems !== 'undefined' && this.purchaseItems !== null) {toReturn['purchaseItems'] = 'toApiJson' in this.purchaseItems ? (this.purchaseItems as any).toApiJson() : this.purchaseItems;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseRequest implements i.ListPurchaseRequestInterface {\n filters: ListPurchaseRequestListPurchaseFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListPurchaseRequest {\n let m = new ListPurchaseRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListPurchaseRequestListPurchaseFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseResponse implements i.ListPurchaseResponseInterface {\n purchases: Purchase[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListPurchaseResponse {\n let m = new ListPurchaseResponse();\n m = Object.assign(m, proto);\n if (proto.purchases) {m.purchases = proto.purchases.map(Purchase.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.purchases !== 'undefined' && this.purchases !== null) {toReturn['purchases'] = 'toApiJson' in this.purchases ? (this.purchases as any).toApiJson() : this.purchases;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Purchase implements i.PurchaseInterface {\n merchantId: string;\n timestamp: Date;\n purchaseId: string;\n total: number;\n currency: e.Currency;\n renewal: boolean;\n items: PurchaseItem[];\n billingStrategy: e.BillingStrategy;\n isDunning: boolean;\n dunningAttempt: number;\n voided: Date;\n paid: boolean;\n status: e.PurchaseStatus;\n creditAmount: number;\n appliedCredits: AppliedCredit[];\n taxAmount: number;\n appliedTaxRates: AppliedTaxRate[];\n\n static fromProto(proto: any): Purchase {\n let m = new Purchase();\n m = Object.assign(m, proto);\n if (proto.timestamp) {m.timestamp = new Date(proto.timestamp);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.items) {m.items = proto.items.map(PurchaseItem.fromProto);}\n if (proto.billingStrategy) {m.billingStrategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.billingStrategy);}\n if (proto.dunningAttempt) {m.dunningAttempt = parseInt(proto.dunningAttempt, 10);}\n if (proto.voided) {m.voided = new Date(proto.voided);}\n if (proto.status) {m.status = enumStringToValue<e.PurchaseStatus>(e.PurchaseStatus, proto.status);}\n if (proto.creditAmount) {m.creditAmount = parseInt(proto.creditAmount, 10);}\n if (proto.appliedCredits) {m.appliedCredits = proto.appliedCredits.map(AppliedCredit.fromProto);}\n if (proto.taxAmount) {m.taxAmount = parseInt(proto.taxAmount, 10);}\n if (proto.appliedTaxRates) {m.appliedTaxRates = proto.appliedTaxRates.map(AppliedTaxRate.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.PurchaseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.timestamp !== 'undefined' && this.timestamp !== null) {toReturn['timestamp'] = 'toApiJson' in this.timestamp ? (this.timestamp as any).toApiJson() : this.timestamp;}\n if (typeof this.purchaseId !== 'undefined') {toReturn['purchaseId'] = this.purchaseId;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.renewal !== 'undefined') {toReturn['renewal'] = this.renewal;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.billingStrategy !== 'undefined') {toReturn['billingStrategy'] = this.billingStrategy;}\n if (typeof this.isDunning !== 'undefined') {toReturn['isDunning'] = this.isDunning;}\n if (typeof this.dunningAttempt !== 'undefined') {toReturn['dunningAttempt'] = this.dunningAttempt;}\n if (typeof this.voided !== 'undefined' && this.voided !== null) {toReturn['voided'] = 'toApiJson' in this.voided ? (this.voided as any).toApiJson() : this.voided;}\n if (typeof this.paid !== 'undefined') {toReturn['paid'] = this.paid;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.creditAmount !== 'undefined') {toReturn['creditAmount'] = this.creditAmount;}\n if (typeof this.appliedCredits !== 'undefined' && this.appliedCredits !== null) {toReturn['appliedCredits'] = 'toApiJson' in this.appliedCredits ? (this.appliedCredits as any).toApiJson() : this.appliedCredits;}\n if (typeof this.taxAmount !== 'undefined') {toReturn['taxAmount'] = this.taxAmount;}\n if (typeof this.appliedTaxRates !== 'undefined' && this.appliedTaxRates !== null) {toReturn['appliedTaxRates'] = 'toApiJson' in this.appliedTaxRates ? (this.appliedTaxRates as any).toApiJson() : this.appliedTaxRates;}\n return toReturn;\n }\n}\n\nexport class PurchaseItem implements i.PurchaseItemInterface {\n sku: string;\n amount: number;\n orderId: string;\n customerId: string;\n discountAmount: number;\n total: number;\n appliedDiscounts: AppliedDiscount[];\n merchantId: string;\n day: string;\n purchaseId: string;\n description: string;\n taxAmount: number;\n appliedTaxRates: AppliedTaxRate[];\n setupFee: number;\n\n static fromProto(proto: any): PurchaseItem {\n let m = new PurchaseItem();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.discountAmount) {m.discountAmount = parseInt(proto.discountAmount, 10);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.appliedDiscounts) {m.appliedDiscounts = proto.appliedDiscounts.map(AppliedDiscount.fromProto);}\n if (proto.taxAmount) {m.taxAmount = parseInt(proto.taxAmount, 10);}\n if (proto.appliedTaxRates) {m.appliedTaxRates = proto.appliedTaxRates.map(AppliedTaxRate.fromProto);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PurchaseItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.discountAmount !== 'undefined') {toReturn['discountAmount'] = this.discountAmount;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.appliedDiscounts !== 'undefined' && this.appliedDiscounts !== null) {toReturn['appliedDiscounts'] = 'toApiJson' in this.appliedDiscounts ? (this.appliedDiscounts as any).toApiJson() : this.appliedDiscounts;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.purchaseId !== 'undefined') {toReturn['purchaseId'] = this.purchaseId;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.taxAmount !== 'undefined') {toReturn['taxAmount'] = this.taxAmount;}\n if (typeof this.appliedTaxRates !== 'undefined' && this.appliedTaxRates !== null) {toReturn['appliedTaxRates'] = 'toApiJson' in this.appliedTaxRates ? (this.appliedTaxRates as any).toApiJson() : this.appliedTaxRates;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n return toReturn;\n }\n}\n\nexport class RetryPurchaseRequest implements i.RetryPurchaseRequestInterface {\n purchaseId: string;\n merchantId: string;\n day: string;\n shouldEnterDunning: boolean;\n\n static fromProto(proto: any): RetryPurchaseRequest {\n let m = new RetryPurchaseRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RetryPurchaseRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.purchaseId !== 'undefined') {toReturn['purchaseId'] = this.purchaseId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.shouldEnterDunning !== 'undefined') {toReturn['shouldEnterDunning'] = this.shouldEnterDunning;}\n return toReturn;\n }\n}\n\nexport class VoidPurchaseRequest implements i.VoidPurchaseRequestInterface {\n purchaseId: string;\n merchantId: string;\n day: string;\n\n static fromProto(proto: any): VoidPurchaseRequest {\n let m = new VoidPurchaseRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.VoidPurchaseRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.purchaseId !== 'undefined') {toReturn['purchaseId'] = this.purchaseId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateRefundRequest implements i.CreateRefundRequestInterface {\n merchantId: string;\n paymentId: string;\n amount: number;\n reason: e.RefundReason;\n referenceType: e.ReferenceType;\n referenceId: string;\n\n static fromProto(proto: any): CreateRefundRequest {\n let m = new CreateRefundRequest();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.reason) {m.reason = enumStringToValue<e.RefundReason>(e.RefundReason, proto.reason);}\n if (proto.referenceType) {m.referenceType = enumStringToValue<e.ReferenceType>(e.ReferenceType, proto.referenceType);}\n return m;\n }\n\n constructor(kwargs?: i.CreateRefundRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.paymentId !== 'undefined') {toReturn['paymentId'] = this.paymentId;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.reason !== 'undefined') {toReturn['reason'] = this.reason;}\n if (typeof this.referenceType !== 'undefined') {toReturn['referenceType'] = this.referenceType;}\n if (typeof this.referenceId !== 'undefined') {toReturn['referenceId'] = this.referenceId;}\n return toReturn;\n }\n}\n\nexport class ListRefundsRequest implements i.ListRefundsRequestInterface {\n paymentIds: string[];\n cursor: string;\n pageSize: number;\n merchantId: string;\n\n static fromProto(proto: any): ListRefundsRequest {\n let m = new ListRefundsRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ListRefundsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.paymentIds !== 'undefined') {toReturn['paymentIds'] = this.paymentIds;}\n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class ListRefundsResponse implements i.ListRefundsResponseInterface {\n refunds: Refund[];\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): ListRefundsResponse {\n let m = new ListRefundsResponse();\n m = Object.assign(m, proto);\n if (proto.refunds) {m.refunds = proto.refunds.map(Refund.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListRefundsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.refunds !== 'undefined' && this.refunds !== null) {toReturn['refunds'] = 'toApiJson' in this.refunds ? (this.refunds as any).toApiJson() : this.refunds;}\n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\nexport class Refund implements i.RefundInterface {\n merchantId: string;\n chargeId: string;\n refundId: string;\n amount: number;\n email: string;\n reason: e.RefundReason;\n status: e.RefundStatus;\n created: Date;\n updated: Date;\n referenceType: e.ReferenceType;\n referenceId: string;\n\n static fromProto(proto: any): Refund {\n let m = new Refund();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.reason) {m.reason = enumStringToValue<e.RefundReason>(e.RefundReason, proto.reason);}\n if (proto.status) {m.status = enumStringToValue<e.RefundStatus>(e.RefundStatus, proto.status);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.referenceType) {m.referenceType = enumStringToValue<e.ReferenceType>(e.ReferenceType, proto.referenceType);}\n return m;\n }\n\n constructor(kwargs?: i.RefundInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.chargeId !== 'undefined') {toReturn['chargeId'] = this.chargeId;}\n if (typeof this.refundId !== 'undefined') {toReturn['refundId'] = this.refundId;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.reason !== 'undefined') {toReturn['reason'] = this.reason;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.referenceType !== 'undefined') {toReturn['referenceType'] = this.referenceType;}\n if (typeof this.referenceId !== 'undefined') {toReturn['referenceId'] = this.referenceId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateSalesCreditNoteRequest implements i.CreateSalesCreditNoteRequestInterface {\n merchantId: string;\n creditNoteReason: string;\n creditNoteDate: Date;\n dueDate: Date;\n total: number;\n sku: string;\n\n static fromProto(proto: any): CreateSalesCreditNoteRequest {\n let m = new CreateSalesCreditNoteRequest();\n m = Object.assign(m, proto);\n if (proto.creditNoteDate) {m.creditNoteDate = new Date(proto.creditNoteDate);}\n if (proto.dueDate) {m.dueDate = new Date(proto.dueDate);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CreateSalesCreditNoteRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.creditNoteReason !== 'undefined') {toReturn['creditNoteReason'] = this.creditNoteReason;}\n if (typeof this.creditNoteDate !== 'undefined' && this.creditNoteDate !== null) {toReturn['creditNoteDate'] = 'toApiJson' in this.creditNoteDate ? (this.creditNoteDate as any).toApiJson() : this.creditNoteDate;}\n if (typeof this.dueDate !== 'undefined' && this.dueDate !== null) {toReturn['dueDate'] = 'toApiJson' in this.dueDate ? (this.dueDate as any).toApiJson() : this.dueDate;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class ListSalesCreditNoteRequestListSalesCreditNoteFilters implements i.ListSalesCreditNoteRequestListSalesCreditNoteFiltersInterface {\n merchantId: string;\n statuses: e.SalesCreditNoteStatus[];\n\n static fromProto(proto: any): ListSalesCreditNoteRequestListSalesCreditNoteFilters {\n let m = new ListSalesCreditNoteRequestListSalesCreditNoteFilters();\n m = Object.assign(m, proto);\n if (proto.statuses) {m.statuses = proto.statuses.map((v: string) => enumStringToValue<e.SalesCreditNoteStatus>(e.SalesCreditNoteStatus, v));}\n return m;\n }\n\n constructor(kwargs?: i.ListSalesCreditNoteRequestListSalesCreditNoteFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.statuses !== 'undefined') {toReturn['statuses'] = this.statuses;}\n return toReturn;\n }\n}\n\nexport class ListSalesCreditNoteRequest implements i.ListSalesCreditNoteRequestInterface {\n filters: ListSalesCreditNoteRequestListSalesCreditNoteFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListSalesCreditNoteRequest {\n let m = new ListSalesCreditNoteRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListSalesCreditNoteRequestListSalesCreditNoteFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListSalesCreditNoteRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListSalesCreditNoteResponse implements i.ListSalesCreditNoteResponseInterface {\n creditNote: SalesCreditNote[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListSalesCreditNoteResponse {\n let m = new ListSalesCreditNoteResponse();\n m = Object.assign(m, proto);\n if (proto.creditNote) {m.creditNote = proto.creditNote.map(SalesCreditNote.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListSalesCreditNoteResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.creditNote !== 'undefined' && this.creditNote !== null) {toReturn['creditNote'] = 'toApiJson' in this.creditNote ? (this.creditNote as any).toApiJson() : this.creditNote;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class SalesCreditNote implements i.SalesCreditNoteInterface {\n creditNoteId: string;\n creditNoteNumber: string;\n merchantId: string;\n creditNoteReason: string;\n creditNoteDate: Date;\n dueDate: Date;\n currency: e.Currency;\n total: number;\n outstanding: number;\n invoiceId: string;\n invoiceNumber: string;\n status: e.SalesCreditNoteStatus;\n paymentStatus: string;\n\n static fromProto(proto: any): SalesCreditNote {\n let m = new SalesCreditNote();\n m = Object.assign(m, proto);\n if (proto.creditNoteDate) {m.creditNoteDate = new Date(proto.creditNoteDate);}\n if (proto.dueDate) {m.dueDate = new Date(proto.dueDate);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.outstanding) {m.outstanding = parseInt(proto.outstanding, 10);}\n if (proto.status) {m.status = enumStringToValue<e.SalesCreditNoteStatus>(e.SalesCreditNoteStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.SalesCreditNoteInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.creditNoteId !== 'undefined') {toReturn['creditNoteId'] = this.creditNoteId;}\n if (typeof this.creditNoteNumber !== 'undefined') {toReturn['creditNoteNumber'] = this.creditNoteNumber;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.creditNoteReason !== 'undefined') {toReturn['creditNoteReason'] = this.creditNoteReason;}\n if (typeof this.creditNoteDate !== 'undefined' && this.creditNoteDate !== null) {toReturn['creditNoteDate'] = 'toApiJson' in this.creditNoteDate ? (this.creditNoteDate as any).toApiJson() : this.creditNoteDate;}\n if (typeof this.dueDate !== 'undefined' && this.dueDate !== null) {toReturn['dueDate'] = 'toApiJson' in this.dueDate ? (this.dueDate as any).toApiJson() : this.dueDate;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.outstanding !== 'undefined') {toReturn['outstanding'] = this.outstanding;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.invoiceNumber !== 'undefined') {toReturn['invoiceNumber'] = this.invoiceNumber;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.paymentStatus !== 'undefined') {toReturn['paymentStatus'] = this.paymentStatus;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class GetSalesInvoiceRequest implements i.GetSalesInvoiceRequestInterface {\n invoiceId: string;\n merchantId: string;\n\n static fromProto(proto: any): GetSalesInvoiceRequest {\n let m = new GetSalesInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetSalesInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetSalesInvoiceResponse implements i.GetSalesInvoiceResponseInterface {\n invoice: SalesInvoice;\n\n static fromProto(proto: any): GetSalesInvoiceResponse {\n let m = new GetSalesInvoiceResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = SalesInvoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.GetSalesInvoiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class ListSalesInvoiceRequestListSalesInvoiceFilters implements i.ListSalesInvoiceRequestListSalesInvoiceFiltersInterface {\n merchantId: string;\n statuses: e.SalesInvoiceStatus[];\n paymentStatuses: e.PaymentStatuses[];\n invoiceId: string[];\n\n static fromProto(proto: any): ListSalesInvoiceRequestListSalesInvoiceFilters {\n let m = new ListSalesInvoiceRequestListSalesInvoiceFilters();\n m = Object.assign(m, proto);\n if (proto.statuses) {m.statuses = proto.statuses.map((v: string) => enumStringToValue<e.SalesInvoiceStatus>(e.SalesInvoiceStatus, v));}\n if (proto.paymentStatuses) {m.paymentStatuses = proto.paymentStatuses.map((v: string) => enumStringToValue<e.PaymentStatuses>(e.PaymentStatuses, v));}\n return m;\n }\n\n constructor(kwargs?: i.ListSalesInvoiceRequestListSalesInvoiceFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.statuses !== 'undefined') {toReturn['statuses'] = this.statuses;}\n if (typeof this.paymentStatuses !== 'undefined') {toReturn['paymentStatuses'] = this.paymentStatuses;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class ListSalesInvoiceRequest implements i.ListSalesInvoiceRequestInterface {\n filters: ListSalesInvoiceRequestListSalesInvoiceFilters;\n pagingOptions: PagedRequestOptions;\n searchTerm: string;\n\n static fromProto(proto: any): ListSalesInvoiceRequest {\n let m = new ListSalesInvoiceRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListSalesInvoiceRequestListSalesInvoiceFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListSalesInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n return toReturn;\n }\n}\n\nexport class ListSalesInvoiceResponse implements i.ListSalesInvoiceResponseInterface {\n invoice: SalesInvoice[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListSalesInvoiceResponse {\n let m = new ListSalesInvoiceResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = proto.invoice.map(SalesInvoice.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListSalesInvoiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class PostSalesInvoiceRequest implements i.PostSalesInvoiceRequestInterface {\n invoiceId: string;\n\n static fromProto(proto: any): PostSalesInvoiceRequest {\n let m = new PostSalesInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PostSalesInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class SalesInvoice implements i.SalesInvoiceInterface {\n invoiceId: string;\n invoiceNumber: string;\n merchantId: string;\n invoiceDate: Date;\n startDate: Date;\n endDate: Date;\n dueDate: Date;\n total: number;\n currency: e.Currency;\n status: e.SalesInvoiceStatus;\n paymentStatus: string;\n outstanding: number;\n type: e.SalesInvoiceType;\n\n static fromProto(proto: any): SalesInvoice {\n let m = new SalesInvoice();\n m = Object.assign(m, proto);\n if (proto.invoiceDate) {m.invoiceDate = new Date(proto.invoiceDate);}\n if (proto.startDate) {m.startDate = new Date(proto.startDate);}\n if (proto.endDate) {m.endDate = new Date(proto.endDate);}\n if (proto.dueDate) {m.dueDate = new Date(proto.dueDate);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.status) {m.status = enumStringToValue<e.SalesInvoiceStatus>(e.SalesInvoiceStatus, proto.status);}\n if (proto.outstanding) {m.outstanding = parseInt(proto.outstanding, 10);}\n if (proto.type) {m.type = enumStringToValue<e.SalesInvoiceType>(e.SalesInvoiceType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.SalesInvoiceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.invoiceNumber !== 'undefined') {toReturn['invoiceNumber'] = this.invoiceNumber;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceDate !== 'undefined' && this.invoiceDate !== null) {toReturn['invoiceDate'] = 'toApiJson' in this.invoiceDate ? (this.invoiceDate as any).toApiJson() : this.invoiceDate;}\n if (typeof this.startDate !== 'undefined' && this.startDate !== null) {toReturn['startDate'] = 'toApiJson' in this.startDate ? (this.startDate as any).toApiJson() : this.startDate;}\n if (typeof this.endDate !== 'undefined' && this.endDate !== null) {toReturn['endDate'] = 'toApiJson' in this.endDate ? (this.endDate as any).toApiJson() : this.endDate;}\n if (typeof this.dueDate !== 'undefined' && this.dueDate !== null) {toReturn['dueDate'] = 'toApiJson' in this.dueDate ? (this.dueDate as any).toApiJson() : this.dueDate;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.paymentStatus !== 'undefined') {toReturn['paymentStatus'] = this.paymentStatus;}\n if (typeof this.outstanding !== 'undefined') {toReturn['outstanding'] = this.outstanding;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n return toReturn;\n }\n}\n\nexport class SendSalesInvoiceEmailRequest implements i.SendSalesInvoiceEmailRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): SendSalesInvoiceEmailRequest {\n let m = new SendSalesInvoiceEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SendSalesInvoiceEmailRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class SendSalesInvoiceReceiptEmailRequest implements i.SendSalesInvoiceReceiptEmailRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): SendSalesInvoiceReceiptEmailRequest {\n let m = new SendSalesInvoiceReceiptEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SendSalesInvoiceReceiptEmailRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class SubscribeValidation implements i.SubscribeValidationInterface {\n status: e.SubscribeValidationStatus;\n\n static fromProto(proto: any): SubscribeValidation {\n let m = new SubscribeValidation();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.SubscribeValidationStatus>(e.SubscribeValidationStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.SubscribeValidationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { SubscribeValidation } from './subscribe-validation';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AlignmentSubscription implements i.AlignmentSubscriptionInterface {\n sku: string;\n customerId: string;\n orderId: string;\n\n static fromProto(proto: any): AlignmentSubscription {\n let m = new AlignmentSubscription();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AlignmentSubscriptionInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n return toReturn;\n }\n}\n\nexport class CanCreateSubscriptionsRequest implements i.CanCreateSubscriptionsRequestInterface {\n merchantId: string;\n skus: {[key: string]: number};\n items: CanCreateSubscriptionsRequestSubscriptionItem[];\n\n static fromProto(proto: any): CanCreateSubscriptionsRequest {\n let m = new CanCreateSubscriptionsRequest();\n m = Object.assign(m, proto);\n if (proto.skus) {m.skus = Object.keys(proto.skus).reduce<any>((obj, k) => { obj[k] = parseInt(proto.skus[k], 10); return obj; }, {});}\n if (proto.items) {m.items = proto.items.map(CanCreateSubscriptionsRequestSubscriptionItem.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.CanCreateSubscriptionsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.skus !== 'undefined' && this.skus !== null) {toReturn['skus'] = 'toApiJson' in this.skus ? (this.skus as any).toApiJson() : this.skus;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n return toReturn;\n }\n}\n\nexport class CanCreateSubscriptionsResponse implements i.CanCreateSubscriptionsResponseInterface {\n validationResponse: ValidateResponse[];\n\n static fromProto(proto: any): CanCreateSubscriptionsResponse {\n let m = new CanCreateSubscriptionsResponse();\n m = Object.assign(m, proto);\n if (proto.validationResponse) {m.validationResponse = proto.validationResponse.map(ValidateResponse.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.CanCreateSubscriptionsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.validationResponse !== 'undefined' && this.validationResponse !== null) {toReturn['validationResponse'] = 'toApiJson' in this.validationResponse ? (this.validationResponse as any).toApiJson() : this.validationResponse;}\n return toReturn;\n }\n}\n\nexport class ChangeCustomUnitPriceRequest implements i.ChangeCustomUnitPriceRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n customUnitPrice: number;\n\n static fromProto(proto: any): ChangeCustomUnitPriceRequest {\n let m = new ChangeCustomUnitPriceRequest();\n m = Object.assign(m, proto);\n if (proto.customUnitPrice) {m.customUnitPrice = parseInt(proto.customUnitPrice, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ChangeCustomUnitPriceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.customUnitPrice !== 'undefined') {toReturn['customUnitPrice'] = this.customUnitPrice;}\n return toReturn;\n }\n}\n\nexport class ChangeFrequencyRequest implements i.ChangeFrequencyRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n frequency: e.Frequency;\n\n static fromProto(proto: any): ChangeFrequencyRequest {\n let m = new ChangeFrequencyRequest();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n return m;\n }\n\n constructor(kwargs?: i.ChangeFrequencyRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n return toReturn;\n }\n}\n\nexport class ChangeRenewalDateRequest implements i.ChangeRenewalDateRequestInterface {\n merchantId: string;\n customerId: string;\n sku: string;\n orderId: string;\n nextRenewalDate: Date;\n\n static fromProto(proto: any): ChangeRenewalDateRequest {\n let m = new ChangeRenewalDateRequest();\n m = Object.assign(m, proto);\n if (proto.nextRenewalDate) {m.nextRenewalDate = new Date(proto.nextRenewalDate);}\n return m;\n }\n\n constructor(kwargs?: i.ChangeRenewalDateRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.nextRenewalDate !== 'undefined' && this.nextRenewalDate !== null) {toReturn['nextRenewalDate'] = 'toApiJson' in this.nextRenewalDate ? (this.nextRenewalDate as any).toApiJson() : this.nextRenewalDate;}\n return toReturn;\n }\n}\n\nexport class CreateSubscriptionRequest implements i.CreateSubscriptionRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n billingStart: Date;\n proratedTo: Date;\n renewalState: e.RenewalState;\n retailBundleId: string;\n forResale: boolean;\n customUnitPrice: number;\n alignWith: AlignmentSubscription;\n frequency: e.Frequency;\n retailAmount: number;\n retailFrequency: e.Frequency;\n\n static fromProto(proto: any): CreateSubscriptionRequest {\n let m = new CreateSubscriptionRequest();\n m = Object.assign(m, proto);\n if (proto.billingStart) {m.billingStart = new Date(proto.billingStart);}\n if (proto.proratedTo) {m.proratedTo = new Date(proto.proratedTo);}\n if (proto.renewalState) {m.renewalState = enumStringToValue<e.RenewalState>(e.RenewalState, proto.renewalState);}\n if (proto.customUnitPrice) {m.customUnitPrice = parseInt(proto.customUnitPrice, 10);}\n if (proto.alignWith) {m.alignWith = AlignmentSubscription.fromProto(proto.alignWith);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.retailAmount) {m.retailAmount = parseInt(proto.retailAmount, 10);}\n if (proto.retailFrequency) {m.retailFrequency = enumStringToValue<e.Frequency>(e.Frequency, proto.retailFrequency);}\n return m;\n }\n\n constructor(kwargs?: i.CreateSubscriptionRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.billingStart !== 'undefined' && this.billingStart !== null) {toReturn['billingStart'] = 'toApiJson' in this.billingStart ? (this.billingStart as any).toApiJson() : this.billingStart;}\n if (typeof this.proratedTo !== 'undefined' && this.proratedTo !== null) {toReturn['proratedTo'] = 'toApiJson' in this.proratedTo ? (this.proratedTo as any).toApiJson() : this.proratedTo;}\n if (typeof this.renewalState !== 'undefined') {toReturn['renewalState'] = this.renewalState;}\n if (typeof this.retailBundleId !== 'undefined') {toReturn['retailBundleId'] = this.retailBundleId;}\n if (typeof this.forResale !== 'undefined') {toReturn['forResale'] = this.forResale;}\n if (typeof this.customUnitPrice !== 'undefined') {toReturn['customUnitPrice'] = this.customUnitPrice;}\n if (typeof this.alignWith !== 'undefined' && this.alignWith !== null) {toReturn['alignWith'] = 'toApiJson' in this.alignWith ? (this.alignWith as any).toApiJson() : this.alignWith;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.retailAmount !== 'undefined') {toReturn['retailAmount'] = this.retailAmount;}\n if (typeof this.retailFrequency !== 'undefined') {toReturn['retailFrequency'] = this.retailFrequency;}\n return toReturn;\n }\n}\n\nexport class CreateSubscriptionsRequest implements i.CreateSubscriptionsRequestInterface {\n merchantId: string;\n subscriptions: Subscription[];\n\n static fromProto(proto: any): CreateSubscriptionsRequest {\n let m = new CreateSubscriptionsRequest();\n m = Object.assign(m, proto);\n if (proto.subscriptions) {m.subscriptions = proto.subscriptions.map(Subscription.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.CreateSubscriptionsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.subscriptions !== 'undefined' && this.subscriptions !== null) {toReturn['subscriptions'] = 'toApiJson' in this.subscriptions ? (this.subscriptions as any).toApiJson() : this.subscriptions;}\n return toReturn;\n }\n}\n\nexport class CreateSubscriptionsResponse implements i.CreateSubscriptionsResponseInterface {\n id: string;\n\n static fromProto(proto: any): CreateSubscriptionsResponse {\n let m = new CreateSubscriptionsResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateSubscriptionsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class ReverseSubscriptionRequest implements i.ReverseSubscriptionRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n\n static fromProto(proto: any): ReverseSubscriptionRequest {\n let m = new ReverseSubscriptionRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ReverseSubscriptionRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n return toReturn;\n }\n}\n\nexport class SetRenewalStartRequest implements i.SetRenewalStartRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n renewalStart: Date;\n\n static fromProto(proto: any): SetRenewalStartRequest {\n let m = new SetRenewalStartRequest();\n m = Object.assign(m, proto);\n if (proto.renewalStart) {m.renewalStart = new Date(proto.renewalStart);}\n return m;\n }\n\n constructor(kwargs?: i.SetRenewalStartRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.renewalStart !== 'undefined' && this.renewalStart !== null) {toReturn['renewalStart'] = 'toApiJson' in this.renewalStart ? (this.renewalStart as any).toApiJson() : this.renewalStart;}\n return toReturn;\n }\n}\n\nexport class CanCreateSubscriptionsRequestSkusEntry implements i.CanCreateSubscriptionsRequestSkusEntryInterface {\n key: string;\n value: number;\n\n static fromProto(proto: any): CanCreateSubscriptionsRequestSkusEntry {\n let m = new CanCreateSubscriptionsRequestSkusEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = parseInt(proto.value, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CanCreateSubscriptionsRequestSkusEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class Subscription implements i.SubscriptionInterface {\n sku: string;\n customerId: string;\n orderId: string;\n billingStart: Date;\n renewalState: e.RenewalState;\n proratedTo: Date;\n retailBundleId: string;\n forResale: boolean;\n customUnitPrice: number;\n alignWith: AlignmentSubscription;\n bundleInstanceId: string;\n frequency: e.Frequency;\n retailAmount: number;\n retailFrequency: e.Frequency;\n\n static fromProto(proto: any): Subscription {\n let m = new Subscription();\n m = Object.assign(m, proto);\n if (proto.billingStart) {m.billingStart = new Date(proto.billingStart);}\n if (proto.renewalState) {m.renewalState = enumStringToValue<e.RenewalState>(e.RenewalState, proto.renewalState);}\n if (proto.proratedTo) {m.proratedTo = new Date(proto.proratedTo);}\n if (proto.customUnitPrice) {m.customUnitPrice = parseInt(proto.customUnitPrice, 10);}\n if (proto.alignWith) {m.alignWith = AlignmentSubscription.fromProto(proto.alignWith);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.retailAmount) {m.retailAmount = parseInt(proto.retailAmount, 10);}\n if (proto.retailFrequency) {m.retailFrequency = enumStringToValue<e.Frequency>(e.Frequency, proto.retailFrequency);}\n return m;\n }\n\n constructor(kwargs?: i.SubscriptionInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.billingStart !== 'undefined' && this.billingStart !== null) {toReturn['billingStart'] = 'toApiJson' in this.billingStart ? (this.billingStart as any).toApiJson() : this.billingStart;}\n if (typeof this.renewalState !== 'undefined') {toReturn['renewalState'] = this.renewalState;}\n if (typeof this.proratedTo !== 'undefined' && this.proratedTo !== null) {toReturn['proratedTo'] = 'toApiJson' in this.proratedTo ? (this.proratedTo as any).toApiJson() : this.proratedTo;}\n if (typeof this.retailBundleId !== 'undefined') {toReturn['retailBundleId'] = this.retailBundleId;}\n if (typeof this.forResale !== 'undefined') {toReturn['forResale'] = this.forResale;}\n if (typeof this.customUnitPrice !== 'undefined') {toReturn['customUnitPrice'] = this.customUnitPrice;}\n if (typeof this.alignWith !== 'undefined' && this.alignWith !== null) {toReturn['alignWith'] = 'toApiJson' in this.alignWith ? (this.alignWith as any).toApiJson() : this.alignWith;}\n if (typeof this.bundleInstanceId !== 'undefined') {toReturn['bundleInstanceId'] = this.bundleInstanceId;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.retailAmount !== 'undefined') {toReturn['retailAmount'] = this.retailAmount;}\n if (typeof this.retailFrequency !== 'undefined') {toReturn['retailFrequency'] = this.retailFrequency;}\n return toReturn;\n }\n}\n\nexport class CanCreateSubscriptionsRequestSubscriptionItem implements i.CanCreateSubscriptionsRequestSubscriptionItemInterface {\n sku: string;\n frequency: e.Frequency;\n quantity: number;\n\n static fromProto(proto: any): CanCreateSubscriptionsRequestSubscriptionItem {\n let m = new CanCreateSubscriptionsRequestSubscriptionItem();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CanCreateSubscriptionsRequestSubscriptionItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n return toReturn;\n }\n}\n\nexport class ValidateResponse implements i.ValidateResponseInterface {\n sku: string;\n code: SubscribeValidation;\n\n static fromProto(proto: any): ValidateResponse {\n let m = new ValidateResponse();\n m = Object.assign(m, proto);\n if (proto.code) {m.code = SubscribeValidation.fromProto(proto.code);}\n return m;\n }\n\n constructor(kwargs?: i.ValidateResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.code !== 'undefined' && this.code !== null) {toReturn['code'] = 'toApiJson' in this.code ? (this.code as any).toApiJson() : this.code;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ContractDocument implements i.ContractDocumentInterface {\n merchantId: string;\n id: string;\n filename: string;\n created: Date;\n\n static fromProto(proto: any): ContractDocument {\n let m = new ContractDocument();\n m = Object.assign(m, proto);\n if (proto.created) {m.created = new Date(proto.created);}\n return m;\n }\n\n constructor(kwargs?: i.ContractDocumentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.filename !== 'undefined') {toReturn['filename'] = this.filename;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n return toReturn;\n }\n}\n\nexport class DeleteContractDocumentRequest implements i.DeleteContractDocumentRequestInterface {\n merchantId: string;\n id: string;\n\n static fromProto(proto: any): DeleteContractDocumentRequest {\n let m = new DeleteContractDocumentRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteContractDocumentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class ListContractDocumentsRequestFilters implements i.ListContractDocumentsRequestFiltersInterface {\n merchantId: string;\n\n static fromProto(proto: any): ListContractDocumentsRequestFilters {\n let m = new ListContractDocumentsRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListContractDocumentsRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class ListContractDocumentsRequest implements i.ListContractDocumentsRequestInterface {\n filters: ListContractDocumentsRequestFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListContractDocumentsRequest {\n let m = new ListContractDocumentsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListContractDocumentsRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListContractDocumentsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListContractDocumentsResponse implements i.ListContractDocumentsResponseInterface {\n contractDocuments: ContractDocument[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListContractDocumentsResponse {\n let m = new ListContractDocumentsResponse();\n m = Object.assign(m, proto);\n if (proto.contractDocuments) {m.contractDocuments = proto.contractDocuments.map(ContractDocument.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListContractDocumentsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contractDocuments !== 'undefined' && this.contractDocuments !== null) {toReturn['contractDocuments'] = 'toApiJson' in this.contractDocuments ? (this.contractDocuments as any).toApiJson() : this.contractDocuments;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class GetRetailCustomerConfigurationRequest implements i.GetRetailCustomerConfigurationRequestInterface {\n customerId: string;\n merchantId: string;\n\n static fromProto(proto: any): GetRetailCustomerConfigurationRequest {\n let m = new GetRetailCustomerConfigurationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailCustomerConfigurationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetRetailCustomerConfigurationResponse implements i.GetRetailCustomerConfigurationResponseInterface {\n configuration: RetailCustomerConfiguration;\n\n static fromProto(proto: any): GetRetailCustomerConfigurationResponse {\n let m = new GetRetailCustomerConfigurationResponse();\n m = Object.assign(m, proto);\n if (proto.configuration) {m.configuration = RetailCustomerConfiguration.fromProto(proto.configuration);}\n return m;\n }\n\n constructor(kwargs?: i.GetRetailCustomerConfigurationResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.configuration !== 'undefined' && this.configuration !== null) {toReturn['configuration'] = 'toApiJson' in this.configuration ? (this.configuration as any).toApiJson() : this.configuration;}\n return toReturn;\n }\n}\n\nexport class RetailCustomerConfiguration implements i.RetailCustomerConfigurationInterface {\n customerId: string;\n merchantId: string;\n invoiceDay: number;\n nextInvoiceDate: Date;\n autoPost: boolean;\n collectionMethod: string;\n netD: number;\n autoGenerate: boolean;\n contactId: string;\n useTemplateInvoice: boolean;\n\n static fromProto(proto: any): RetailCustomerConfiguration {\n let m = new RetailCustomerConfiguration();\n m = Object.assign(m, proto);\n if (proto.invoiceDay) {m.invoiceDay = parseInt(proto.invoiceDay, 10);}\n if (proto.nextInvoiceDate) {m.nextInvoiceDate = new Date(proto.nextInvoiceDate);}\n if (proto.netD) {m.netD = parseInt(proto.netD, 10);}\n return m;\n }\n\n constructor(kwargs?: i.RetailCustomerConfigurationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceDay !== 'undefined') {toReturn['invoiceDay'] = this.invoiceDay;}\n if (typeof this.nextInvoiceDate !== 'undefined' && this.nextInvoiceDate !== null) {toReturn['nextInvoiceDate'] = 'toApiJson' in this.nextInvoiceDate ? (this.nextInvoiceDate as any).toApiJson() : this.nextInvoiceDate;}\n if (typeof this.autoPost !== 'undefined') {toReturn['autoPost'] = this.autoPost;}\n if (typeof this.collectionMethod !== 'undefined') {toReturn['collectionMethod'] = this.collectionMethod;}\n if (typeof this.netD !== 'undefined') {toReturn['netD'] = this.netD;}\n if (typeof this.autoGenerate !== 'undefined') {toReturn['autoGenerate'] = this.autoGenerate;}\n if (typeof this.contactId !== 'undefined') {toReturn['contactId'] = this.contactId;}\n if (typeof this.useTemplateInvoice !== 'undefined') {toReturn['useTemplateInvoice'] = this.useTemplateInvoice;}\n return toReturn;\n }\n}\n\nexport class UpsertRetailCustomerConfigurationRequest implements i.UpsertRetailCustomerConfigurationRequestInterface {\n customerId: string;\n merchantId: string;\n invoiceDay: number;\n autoPost: boolean;\n netD: number;\n autoGenerate: boolean;\n contactId: string;\n collectionMethod: string;\n useTemplateInvoice: boolean;\n\n static fromProto(proto: any): UpsertRetailCustomerConfigurationRequest {\n let m = new UpsertRetailCustomerConfigurationRequest();\n m = Object.assign(m, proto);\n if (proto.invoiceDay) {m.invoiceDay = parseInt(proto.invoiceDay, 10);}\n if (proto.netD) {m.netD = parseInt(proto.netD, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertRetailCustomerConfigurationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceDay !== 'undefined') {toReturn['invoiceDay'] = this.invoiceDay;}\n if (typeof this.autoPost !== 'undefined') {toReturn['autoPost'] = this.autoPost;}\n if (typeof this.netD !== 'undefined') {toReturn['netD'] = this.netD;}\n if (typeof this.autoGenerate !== 'undefined') {toReturn['autoGenerate'] = this.autoGenerate;}\n if (typeof this.contactId !== 'undefined') {toReturn['contactId'] = this.contactId;}\n if (typeof this.collectionMethod !== 'undefined') {toReturn['collectionMethod'] = this.collectionMethod;}\n if (typeof this.useTemplateInvoice !== 'undefined') {toReturn['useTemplateInvoice'] = this.useTemplateInvoice;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AddCreditRequest implements i.AddCreditRequestInterface {\n merchantId: string;\n currency: string;\n amount: number;\n idempotencyKey: string;\n reason: string;\n\n static fromProto(proto: any): AddCreditRequest {\n let m = new AddCreditRequest();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.AddCreditRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.idempotencyKey !== 'undefined') {toReturn['idempotencyKey'] = this.idempotencyKey;}\n if (typeof this.reason !== 'undefined') {toReturn['reason'] = this.reason;}\n return toReturn;\n }\n}\n\nexport class CreditBalance implements i.CreditBalanceInterface {\n merchantId: string;\n currency: string;\n amount: number;\n\n static fromProto(proto: any): CreditBalance {\n let m = new CreditBalance();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CreditBalanceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n return toReturn;\n }\n}\n\nexport class GetBalanceRequest implements i.GetBalanceRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetBalanceRequest {\n let m = new GetBalanceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetBalanceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetBalanceResponse implements i.GetBalanceResponseInterface {\n creditBalance: CreditBalance;\n\n static fromProto(proto: any): GetBalanceResponse {\n let m = new GetBalanceResponse();\n m = Object.assign(m, proto);\n if (proto.creditBalance) {m.creditBalance = CreditBalance.fromProto(proto.creditBalance);}\n return m;\n }\n\n constructor(kwargs?: i.GetBalanceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.creditBalance !== 'undefined' && this.creditBalance !== null) {toReturn['creditBalance'] = 'toApiJson' in this.creditBalance ? (this.creditBalance as any).toApiJson() : this.creditBalance;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { AppliedBundle } from './applied-bundle';\nimport { AppliedDiscount } from './applied-discount';\nimport { AppliedTaxRate } from './applied-tax-rate';\nimport { TaxRate } from './tax-rate';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AddTemplateBundleRequest implements i.AddTemplateBundleRequestInterface {\n merchantId: string;\n customerId: string;\n bundleId: string;\n\n static fromProto(proto: any): AddTemplateBundleRequest {\n let m = new AddTemplateBundleRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AddTemplateBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n return toReturn;\n }\n}\n\nexport class AddTemplateBundleResponse implements i.AddTemplateBundleResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): AddTemplateBundleResponse {\n let m = new AddTemplateBundleResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.AddTemplateBundleResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class AddTemplateLineItemRequest implements i.AddTemplateLineItemRequestInterface {\n merchantId: string;\n customerId: string;\n sku: string;\n unitPrice: number;\n quantity: number;\n description: string;\n taxRates: string[];\n\n static fromProto(proto: any): AddTemplateLineItemRequest {\n let m = new AddTemplateLineItemRequest();\n m = Object.assign(m, proto);\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n return m;\n }\n\n constructor(kwargs?: i.AddTemplateLineItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.taxRates !== 'undefined') {toReturn['taxRates'] = this.taxRates;}\n return toReturn;\n }\n}\n\nexport class AddTemplateLineItemResponse implements i.AddTemplateLineItemResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): AddTemplateLineItemResponse {\n let m = new AddTemplateLineItemResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.AddTemplateLineItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class CreateTemplateRequest implements i.CreateTemplateRequestInterface {\n merchantId: string;\n customerId: string;\n\n static fromProto(proto: any): CreateTemplateRequest {\n let m = new CreateTemplateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateTemplateRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n return toReturn;\n }\n}\n\nexport class CreateTemplateResponse implements i.CreateTemplateResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): CreateTemplateResponse {\n let m = new CreateTemplateResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.CreateTemplateResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class DeleteInvoiceTemplateRequest implements i.DeleteInvoiceTemplateRequestInterface {\n merchantId: string;\n customerId: string;\n\n static fromProto(proto: any): DeleteInvoiceTemplateRequest {\n let m = new DeleteInvoiceTemplateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteInvoiceTemplateRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n return toReturn;\n }\n}\n\nexport class DeleteTemplateLineItemRequest implements i.DeleteTemplateLineItemRequestInterface {\n merchantId: string;\n customerId: string;\n id: string;\n\n static fromProto(proto: any): DeleteTemplateLineItemRequest {\n let m = new DeleteTemplateLineItemRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteTemplateLineItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class DeleteTemplateLineItemResponse implements i.DeleteTemplateLineItemResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): DeleteTemplateLineItemResponse {\n let m = new DeleteTemplateLineItemResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.DeleteTemplateLineItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class GetInvoiceTemplateRequest implements i.GetInvoiceTemplateRequestInterface {\n merchantId: string;\n customerId: string;\n\n static fromProto(proto: any): GetInvoiceTemplateRequest {\n let m = new GetInvoiceTemplateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetInvoiceTemplateRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n return toReturn;\n }\n}\n\nexport class GetInvoiceTemplateResponse implements i.GetInvoiceTemplateResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): GetInvoiceTemplateResponse {\n let m = new GetInvoiceTemplateResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.GetInvoiceTemplateResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class InvoiceTemplate implements i.InvoiceTemplateInterface {\n merchantId: string;\n customerId: string;\n appliedTaxes: AppliedTaxRate[];\n items: InvoiceTemplateItem[];\n currency: e.Currency;\n total: number;\n subtotal: number;\n created: Date;\n updated: Date;\n defaultTaxRates: TaxRate[];\n appliedBundles: AppliedBundle[];\n amountDiscount: number;\n\n static fromProto(proto: any): InvoiceTemplate {\n let m = new InvoiceTemplate();\n m = Object.assign(m, proto);\n if (proto.appliedTaxes) {m.appliedTaxes = proto.appliedTaxes.map(AppliedTaxRate.fromProto);}\n if (proto.items) {m.items = proto.items.map(InvoiceTemplateItem.fromProto);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.subtotal) {m.subtotal = parseInt(proto.subtotal, 10);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.defaultTaxRates) {m.defaultTaxRates = proto.defaultTaxRates.map(TaxRate.fromProto);}\n if (proto.appliedBundles) {m.appliedBundles = proto.appliedBundles.map(AppliedBundle.fromProto);}\n if (proto.amountDiscount) {m.amountDiscount = parseInt(proto.amountDiscount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.InvoiceTemplateInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.appliedTaxes !== 'undefined' && this.appliedTaxes !== null) {toReturn['appliedTaxes'] = 'toApiJson' in this.appliedTaxes ? (this.appliedTaxes as any).toApiJson() : this.appliedTaxes;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.subtotal !== 'undefined') {toReturn['subtotal'] = this.subtotal;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.defaultTaxRates !== 'undefined' && this.defaultTaxRates !== null) {toReturn['defaultTaxRates'] = 'toApiJson' in this.defaultTaxRates ? (this.defaultTaxRates as any).toApiJson() : this.defaultTaxRates;}\n if (typeof this.appliedBundles !== 'undefined' && this.appliedBundles !== null) {toReturn['appliedBundles'] = 'toApiJson' in this.appliedBundles ? (this.appliedBundles as any).toApiJson() : this.appliedBundles;}\n if (typeof this.amountDiscount !== 'undefined') {toReturn['amountDiscount'] = this.amountDiscount;}\n return toReturn;\n }\n}\n\nexport class InvoiceTemplateItem implements i.InvoiceTemplateItemInterface {\n sku: string;\n unitPrice: number;\n quantity: number;\n description: string;\n total: number;\n appliedTaxes: AppliedTaxRate[];\n taxRates: TaxRate[];\n subtotal: number;\n bundleId: string;\n discounts: AppliedDiscount[];\n\n static fromProto(proto: any): InvoiceTemplateItem {\n let m = new InvoiceTemplateItem();\n m = Object.assign(m, proto);\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.appliedTaxes) {m.appliedTaxes = proto.appliedTaxes.map(AppliedTaxRate.fromProto);}\n if (proto.taxRates) {m.taxRates = proto.taxRates.map(TaxRate.fromProto);}\n if (proto.subtotal) {m.subtotal = parseInt(proto.subtotal, 10);}\n if (proto.discounts) {m.discounts = proto.discounts.map(AppliedDiscount.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.InvoiceTemplateItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.appliedTaxes !== 'undefined' && this.appliedTaxes !== null) {toReturn['appliedTaxes'] = 'toApiJson' in this.appliedTaxes ? (this.appliedTaxes as any).toApiJson() : this.appliedTaxes;}\n if (typeof this.taxRates !== 'undefined' && this.taxRates !== null) {toReturn['taxRates'] = 'toApiJson' in this.taxRates ? (this.taxRates as any).toApiJson() : this.taxRates;}\n if (typeof this.subtotal !== 'undefined') {toReturn['subtotal'] = this.subtotal;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.discounts !== 'undefined' && this.discounts !== null) {toReturn['discounts'] = 'toApiJson' in this.discounts ? (this.discounts as any).toApiJson() : this.discounts;}\n return toReturn;\n }\n}\n\nexport class UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest implements i.UpsertInvoiceTemplateRequestInvoiceTemplateItemRequestInterface {\n sku: string;\n unitPrice: number;\n quantity: number;\n description: string;\n taxRates: string[];\n bundleId: string;\n appliedDiscounts: AppliedDiscount[];\n\n static fromProto(proto: any): UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest {\n let m = new UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest();\n m = Object.assign(m, proto);\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n if (proto.appliedDiscounts) {m.appliedDiscounts = proto.appliedDiscounts.map(AppliedDiscount.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertInvoiceTemplateRequestInvoiceTemplateItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.taxRates !== 'undefined') {toReturn['taxRates'] = this.taxRates;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.appliedDiscounts !== 'undefined' && this.appliedDiscounts !== null) {toReturn['appliedDiscounts'] = 'toApiJson' in this.appliedDiscounts ? (this.appliedDiscounts as any).toApiJson() : this.appliedDiscounts;}\n return toReturn;\n }\n}\n\nexport class UpdateTemplateBundleRequest implements i.UpdateTemplateBundleRequestInterface {\n merchantId: string;\n customerId: string;\n bundleId: string;\n hideBundleItems: boolean;\n\n static fromProto(proto: any): UpdateTemplateBundleRequest {\n let m = new UpdateTemplateBundleRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateTemplateBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.hideBundleItems !== 'undefined') {toReturn['hideBundleItems'] = this.hideBundleItems;}\n return toReturn;\n }\n}\n\nexport class UpdateTemplateBundleResponse implements i.UpdateTemplateBundleResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): UpdateTemplateBundleResponse {\n let m = new UpdateTemplateBundleResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateTemplateBundleResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class UpdateTemplateDefaultTaxRatesRequest implements i.UpdateTemplateDefaultTaxRatesRequestInterface {\n customerId: string;\n merchantId: string;\n taxRateIds: string[];\n\n static fromProto(proto: any): UpdateTemplateDefaultTaxRatesRequest {\n let m = new UpdateTemplateDefaultTaxRatesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateTemplateDefaultTaxRatesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.taxRateIds !== 'undefined') {toReturn['taxRateIds'] = this.taxRateIds;}\n return toReturn;\n }\n}\n\nexport class UpdateTemplateDefaultTaxRatesResponse implements i.UpdateTemplateDefaultTaxRatesResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): UpdateTemplateDefaultTaxRatesResponse {\n let m = new UpdateTemplateDefaultTaxRatesResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateTemplateDefaultTaxRatesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class UpdateTemplateLineItemRequest implements i.UpdateTemplateLineItemRequestInterface {\n merchantId: string;\n customerId: string;\n id: string;\n sku: string;\n unitPrice: number;\n quantity: number;\n description: string;\n taxRates: string[];\n\n static fromProto(proto: any): UpdateTemplateLineItemRequest {\n let m = new UpdateTemplateLineItemRequest();\n m = Object.assign(m, proto);\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateTemplateLineItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.taxRates !== 'undefined') {toReturn['taxRates'] = this.taxRates;}\n return toReturn;\n }\n}\n\nexport class UpdateTemplateLineItemResponse implements i.UpdateTemplateLineItemResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): UpdateTemplateLineItemResponse {\n let m = new UpdateTemplateLineItemResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateTemplateLineItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class UpsertInvoiceTemplateRequest implements i.UpsertInvoiceTemplateRequestInterface {\n merchantId: string;\n customerId: string;\n items: UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest[];\n defaultTaxRates: string[];\n currencyCode: string;\n\n static fromProto(proto: any): UpsertInvoiceTemplateRequest {\n let m = new UpsertInvoiceTemplateRequest();\n m = Object.assign(m, proto);\n if (proto.items) {m.items = proto.items.map(UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertInvoiceTemplateRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.defaultTaxRates !== 'undefined') {toReturn['defaultTaxRates'] = this.defaultTaxRates;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n return toReturn;\n }\n}\n\nexport class UpsertInvoiceTemplateResponse implements i.UpsertInvoiceTemplateResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): UpsertInvoiceTemplateResponse {\n let m = new UpsertInvoiceTemplateResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertInvoiceTemplateResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DeleteRecurringInvoiceRequest implements i.DeleteRecurringInvoiceRequestInterface {\n id: string;\n\n static fromProto(proto: any): DeleteRecurringInvoiceRequest {\n let m = new DeleteRecurringInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteRecurringInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class GetRecurringInvoiceRequest implements i.GetRecurringInvoiceRequestInterface {\n id: string;\n\n static fromProto(proto: any): GetRecurringInvoiceRequest {\n let m = new GetRecurringInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRecurringInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class ListRecurringInvoicesRequest implements i.ListRecurringInvoicesRequestInterface {\n pagingOptions: PagedRequestOptions;\n merchantId: string;\n customerId: string;\n\n static fromProto(proto: any): ListRecurringInvoicesRequest {\n let m = new ListRecurringInvoicesRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListRecurringInvoicesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n return toReturn;\n }\n}\n\nexport class ListRecurringInvoicesResponse implements i.ListRecurringInvoicesResponseInterface {\n recurringInvoices: RecurringInvoice[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListRecurringInvoicesResponse {\n let m = new ListRecurringInvoicesResponse();\n m = Object.assign(m, proto);\n if (proto.recurringInvoices) {m.recurringInvoices = proto.recurringInvoices.map(RecurringInvoice.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListRecurringInvoicesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.recurringInvoices !== 'undefined' && this.recurringInvoices !== null) {toReturn['recurringInvoices'] = 'toApiJson' in this.recurringInvoices ? (this.recurringInvoices as any).toApiJson() : this.recurringInvoices;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class RecurringInvoice implements i.RecurringInvoiceInterface {\n id: string;\n created: Date;\n updated: Date;\n customerId: string;\n status: e.RecurringInvoiceStatus;\n issuedAt: Date;\n nextIssue: Date;\n intervalCount: number;\n interval: e.Interval;\n collectionMethod: e.CollectionMethod;\n recipientUserId: string;\n paymentProcessor: e.PaymentProcessor;\n paymentProcessorId: string;\n items: RecurringInvoiceItem[];\n totalAmount: number;\n currencyCode: string;\n\n static fromProto(proto: any): RecurringInvoice {\n let m = new RecurringInvoice();\n m = Object.assign(m, proto);\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.status) {m.status = enumStringToValue<e.RecurringInvoiceStatus>(e.RecurringInvoiceStatus, proto.status);}\n if (proto.issuedAt) {m.issuedAt = new Date(proto.issuedAt);}\n if (proto.nextIssue) {m.nextIssue = new Date(proto.nextIssue);}\n if (proto.intervalCount) {m.intervalCount = parseInt(proto.intervalCount, 10);}\n if (proto.interval) {m.interval = enumStringToValue<e.Interval>(e.Interval, proto.interval);}\n if (proto.collectionMethod) {m.collectionMethod = enumStringToValue<e.CollectionMethod>(e.CollectionMethod, proto.collectionMethod);}\n if (proto.paymentProcessor) {m.paymentProcessor = enumStringToValue<e.PaymentProcessor>(e.PaymentProcessor, proto.paymentProcessor);}\n if (proto.items) {m.items = proto.items.map(RecurringInvoiceItem.fromProto);}\n if (proto.totalAmount) {m.totalAmount = parseInt(proto.totalAmount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.RecurringInvoiceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.issuedAt !== 'undefined' && this.issuedAt !== null) {toReturn['issuedAt'] = 'toApiJson' in this.issuedAt ? (this.issuedAt as any).toApiJson() : this.issuedAt;}\n if (typeof this.nextIssue !== 'undefined' && this.nextIssue !== null) {toReturn['nextIssue'] = 'toApiJson' in this.nextIssue ? (this.nextIssue as any).toApiJson() : this.nextIssue;}\n if (typeof this.intervalCount !== 'undefined') {toReturn['intervalCount'] = this.intervalCount;}\n if (typeof this.interval !== 'undefined') {toReturn['interval'] = this.interval;}\n if (typeof this.collectionMethod !== 'undefined') {toReturn['collectionMethod'] = this.collectionMethod;}\n if (typeof this.recipientUserId !== 'undefined') {toReturn['recipientUserId'] = this.recipientUserId;}\n if (typeof this.paymentProcessor !== 'undefined') {toReturn['paymentProcessor'] = this.paymentProcessor;}\n if (typeof this.paymentProcessorId !== 'undefined') {toReturn['paymentProcessorId'] = this.paymentProcessorId;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.totalAmount !== 'undefined') {toReturn['totalAmount'] = this.totalAmount;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n return toReturn;\n }\n}\n\nexport class RecurringInvoiceBundle implements i.RecurringInvoiceBundleInterface {\n name: string;\n hideLineItems: boolean;\n lineItems: RecurringInvoiceLineItem[];\n\n static fromProto(proto: any): RecurringInvoiceBundle {\n let m = new RecurringInvoiceBundle();\n m = Object.assign(m, proto);\n if (proto.lineItems) {m.lineItems = proto.lineItems.map(RecurringInvoiceLineItem.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.RecurringInvoiceBundleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.hideLineItems !== 'undefined') {toReturn['hideLineItems'] = this.hideLineItems;}\n if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {toReturn['lineItems'] = 'toApiJson' in this.lineItems ? (this.lineItems as any).toApiJson() : this.lineItems;}\n return toReturn;\n }\n}\n\nexport class RecurringInvoiceItem implements i.RecurringInvoiceItemInterface {\n lineItem: RecurringInvoiceLineItem;\n bundle: RecurringInvoiceBundle;\n\n static fromProto(proto: any): RecurringInvoiceItem {\n let m = new RecurringInvoiceItem();\n m = Object.assign(m, proto);\n if (proto.lineItem) {m.lineItem = RecurringInvoiceLineItem.fromProto(proto.lineItem);}\n if (proto.bundle) {m.bundle = RecurringInvoiceBundle.fromProto(proto.bundle);}\n return m;\n }\n\n constructor(kwargs?: i.RecurringInvoiceItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.lineItem !== 'undefined' && this.lineItem !== null) {toReturn['lineItem'] = 'toApiJson' in this.lineItem ? (this.lineItem as any).toApiJson() : this.lineItem;}\n if (typeof this.bundle !== 'undefined' && this.bundle !== null) {toReturn['bundle'] = 'toApiJson' in this.bundle ? (this.bundle as any).toApiJson() : this.bundle;}\n return toReturn;\n }\n}\n\nexport class RecurringInvoiceLineItem implements i.RecurringInvoiceLineItemInterface {\n sku: string;\n unitPrice: number;\n quantity: number;\n name: string;\n taxRateIds: string[];\n\n static fromProto(proto: any): RecurringInvoiceLineItem {\n let m = new RecurringInvoiceLineItem();\n m = Object.assign(m, proto);\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n return m;\n }\n\n constructor(kwargs?: i.RecurringInvoiceLineItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.taxRateIds !== 'undefined') {toReturn['taxRateIds'] = this.taxRateIds;}\n return toReturn;\n }\n}\n\nexport class UpdateRecurringInvoiceRequest implements i.UpdateRecurringInvoiceRequestInterface {\n recurringInvoice: RecurringInvoice;\n\n static fromProto(proto: any): UpdateRecurringInvoiceRequest {\n let m = new UpdateRecurringInvoiceRequest();\n m = Object.assign(m, proto);\n if (proto.recurringInvoice) {m.recurringInvoice = RecurringInvoice.fromProto(proto.recurringInvoice);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateRecurringInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.recurringInvoice !== 'undefined' && this.recurringInvoice !== null) {toReturn['recurringInvoice'] = 'toApiJson' in this.recurringInvoice ? (this.recurringInvoice as any).toApiJson() : this.recurringInvoice;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { BundlePricing } from './bundle';\nimport { Commitment } from './commitment';\nimport { PricingPlanProductPricing } from './pricing-plan';\nimport { ProductPrices, ProductPricing } from './product-pricing';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DeleteRetailPricingRequest implements i.DeleteRetailPricingRequestInterface {\n merchantId: string;\n groupId: string;\n sku: string;\n\n static fromProto(proto: any): DeleteRetailPricingRequest {\n let m = new DeleteRetailPricingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteRetailPricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.groupId !== 'undefined') {toReturn['groupId'] = this.groupId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class GenerateBillableItemsCSVRequest implements i.GenerateBillableItemsCSVRequestInterface {\n merchantId: string;\n periodStart: Date;\n periodEnd: Date;\n\n static fromProto(proto: any): GenerateBillableItemsCSVRequest {\n let m = new GenerateBillableItemsCSVRequest();\n m = Object.assign(m, proto);\n if (proto.periodStart) {m.periodStart = new Date(proto.periodStart);}\n if (proto.periodEnd) {m.periodEnd = new Date(proto.periodEnd);}\n return m;\n }\n\n constructor(kwargs?: i.GenerateBillableItemsCSVRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.periodStart !== 'undefined' && this.periodStart !== null) {toReturn['periodStart'] = 'toApiJson' in this.periodStart ? (this.periodStart as any).toApiJson() : this.periodStart;}\n if (typeof this.periodEnd !== 'undefined' && this.periodEnd !== null) {toReturn['periodEnd'] = 'toApiJson' in this.periodEnd ? (this.periodEnd as any).toApiJson() : this.periodEnd;}\n return toReturn;\n }\n}\n\nexport class GenerateBillableItemsCSVResponse implements i.GenerateBillableItemsCSVResponseInterface {\n url: string;\n\n static fromProto(proto: any): GenerateBillableItemsCSVResponse {\n let m = new GenerateBillableItemsCSVResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GenerateBillableItemsCSVResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.url !== 'undefined') {toReturn['url'] = this.url;}\n return toReturn;\n }\n}\n\nexport class GenerateVendorReportRequest implements i.GenerateVendorReportRequestInterface {\n skus: string[];\n periodStart: Date;\n periodEnd: Date;\n vendorName: string;\n markAsApproved: boolean;\n\n static fromProto(proto: any): GenerateVendorReportRequest {\n let m = new GenerateVendorReportRequest();\n m = Object.assign(m, proto);\n if (proto.periodStart) {m.periodStart = new Date(proto.periodStart);}\n if (proto.periodEnd) {m.periodEnd = new Date(proto.periodEnd);}\n return m;\n }\n\n constructor(kwargs?: i.GenerateVendorReportRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n if (typeof this.periodStart !== 'undefined' && this.periodStart !== null) {toReturn['periodStart'] = 'toApiJson' in this.periodStart ? (this.periodStart as any).toApiJson() : this.periodStart;}\n if (typeof this.periodEnd !== 'undefined' && this.periodEnd !== null) {toReturn['periodEnd'] = 'toApiJson' in this.periodEnd ? (this.periodEnd as any).toApiJson() : this.periodEnd;}\n if (typeof this.vendorName !== 'undefined') {toReturn['vendorName'] = this.vendorName;}\n if (typeof this.markAsApproved !== 'undefined') {toReturn['markAsApproved'] = this.markAsApproved;}\n return toReturn;\n }\n}\n\nexport class GenerateVendorReportResponse implements i.GenerateVendorReportResponseInterface {\n url: string;\n bucket: string;\n filename: string;\n\n static fromProto(proto: any): GenerateVendorReportResponse {\n let m = new GenerateVendorReportResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GenerateVendorReportResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.url !== 'undefined') {toReturn['url'] = this.url;}\n if (typeof this.bucket !== 'undefined') {toReturn['bucket'] = this.bucket;}\n if (typeof this.filename !== 'undefined') {toReturn['filename'] = this.filename;}\n return toReturn;\n }\n}\n\nexport class GetMultiBundleRetailPricingRequest implements i.GetMultiBundleRetailPricingRequestInterface {\n merchantId: string;\n storeId: string;\n bundleIds: string[];\n\n static fromProto(proto: any): GetMultiBundleRetailPricingRequest {\n let m = new GetMultiBundleRetailPricingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiBundleRetailPricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.storeId !== 'undefined') {toReturn['storeId'] = this.storeId;}\n if (typeof this.bundleIds !== 'undefined') {toReturn['bundleIds'] = this.bundleIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiBundleRetailPricingResponse implements i.GetMultiBundleRetailPricingResponseInterface {\n prices: {[key: string]: BundlePricing};\n\n static fromProto(proto: any): GetMultiBundleRetailPricingResponse {\n let m = new GetMultiBundleRetailPricingResponse();\n m = Object.assign(m, proto);\n if (proto.prices) {m.prices = Object.keys(proto.prices).reduce<any>((obj, k) => { obj[k] = BundlePricing.fromProto(proto.prices[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiBundleRetailPricingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.prices !== 'undefined' && this.prices !== null) {toReturn['prices'] = 'toApiJson' in this.prices ? (this.prices as any).toApiJson() : this.prices;}\n return toReturn;\n }\n}\n\nexport class GetMultiProductPricingRequest implements i.GetMultiProductPricingRequestInterface {\n merchantId: string;\n skus: string[];\n pricingPlanId: string;\n\n static fromProto(proto: any): GetMultiProductPricingRequest {\n let m = new GetMultiProductPricingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiProductPricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n return toReturn;\n }\n}\n\nexport class GetMultiProductPricingResponse implements i.GetMultiProductPricingResponseInterface {\n productPrices: {[key: string]: ProductPricing};\n prices: ProductPrices[];\n\n static fromProto(proto: any): GetMultiProductPricingResponse {\n let m = new GetMultiProductPricingResponse();\n m = Object.assign(m, proto);\n if (proto.productPrices) {m.productPrices = Object.keys(proto.productPrices).reduce<any>((obj, k) => { obj[k] = ProductPricing.fromProto(proto.productPrices[k]); return obj; }, {});}\n if (proto.prices) {m.prices = proto.prices.map(ProductPrices.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiProductPricingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.productPrices !== 'undefined' && this.productPrices !== null) {toReturn['productPrices'] = 'toApiJson' in this.productPrices ? (this.productPrices as any).toApiJson() : this.productPrices;}\n if (typeof this.prices !== 'undefined' && this.prices !== null) {toReturn['prices'] = 'toApiJson' in this.prices ? (this.prices as any).toApiJson() : this.prices;}\n return toReturn;\n }\n}\n\nexport class GetMultiRetailPricingRequest implements i.GetMultiRetailPricingRequestInterface {\n merchantId: string;\n currency: e.Currency;\n skus: string[];\n groupId: string;\n\n static fromProto(proto: any): GetMultiRetailPricingRequest {\n let m = new GetMultiRetailPricingRequest();\n m = Object.assign(m, proto);\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiRetailPricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n if (typeof this.groupId !== 'undefined') {toReturn['groupId'] = this.groupId;}\n return toReturn;\n }\n}\n\nexport class GetMultiRetailPricingResponse implements i.GetMultiRetailPricingResponseInterface {\n productPrices: {[key: string]: ProductPricing};\n prices: ProductPrices[];\n\n static fromProto(proto: any): GetMultiRetailPricingResponse {\n let m = new GetMultiRetailPricingResponse();\n m = Object.assign(m, proto);\n if (proto.productPrices) {m.productPrices = Object.keys(proto.productPrices).reduce<any>((obj, k) => { obj[k] = ProductPricing.fromProto(proto.productPrices[k]); return obj; }, {});}\n if (proto.prices) {m.prices = proto.prices.map(ProductPrices.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiRetailPricingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.productPrices !== 'undefined' && this.productPrices !== null) {toReturn['productPrices'] = 'toApiJson' in this.productPrices ? (this.productPrices as any).toApiJson() : this.productPrices;}\n if (typeof this.prices !== 'undefined' && this.prices !== null) {toReturn['prices'] = 'toApiJson' in this.prices ? (this.prices as any).toApiJson() : this.prices;}\n return toReturn;\n }\n}\n\nexport class GetPurchaseCostRequest implements i.GetPurchaseCostRequestInterface {\n merchantId: string;\n sku: string;\n quantity: number;\n frequency: e.Frequency;\n\n static fromProto(proto: any): GetPurchaseCostRequest {\n let m = new GetPurchaseCostRequest();\n m = Object.assign(m, proto);\n if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n return m;\n }\n\n constructor(kwargs?: i.GetPurchaseCostRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n return toReturn;\n }\n}\n\nexport class GetPurchaseCostResponse implements i.GetPurchaseCostResponseInterface {\n billingFrequency: string;\n totalCost: number;\n currency: e.Currency;\n strategy: e.BillingStrategy;\n commitment: Commitment;\n isStartingPrice: boolean;\n discountAmount: number;\n subtotalCost: number;\n setupFee: number;\n\n static fromProto(proto: any): GetPurchaseCostResponse {\n let m = new GetPurchaseCostResponse();\n m = Object.assign(m, proto);\n if (proto.totalCost) {m.totalCost = parseInt(proto.totalCost, 10);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n if (proto.commitment) {m.commitment = Commitment.fromProto(proto.commitment);}\n if (proto.discountAmount) {m.discountAmount = parseInt(proto.discountAmount, 10);}\n if (proto.subtotalCost) {m.subtotalCost = parseInt(proto.subtotalCost, 10);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GetPurchaseCostResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.billingFrequency !== 'undefined') {toReturn['billingFrequency'] = this.billingFrequency;}\n if (typeof this.totalCost !== 'undefined') {toReturn['totalCost'] = this.totalCost;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {toReturn['commitment'] = 'toApiJson' in this.commitment ? (this.commitment as any).toApiJson() : this.commitment;}\n if (typeof this.isStartingPrice !== 'undefined') {toReturn['isStartingPrice'] = this.isStartingPrice;}\n if (typeof this.discountAmount !== 'undefined') {toReturn['discountAmount'] = this.discountAmount;}\n if (typeof this.subtotalCost !== 'undefined') {toReturn['subtotalCost'] = this.subtotalCost;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n return toReturn;\n }\n}\n\nexport class GetRevenueStatsRequest implements i.GetRevenueStatsRequestInterface {\n skus: string[];\n periodStart: Date;\n periodEnd: Date;\n\n static fromProto(proto: any): GetRevenueStatsRequest {\n let m = new GetRevenueStatsRequest();\n m = Object.assign(m, proto);\n if (proto.periodStart) {m.periodStart = new Date(proto.periodStart);}\n if (proto.periodEnd) {m.periodEnd = new Date(proto.periodEnd);}\n return m;\n }\n\n constructor(kwargs?: i.GetRevenueStatsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n if (typeof this.periodStart !== 'undefined' && this.periodStart !== null) {toReturn['periodStart'] = 'toApiJson' in this.periodStart ? (this.periodStart as any).toApiJson() : this.periodStart;}\n if (typeof this.periodEnd !== 'undefined' && this.periodEnd !== null) {toReturn['periodEnd'] = 'toApiJson' in this.periodEnd ? (this.periodEnd as any).toApiJson() : this.periodEnd;}\n return toReturn;\n }\n}\n\nexport class GetRevenueStatsResponse implements i.GetRevenueStatsResponseInterface {\n totalRevenue: number;\n\n static fromProto(proto: any): GetRevenueStatsResponse {\n let m = new GetRevenueStatsResponse();\n m = Object.assign(m, proto);\n if (proto.totalRevenue) {m.totalRevenue = parseInt(proto.totalRevenue, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GetRevenueStatsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.totalRevenue !== 'undefined') {toReturn['totalRevenue'] = this.totalRevenue;}\n return toReturn;\n }\n}\n\nexport class GetStatisticsRequest implements i.GetStatisticsRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetStatisticsRequest {\n let m = new GetStatisticsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetStatisticsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetStatisticsResponse implements i.GetStatisticsResponseInterface {\n totalBillableCustomers: number;\n currentBasketSize: number;\n changeInBasketSize30Days: number;\n\n static fromProto(proto: any): GetStatisticsResponse {\n let m = new GetStatisticsResponse();\n m = Object.assign(m, proto);\n if (proto.totalBillableCustomers) {m.totalBillableCustomers = parseInt(proto.totalBillableCustomers, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GetStatisticsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.totalBillableCustomers !== 'undefined') {toReturn['totalBillableCustomers'] = this.totalBillableCustomers;}\n if (typeof this.currentBasketSize !== 'undefined') {toReturn['currentBasketSize'] = this.currentBasketSize;}\n if (typeof this.changeInBasketSize30Days !== 'undefined') {toReturn['changeInBasketSize30Days'] = this.changeInBasketSize30Days;}\n return toReturn;\n }\n}\n\nexport class GetWholesaleComparisonRequestGetWholesaleComparisonFilters implements i.GetWholesaleComparisonRequestGetWholesaleComparisonFiltersInterface {\n sku: string[];\n currencyCode: string[];\n\n static fromProto(proto: any): GetWholesaleComparisonRequestGetWholesaleComparisonFilters {\n let m = new GetWholesaleComparisonRequestGetWholesaleComparisonFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetWholesaleComparisonRequestGetWholesaleComparisonFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n return toReturn;\n }\n}\n\nexport class GetWholesaleComparisonRequest implements i.GetWholesaleComparisonRequestInterface {\n pricingPlanId: string[];\n filter: GetWholesaleComparisonRequestGetWholesaleComparisonFilters;\n\n static fromProto(proto: any): GetWholesaleComparisonRequest {\n let m = new GetWholesaleComparisonRequest();\n m = Object.assign(m, proto);\n if (proto.filter) {m.filter = GetWholesaleComparisonRequestGetWholesaleComparisonFilters.fromProto(proto.filter);}\n return m;\n }\n\n constructor(kwargs?: i.GetWholesaleComparisonRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.filter !== 'undefined' && this.filter !== null) {toReturn['filter'] = 'toApiJson' in this.filter ? (this.filter as any).toApiJson() : this.filter;}\n return toReturn;\n }\n}\n\nexport class GetWholesaleComparisonResponse implements i.GetWholesaleComparisonResponseInterface {\n results: GetWholesaleComparisonResponseGetWholesaleComparisonResult[];\n\n static fromProto(proto: any): GetWholesaleComparisonResponse {\n let m = new GetWholesaleComparisonResponse();\n m = Object.assign(m, proto);\n if (proto.results) {m.results = proto.results.map(GetWholesaleComparisonResponseGetWholesaleComparisonResult.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetWholesaleComparisonResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.results !== 'undefined' && this.results !== null) {toReturn['results'] = 'toApiJson' in this.results ? (this.results as any).toApiJson() : this.results;}\n return toReturn;\n }\n}\n\nexport class GetWholesaleComparisonResponseGetWholesaleComparisonResult implements i.GetWholesaleComparisonResponseGetWholesaleComparisonResultInterface {\n pricingPlanId: string;\n sku: string;\n productPricing: ProductPricing;\n\n static fromProto(proto: any): GetWholesaleComparisonResponseGetWholesaleComparisonResult {\n let m = new GetWholesaleComparisonResponseGetWholesaleComparisonResult();\n m = Object.assign(m, proto);\n if (proto.productPricing) {m.productPricing = ProductPricing.fromProto(proto.productPricing);}\n return m;\n }\n\n constructor(kwargs?: i.GetWholesaleComparisonResponseGetWholesaleComparisonResultInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.productPricing !== 'undefined' && this.productPricing !== null) {toReturn['productPricing'] = 'toApiJson' in this.productPricing ? (this.productPricing as any).toApiJson() : this.productPricing;}\n return toReturn;\n }\n}\n\nexport class GetMultiBundleRetailPricingResponsePricesEntry implements i.GetMultiBundleRetailPricingResponsePricesEntryInterface {\n key: string;\n value: BundlePricing;\n\n static fromProto(proto: any): GetMultiBundleRetailPricingResponsePricesEntry {\n let m = new GetMultiBundleRetailPricingResponsePricesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = BundlePricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiBundleRetailPricingResponsePricesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class UpsertRetailPricingRequestPricingEntry implements i.UpsertRetailPricingRequestPricingEntryInterface {\n key: string;\n value: PricingPlanProductPricing;\n\n static fromProto(proto: any): UpsertRetailPricingRequestPricingEntry {\n let m = new UpsertRetailPricingRequestPricingEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = PricingPlanProductPricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertRetailPricingRequestPricingEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class GetMultiRetailPricingResponseProductPricesEntry implements i.GetMultiRetailPricingResponseProductPricesEntryInterface {\n key: string;\n value: ProductPricing;\n\n static fromProto(proto: any): GetMultiRetailPricingResponseProductPricesEntry {\n let m = new GetMultiRetailPricingResponseProductPricesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = ProductPricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiRetailPricingResponseProductPricesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class GetMultiProductPricingResponseProductPricesEntry implements i.GetMultiProductPricingResponseProductPricesEntryInterface {\n key: string;\n value: ProductPricing;\n\n static fromProto(proto: any): GetMultiProductPricingResponseProductPricesEntry {\n let m = new GetMultiProductPricingResponseProductPricesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = ProductPricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiProductPricingResponseProductPricesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class SetWholesaleProductStrategyRequest implements i.SetWholesaleProductStrategyRequestInterface {\n merchantId: string;\n sku: string;\n strategy: e.BillingStrategy;\n\n static fromProto(proto: any): SetWholesaleProductStrategyRequest {\n let m = new SetWholesaleProductStrategyRequest();\n m = Object.assign(m, proto);\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n return m;\n }\n\n constructor(kwargs?: i.SetWholesaleProductStrategyRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n return toReturn;\n }\n}\n\nexport class SetWholesaleProductVolumeCommitmentRequest implements i.SetWholesaleProductVolumeCommitmentRequestInterface {\n merchantId: string;\n sku: string;\n volumeCommitment: number;\n\n static fromProto(proto: any): SetWholesaleProductVolumeCommitmentRequest {\n let m = new SetWholesaleProductVolumeCommitmentRequest();\n m = Object.assign(m, proto);\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n return m;\n }\n\n constructor(kwargs?: i.SetWholesaleProductVolumeCommitmentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n return toReturn;\n }\n}\n\nexport class StartRevRecTemplateBackfillRequest implements i.StartRevRecTemplateBackfillRequestInterface {\n\n static fromProto(proto: any): StartRevRecTemplateBackfillRequest {\n let m = new StartRevRecTemplateBackfillRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.StartRevRecTemplateBackfillRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class UpsertRetailPricingRequest implements i.UpsertRetailPricingRequestInterface {\n merchantId: string;\n sku: string;\n frequency: e.Frequency;\n pricing: {[key: string]: PricingPlanProductPricing};\n groupId: string;\n\n static fromProto(proto: any): UpsertRetailPricingRequest {\n let m = new UpsertRetailPricingRequest();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.pricing) {m.pricing = Object.keys(proto.pricing).reduce<any>((obj, k) => { obj[k] = PricingPlanProductPricing.fromProto(proto.pricing[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.UpsertRetailPricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n if (typeof this.groupId !== 'undefined') {toReturn['groupId'] = this.groupId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\nexport {\n PagedRequestOptions,\n PagedResponseMetadata,\n} from './common';\n\nexport {\n} from './frequency';\n\nexport {\n BillItemRequest,\n BillMultipleItemsRequest,\n BillMultipleItemsResponse,\n BillableItem,\n CanBillItemRequest,\n BillableItemCustomerAddress,\n DeleteBillableItemRequest,\n ExpireBillableItemRequest,\n ListBillableItemsRequestFilters,\n GetBillableItemRequest,\n GetBillableItemResponse,\n GetMultiSubscriptionsRequest,\n GetMultiSubscriptionsResponse,\n Item,\n GetMultiSubscriptionsRequestKey,\n ListBillableItemsRequest,\n ListBillableItemsResponse,\n} from './billable-item';\n\nexport {\n AppliedDiscount,\n} from './applied-discount';\n\nexport {\n Bundle,\n BundleItem,\n BundlePricing,\n GetMultiBundleResponseBundlesEntry,\n ListBundlesRequestFilters,\n GetMultiBundleRequest,\n GetMultiBundleResponse,\n ListBundlesRequest,\n ListBundlesResponse,\n BundleItemPrice,\n BundlePricingPriceAndFrequency,\n UpsertBundleRequest,\n} from './bundle';\n\nexport {\n Commitment,\n} from './commitment';\n\nexport {\n} from './currency';\n\nexport {\n Contract,\n GetMultiContractsResponseContractsEntry,\n CreateContractRequest,\n CreateContractResponse,\n GetContractRequest,\n GetContractResponse,\n GetMultiContractsRequest,\n GetMultiContractsResponse,\n ListContractsRequest,\n ListContractsResponse,\n UpdateContractRequestMutation,\n ResetContractPricingRequest,\n UpdateContractRequest,\n UpdateContractResponse,\n UpdateContractSubscriptionRequest,\n} from './contract';\n\nexport {\n CustomerSummary,\n GetMultiCustomerSummariesRequest,\n GetMultiCustomerSummariesResponse,\n} from './customer-summary';\n\nexport {\n BankAccount,\n CreateStripeExternalAccountRequest,\n DeleteBankAccountRequest,\n ListBankAccountsRequest,\n ListBankAccountsResponse,\n SetDefaultBankAccountRequest,\n} from './external-account';\n\nexport {\n ProductSummaryDiscount,\n ListSubscriptionRetentionRequestFilters,\n GetProductSummariesTotalRequest,\n GetProductSummariesTotalResponse,\n ListProductSummariesRequest,\n ListProductSummariesResponse,\n ListSubscriptionRetentionByGroupResponse,\n ListSubscriptionRetentionBySKUResponse,\n ListSubscriptionRetentionRequest,\n Pricing,\n ProductSummary,\n RetentionMetrics,\n PricingRule,\n ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup,\n} from './product-summary';\n\nexport {\n CreateDiscountRequest,\n Discount,\n ExpireDiscountRequest,\n ListDiscountsRequestFilters,\n ListDiscountsRequest,\n ListDiscountsResponse,\n UpdateDiscountRequest,\n} from './discount';\n\nexport {\n AppliedTaxRate,\n} from './applied-tax-rate';\n\nexport {\n FieldMask,\n} from './field-mask';\n\nexport {\n ArchiveTaxRequest,\n CalculateTaxRequest,\n CalculateTaxResponse,\n CreateTaxRequest,\n ListTaxRequestFilters,\n GetMultiTaxRequest,\n GetMultiTaxResponse,\n ListTaxRequest,\n ListTaxResponse,\n TaxRate,\n UpdateTaxRequest,\n} from './tax-rate';\n\nexport {\n AppliedBundle,\n AppliedBundleItem,\n} from './applied-bundle';\n\nexport {\n AddBundleRequest,\n AddBundleResponse,\n AddLineItemRequest,\n AddLineItemResponse,\n ChargeInvoiceRequest,\n CreateInvoiceRequest,\n CreateInvoiceResponse,\n InvoiceCustomerAddress,\n ListInvoicesRequestFiltersDateFilter,\n DeleteInvoiceRequest,\n DeleteLineItemRequest,\n DeleteLineItemResponse,\n DuplicateInvoiceRequest,\n DuplicateInvoiceResponse,\n ListInvoicesRequestFilters,\n GetInvoiceRequest,\n GetInvoiceResponse,\n Invoice,\n InvoiceItem,\n ListInvoicesRequest,\n ListInvoicesResponse,\n PayInvoiceRequest,\n RemoveBundleRequest,\n RemoveBundleResponse,\n SendInvoiceRequest,\n UpdateBundleRequest,\n UpdateBundleResponse,\n UpdateDefaultTaxRatesRequest,\n UpdateDefaultTaxRatesResponse,\n UpdateInvoiceRequest,\n UpdateInvoiceResponse,\n UpdateLineItemRequest,\n UpdateLineItemResponse,\n VoidInvoiceRequest,\n} from './invoice';\n\nexport {\n Balance,\n} from './balance';\n\nexport {\n DateRange,\n} from './date-range';\n\nexport {\n ListPayoutsRequestFilters,\n ListPayoutsRequest,\n ListPayoutsResponse,\n Payout,\n ReconcilePayoutRequest,\n ReconcilePayoutResponse,\n RetailPayout,\n} from './payout';\n\nexport {\n} from './sort-direction';\n\nexport {\n ChargeSalesInvoiceRequest,\n ConnectStripeAccountRequest,\n ConnectStripeAccountResponse,\n CreateMerchantRequest,\n DefaultCustomerConfiguration,\n GetMerchantRequest,\n GetMerchantResponse,\n GetMultiRetailConfigurationsRequest,\n GetMultiRetailConfigurationsResponse,\n GetOutstandingBalanceRequest,\n GetOutstandingBalanceResponse,\n GetPayoutSummaryRequest,\n GetPayoutSummaryResponse,\n GetRetailBalanceRequest,\n GetRetailBalanceResponse,\n GetRetailPayoutRequest,\n GetRetailPayoutResponse,\n CreateMerchantRequestIncludeInFinancialRecords,\n UpdateMerchantRequestIncludeInFinancialRecords,\n ListRetailPayoutsRequest,\n ListRetailPayoutsResponse,\n Merchant,\n RetailConfiguration,\n GetMultiRetailConfigurationsResponseRetailConfigurationsEntry,\n SearchMerchantsRequest,\n SearchMerchantsResponse,\n SetAutoChargeInvoicesRequest,\n SetAutoPostInvoicesRequest,\n SetDefaultPaymentCardRequest,\n SetHasAlternativePaymentMethodRequest,\n SetIncludeInFinancialRecordsRequest,\n UpdateMerchantRequest,\n UpsertDefaultRetailCustomerConfigurationRequest,\n UpsertRetailConfigurationRequest,\n} from './merchant';\n\nexport {\n} from './month';\n\nexport {\n ListMerchantBillingReportsRequest,\n ListMerchantBillingReportsResponse,\n MerchantReport,\n} from './merchant-report';\n\nexport {\n CreateMeteredComponentRequest,\n MeteredComponent,\n TickComponentUsageRequest,\n} from './metered-component';\n\nexport {\n} from './card';\n\nexport {\n RetailPaymentCardDetails,\n CloseRetailDisputeRequest,\n ConfigureRetailPaymentProviderRequest,\n ConfigureRetailPaymentProviderResponse,\n ConfirmRetailPaymentRequest,\n Dispute,\n DisputeEvidence,\n SubmitEvidenceRequestDisputeEvidence,\n DisputeEvidenceDetails,\n File,\n GetRetailDisputeRequest,\n GetRetailDisputeResponse,\n GetRetailPaymentProviderRequest,\n GetRetailPaymentProviderResponse,\n GetRetailPaymentRequest,\n GetRetailPaymentResponse,\n ListPaymentRequestListPaymentFilters,\n ListPaymentRequest,\n ListPaymentResponse,\n ListRetailDisputesRequest,\n ListRetailDisputesResponse,\n ListRetailPaymentsRequestListRetailPaymentsFilters,\n ListRetailPaymentsRequest,\n ListRetailPaymentsResponse,\n PrepareRetailPaymentRequestOrder,\n Payment,\n PaymentPaymentAllocation,\n PrepareRetailPaymentRequest,\n PrepareRetailPaymentResponse,\n RetailPayment,\n RetailPaymentsEnabledRequest,\n RetailPaymentsEnabledResponse,\n RetailStatusRequest,\n RetailStatusResponse,\n SubmitEvidenceRequest,\n UpdateRetailPaymentProviderRequest,\n RetailStatusResponseVerificationError,\n RetailStatusResponseVerificationRequirements,\n} from './payment';\n\nexport {\n CreatePaymentCardRequest,\n DeletePaymentCardRequest,\n ListPaymentCardsRequest,\n ListPaymentCardsResponse,\n PaymentCard,\n SetDefaultPaymentMethodRequest,\n UpdatePaymentCardRequest,\n} from './payment-card';\n\nexport {\n ComponentPricing,\n CreatePricingPlanRequest,\n CreatePricingPlanResponse,\n GetMultiPricingPlanRequest,\n GetMultiPricingPlanResponse,\n PricingPlan,\n PricingPlanProductPricing,\n ProductPricingRule,\n UpdatePricingPlanRequest,\n UpdatePricingPlanResponse,\n} from './pricing-plan';\n\nexport {\n CreatePricingPlanProductRequest,\n CreatePricingPlanProductResponse,\n DeletePricingPlanProductRequest,\n GetMultiPricingPlanProductRequest,\n GetMultiPricingPlanProductResponse,\n GetPricingPlanProductRequest,\n GetPricingPlanProductResponse,\n ListPricingPlanProductsRequestListPricingPlanProductsFilters,\n ListPricingPlanProductsRequest,\n ListPricingPlanProductsResponse,\n PricingPlanProductPricingEntry,\n CreatePricingPlanProductRequestPricingEntry,\n UpdatePricingPlanProductRequestPricingEntry,\n PricingPlanProduct,\n UpdatePricingPlanProductRequest,\n UpdatePricingPlanProductResponse,\n UpsertWholesalePricingRequest,\n} from './pricing-plan-product';\n\nexport {\n CreateProductRequest,\n DeleteProductRequest,\n GetMultiProductRequest,\n GetMultiProductResponse,\n ListProductsRequestListProductsFilters,\n ListProductsRequest,\n ListProductsResponse,\n Product,\n GetMultiProductResponseProductsEntry,\n UpdateProductRequest,\n} from './product';\n\nexport {\n ProductPrices,\n ProductPricing,\n} from './product-pricing';\n\nexport {\n AppliedCredit,\n ListPurchaseRequestListPurchaseBillingStrategyFilter,\n ListPurchaseRequestListPurchaseFilters,\n ListPurchaseItemsRequestListPurchaseItemsFilters,\n ListPurchaseItemsRequest,\n ListPurchaseItemsResponse,\n ListPurchaseRequest,\n ListPurchaseResponse,\n Purchase,\n PurchaseItem,\n RetryPurchaseRequest,\n VoidPurchaseRequest,\n} from './purchase';\n\nexport {\n CreateRefundRequest,\n ListRefundsRequest,\n ListRefundsResponse,\n Refund,\n} from './refund';\n\nexport {\n CreateSalesCreditNoteRequest,\n ListSalesCreditNoteRequestListSalesCreditNoteFilters,\n ListSalesCreditNoteRequest,\n ListSalesCreditNoteResponse,\n SalesCreditNote,\n} from './sales-credit-note';\n\nexport {\n GetSalesInvoiceRequest,\n GetSalesInvoiceResponse,\n ListSalesInvoiceRequestListSalesInvoiceFilters,\n ListSalesInvoiceRequest,\n ListSalesInvoiceResponse,\n PostSalesInvoiceRequest,\n SalesInvoice,\n SendSalesInvoiceEmailRequest,\n SendSalesInvoiceReceiptEmailRequest,\n} from './sales-invoice';\n\nexport {\n SubscribeValidation,\n} from './subscribe-validation';\n\nexport {\n AlignmentSubscription,\n CanCreateSubscriptionsRequest,\n CanCreateSubscriptionsResponse,\n ChangeCustomUnitPriceRequest,\n ChangeFrequencyRequest,\n ChangeRenewalDateRequest,\n CreateSubscriptionRequest,\n CreateSubscriptionsRequest,\n CreateSubscriptionsResponse,\n ReverseSubscriptionRequest,\n SetRenewalStartRequest,\n CanCreateSubscriptionsRequestSkusEntry,\n Subscription,\n CanCreateSubscriptionsRequestSubscriptionItem,\n ValidateResponse,\n} from './subscription';\n\nexport {\n ContractDocument,\n DeleteContractDocumentRequest,\n ListContractDocumentsRequestFilters,\n ListContractDocumentsRequest,\n ListContractDocumentsResponse,\n} from './contract-document';\n\nexport {\n GetRetailCustomerConfigurationRequest,\n GetRetailCustomerConfigurationResponse,\n RetailCustomerConfiguration,\n UpsertRetailCustomerConfigurationRequest,\n} from './retail-customer-configuration';\n\nexport {\n AddCreditRequest,\n CreditBalance,\n GetBalanceRequest,\n GetBalanceResponse,\n} from './credit';\n\nexport {\n AddTemplateBundleRequest,\n AddTemplateBundleResponse,\n AddTemplateLineItemRequest,\n AddTemplateLineItemResponse,\n CreateTemplateRequest,\n CreateTemplateResponse,\n DeleteInvoiceTemplateRequest,\n DeleteTemplateLineItemRequest,\n DeleteTemplateLineItemResponse,\n GetInvoiceTemplateRequest,\n GetInvoiceTemplateResponse,\n InvoiceTemplate,\n InvoiceTemplateItem,\n UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest,\n UpdateTemplateBundleRequest,\n UpdateTemplateBundleResponse,\n UpdateTemplateDefaultTaxRatesRequest,\n UpdateTemplateDefaultTaxRatesResponse,\n UpdateTemplateLineItemRequest,\n UpdateTemplateLineItemResponse,\n UpsertInvoiceTemplateRequest,\n UpsertInvoiceTemplateResponse,\n} from './invoice-template';\n\nexport {\n} from './payment-processor';\n\nexport {\n DeleteRecurringInvoiceRequest,\n GetRecurringInvoiceRequest,\n ListRecurringInvoicesRequest,\n ListRecurringInvoicesResponse,\n RecurringInvoice,\n RecurringInvoiceBundle,\n RecurringInvoiceItem,\n RecurringInvoiceLineItem,\n UpdateRecurringInvoiceRequest,\n} from './recurring-invoice';\n\nexport {\n DeleteRetailPricingRequest,\n GenerateBillableItemsCSVRequest,\n GenerateBillableItemsCSVResponse,\n GenerateVendorReportRequest,\n GenerateVendorReportResponse,\n GetMultiBundleRetailPricingRequest,\n GetMultiBundleRetailPricingResponse,\n GetMultiProductPricingRequest,\n GetMultiProductPricingResponse,\n GetMultiRetailPricingRequest,\n GetMultiRetailPricingResponse,\n GetPurchaseCostRequest,\n GetPurchaseCostResponse,\n GetRevenueStatsRequest,\n GetRevenueStatsResponse,\n GetStatisticsRequest,\n GetStatisticsResponse,\n GetWholesaleComparisonRequestGetWholesaleComparisonFilters,\n GetWholesaleComparisonRequest,\n GetWholesaleComparisonResponse,\n GetWholesaleComparisonResponseGetWholesaleComparisonResult,\n GetMultiBundleRetailPricingResponsePricesEntry,\n UpsertRetailPricingRequestPricingEntry,\n GetMultiRetailPricingResponseProductPricesEntry,\n GetMultiProductPricingResponseProductPricesEntry,\n SetWholesaleProductStrategyRequest,\n SetWholesaleProductVolumeCommitmentRequest,\n StartRevRecTemplateBackfillRequest,\n UpsertRetailPricingRequest,\n} from './api';\n\n","import { Injectable } from '@angular/core';\nimport { EnvironmentService, Environment } from '@vendasta/core';\n\n@Injectable({providedIn: 'root'})\nexport class HostService {\n private _host: string;\n private _httpsHost: string;\n\n constructor(private environmentService: EnvironmentService) {\n }\n\n host(): string {\n if (this._host) {\n return this._host;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._host = 'billing-api.vendasta-local.com';\n break;\n case Environment.TEST:\n this._host = '';\n break;\n case Environment.DEMO:\n this._host = 'billing-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._host = 'billing-prod.apigateway.co';\n break;\n }\n return this._host;\n }\n\n httpsHost(): string {\n if (this._httpsHost) {\n return this._httpsHost;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._httpsHost = 'billing.vendasta-local.com';\n break;\n case Environment.TEST:\n this._httpsHost = '';\n break;\n case Environment.DEMO:\n this._httpsHost = 'billing-api-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._httpsHost = 'billing-api-prod.apigateway.co';\n break;\n }\n return this._httpsHost;\n }\n\n hostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.host()\n }\n\n httpsHostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.httpsHost()\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n ListPayoutsRequest,\n ListPayoutsResponse,\n ReconcilePayoutRequest,\n ReconcilePayoutResponse,\n} from './objects/';\nimport {\n ListPayoutsRequestInterface,\n ListPayoutsResponseInterface,\n ReconcilePayoutRequestInterface,\n ReconcilePayoutResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class BankReconciliationApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n listPayouts(r: ListPayoutsRequest | ListPayoutsRequestInterface): Observable<ListPayoutsResponse> {\n const request = ((<ListPayoutsRequest>r).toApiJson) ? (<ListPayoutsRequest>r) : new ListPayoutsRequest(r);\n return this.http.post<ListPayoutsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.BankReconciliationService/ListPayouts\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPayoutsResponse.fromProto(resp)),\n share()\n );\n }\n reconcilePayout(r: ReconcilePayoutRequest | ReconcilePayoutRequestInterface): Observable<ReconcilePayoutResponse> {\n const request = ((<ReconcilePayoutRequest>r).toApiJson) ? (<ReconcilePayoutRequest>r) : new ReconcilePayoutRequest(r);\n return this.http.post<ReconcilePayoutResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.BankReconciliationService/ReconcilePayout\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ReconcilePayoutResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n BillItemRequest,\n BillMultipleItemsRequest,\n BillMultipleItemsResponse,\n CanBillItemRequest,\n CanCreateSubscriptionsRequest,\n CanCreateSubscriptionsResponse,\n ChangeCustomUnitPriceRequest,\n ChangeFrequencyRequest,\n ChangeRenewalDateRequest,\n CreateMeteredComponentRequest,\n CreatePricingPlanProductRequest,\n CreatePricingPlanProductResponse,\n CreatePricingPlanRequest,\n CreatePricingPlanResponse,\n CreateSubscriptionRequest,\n CreateSubscriptionsRequest,\n CreateSubscriptionsResponse,\n DeleteBillableItemRequest,\n DeletePricingPlanProductRequest,\n ExpireBillableItemRequest,\n GenerateBillableItemsCSVRequest,\n GenerateBillableItemsCSVResponse,\n GetBillableItemRequest,\n GetBillableItemResponse,\n GetMultiContractsRequest,\n GetMultiContractsResponse,\n GetMultiPricingPlanProductRequest,\n GetMultiPricingPlanProductResponse,\n GetMultiPricingPlanRequest,\n GetMultiPricingPlanResponse,\n GetMultiProductPricingRequest,\n GetMultiProductPricingResponse,\n GetMultiProductRequest,\n GetMultiProductResponse,\n GetMultiSubscriptionsRequest,\n GetMultiSubscriptionsResponse,\n GetPricingPlanProductRequest,\n GetPricingPlanProductResponse,\n GetProductSummariesTotalRequest,\n GetProductSummariesTotalResponse,\n GetPurchaseCostRequest,\n GetPurchaseCostResponse,\n ListBillableItemsRequest,\n ListBillableItemsResponse,\n ListContractsRequest,\n ListContractsResponse,\n ListMerchantBillingReportsRequest,\n ListMerchantBillingReportsResponse,\n ListPricingPlanProductsRequest,\n ListPricingPlanProductsResponse,\n ListProductSummariesRequest,\n ListProductSummariesResponse,\n ListProductsRequest,\n ListProductsResponse,\n ResetContractPricingRequest,\n ReverseSubscriptionRequest,\n SetRenewalStartRequest,\n StartRevRecTemplateBackfillRequest,\n TickComponentUsageRequest,\n UpdatePricingPlanProductRequest,\n UpdatePricingPlanProductResponse,\n UpdatePricingPlanRequest,\n UpdatePricingPlanResponse,\n} from './objects/';\nimport {\n BillItemRequestInterface,\n BillMultipleItemsRequestInterface,\n BillMultipleItemsResponseInterface,\n CanBillItemRequestInterface,\n CanCreateSubscriptionsRequestInterface,\n CanCreateSubscriptionsResponseInterface,\n ChangeCustomUnitPriceRequestInterface,\n ChangeFrequencyRequestInterface,\n ChangeRenewalDateRequestInterface,\n CreateMeteredComponentRequestInterface,\n CreatePricingPlanProductRequestInterface,\n CreatePricingPlanProductResponseInterface,\n CreatePricingPlanRequestInterface,\n CreatePricingPlanResponseInterface,\n CreateSubscriptionRequestInterface,\n CreateSubscriptionsRequestInterface,\n CreateSubscriptionsResponseInterface,\n DeleteBillableItemRequestInterface,\n DeletePricingPlanProductRequestInterface,\n ExpireBillableItemRequestInterface,\n GenerateBillableItemsCSVRequestInterface,\n GenerateBillableItemsCSVResponseInterface,\n GetBillableItemRequestInterface,\n GetBillableItemResponseInterface,\n GetMultiContractsRequestInterface,\n GetMultiContractsResponseInterface,\n GetMultiPricingPlanProductRequestInterface,\n GetMultiPricingPlanProductResponseInterface,\n GetMultiPricingPlanRequestInterface,\n GetMultiPricingPlanResponseInterface,\n GetMultiProductPricingRequestInterface,\n GetMultiProductPricingResponseInterface,\n GetMultiProductRequestInterface,\n GetMultiProductResponseInterface,\n GetMultiSubscriptionsRequestInterface,\n GetMultiSubscriptionsResponseInterface,\n GetPricingPlanProductRequestInterface,\n GetPricingPlanProductResponseInterface,\n GetProductSummariesTotalRequestInterface,\n GetProductSummariesTotalResponseInterface,\n GetPurchaseCostRequestInterface,\n GetPurchaseCostResponseInterface,\n ListBillableItemsRequestInterface,\n ListBillableItemsResponseInterface,\n ListContractsRequestInterface,\n ListContractsResponseInterface,\n ListMerchantBillingReportsRequestInterface,\n ListMerchantBillingReportsResponseInterface,\n ListPricingPlanProductsRequestInterface,\n ListPricingPlanProductsResponseInterface,\n ListProductSummariesRequestInterface,\n ListProductSummariesResponseInterface,\n ListProductsRequestInterface,\n ListProductsResponseInterface,\n ResetContractPricingRequestInterface,\n ReverseSubscriptionRequestInterface,\n SetRenewalStartRequestInterface,\n StartRevRecTemplateBackfillRequestInterface,\n TickComponentUsageRequestInterface,\n UpdatePricingPlanProductRequestInterface,\n UpdatePricingPlanProductResponseInterface,\n UpdatePricingPlanRequestInterface,\n UpdatePricingPlanResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class BillingApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n canBillItem(r: CanBillItemRequest | CanBillItemRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CanBillItemRequest>r).toApiJson) ? (<CanBillItemRequest>r) : new CanBillItemRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/CanBillItem\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n canCreateSubscriptions(r: CanCreateSubscriptionsRequest | CanCreateSubscriptionsRequestInterface): Observable<CanCreateSubscriptionsResponse> {\n const request = ((<CanCreateSubscriptionsRequest>r).toApiJson) ? (<CanCreateSubscriptionsRequest>r) : new CanCreateSubscriptionsRequest(r);\n return this.http.post<CanCreateSubscriptionsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/CanCreateSubscriptions\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CanCreateSubscriptionsResponse.fromProto(resp)),\n share()\n );\n }\n createSubscription(r: CreateSubscriptionRequest | CreateSubscriptionRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateSubscriptionRequest>r).toApiJson) ? (<CreateSubscriptionRequest>r) : new CreateSubscriptionRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/CreateSubscription\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createSubscriptions(r: CreateSubscriptionsRequest | CreateSubscriptionsRequestInterface): Observable<CreateSubscriptionsResponse> {\n const request = ((<CreateSubscriptionsRequest>r).toApiJson) ? (<CreateSubscriptionsRequest>r) : new CreateSubscriptionsRequest(r);\n return this.http.post<CreateSubscriptionsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/CreateSubscriptions\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateSubscriptionsResponse.fromProto(resp)),\n share()\n );\n }\n reverseSubscription(r: ReverseSubscriptionRequest | ReverseSubscriptionRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ReverseSubscriptionRequest>r).toApiJson) ? (<ReverseSubscriptionRequest>r) : new ReverseSubscriptionRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/ReverseSubscription\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setRenewalStart(r: SetRenewalStartRequest | SetRenewalStartRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetRenewalStartRequest>r).toApiJson) ? (<SetRenewalStartRequest>r) : new SetRenewalStartRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/SetRenewalStart\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n billItem(r: BillItemRequest | BillItemRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<BillItemRequest>r).toApiJson) ? (<BillItemRequest>r) : new BillItemRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/BillItem\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n billMultipleItems(r: BillMultipleItemsRequest | BillMultipleItemsRequestInterface): Observable<BillMultipleItemsResponse> {\n const request = ((<BillMultipleItemsRequest>r).toApiJson) ? (<BillMultipleItemsRequest>r) : new BillMultipleItemsRequest(r);\n return this.http.post<BillMultipleItemsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/BillMultipleItems\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => BillMultipleItemsResponse.fromProto(resp)),\n share()\n );\n }\n getBillableItem(r: GetBillableItemRequest | GetBillableItemRequestInterface): Observable<GetBillableItemResponse> {\n const request = ((<GetBillableItemRequest>r).toApiJson) ? (<GetBillableItemRequest>r) : new GetBillableItemRequest(r);\n return this.http.post<GetBillableItemResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/GetBillableItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetBillableItemResponse.fromProto(resp)),\n share()\n );\n }\n getMultiSubscriptions(r: GetMultiSubscriptionsRequest | GetMultiSubscriptionsRequestInterface): Observable<GetMultiSubscriptionsResponse> {\n const request = ((<GetMultiSubscriptionsRequest>r).toApiJson) ? (<GetMultiSubscriptionsRequest>r) : new GetMultiSubscriptionsRequest(r);\n return this.http.post<GetMultiSubscriptionsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/GetMultiSubscriptions\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiSubscriptionsResponse.fromProto(resp)),\n share()\n );\n }\n listBillableItems(r: ListBillableItemsRequest | ListBillableItemsRequestInterface): Observable<ListBillableItemsResponse> {\n const request = ((<ListBillableItemsRequest>r).toApiJson) ? (<ListBillableItemsRequest>r) : new ListBillableItemsRequest(r);\n return this.http.post<ListBillableItemsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/ListBillableItems\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListBillableItemsResponse.fromProto(resp)),\n share()\n );\n }\n expireBillableItem(r: ExpireBillableItemRequest | ExpireBillableItemRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ExpireBillableItemRequest>r).toApiJson) ? (<ExpireBillableItemRequest>r) : new ExpireBillableItemRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/ExpireBillableItem\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteBillableItem(r: DeleteBillableItemRequest | DeleteBillableItemRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteBillableItemRequest>r).toApiJson) ? (<DeleteBillableItemRequest>r) : new DeleteBillableItemRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/DeleteBillableItem\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listMerchantBillingReports(r: ListMerchantBillingReportsRequest | ListMerchantBillingReportsRequestInterface): Observable<ListMerchantBillingReportsResponse> {\n const request = ((<ListMerchantBillingReportsRequest>r).toApiJson) ? (<ListMerchantBillingReportsRequest>r) : new ListMerchantBillingReportsRequest(r);\n return this.http.post<ListMerchantBillingReportsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/ListMerchantBillingReports\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListMerchantBillingReportsResponse.fromProto(resp)),\n share()\n );\n }\n listProductSummaries(r: ListProductSummariesRequest | ListProductSummariesRequestInterface): Observable<ListProductSummariesResponse> {\n const request = ((<ListProductSummariesRequest>r).toApiJson) ? (<ListProductSummariesRequest>r) : new ListProductSummariesRequest(r);\n return this.http.post<ListProductSummariesResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/ListProductSummaries\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListProductSummariesResponse.fromProto(resp)),\n share()\n );\n }\n getProductSummariesTotal(r: GetProductSummariesTotalRequest | GetProductSummariesTotalRequestInterface): Observable<GetProductSummariesTotalResponse> {\n const request = ((<GetProductSummariesTotalRequest>r).toApiJson) ? (<GetProductSummariesTotalRequest>r) : new GetProductSummariesTotalRequest(r);\n return this.http.post<GetProductSummariesTotalResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/GetProductSummariesTotal\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetProductSummariesTotalResponse.fromProto(resp)),\n share()\n );\n }\n generateBillableItemsCsv(r: GenerateBillableItemsCSVRequest | GenerateBillableItemsCSVRequestInterface): Observable<GenerateBillableItemsCSVResponse> {\n const request = ((<GenerateBillableItemsCSVRequest>r).toApiJson) ? (<GenerateBillableItemsCSVRequest>r) : new GenerateBillableItemsCSVRequest(r);\n return this.http.post<GenerateBillableItemsCSVResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/GenerateBillableItemsCSV\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GenerateBillableItemsCSVResponse.fromProto(resp)),\n share()\n );\n }\n createPricingPlan(r: CreatePricingPlanRequest | CreatePricingPlanRequestInterface): Observable<CreatePricingPlanResponse> {\n const request = ((<CreatePricingPlanRequest>r).toApiJson) ? (<CreatePricingPlanRequest>r) : new CreatePricingPlanRequest(r);\n return this.http.post<CreatePricingPlanResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/CreatePricingPlan\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreatePricingPlanResponse.fromProto(resp)),\n share()\n );\n }\n updatePricingPlan(r: UpdatePricingPlanRequest | UpdatePricingPlanRequestInterface): Observable<UpdatePricingPlanResponse> {\n const request = ((<UpdatePricingPlanRequest>r).toApiJson) ? (<UpdatePricingPlanRequest>r) : new UpdatePricingPlanRequest(r);\n return this.http.post<UpdatePricingPlanResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/UpdatePricingPlan\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdatePricingPlanResponse.fromProto(resp)),\n share()\n );\n }\n getMultiPricingPlan(r: GetMultiPricingPlanRequest | GetMultiPricingPlanRequestInterface): Observable<GetMultiPricingPlanResponse> {\n const request = ((<GetMultiPricingPlanRequest>r).toApiJson) ? (<GetMultiPricingPlanRequest>r) : new GetMultiPricingPlanRequest(r);\n return this.http.post<GetMultiPricingPlanResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/GetMultiPricingPlan\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiPricingPlanResponse.fromProto(resp)),\n share()\n );\n }\n createPricingPlanProduct(r: CreatePricingPlanProductRequest | CreatePricingPlanProductRequestInterface): Observable<CreatePricingPlanProductResponse> {\n const request = ((<CreatePricingPlanProductRequest>r).toApiJson) ? (<CreatePricingPlanProductRequest>r) : new CreatePricingPlanProductRequest(r);\n return this.http.post<CreatePricingPlanProductResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/CreatePricingPlanProduct\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreatePricingPlanProductResponse.fromProto(resp)),\n share()\n );\n }\n updatePricingPlanProduct(r: UpdatePricingPlanProductRequest | UpdatePricingPlanProductRequestInterface): Observable<UpdatePricingPlanProductResponse> {\n const request = ((<UpdatePricingPlanProductRequest>r).toApiJson) ? (<UpdatePricingPlanProductRequest>r) : new UpdatePricingPlanProductRequest(r);\n return this.http.post<UpdatePricingPlanProductResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/UpdatePricingPlanProduct\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdatePricingPlanProductResponse.fromProto(resp)),\n share()\n );\n }\n deletePricingPlanProduct(r: DeletePricingPlanProductRequest | DeletePricingPlanProductRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeletePricingPlanProductRequest>r).toApiJson) ? (<DeletePricingPlanProductRequest>r) : new DeletePricingPlanProductRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/DeletePricingPlanProduct\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listPricingPlanProducts(r: ListPricingPlanProductsRequest | ListPricingPlanProductsRequestInterface): Observable<ListPricingPlanProductsResponse> {\n const request = ((<ListPricingPlanProductsRequest>r).toApiJson) ? (<ListPricingPlanProductsRequest>r) : new ListPricingPlanProductsRequest(r);\n return this.http.post<ListPricingPlanProductsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/ListPricingPlanProducts\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPricingPlanProductsResponse.fromProto(resp)),\n share()\n );\n }\n getPricingPlanProduct(r: GetPricingPlanProductRequest | GetPricingPlanProductRequestInterface): Observable<GetPricingPlanProductResponse> {\n const request = ((<GetPricingPlanProductRequest>r).toApiJson) ? (<GetPricingPlanProductRequest>r) : new GetPricingPlanProductRequest(r);\n return this.http.post<GetPricingPlanProductResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/GetPricingPlanProduct\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetPricingPlanProductResponse.fromProto(resp)),\n share()\n );\n }\n getMultiPricingPlanProduct(r: GetMultiPricingPlanProductRequest | GetMultiPricingPlanProductRequestInterface): Observable<GetMultiPricingPlanProductResponse> {\n const request = ((<GetMultiPricingPlanProductRequest>r).toApiJson) ? (<GetMultiPricingPlanProductRequest>r) : new GetMultiPricingPlanProductRequest(r);\n return this.http.post<GetMultiPricingPlanProductResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/GetMultiPricingPlanProduct\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiPricingPlanProductResponse.fromProto(resp)),\n share()\n );\n }\n getMultiProductPricing(r: GetMultiProductPricingRequest | GetMultiProductPricingRequestInterface): Observable<GetMultiProductPricingResponse> {\n const request = ((<GetMultiProductPricingRequest>r).toApiJson) ? (<GetMultiProductPricingRequest>r) : new GetMultiProductPricingRequest(r);\n return this.http.post<GetMultiProductPricingResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/GetMultiProductPricing\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiProductPricingResponse.fromProto(resp)),\n share()\n );\n }\n tickComponentUsage(r: TickComponentUsageRequest | TickComponentUsageRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<TickComponentUsageRequest>r).toApiJson) ? (<TickComponentUsageRequest>r) : new TickComponentUsageRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/TickComponentUsage\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createMeteredComponent(r: CreateMeteredComponentRequest | CreateMeteredComponentRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateMeteredComponentRequest>r).toApiJson) ? (<CreateMeteredComponentRequest>r) : new CreateMeteredComponentRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/CreateMeteredComponent\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listContracts(r: ListContractsRequest | ListContractsRequestInterface): Observable<ListContractsResponse> {\n const request = ((<ListContractsRequest>r).toApiJson) ? (<ListContractsRequest>r) : new ListContractsRequest(r);\n return this.http.post<ListContractsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/ListContracts\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListContractsResponse.fromProto(resp)),\n share()\n );\n }\n getMultiContract(r: GetMultiContractsRequest | GetMultiContractsRequestInterface): Observable<GetMultiContractsResponse> {\n const request = ((<GetMultiContractsRequest>r).toApiJson) ? (<GetMultiContractsRequest>r) : new GetMultiContractsRequest(r);\n return this.http.post<GetMultiContractsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/GetMultiContract\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiContractsResponse.fromProto(resp)),\n share()\n );\n }\n listProducts(r: ListProductsRequest | ListProductsRequestInterface): Observable<ListProductsResponse> {\n const request = ((<ListProductsRequest>r).toApiJson) ? (<ListProductsRequest>r) : new ListProductsRequest(r);\n return this.http.post<ListProductsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/ListProducts\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListProductsResponse.fromProto(resp)),\n share()\n );\n }\n getMultiProduct(r: GetMultiProductRequest | GetMultiProductRequestInterface): Observable<GetMultiProductResponse> {\n const request = ((<GetMultiProductRequest>r).toApiJson) ? (<GetMultiProductRequest>r) : new GetMultiProductRequest(r);\n return this.http.post<GetMultiProductResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/GetMultiProduct\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiProductResponse.fromProto(resp)),\n share()\n );\n }\n resetContractPricing(r: ResetContractPricingRequest | ResetContractPricingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ResetContractPricingRequest>r).toApiJson) ? (<ResetContractPricingRequest>r) : new ResetContractPricingRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/ResetContractPricing\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getPurchaseCost(r: GetPurchaseCostRequest | GetPurchaseCostRequestInterface): Observable<GetPurchaseCostResponse> {\n const request = ((<GetPurchaseCostRequest>r).toApiJson) ? (<GetPurchaseCostRequest>r) : new GetPurchaseCostRequest(r);\n return this.http.post<GetPurchaseCostResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/GetPurchaseCost\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetPurchaseCostResponse.fromProto(resp)),\n share()\n );\n }\n changeFrequency(r: ChangeFrequencyRequest | ChangeFrequencyRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ChangeFrequencyRequest>r).toApiJson) ? (<ChangeFrequencyRequest>r) : new ChangeFrequencyRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/ChangeFrequency\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n changeRenewalDate(r: ChangeRenewalDateRequest | ChangeRenewalDateRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ChangeRenewalDateRequest>r).toApiJson) ? (<ChangeRenewalDateRequest>r) : new ChangeRenewalDateRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/ChangeRenewalDate\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n changeCustomUnitPrice(r: ChangeCustomUnitPriceRequest | ChangeCustomUnitPriceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ChangeCustomUnitPriceRequest>r).toApiJson) ? (<ChangeCustomUnitPriceRequest>r) : new ChangeCustomUnitPriceRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/ChangeCustomUnitPrice\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n startRevRecTemplateBackfill(r: StartRevRecTemplateBackfillRequest | StartRevRecTemplateBackfillRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<StartRevRecTemplateBackfillRequest>r).toApiJson) ? (<StartRevRecTemplateBackfillRequest>r) : new StartRevRecTemplateBackfillRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.Billing/StartRevRecTemplateBackfill\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GetMultiBundleRequest,\n GetMultiBundleResponse,\n ListBundlesRequest,\n ListBundlesResponse,\n UpsertBundleRequest,\n} from './objects/';\nimport {\n GetMultiBundleRequestInterface,\n GetMultiBundleResponseInterface,\n ListBundlesRequestInterface,\n ListBundlesResponseInterface,\n UpsertBundleRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class BundleApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n upsert(r: UpsertBundleRequest | UpsertBundleRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpsertBundleRequest>r).toApiJson) ? (<UpsertBundleRequest>r) : new UpsertBundleRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.BundleService/Upsert\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMulti(r: GetMultiBundleRequest | GetMultiBundleRequestInterface): Observable<GetMultiBundleResponse> {\n const request = ((<GetMultiBundleRequest>r).toApiJson) ? (<GetMultiBundleRequest>r) : new GetMultiBundleRequest(r);\n return this.http.post<GetMultiBundleResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.BundleService/GetMulti\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiBundleResponse.fromProto(resp)),\n share()\n );\n }\n list(r: ListBundlesRequest | ListBundlesRequestInterface): Observable<ListBundlesResponse> {\n const request = ((<ListBundlesRequest>r).toApiJson) ? (<ListBundlesRequest>r) : new ListBundlesRequest(r);\n return this.http.post<ListBundlesResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.BundleService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListBundlesResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n DeleteContractDocumentRequest,\n ListContractDocumentsRequest,\n ListContractDocumentsResponse,\n} from './objects/';\nimport {\n DeleteContractDocumentRequestInterface,\n ListContractDocumentsRequestInterface,\n ListContractDocumentsResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ContractDocumentApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: ListContractDocumentsRequest | ListContractDocumentsRequestInterface): Observable<ListContractDocumentsResponse> {\n const request = ((<ListContractDocumentsRequest>r).toApiJson) ? (<ListContractDocumentsRequest>r) : new ListContractDocumentsRequest(r);\n return this.http.post<ListContractDocumentsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.ContractDocumentService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListContractDocumentsResponse.fromProto(resp)),\n share()\n );\n }\n delete(r: DeleteContractDocumentRequest | DeleteContractDocumentRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteContractDocumentRequest>r).toApiJson) ? (<DeleteContractDocumentRequest>r) : new DeleteContractDocumentRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.ContractDocumentService/Delete\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateContractRequest,\n CreateContractResponse,\n GetContractRequest,\n GetContractResponse,\n UpdateContractRequest,\n UpdateContractResponse,\n UpdateContractSubscriptionRequest,\n} from './objects/';\nimport {\n CreateContractRequestInterface,\n CreateContractResponseInterface,\n GetContractRequestInterface,\n GetContractResponseInterface,\n UpdateContractRequestInterface,\n UpdateContractResponseInterface,\n UpdateContractSubscriptionRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ContractApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n get(r: GetContractRequest | GetContractRequestInterface): Observable<GetContractResponse> {\n const request = ((<GetContractRequest>r).toApiJson) ? (<GetContractRequest>r) : new GetContractRequest(r);\n return this.http.post<GetContractResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.ContractService/Get\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetContractResponse.fromProto(resp)),\n share()\n );\n }\n updateSubscription(r: UpdateContractSubscriptionRequest | UpdateContractSubscriptionRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateContractSubscriptionRequest>r).toApiJson) ? (<UpdateContractSubscriptionRequest>r) : new UpdateContractSubscriptionRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.ContractService/UpdateSubscription\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n create(r: CreateContractRequest | CreateContractRequestInterface): Observable<CreateContractResponse> {\n const request = ((<CreateContractRequest>r).toApiJson) ? (<CreateContractRequest>r) : new CreateContractRequest(r);\n return this.http.post<CreateContractResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.ContractService/Create\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateContractResponse.fromProto(resp)),\n share()\n );\n }\n update(r: UpdateContractRequest | UpdateContractRequestInterface): Observable<UpdateContractResponse> {\n const request = ((<UpdateContractRequest>r).toApiJson) ? (<UpdateContractRequest>r) : new UpdateContractRequest(r);\n return this.http.post<UpdateContractResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.ContractService/Update\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateContractResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n AddCreditRequest,\n GetBalanceRequest,\n GetBalanceResponse,\n} from './objects/';\nimport {\n AddCreditRequestInterface,\n GetBalanceRequestInterface,\n GetBalanceResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class CreditApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n add(r: AddCreditRequest | AddCreditRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<AddCreditRequest>r).toApiJson) ? (<AddCreditRequest>r) : new AddCreditRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.CreditService/Add\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getBalance(r: GetBalanceRequest | GetBalanceRequestInterface): Observable<GetBalanceResponse> {\n const request = ((<GetBalanceRequest>r).toApiJson) ? (<GetBalanceRequest>r) : new GetBalanceRequest(r);\n return this.http.post<GetBalanceResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.CreditService/GetBalance\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetBalanceResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateDiscountRequest,\n ExpireDiscountRequest,\n ListDiscountsRequest,\n ListDiscountsResponse,\n UpdateDiscountRequest,\n} from './objects/';\nimport {\n CreateDiscountRequestInterface,\n ExpireDiscountRequestInterface,\n ListDiscountsRequestInterface,\n ListDiscountsResponseInterface,\n UpdateDiscountRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class DiscountApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: ListDiscountsRequest | ListDiscountsRequestInterface): Observable<ListDiscountsResponse> {\n const request = ((<ListDiscountsRequest>r).toApiJson) ? (<ListDiscountsRequest>r) : new ListDiscountsRequest(r);\n return this.http.post<ListDiscountsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.DiscountService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListDiscountsResponse.fromProto(resp)),\n share()\n );\n }\n create(r: CreateDiscountRequest | CreateDiscountRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateDiscountRequest>r).toApiJson) ? (<CreateDiscountRequest>r) : new CreateDiscountRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.DiscountService/Create\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n update(r: UpdateDiscountRequest | UpdateDiscountRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateDiscountRequest>r).toApiJson) ? (<UpdateDiscountRequest>r) : new UpdateDiscountRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.DiscountService/Update\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n expire(r: ExpireDiscountRequest | ExpireDiscountRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ExpireDiscountRequest>r).toApiJson) ? (<ExpireDiscountRequest>r) : new ExpireDiscountRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.DiscountService/Expire\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n AddBundleRequest,\n AddBundleResponse,\n AddLineItemRequest,\n AddLineItemResponse,\n ChargeInvoiceRequest,\n CreateInvoiceRequest,\n CreateInvoiceResponse,\n DeleteInvoiceRequest,\n DeleteLineItemRequest,\n DeleteLineItemResponse,\n DuplicateInvoiceRequest,\n DuplicateInvoiceResponse,\n GetInvoiceRequest,\n GetInvoiceResponse,\n ListInvoicesRequest,\n ListInvoicesResponse,\n PayInvoiceRequest,\n RemoveBundleRequest,\n RemoveBundleResponse,\n SendInvoiceRequest,\n UpdateBundleRequest,\n UpdateBundleResponse,\n UpdateDefaultTaxRatesRequest,\n UpdateDefaultTaxRatesResponse,\n UpdateInvoiceRequest,\n UpdateInvoiceResponse,\n UpdateLineItemRequest,\n UpdateLineItemResponse,\n VoidInvoiceRequest,\n} from './objects/';\nimport {\n AddBundleRequestInterface,\n AddBundleResponseInterface,\n AddLineItemRequestInterface,\n AddLineItemResponseInterface,\n ChargeInvoiceRequestInterface,\n CreateInvoiceRequestInterface,\n CreateInvoiceResponseInterface,\n DeleteInvoiceRequestInterface,\n DeleteLineItemRequestInterface,\n DeleteLineItemResponseInterface,\n DuplicateInvoiceRequestInterface,\n DuplicateInvoiceResponseInterface,\n GetInvoiceRequestInterface,\n GetInvoiceResponseInterface,\n ListInvoicesRequestInterface,\n ListInvoicesResponseInterface,\n PayInvoiceRequestInterface,\n RemoveBundleRequestInterface,\n RemoveBundleResponseInterface,\n SendInvoiceRequestInterface,\n UpdateBundleRequestInterface,\n UpdateBundleResponseInterface,\n UpdateDefaultTaxRatesRequestInterface,\n UpdateDefaultTaxRatesResponseInterface,\n UpdateInvoiceRequestInterface,\n UpdateInvoiceResponseInterface,\n UpdateLineItemRequestInterface,\n UpdateLineItemResponseInterface,\n VoidInvoiceRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class InvoiceApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n addBundle(r: AddBundleRequest | AddBundleRequestInterface): Observable<AddBundleResponse> {\n const request = ((<AddBundleRequest>r).toApiJson) ? (<AddBundleRequest>r) : new AddBundleRequest(r);\n return this.http.post<AddBundleResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/AddBundle\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => AddBundleResponse.fromProto(resp)),\n share()\n );\n }\n addLineItem(r: AddLineItemRequest | AddLineItemRequestInterface): Observable<AddLineItemResponse> {\n const request = ((<AddLineItemRequest>r).toApiJson) ? (<AddLineItemRequest>r) : new AddLineItemRequest(r);\n return this.http.post<AddLineItemResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/AddLineItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => AddLineItemResponse.fromProto(resp)),\n share()\n );\n }\n charge(r: ChargeInvoiceRequest | ChargeInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ChargeInvoiceRequest>r).toApiJson) ? (<ChargeInvoiceRequest>r) : new ChargeInvoiceRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/Charge\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n create(r: CreateInvoiceRequest | CreateInvoiceRequestInterface): Observable<CreateInvoiceResponse> {\n const request = ((<CreateInvoiceRequest>r).toApiJson) ? (<CreateInvoiceRequest>r) : new CreateInvoiceRequest(r);\n return this.http.post<CreateInvoiceResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/Create\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateInvoiceResponse.fromProto(resp)),\n share()\n );\n }\n delete(r: DeleteInvoiceRequest | DeleteInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteInvoiceRequest>r).toApiJson) ? (<DeleteInvoiceRequest>r) : new DeleteInvoiceRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/Delete\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteLineItem(r: DeleteLineItemRequest | DeleteLineItemRequestInterface): Observable<DeleteLineItemResponse> {\n const request = ((<DeleteLineItemRequest>r).toApiJson) ? (<DeleteLineItemRequest>r) : new DeleteLineItemRequest(r);\n return this.http.post<DeleteLineItemResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/DeleteLineItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => DeleteLineItemResponse.fromProto(resp)),\n share()\n );\n }\n get(r: GetInvoiceRequest | GetInvoiceRequestInterface): Observable<GetInvoiceResponse> {\n const request = ((<GetInvoiceRequest>r).toApiJson) ? (<GetInvoiceRequest>r) : new GetInvoiceRequest(r);\n return this.http.post<GetInvoiceResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/Get\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetInvoiceResponse.fromProto(resp)),\n share()\n );\n }\n removeBundle(r: RemoveBundleRequest | RemoveBundleRequestInterface): Observable<RemoveBundleResponse> {\n const request = ((<RemoveBundleRequest>r).toApiJson) ? (<RemoveBundleRequest>r) : new RemoveBundleRequest(r);\n return this.http.post<RemoveBundleResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/RemoveBundle\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => RemoveBundleResponse.fromProto(resp)),\n share()\n );\n }\n send(r: SendInvoiceRequest | SendInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SendInvoiceRequest>r).toApiJson) ? (<SendInvoiceRequest>r) : new SendInvoiceRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/Send\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n list(r: ListInvoicesRequest | ListInvoicesRequestInterface): Observable<ListInvoicesResponse> {\n const request = ((<ListInvoicesRequest>r).toApiJson) ? (<ListInvoicesRequest>r) : new ListInvoicesRequest(r);\n return this.http.post<ListInvoicesResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListInvoicesResponse.fromProto(resp)),\n share()\n );\n }\n update(r: UpdateInvoiceRequest | UpdateInvoiceRequestInterface): Observable<UpdateInvoiceResponse> {\n const request = ((<UpdateInvoiceRequest>r).toApiJson) ? (<UpdateInvoiceRequest>r) : new UpdateInvoiceRequest(r);\n return this.http.post<UpdateInvoiceResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/Update\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateInvoiceResponse.fromProto(resp)),\n share()\n );\n }\n pay(r: PayInvoiceRequest | PayInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<PayInvoiceRequest>r).toApiJson) ? (<PayInvoiceRequest>r) : new PayInvoiceRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/Pay\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n updateDefaultTaxRates(r: UpdateDefaultTaxRatesRequest | UpdateDefaultTaxRatesRequestInterface): Observable<UpdateDefaultTaxRatesResponse> {\n const request = ((<UpdateDefaultTaxRatesRequest>r).toApiJson) ? (<UpdateDefaultTaxRatesRequest>r) : new UpdateDefaultTaxRatesRequest(r);\n return this.http.post<UpdateDefaultTaxRatesResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/UpdateDefaultTaxRates\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateDefaultTaxRatesResponse.fromProto(resp)),\n share()\n );\n }\n updateLineItem(r: UpdateLineItemRequest | UpdateLineItemRequestInterface): Observable<UpdateLineItemResponse> {\n const request = ((<UpdateLineItemRequest>r).toApiJson) ? (<UpdateLineItemRequest>r) : new UpdateLineItemRequest(r);\n return this.http.post<UpdateLineItemResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/UpdateLineItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateLineItemResponse.fromProto(resp)),\n share()\n );\n }\n void(r: VoidInvoiceRequest | VoidInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<VoidInvoiceRequest>r).toApiJson) ? (<VoidInvoiceRequest>r) : new VoidInvoiceRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/Void\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n duplicate(r: DuplicateInvoiceRequest | DuplicateInvoiceRequestInterface): Observable<DuplicateInvoiceResponse> {\n const request = ((<DuplicateInvoiceRequest>r).toApiJson) ? (<DuplicateInvoiceRequest>r) : new DuplicateInvoiceRequest(r);\n return this.http.post<DuplicateInvoiceResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/Duplicate\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => DuplicateInvoiceResponse.fromProto(resp)),\n share()\n );\n }\n updateBundle(r: UpdateBundleRequest | UpdateBundleRequestInterface): Observable<UpdateBundleResponse> {\n const request = ((<UpdateBundleRequest>r).toApiJson) ? (<UpdateBundleRequest>r) : new UpdateBundleRequest(r);\n return this.http.post<UpdateBundleResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceService/UpdateBundle\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateBundleResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n AddTemplateBundleRequest,\n AddTemplateBundleResponse,\n AddTemplateLineItemRequest,\n AddTemplateLineItemResponse,\n CreateTemplateRequest,\n CreateTemplateResponse,\n DeleteInvoiceTemplateRequest,\n DeleteTemplateLineItemRequest,\n DeleteTemplateLineItemResponse,\n GetInvoiceTemplateRequest,\n GetInvoiceTemplateResponse,\n UpdateTemplateBundleRequest,\n UpdateTemplateBundleResponse,\n UpdateTemplateDefaultTaxRatesRequest,\n UpdateTemplateDefaultTaxRatesResponse,\n UpdateTemplateLineItemRequest,\n UpdateTemplateLineItemResponse,\n UpsertInvoiceTemplateRequest,\n UpsertInvoiceTemplateResponse,\n} from './objects/';\nimport {\n AddTemplateBundleRequestInterface,\n AddTemplateBundleResponseInterface,\n AddTemplateLineItemRequestInterface,\n AddTemplateLineItemResponseInterface,\n CreateTemplateRequestInterface,\n CreateTemplateResponseInterface,\n DeleteInvoiceTemplateRequestInterface,\n DeleteTemplateLineItemRequestInterface,\n DeleteTemplateLineItemResponseInterface,\n GetInvoiceTemplateRequestInterface,\n GetInvoiceTemplateResponseInterface,\n UpdateTemplateBundleRequestInterface,\n UpdateTemplateBundleResponseInterface,\n UpdateTemplateDefaultTaxRatesRequestInterface,\n UpdateTemplateDefaultTaxRatesResponseInterface,\n UpdateTemplateLineItemRequestInterface,\n UpdateTemplateLineItemResponseInterface,\n UpsertInvoiceTemplateRequestInterface,\n UpsertInvoiceTemplateResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class InvoiceTemplateApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n addBundle(r: AddTemplateBundleRequest | AddTemplateBundleRequestInterface): Observable<AddTemplateBundleResponse> {\n const request = ((<AddTemplateBundleRequest>r).toApiJson) ? (<AddTemplateBundleRequest>r) : new AddTemplateBundleRequest(r);\n return this.http.post<AddTemplateBundleResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceTemplateService/AddBundle\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => AddTemplateBundleResponse.fromProto(resp)),\n share()\n );\n }\n addLineItem(r: AddTemplateLineItemRequest | AddTemplateLineItemRequestInterface): Observable<AddTemplateLineItemResponse> {\n const request = ((<AddTemplateLineItemRequest>r).toApiJson) ? (<AddTemplateLineItemRequest>r) : new AddTemplateLineItemRequest(r);\n return this.http.post<AddTemplateLineItemResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceTemplateService/AddLineItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => AddTemplateLineItemResponse.fromProto(resp)),\n share()\n );\n }\n create(r: CreateTemplateRequest | CreateTemplateRequestInterface): Observable<CreateTemplateResponse> {\n const request = ((<CreateTemplateRequest>r).toApiJson) ? (<CreateTemplateRequest>r) : new CreateTemplateRequest(r);\n return this.http.post<CreateTemplateResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceTemplateService/Create\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateTemplateResponse.fromProto(resp)),\n share()\n );\n }\n upsert(r: UpsertInvoiceTemplateRequest | UpsertInvoiceTemplateRequestInterface): Observable<UpsertInvoiceTemplateResponse> {\n const request = ((<UpsertInvoiceTemplateRequest>r).toApiJson) ? (<UpsertInvoiceTemplateRequest>r) : new UpsertInvoiceTemplateRequest(r);\n return this.http.post<UpsertInvoiceTemplateResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceTemplateService/Upsert\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpsertInvoiceTemplateResponse.fromProto(resp)),\n share()\n );\n }\n get(r: GetInvoiceTemplateRequest | GetInvoiceTemplateRequestInterface): Observable<GetInvoiceTemplateResponse> {\n const request = ((<GetInvoiceTemplateRequest>r).toApiJson) ? (<GetInvoiceTemplateRequest>r) : new GetInvoiceTemplateRequest(r);\n return this.http.post<GetInvoiceTemplateResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceTemplateService/Get\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetInvoiceTemplateResponse.fromProto(resp)),\n share()\n );\n }\n delete(r: DeleteInvoiceTemplateRequest | DeleteInvoiceTemplateRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteInvoiceTemplateRequest>r).toApiJson) ? (<DeleteInvoiceTemplateRequest>r) : new DeleteInvoiceTemplateRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceTemplateService/Delete\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteLineItem(r: DeleteTemplateLineItemRequest | DeleteTemplateLineItemRequestInterface): Observable<DeleteTemplateLineItemResponse> {\n const request = ((<DeleteTemplateLineItemRequest>r).toApiJson) ? (<DeleteTemplateLineItemRequest>r) : new DeleteTemplateLineItemRequest(r);\n return this.http.post<DeleteTemplateLineItemResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceTemplateService/DeleteLineItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => DeleteTemplateLineItemResponse.fromProto(resp)),\n share()\n );\n }\n updateBundle(r: UpdateTemplateBundleRequest | UpdateTemplateBundleRequestInterface): Observable<UpdateTemplateBundleResponse> {\n const request = ((<UpdateTemplateBundleRequest>r).toApiJson) ? (<UpdateTemplateBundleRequest>r) : new UpdateTemplateBundleRequest(r);\n return this.http.post<UpdateTemplateBundleResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceTemplateService/UpdateBundle\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateTemplateBundleResponse.fromProto(resp)),\n share()\n );\n }\n updateLineItem(r: UpdateTemplateLineItemRequest | UpdateTemplateLineItemRequestInterface): Observable<UpdateTemplateLineItemResponse> {\n const request = ((<UpdateTemplateLineItemRequest>r).toApiJson) ? (<UpdateTemplateLineItemRequest>r) : new UpdateTemplateLineItemRequest(r);\n return this.http.post<UpdateTemplateLineItemResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceTemplateService/UpdateLineItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateTemplateLineItemResponse.fromProto(resp)),\n share()\n );\n }\n updateTemplateDefaultTaxRates(r: UpdateTemplateDefaultTaxRatesRequest | UpdateTemplateDefaultTaxRatesRequestInterface): Observable<UpdateTemplateDefaultTaxRatesResponse> {\n const request = ((<UpdateTemplateDefaultTaxRatesRequest>r).toApiJson) ? (<UpdateTemplateDefaultTaxRatesRequest>r) : new UpdateTemplateDefaultTaxRatesRequest(r);\n return this.http.post<UpdateTemplateDefaultTaxRatesResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.InvoiceTemplateService/UpdateTemplateDefaultTaxRates\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateTemplateDefaultTaxRatesResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n ChargeSalesInvoiceRequest,\n CreateMerchantRequest,\n CreatePaymentCardRequest,\n CreateStripeExternalAccountRequest,\n DeleteBankAccountRequest,\n GetMerchantRequest,\n GetMerchantResponse,\n GetMultiRetailConfigurationsRequest,\n GetMultiRetailConfigurationsResponse,\n GetOutstandingBalanceRequest,\n GetOutstandingBalanceResponse,\n GetPayoutSummaryRequest,\n GetPayoutSummaryResponse,\n GetRetailBalanceRequest,\n GetRetailBalanceResponse,\n GetRetailPayoutRequest,\n GetRetailPayoutResponse,\n GetStatisticsRequest,\n GetStatisticsResponse,\n ListBankAccountsRequest,\n ListBankAccountsResponse,\n ListPaymentCardsRequest,\n ListPaymentCardsResponse,\n ListRetailPayoutsRequest,\n ListRetailPayoutsResponse,\n SearchMerchantsRequest,\n SearchMerchantsResponse,\n SendSalesInvoiceEmailRequest,\n SendSalesInvoiceReceiptEmailRequest,\n SetAutoChargeInvoicesRequest,\n SetAutoPostInvoicesRequest,\n SetDefaultBankAccountRequest,\n SetDefaultPaymentCardRequest,\n SetHasAlternativePaymentMethodRequest,\n SetIncludeInFinancialRecordsRequest,\n UpdateMerchantRequest,\n UpdatePaymentCardRequest,\n UpsertDefaultRetailCustomerConfigurationRequest,\n UpsertRetailConfigurationRequest,\n} from './objects/';\nimport {\n ChargeSalesInvoiceRequestInterface,\n CreateMerchantRequestInterface,\n CreatePaymentCardRequestInterface,\n CreateStripeExternalAccountRequestInterface,\n DeleteBankAccountRequestInterface,\n GetMerchantRequestInterface,\n GetMerchantResponseInterface,\n GetMultiRetailConfigurationsRequestInterface,\n GetMultiRetailConfigurationsResponseInterface,\n GetOutstandingBalanceRequestInterface,\n GetOutstandingBalanceResponseInterface,\n GetPayoutSummaryRequestInterface,\n GetPayoutSummaryResponseInterface,\n GetRetailBalanceRequestInterface,\n GetRetailBalanceResponseInterface,\n GetRetailPayoutRequestInterface,\n GetRetailPayoutResponseInterface,\n GetStatisticsRequestInterface,\n GetStatisticsResponseInterface,\n ListBankAccountsRequestInterface,\n ListBankAccountsResponseInterface,\n ListPaymentCardsRequestInterface,\n ListPaymentCardsResponseInterface,\n ListRetailPayoutsRequestInterface,\n ListRetailPayoutsResponseInterface,\n SearchMerchantsRequestInterface,\n SearchMerchantsResponseInterface,\n SendSalesInvoiceEmailRequestInterface,\n SendSalesInvoiceReceiptEmailRequestInterface,\n SetAutoChargeInvoicesRequestInterface,\n SetAutoPostInvoicesRequestInterface,\n SetDefaultBankAccountRequestInterface,\n SetDefaultPaymentCardRequestInterface,\n SetHasAlternativePaymentMethodRequestInterface,\n SetIncludeInFinancialRecordsRequestInterface,\n UpdateMerchantRequestInterface,\n UpdatePaymentCardRequestInterface,\n UpsertDefaultRetailCustomerConfigurationRequestInterface,\n UpsertRetailConfigurationRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class MerchantApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n create(r: CreateMerchantRequest | CreateMerchantRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateMerchantRequest>r).toApiJson) ? (<CreateMerchantRequest>r) : new CreateMerchantRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/Create\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n get(r: GetMerchantRequest | GetMerchantRequestInterface): Observable<GetMerchantResponse> {\n const request = ((<GetMerchantRequest>r).toApiJson) ? (<GetMerchantRequest>r) : new GetMerchantRequest(r);\n return this.http.post<GetMerchantResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/Get\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMerchantResponse.fromProto(resp)),\n share()\n );\n }\n getOutstandingBalance(r: GetOutstandingBalanceRequest | GetOutstandingBalanceRequestInterface): Observable<GetOutstandingBalanceResponse> {\n const request = ((<GetOutstandingBalanceRequest>r).toApiJson) ? (<GetOutstandingBalanceRequest>r) : new GetOutstandingBalanceRequest(r);\n return this.http.post<GetOutstandingBalanceResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/GetOutstandingBalance\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetOutstandingBalanceResponse.fromProto(resp)),\n share()\n );\n }\n update(r: UpdateMerchantRequest | UpdateMerchantRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMerchantRequest>r).toApiJson) ? (<UpdateMerchantRequest>r) : new UpdateMerchantRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/Update\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createPaymentCard(r: CreatePaymentCardRequest | CreatePaymentCardRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreatePaymentCardRequest>r).toApiJson) ? (<CreatePaymentCardRequest>r) : new CreatePaymentCardRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/CreatePaymentCard\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setDefaultPaymentCard(r: SetDefaultPaymentCardRequest | SetDefaultPaymentCardRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetDefaultPaymentCardRequest>r).toApiJson) ? (<SetDefaultPaymentCardRequest>r) : new SetDefaultPaymentCardRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/SetDefaultPaymentCard\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listPaymentCards(r: ListPaymentCardsRequest | ListPaymentCardsRequestInterface): Observable<ListPaymentCardsResponse> {\n const request = ((<ListPaymentCardsRequest>r).toApiJson) ? (<ListPaymentCardsRequest>r) : new ListPaymentCardsRequest(r);\n return this.http.post<ListPaymentCardsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/ListPaymentCards\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPaymentCardsResponse.fromProto(resp)),\n share()\n );\n }\n updatePaymentCard(r: UpdatePaymentCardRequest | UpdatePaymentCardRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdatePaymentCardRequest>r).toApiJson) ? (<UpdatePaymentCardRequest>r) : new UpdatePaymentCardRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/UpdatePaymentCard\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getStatistics(r: GetStatisticsRequest | GetStatisticsRequestInterface): Observable<GetStatisticsResponse> {\n const request = ((<GetStatisticsRequest>r).toApiJson) ? (<GetStatisticsRequest>r) : new GetStatisticsRequest(r);\n return this.http.post<GetStatisticsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/GetStatistics\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetStatisticsResponse.fromProto(resp)),\n share()\n );\n }\n search(r: SearchMerchantsRequest | SearchMerchantsRequestInterface): Observable<SearchMerchantsResponse> {\n const request = ((<SearchMerchantsRequest>r).toApiJson) ? (<SearchMerchantsRequest>r) : new SearchMerchantsRequest(r);\n return this.http.post<SearchMerchantsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/Search\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => SearchMerchantsResponse.fromProto(resp)),\n share()\n );\n }\n setAutoPostInvoices(r: SetAutoPostInvoicesRequest | SetAutoPostInvoicesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetAutoPostInvoicesRequest>r).toApiJson) ? (<SetAutoPostInvoicesRequest>r) : new SetAutoPostInvoicesRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/SetAutoPostInvoices\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setAutoChargeInvoices(r: SetAutoChargeInvoicesRequest | SetAutoChargeInvoicesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetAutoChargeInvoicesRequest>r).toApiJson) ? (<SetAutoChargeInvoicesRequest>r) : new SetAutoChargeInvoicesRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/SetAutoChargeInvoices\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setIncludeInFinancialRecords(r: SetIncludeInFinancialRecordsRequest | SetIncludeInFinancialRecordsRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetIncludeInFinancialRecordsRequest>r).toApiJson) ? (<SetIncludeInFinancialRecordsRequest>r) : new SetIncludeInFinancialRecordsRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/SetIncludeInFinancialRecords\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setHasAlternativePaymentMethod(r: SetHasAlternativePaymentMethodRequest | SetHasAlternativePaymentMethodRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetHasAlternativePaymentMethodRequest>r).toApiJson) ? (<SetHasAlternativePaymentMethodRequest>r) : new SetHasAlternativePaymentMethodRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/SetHasAlternativePaymentMethod\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n sendSalesInvoiceEmail(r: SendSalesInvoiceEmailRequest | SendSalesInvoiceEmailRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SendSalesInvoiceEmailRequest>r).toApiJson) ? (<SendSalesInvoiceEmailRequest>r) : new SendSalesInvoiceEmailRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/SendSalesInvoiceEmail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n chargeSalesInvoice(r: ChargeSalesInvoiceRequest | ChargeSalesInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ChargeSalesInvoiceRequest>r).toApiJson) ? (<ChargeSalesInvoiceRequest>r) : new ChargeSalesInvoiceRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/ChargeSalesInvoice\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n sendSalesInvoiceReceiptEmail(r: SendSalesInvoiceReceiptEmailRequest | SendSalesInvoiceReceiptEmailRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SendSalesInvoiceReceiptEmailRequest>r).toApiJson) ? (<SendSalesInvoiceReceiptEmailRequest>r) : new SendSalesInvoiceReceiptEmailRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/SendSalesInvoiceReceiptEmail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createStripeExternalAccount(r: CreateStripeExternalAccountRequest | CreateStripeExternalAccountRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateStripeExternalAccountRequest>r).toApiJson) ? (<CreateStripeExternalAccountRequest>r) : new CreateStripeExternalAccountRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/CreateStripeExternalAccount\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listBankAccounts(r: ListBankAccountsRequest | ListBankAccountsRequestInterface): Observable<ListBankAccountsResponse> {\n const request = ((<ListBankAccountsRequest>r).toApiJson) ? (<ListBankAccountsRequest>r) : new ListBankAccountsRequest(r);\n return this.http.post<ListBankAccountsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/ListBankAccounts\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListBankAccountsResponse.fromProto(resp)),\n share()\n );\n }\n setDefaultBankAccount(r: SetDefaultBankAccountRequest | SetDefaultBankAccountRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetDefaultBankAccountRequest>r).toApiJson) ? (<SetDefaultBankAccountRequest>r) : new SetDefaultBankAccountRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/SetDefaultBankAccount\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteBankAccount(r: DeleteBankAccountRequest | DeleteBankAccountRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteBankAccountRequest>r).toApiJson) ? (<DeleteBankAccountRequest>r) : new DeleteBankAccountRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/DeleteBankAccount\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMultiRetailConfigurations(r: GetMultiRetailConfigurationsRequest | GetMultiRetailConfigurationsRequestInterface): Observable<GetMultiRetailConfigurationsResponse> {\n const request = ((<GetMultiRetailConfigurationsRequest>r).toApiJson) ? (<GetMultiRetailConfigurationsRequest>r) : new GetMultiRetailConfigurationsRequest(r);\n return this.http.post<GetMultiRetailConfigurationsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/GetMultiRetailConfigurations\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiRetailConfigurationsResponse.fromProto(resp)),\n share()\n );\n }\n upsertRetailConfiguration(r: UpsertRetailConfigurationRequest | UpsertRetailConfigurationRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpsertRetailConfigurationRequest>r).toApiJson) ? (<UpsertRetailConfigurationRequest>r) : new UpsertRetailConfigurationRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/UpsertRetailConfiguration\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n upsertDefaultRetailCustomerConfiguration(r: UpsertDefaultRetailCustomerConfigurationRequest | UpsertDefaultRetailCustomerConfigurationRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpsertDefaultRetailCustomerConfigurationRequest>r).toApiJson) ? (<UpsertDefaultRetailCustomerConfigurationRequest>r) : new UpsertDefaultRetailCustomerConfigurationRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/UpsertDefaultRetailCustomerConfiguration\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getRetailBalance(r: GetRetailBalanceRequest | GetRetailBalanceRequestInterface): Observable<GetRetailBalanceResponse> {\n const request = ((<GetRetailBalanceRequest>r).toApiJson) ? (<GetRetailBalanceRequest>r) : new GetRetailBalanceRequest(r);\n return this.http.post<GetRetailBalanceResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/GetRetailBalance\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRetailBalanceResponse.fromProto(resp)),\n share()\n );\n }\n getPayoutSummary(r: GetPayoutSummaryRequest | GetPayoutSummaryRequestInterface): Observable<GetPayoutSummaryResponse> {\n const request = ((<GetPayoutSummaryRequest>r).toApiJson) ? (<GetPayoutSummaryRequest>r) : new GetPayoutSummaryRequest(r);\n return this.http.post<GetPayoutSummaryResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/GetPayoutSummary\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetPayoutSummaryResponse.fromProto(resp)),\n share()\n );\n }\n listRetailPayouts(r: ListRetailPayoutsRequest | ListRetailPayoutsRequestInterface): Observable<ListRetailPayoutsResponse> {\n const request = ((<ListRetailPayoutsRequest>r).toApiJson) ? (<ListRetailPayoutsRequest>r) : new ListRetailPayoutsRequest(r);\n return this.http.post<ListRetailPayoutsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/ListRetailPayouts\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListRetailPayoutsResponse.fromProto(resp)),\n share()\n );\n }\n getRetailPayout(r: GetRetailPayoutRequest | GetRetailPayoutRequestInterface): Observable<GetRetailPayoutResponse> {\n const request = ((<GetRetailPayoutRequest>r).toApiJson) ? (<GetRetailPayoutRequest>r) : new GetRetailPayoutRequest(r);\n return this.http.post<GetRetailPayoutResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.MerchantService/GetRetailPayout\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRetailPayoutResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n DeletePaymentCardRequest,\n ListPaymentCardsRequest,\n ListPaymentCardsResponse,\n SetDefaultPaymentMethodRequest,\n} from './objects/';\nimport {\n DeletePaymentCardRequestInterface,\n ListPaymentCardsRequestInterface,\n ListPaymentCardsResponseInterface,\n SetDefaultPaymentMethodRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class PaymentMethodApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n listPaymentCards(r: ListPaymentCardsRequest | ListPaymentCardsRequestInterface): Observable<ListPaymentCardsResponse> {\n const request = ((<ListPaymentCardsRequest>r).toApiJson) ? (<ListPaymentCardsRequest>r) : new ListPaymentCardsRequest(r);\n return this.http.post<ListPaymentCardsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentMethodService/ListPaymentCards\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPaymentCardsResponse.fromProto(resp)),\n share()\n );\n }\n deletePaymentCard(r: DeletePaymentCardRequest | DeletePaymentCardRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeletePaymentCardRequest>r).toApiJson) ? (<DeletePaymentCardRequest>r) : new DeletePaymentCardRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentMethodService/DeletePaymentCard\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setDefaultPaymentMethod(r: SetDefaultPaymentMethodRequest | SetDefaultPaymentMethodRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetDefaultPaymentMethodRequest>r).toApiJson) ? (<SetDefaultPaymentMethodRequest>r) : new SetDefaultPaymentMethodRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentMethodService/SetDefaultPaymentMethod\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CloseRetailDisputeRequest,\n ConfigureRetailPaymentProviderRequest,\n ConfigureRetailPaymentProviderResponse,\n ConfirmRetailPaymentRequest,\n GetRetailDisputeRequest,\n GetRetailDisputeResponse,\n GetRetailPaymentProviderRequest,\n GetRetailPaymentProviderResponse,\n GetRetailPaymentRequest,\n GetRetailPaymentResponse,\n ListPaymentRequest,\n ListPaymentResponse,\n ListRetailDisputesRequest,\n ListRetailDisputesResponse,\n ListRetailPaymentsRequest,\n ListRetailPaymentsResponse,\n PrepareRetailPaymentRequest,\n PrepareRetailPaymentResponse,\n RetailPaymentsEnabledRequest,\n RetailPaymentsEnabledResponse,\n RetailStatusRequest,\n RetailStatusResponse,\n SubmitEvidenceRequest,\n UpdateRetailPaymentProviderRequest,\n} from './objects/';\nimport {\n CloseRetailDisputeRequestInterface,\n ConfigureRetailPaymentProviderRequestInterface,\n ConfigureRetailPaymentProviderResponseInterface,\n ConfirmRetailPaymentRequestInterface,\n GetRetailDisputeRequestInterface,\n GetRetailDisputeResponseInterface,\n GetRetailPaymentProviderRequestInterface,\n GetRetailPaymentProviderResponseInterface,\n GetRetailPaymentRequestInterface,\n GetRetailPaymentResponseInterface,\n ListPaymentRequestInterface,\n ListPaymentResponseInterface,\n ListRetailDisputesRequestInterface,\n ListRetailDisputesResponseInterface,\n ListRetailPaymentsRequestInterface,\n ListRetailPaymentsResponseInterface,\n PrepareRetailPaymentRequestInterface,\n PrepareRetailPaymentResponseInterface,\n RetailPaymentsEnabledRequestInterface,\n RetailPaymentsEnabledResponseInterface,\n RetailStatusRequestInterface,\n RetailStatusResponseInterface,\n SubmitEvidenceRequestInterface,\n UpdateRetailPaymentProviderRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class PaymentApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: ListPaymentRequest | ListPaymentRequestInterface): Observable<ListPaymentResponse> {\n const request = ((<ListPaymentRequest>r).toApiJson) ? (<ListPaymentRequest>r) : new ListPaymentRequest(r);\n return this.http.post<ListPaymentResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPaymentResponse.fromProto(resp)),\n share()\n );\n }\n getRetail(r: GetRetailPaymentRequest | GetRetailPaymentRequestInterface): Observable<GetRetailPaymentResponse> {\n const request = ((<GetRetailPaymentRequest>r).toApiJson) ? (<GetRetailPaymentRequest>r) : new GetRetailPaymentRequest(r);\n return this.http.post<GetRetailPaymentResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/GetRetail\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRetailPaymentResponse.fromProto(resp)),\n share()\n );\n }\n listRetail(r: ListRetailPaymentsRequest | ListRetailPaymentsRequestInterface): Observable<ListRetailPaymentsResponse> {\n const request = ((<ListRetailPaymentsRequest>r).toApiJson) ? (<ListRetailPaymentsRequest>r) : new ListRetailPaymentsRequest(r);\n return this.http.post<ListRetailPaymentsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/ListRetail\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListRetailPaymentsResponse.fromProto(resp)),\n share()\n );\n }\n listRetailDisputes(r: ListRetailDisputesRequest | ListRetailDisputesRequestInterface): Observable<ListRetailDisputesResponse> {\n const request = ((<ListRetailDisputesRequest>r).toApiJson) ? (<ListRetailDisputesRequest>r) : new ListRetailDisputesRequest(r);\n return this.http.post<ListRetailDisputesResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/ListRetailDisputes\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListRetailDisputesResponse.fromProto(resp)),\n share()\n );\n }\n getRetailDispute(r: GetRetailDisputeRequest | GetRetailDisputeRequestInterface): Observable<GetRetailDisputeResponse> {\n const request = ((<GetRetailDisputeRequest>r).toApiJson) ? (<GetRetailDisputeRequest>r) : new GetRetailDisputeRequest(r);\n return this.http.post<GetRetailDisputeResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/GetRetailDispute\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRetailDisputeResponse.fromProto(resp)),\n share()\n );\n }\n closeRetailDispute(r: CloseRetailDisputeRequest | CloseRetailDisputeRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CloseRetailDisputeRequest>r).toApiJson) ? (<CloseRetailDisputeRequest>r) : new CloseRetailDisputeRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/CloseRetailDispute\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n prepareRetail(r: PrepareRetailPaymentRequest | PrepareRetailPaymentRequestInterface): Observable<PrepareRetailPaymentResponse> {\n const request = ((<PrepareRetailPaymentRequest>r).toApiJson) ? (<PrepareRetailPaymentRequest>r) : new PrepareRetailPaymentRequest(r);\n return this.http.post<PrepareRetailPaymentResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/PrepareRetail\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => PrepareRetailPaymentResponse.fromProto(resp)),\n share()\n );\n }\n confirmRetail(r: ConfirmRetailPaymentRequest | ConfirmRetailPaymentRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ConfirmRetailPaymentRequest>r).toApiJson) ? (<ConfirmRetailPaymentRequest>r) : new ConfirmRetailPaymentRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/ConfirmRetail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n retailStatus(r: RetailStatusRequest | RetailStatusRequestInterface): Observable<RetailStatusResponse> {\n const request = ((<RetailStatusRequest>r).toApiJson) ? (<RetailStatusRequest>r) : new RetailStatusRequest(r);\n return this.http.post<RetailStatusResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/RetailStatus\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => RetailStatusResponse.fromProto(resp)),\n share()\n );\n }\n retailPaymentsEnabled(r: RetailPaymentsEnabledRequest | RetailPaymentsEnabledRequestInterface): Observable<RetailPaymentsEnabledResponse> {\n const request = ((<RetailPaymentsEnabledRequest>r).toApiJson) ? (<RetailPaymentsEnabledRequest>r) : new RetailPaymentsEnabledRequest(r);\n return this.http.post<RetailPaymentsEnabledResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/RetailPaymentsEnabled\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => RetailPaymentsEnabledResponse.fromProto(resp)),\n share()\n );\n }\n configureRetailProvider(r: ConfigureRetailPaymentProviderRequest | ConfigureRetailPaymentProviderRequestInterface): Observable<ConfigureRetailPaymentProviderResponse> {\n const request = ((<ConfigureRetailPaymentProviderRequest>r).toApiJson) ? (<ConfigureRetailPaymentProviderRequest>r) : new ConfigureRetailPaymentProviderRequest(r);\n return this.http.post<ConfigureRetailPaymentProviderResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/ConfigureRetailProvider\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ConfigureRetailPaymentProviderResponse.fromProto(resp)),\n share()\n );\n }\n updateRetailProvider(r: UpdateRetailPaymentProviderRequest | UpdateRetailPaymentProviderRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateRetailPaymentProviderRequest>r).toApiJson) ? (<UpdateRetailPaymentProviderRequest>r) : new UpdateRetailPaymentProviderRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/UpdateRetailProvider\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getRetailProvider(r: GetRetailPaymentProviderRequest | GetRetailPaymentProviderRequestInterface): Observable<GetRetailPaymentProviderResponse> {\n const request = ((<GetRetailPaymentProviderRequest>r).toApiJson) ? (<GetRetailPaymentProviderRequest>r) : new GetRetailPaymentProviderRequest(r);\n return this.http.post<GetRetailPaymentProviderResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/GetRetailProvider\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRetailPaymentProviderResponse.fromProto(resp)),\n share()\n );\n }\n submitEvidence(r: SubmitEvidenceRequest | SubmitEvidenceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SubmitEvidenceRequest>r).toApiJson) ? (<SubmitEvidenceRequest>r) : new SubmitEvidenceRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.PaymentService/SubmitEvidence\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n DeleteRetailPricingRequest,\n GetMultiBundleRetailPricingRequest,\n GetMultiBundleRetailPricingResponse,\n GetMultiRetailPricingRequest,\n GetMultiRetailPricingResponse,\n GetPurchaseCostRequest,\n GetPurchaseCostResponse,\n GetWholesaleComparisonRequest,\n GetWholesaleComparisonResponse,\n SetWholesaleProductStrategyRequest,\n SetWholesaleProductVolumeCommitmentRequest,\n UpsertRetailPricingRequest,\n UpsertWholesalePricingRequest,\n} from './objects/';\nimport {\n DeleteRetailPricingRequestInterface,\n GetMultiBundleRetailPricingRequestInterface,\n GetMultiBundleRetailPricingResponseInterface,\n GetMultiRetailPricingRequestInterface,\n GetMultiRetailPricingResponseInterface,\n GetPurchaseCostRequestInterface,\n GetPurchaseCostResponseInterface,\n GetWholesaleComparisonRequestInterface,\n GetWholesaleComparisonResponseInterface,\n SetWholesaleProductStrategyRequestInterface,\n SetWholesaleProductVolumeCommitmentRequestInterface,\n UpsertRetailPricingRequestInterface,\n UpsertWholesalePricingRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class PricingApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n getMultiRetail(r: GetMultiRetailPricingRequest | GetMultiRetailPricingRequestInterface): Observable<GetMultiRetailPricingResponse> {\n const request = ((<GetMultiRetailPricingRequest>r).toApiJson) ? (<GetMultiRetailPricingRequest>r) : new GetMultiRetailPricingRequest(r);\n return this.http.post<GetMultiRetailPricingResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PricingService/GetMultiRetail\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiRetailPricingResponse.fromProto(resp)),\n share()\n );\n }\n upsertRetail(r: UpsertRetailPricingRequest | UpsertRetailPricingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpsertRetailPricingRequest>r).toApiJson) ? (<UpsertRetailPricingRequest>r) : new UpsertRetailPricingRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.PricingService/UpsertRetail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteRetail(r: DeleteRetailPricingRequest | DeleteRetailPricingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteRetailPricingRequest>r).toApiJson) ? (<DeleteRetailPricingRequest>r) : new DeleteRetailPricingRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.PricingService/DeleteRetail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMultiBundleRetail(r: GetMultiBundleRetailPricingRequest | GetMultiBundleRetailPricingRequestInterface): Observable<GetMultiBundleRetailPricingResponse> {\n const request = ((<GetMultiBundleRetailPricingRequest>r).toApiJson) ? (<GetMultiBundleRetailPricingRequest>r) : new GetMultiBundleRetailPricingRequest(r);\n return this.http.post<GetMultiBundleRetailPricingResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PricingService/GetMultiBundleRetail\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiBundleRetailPricingResponse.fromProto(resp)),\n share()\n );\n }\n getWholesaleComparison(r: GetWholesaleComparisonRequest | GetWholesaleComparisonRequestInterface): Observable<GetWholesaleComparisonResponse> {\n const request = ((<GetWholesaleComparisonRequest>r).toApiJson) ? (<GetWholesaleComparisonRequest>r) : new GetWholesaleComparisonRequest(r);\n return this.http.post<GetWholesaleComparisonResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PricingService/GetWholesaleComparison\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetWholesaleComparisonResponse.fromProto(resp)),\n share()\n );\n }\n setWholesaleProductStrategy(r: SetWholesaleProductStrategyRequest | SetWholesaleProductStrategyRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetWholesaleProductStrategyRequest>r).toApiJson) ? (<SetWholesaleProductStrategyRequest>r) : new SetWholesaleProductStrategyRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.PricingService/SetWholesaleProductStrategy\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setWholesaleProductVolumeCommitment(r: SetWholesaleProductVolumeCommitmentRequest | SetWholesaleProductVolumeCommitmentRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetWholesaleProductVolumeCommitmentRequest>r).toApiJson) ? (<SetWholesaleProductVolumeCommitmentRequest>r) : new SetWholesaleProductVolumeCommitmentRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.PricingService/SetWholesaleProductVolumeCommitment\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getPurchaseCost(r: GetPurchaseCostRequest | GetPurchaseCostRequestInterface): Observable<GetPurchaseCostResponse> {\n const request = ((<GetPurchaseCostRequest>r).toApiJson) ? (<GetPurchaseCostRequest>r) : new GetPurchaseCostRequest(r);\n return this.http.post<GetPurchaseCostResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PricingService/GetPurchaseCost\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetPurchaseCostResponse.fromProto(resp)),\n share()\n );\n }\n upsertWholesale(r: UpsertWholesalePricingRequest | UpsertWholesalePricingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpsertWholesalePricingRequest>r).toApiJson) ? (<UpsertWholesalePricingRequest>r) : new UpsertWholesalePricingRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.PricingService/UpsertWholesale\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateProductRequest,\n DeleteProductRequest,\n UpdateProductRequest,\n} from './objects/';\nimport {\n CreateProductRequestInterface,\n DeleteProductRequestInterface,\n UpdateProductRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ProductApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n create(r: CreateProductRequest | CreateProductRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateProductRequest>r).toApiJson) ? (<CreateProductRequest>r) : new CreateProductRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.ProductService/Create\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n update(r: UpdateProductRequest | UpdateProductRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateProductRequest>r).toApiJson) ? (<UpdateProductRequest>r) : new UpdateProductRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.ProductService/Update\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n delete(r: DeleteProductRequest | DeleteProductRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteProductRequest>r).toApiJson) ? (<DeleteProductRequest>r) : new DeleteProductRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.ProductService/Delete\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n ListSubscriptionRetentionByGroupResponse,\n ListSubscriptionRetentionBySKUResponse,\n ListSubscriptionRetentionRequest,\n} from './objects/';\nimport {\n ListSubscriptionRetentionByGroupResponseInterface,\n ListSubscriptionRetentionBySKUResponseInterface,\n ListSubscriptionRetentionRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ProductSummaryApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n listSubscriptionRetentionByGroup(r: ListSubscriptionRetentionRequest | ListSubscriptionRetentionRequestInterface): Observable<ListSubscriptionRetentionByGroupResponse> {\n const request = ((<ListSubscriptionRetentionRequest>r).toApiJson) ? (<ListSubscriptionRetentionRequest>r) : new ListSubscriptionRetentionRequest(r);\n return this.http.post<ListSubscriptionRetentionByGroupResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.ProductSummaryService/ListSubscriptionRetentionByGroup\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListSubscriptionRetentionByGroupResponse.fromProto(resp)),\n share()\n );\n }\n listSubscriptionRetentionBySku(r: ListSubscriptionRetentionRequest | ListSubscriptionRetentionRequestInterface): Observable<ListSubscriptionRetentionBySKUResponse> {\n const request = ((<ListSubscriptionRetentionRequest>r).toApiJson) ? (<ListSubscriptionRetentionRequest>r) : new ListSubscriptionRetentionRequest(r);\n return this.http.post<ListSubscriptionRetentionBySKUResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.ProductSummaryService/ListSubscriptionRetentionBySKU\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListSubscriptionRetentionBySKUResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GetMultiCustomerSummariesRequest,\n GetMultiCustomerSummariesResponse,\n ListPurchaseItemsRequest,\n ListPurchaseItemsResponse,\n ListPurchaseRequest,\n ListPurchaseResponse,\n RetryPurchaseRequest,\n VoidPurchaseRequest,\n} from './objects/';\nimport {\n GetMultiCustomerSummariesRequestInterface,\n GetMultiCustomerSummariesResponseInterface,\n ListPurchaseItemsRequestInterface,\n ListPurchaseItemsResponseInterface,\n ListPurchaseRequestInterface,\n ListPurchaseResponseInterface,\n RetryPurchaseRequestInterface,\n VoidPurchaseRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class PurchaseApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: ListPurchaseRequest | ListPurchaseRequestInterface): Observable<ListPurchaseResponse> {\n const request = ((<ListPurchaseRequest>r).toApiJson) ? (<ListPurchaseRequest>r) : new ListPurchaseRequest(r);\n return this.http.post<ListPurchaseResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PurchaseService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPurchaseResponse.fromProto(resp)),\n share()\n );\n }\n getMultiCustomerSummaries(r: GetMultiCustomerSummariesRequest | GetMultiCustomerSummariesRequestInterface): Observable<GetMultiCustomerSummariesResponse> {\n const request = ((<GetMultiCustomerSummariesRequest>r).toApiJson) ? (<GetMultiCustomerSummariesRequest>r) : new GetMultiCustomerSummariesRequest(r);\n return this.http.post<GetMultiCustomerSummariesResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PurchaseService/GetMultiCustomerSummaries\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiCustomerSummariesResponse.fromProto(resp)),\n share()\n );\n }\n listPurchaseItems(r: ListPurchaseItemsRequest | ListPurchaseItemsRequestInterface): Observable<ListPurchaseItemsResponse> {\n const request = ((<ListPurchaseItemsRequest>r).toApiJson) ? (<ListPurchaseItemsRequest>r) : new ListPurchaseItemsRequest(r);\n return this.http.post<ListPurchaseItemsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.PurchaseService/ListPurchaseItems\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPurchaseItemsResponse.fromProto(resp)),\n share()\n );\n }\n retry(r: RetryPurchaseRequest | RetryPurchaseRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<RetryPurchaseRequest>r).toApiJson) ? (<RetryPurchaseRequest>r) : new RetryPurchaseRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.PurchaseService/Retry\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n void(r: VoidPurchaseRequest | VoidPurchaseRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<VoidPurchaseRequest>r).toApiJson) ? (<VoidPurchaseRequest>r) : new VoidPurchaseRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.PurchaseService/Void\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n DeleteRecurringInvoiceRequest,\n GetRecurringInvoiceRequest,\n ListRecurringInvoicesRequest,\n ListRecurringInvoicesResponse,\n RecurringInvoice,\n UpdateRecurringInvoiceRequest,\n} from './objects/';\nimport {\n DeleteRecurringInvoiceRequestInterface,\n GetRecurringInvoiceRequestInterface,\n ListRecurringInvoicesRequestInterface,\n ListRecurringInvoicesResponseInterface,\n RecurringInvoiceInterface,\n UpdateRecurringInvoiceRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class RecurringInvoiceApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n createRecurringInvoice(r: RecurringInvoice | RecurringInvoiceInterface): Observable<RecurringInvoice> {\n const request = ((<RecurringInvoice>r).toApiJson) ? (<RecurringInvoice>r) : new RecurringInvoice(r);\n return this.http.post<RecurringInvoiceInterface>(this.hostService.hostWithScheme() + \"/billing.v1.RecurringInvoiceService/CreateRecurringInvoice\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => RecurringInvoice.fromProto(resp)),\n share()\n );\n }\n updateRecurringInvoice(r: UpdateRecurringInvoiceRequest | UpdateRecurringInvoiceRequestInterface): Observable<RecurringInvoice> {\n const request = ((<UpdateRecurringInvoiceRequest>r).toApiJson) ? (<UpdateRecurringInvoiceRequest>r) : new UpdateRecurringInvoiceRequest(r);\n return this.http.post<RecurringInvoiceInterface>(this.hostService.hostWithScheme() + \"/billing.v1.RecurringInvoiceService/UpdateRecurringInvoice\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => RecurringInvoice.fromProto(resp)),\n share()\n );\n }\n getRecurringInvoice(r: GetRecurringInvoiceRequest | GetRecurringInvoiceRequestInterface): Observable<RecurringInvoice> {\n const request = ((<GetRecurringInvoiceRequest>r).toApiJson) ? (<GetRecurringInvoiceRequest>r) : new GetRecurringInvoiceRequest(r);\n return this.http.post<RecurringInvoiceInterface>(this.hostService.hostWithScheme() + \"/billing.v1.RecurringInvoiceService/GetRecurringInvoice\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => RecurringInvoice.fromProto(resp)),\n share()\n );\n }\n listRecurringInvoices(r: ListRecurringInvoicesRequest | ListRecurringInvoicesRequestInterface): Observable<ListRecurringInvoicesResponse> {\n const request = ((<ListRecurringInvoicesRequest>r).toApiJson) ? (<ListRecurringInvoicesRequest>r) : new ListRecurringInvoicesRequest(r);\n return this.http.post<ListRecurringInvoicesResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.RecurringInvoiceService/ListRecurringInvoices\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListRecurringInvoicesResponse.fromProto(resp)),\n share()\n );\n }\n deleteRecurringInvoice(r: DeleteRecurringInvoiceRequest | DeleteRecurringInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteRecurringInvoiceRequest>r).toApiJson) ? (<DeleteRecurringInvoiceRequest>r) : new DeleteRecurringInvoiceRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.RecurringInvoiceService/DeleteRecurringInvoice\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateRefundRequest,\n ListRefundsRequest,\n ListRefundsResponse,\n} from './objects/';\nimport {\n CreateRefundRequestInterface,\n ListRefundsRequestInterface,\n ListRefundsResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class RefundApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n create(r: CreateRefundRequest | CreateRefundRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateRefundRequest>r).toApiJson) ? (<CreateRefundRequest>r) : new CreateRefundRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.RefundService/Create\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n list(r: ListRefundsRequest | ListRefundsRequestInterface): Observable<ListRefundsResponse> {\n const request = ((<ListRefundsRequest>r).toApiJson) ? (<ListRefundsRequest>r) : new ListRefundsRequest(r);\n return this.http.post<ListRefundsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.RefundService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListRefundsResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GetRetailCustomerConfigurationRequest,\n GetRetailCustomerConfigurationResponse,\n UpsertRetailCustomerConfigurationRequest,\n} from './objects/';\nimport {\n GetRetailCustomerConfigurationRequestInterface,\n GetRetailCustomerConfigurationResponseInterface,\n UpsertRetailCustomerConfigurationRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class RetailCustomerConfigurationApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n get(r: GetRetailCustomerConfigurationRequest | GetRetailCustomerConfigurationRequestInterface): Observable<GetRetailCustomerConfigurationResponse> {\n const request = ((<GetRetailCustomerConfigurationRequest>r).toApiJson) ? (<GetRetailCustomerConfigurationRequest>r) : new GetRetailCustomerConfigurationRequest(r);\n return this.http.post<GetRetailCustomerConfigurationResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.RetailCustomerConfigurationService/Get\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRetailCustomerConfigurationResponse.fromProto(resp)),\n share()\n );\n }\n upsert(r: UpsertRetailCustomerConfigurationRequest | UpsertRetailCustomerConfigurationRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpsertRetailCustomerConfigurationRequest>r).toApiJson) ? (<UpsertRetailCustomerConfigurationRequest>r) : new UpsertRetailCustomerConfigurationRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.RetailCustomerConfigurationService/Upsert\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateSalesCreditNoteRequest,\n ListSalesCreditNoteRequest,\n ListSalesCreditNoteResponse,\n} from './objects/';\nimport {\n CreateSalesCreditNoteRequestInterface,\n ListSalesCreditNoteRequestInterface,\n ListSalesCreditNoteResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class SalesCreditNoteApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n create(r: CreateSalesCreditNoteRequest | CreateSalesCreditNoteRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateSalesCreditNoteRequest>r).toApiJson) ? (<CreateSalesCreditNoteRequest>r) : new CreateSalesCreditNoteRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.SalesCreditNoteService/Create\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n list(r: ListSalesCreditNoteRequest | ListSalesCreditNoteRequestInterface): Observable<ListSalesCreditNoteResponse> {\n const request = ((<ListSalesCreditNoteRequest>r).toApiJson) ? (<ListSalesCreditNoteRequest>r) : new ListSalesCreditNoteRequest(r);\n return this.http.post<ListSalesCreditNoteResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.SalesCreditNoteService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListSalesCreditNoteResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GetSalesInvoiceRequest,\n GetSalesInvoiceResponse,\n ListSalesInvoiceRequest,\n ListSalesInvoiceResponse,\n PostSalesInvoiceRequest,\n} from './objects/';\nimport {\n GetSalesInvoiceRequestInterface,\n GetSalesInvoiceResponseInterface,\n ListSalesInvoiceRequestInterface,\n ListSalesInvoiceResponseInterface,\n PostSalesInvoiceRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class SalesInvoiceApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: ListSalesInvoiceRequest | ListSalesInvoiceRequestInterface): Observable<ListSalesInvoiceResponse> {\n const request = ((<ListSalesInvoiceRequest>r).toApiJson) ? (<ListSalesInvoiceRequest>r) : new ListSalesInvoiceRequest(r);\n return this.http.post<ListSalesInvoiceResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.SalesInvoiceService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListSalesInvoiceResponse.fromProto(resp)),\n share()\n );\n }\n post(r: PostSalesInvoiceRequest | PostSalesInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<PostSalesInvoiceRequest>r).toApiJson) ? (<PostSalesInvoiceRequest>r) : new PostSalesInvoiceRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.SalesInvoiceService/Post\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n get(r: GetSalesInvoiceRequest | GetSalesInvoiceRequestInterface): Observable<GetSalesInvoiceResponse> {\n const request = ((<GetSalesInvoiceRequest>r).toApiJson) ? (<GetSalesInvoiceRequest>r) : new GetSalesInvoiceRequest(r);\n return this.http.post<GetSalesInvoiceResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.SalesInvoiceService/Get\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetSalesInvoiceResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n ArchiveTaxRequest,\n CalculateTaxRequest,\n CalculateTaxResponse,\n CreateTaxRequest,\n GetMultiTaxRequest,\n GetMultiTaxResponse,\n ListTaxRequest,\n ListTaxResponse,\n UpdateTaxRequest,\n} from './objects/';\nimport {\n ArchiveTaxRequestInterface,\n CalculateTaxRequestInterface,\n CalculateTaxResponseInterface,\n CreateTaxRequestInterface,\n GetMultiTaxRequestInterface,\n GetMultiTaxResponseInterface,\n ListTaxRequestInterface,\n ListTaxResponseInterface,\n UpdateTaxRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class TaxApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n calculate(r: CalculateTaxRequest | CalculateTaxRequestInterface): Observable<CalculateTaxResponse> {\n const request = ((<CalculateTaxRequest>r).toApiJson) ? (<CalculateTaxRequest>r) : new CalculateTaxRequest(r);\n return this.http.post<CalculateTaxResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.TaxService/Calculate\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CalculateTaxResponse.fromProto(resp)),\n share()\n );\n }\n create(r: CreateTaxRequest | CreateTaxRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateTaxRequest>r).toApiJson) ? (<CreateTaxRequest>r) : new CreateTaxRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.TaxService/Create\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMulti(r: GetMultiTaxRequest | GetMultiTaxRequestInterface): Observable<GetMultiTaxResponse> {\n const request = ((<GetMultiTaxRequest>r).toApiJson) ? (<GetMultiTaxRequest>r) : new GetMultiTaxRequest(r);\n return this.http.post<GetMultiTaxResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.TaxService/GetMulti\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiTaxResponse.fromProto(resp)),\n share()\n );\n }\n update(r: UpdateTaxRequest | UpdateTaxRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateTaxRequest>r).toApiJson) ? (<UpdateTaxRequest>r) : new UpdateTaxRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.TaxService/Update\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n list(r: ListTaxRequest | ListTaxRequestInterface): Observable<ListTaxResponse> {\n const request = ((<ListTaxRequest>r).toApiJson) ? (<ListTaxRequest>r) : new ListTaxRequest(r);\n return this.http.post<ListTaxResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.TaxService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListTaxResponse.fromProto(resp)),\n share()\n );\n }\n archive(r: ArchiveTaxRequest | ArchiveTaxRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ArchiveTaxRequest>r).toApiJson) ? (<ArchiveTaxRequest>r) : new ArchiveTaxRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/billing.v1.TaxService/Archive\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GenerateVendorReportRequest,\n GenerateVendorReportResponse,\n GetRevenueStatsRequest,\n GetRevenueStatsResponse,\n} from './objects/';\nimport {\n GenerateVendorReportRequestInterface,\n GenerateVendorReportResponseInterface,\n GetRevenueStatsRequestInterface,\n GetRevenueStatsResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class VendorApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n generateReport(r: GenerateVendorReportRequest | GenerateVendorReportRequestInterface): Observable<GenerateVendorReportResponse> {\n const request = ((<GenerateVendorReportRequest>r).toApiJson) ? (<GenerateVendorReportRequest>r) : new GenerateVendorReportRequest(r);\n return this.http.post<GenerateVendorReportResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.VendorService/GenerateReport\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GenerateVendorReportResponse.fromProto(resp)),\n share()\n );\n }\n getRevenueStats(r: GetRevenueStatsRequest | GetRevenueStatsRequestInterface): Observable<GetRevenueStatsResponse> {\n const request = ((<GetRevenueStatsRequest>r).toApiJson) ? (<GetRevenueStatsRequest>r) : new GetRevenueStatsRequest(r);\n return this.http.post<GetRevenueStatsResponseInterface>(this.hostService.hostWithScheme() + \"/billing.v1.VendorService/GetRevenueStats\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRevenueStatsResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\nexport * from './enums';\nexport * from './objects';\nexport * from './interfaces';\nexport { BankReconciliationApiService } from './bank-reconciliation.api.service';\nexport { BillingApiService } from './billing.api.service';\nexport { BundleApiService } from './bundle.api.service';\nexport { ContractDocumentApiService } from './contract-document.api.service';\nexport { ContractApiService } from './contract.api.service';\nexport { CreditApiService } from './credit.api.service';\nexport { DiscountApiService } from './discount.api.service';\nexport { InvoiceApiService } from './invoice.api.service';\nexport { InvoiceTemplateApiService } from './invoice-template.api.service';\nexport { MerchantApiService } from './merchant.api.service';\nexport { PaymentMethodApiService } from './payment-method.api.service';\nexport { PaymentApiService } from './payment.api.service';\nexport { PricingApiService } from './pricing.api.service';\nexport { ProductApiService } from './product.api.service';\nexport { ProductSummaryApiService } from './product-summary.api.service';\nexport { PurchaseApiService } from './purchase.api.service';\nexport { RecurringInvoiceApiService } from './recurring-invoice.api.service';\nexport { RefundApiService } from './refund.api.service';\nexport { RetailCustomerConfigurationApiService } from './retail-customer-configuration.api.service';\nexport { SalesCreditNoteApiService } from './sales-credit-note.api.service';\nexport { SalesInvoiceApiService } from './sales-invoice.api.service';\nexport { TaxApiService } from './tax.api.service';\nexport { VendorApiService } from './vendor.api.service';\n","import { AppliedDiscountInterface, DiscountType } from '../_internal';\n\nexport enum AppliedDiscountType {\n FIXED_AMOUNT = 'FIXED_AMOUNT',\n PERCENT_AMOUNT = 'PERCENT_AMOUNT',\n FIXED_NUMBER_OF_UNITS = 'FIXED_NUMBER_OF_UNITS',\n FIXED_AMOUNT_PER_UNIT = 'FIXED_AMOUNT_PER_UNIT',\n};\n\nexport function appliedDiscountTypeFromAPI(adt: DiscountType): AppliedDiscountType {\n switch (adt) {\n case DiscountType.DISCOUNT_TYPE_FIXED_AMOUNT_PER_UNIT:\n return AppliedDiscountType.FIXED_AMOUNT_PER_UNIT;\n case DiscountType.DISCOUNT_TYPE_FIXED_NUMBER_OF_UNITS:\n return AppliedDiscountType.FIXED_NUMBER_OF_UNITS;\n case DiscountType.DISCOUNT_TYPE_PERCENT_AMOUNT:\n return AppliedDiscountType.PERCENT_AMOUNT;\n }\n return AppliedDiscountType.FIXED_AMOUNT;\n}\n\nexport function appliedDiscountTypeToApi(adt: AppliedDiscountType): DiscountType {\n switch (adt) {\n case AppliedDiscountType.FIXED_AMOUNT_PER_UNIT:\n return DiscountType.DISCOUNT_TYPE_FIXED_AMOUNT_PER_UNIT;\n case AppliedDiscountType.FIXED_NUMBER_OF_UNITS:\n return DiscountType.DISCOUNT_TYPE_FIXED_NUMBER_OF_UNITS;\n case AppliedDiscountType.PERCENT_AMOUNT:\n return DiscountType.DISCOUNT_TYPE_PERCENT_AMOUNT;\n }\n return DiscountType.DISCOUNT_TYPE_FIXED_AMOUNT;\n}\n\nexport interface AppliedDiscount {\n type: AppliedDiscountType;\n value: number;\n totalAmount: number;\n description: string;\n}\n\nexport function appliedDiscountFromApi(ad: AppliedDiscountInterface): AppliedDiscount {\n return {\n type: appliedDiscountTypeFromAPI(ad.type),\n value: ad.value || 0,\n totalAmount: ad.totalAmount || 0,\n description: ad.description || '',\n }\n}\n\nexport function appliedDiscountToApi(ad: AppliedDiscount): AppliedDiscountInterface {\n return {\n type: appliedDiscountTypeToApi(ad.type),\n value: ad.value || 0,\n totalAmount: ad.totalAmount || 0,\n description: ad.description || '',\n }\n}\n\n/** @deprecated use Discount interface from billing/discount */\nexport interface Discount {\n value: number;\n type: string;\n startDate: Date;\n id?: number;\n endDate?: Date;\n total?: number;\n}\n","import {BankAccount as ApiBankAccount} from '../_internal';\n\nexport interface BankAccount {\n id: string;\n accountHolderName: string;\n bankName: string;\n country: string;\n currency: string;\n routingNumber: string;\n last4: string;\n defaultForCurrency: boolean;\n}\n\nexport function bankAccountFromApi(r: ApiBankAccount): BankAccount {\n return {\n id: r.id,\n accountHolderName: r.accountHolderName,\n bankName: r.bankName,\n country: r.country,\n currency: r.currency,\n routingNumber: r.routingNumber,\n last4: r.last4,\n defaultForCurrency: r.defaultForCurrency\n } as BankAccount;\n}\n","import { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport {\n BankAccount as ApiBankAccount,\n DeleteBankAccountRequest,\n ListBankAccountsRequest,\n ListBankAccountsResponse,\n MerchantApiService,\n SetDefaultBankAccountRequest,\n} from '../_internal';\nimport { BankAccount, bankAccountFromApi } from './bank_account';\n\n@Injectable({providedIn: 'root'})\nexport class BankAccountService {\n constructor(private merchantApi: MerchantApiService) {\n }\n\n listBankAccounts(merchantId: string): Observable<BankAccount[]> {\n return this.merchantApi.listBankAccounts(new ListBankAccountsRequest({\n merchantId\n })).pipe(\n map((res: ListBankAccountsResponse) => res && res.bankAccount ? res.bankAccount : []),\n map((bankAccounts: ApiBankAccount[]) => {\n return bankAccounts.map((ba: ApiBankAccount) => bankAccountFromApi(ba));\n }\n )\n )\n }\n\n setDefaultBankAccount(merchantId: string, bankAccountId: string): Observable<HttpResponse<null>> {\n const request = new SetDefaultBankAccountRequest({\n merchantId, bankAccountId\n })\n return this.merchantApi.setDefaultBankAccount(request)\n }\n\n deleteBankAccount(merchantId: string, bankAccountId: string): Observable<HttpResponse<null>> {\n const request = new DeleteBankAccountRequest({\n merchantId, bankAccountId\n })\n return this.merchantApi.deleteBankAccount(request)\n }\n}\n","import {BillingStrategy as PricingPlanBillingStrategy} from '../_internal';\n\nexport enum BillingStrategy {\n Invalid = 'INVALID',\n EndOfPeriod = 'END_OF_PERIOD',\n StartOfPeriod = 'START_OF_PERIOD',\n Instantly = 'INSTANTLY',\n EndOfDay = 'END_OF_DAY'\n}\n\nexport function isBillingStrategyInstant(strategy: BillingStrategy): boolean {\n return (strategy === BillingStrategy.Instantly || strategy === BillingStrategy.EndOfDay)\n}\n\nexport function billingStrategyFromAPI(bsAPI: PricingPlanBillingStrategy): BillingStrategy {\n switch (bsAPI) {\n case PricingPlanBillingStrategy.BILLING_STRATEGY_END_OF_PERIOD:\n return BillingStrategy.EndOfPeriod;\n case PricingPlanBillingStrategy.BILLING_STRATEGY_START_OF_PERIOD:\n return BillingStrategy.StartOfPeriod;\n case PricingPlanBillingStrategy.BILLING_STRATEGY_INSTANTLY:\n return BillingStrategy.Instantly;\n case PricingPlanBillingStrategy.BILLING_STRATEGY_END_OF_DAY:\n return BillingStrategy.EndOfDay;\n }\n return BillingStrategy.Invalid;\n}\n\nexport function billingStrategyToAPI(strategy: BillingStrategy): PricingPlanBillingStrategy {\n switch (strategy) {\n case BillingStrategy.EndOfPeriod:\n return PricingPlanBillingStrategy.BILLING_STRATEGY_END_OF_PERIOD;\n case BillingStrategy.StartOfPeriod:\n return PricingPlanBillingStrategy.BILLING_STRATEGY_START_OF_PERIOD;\n case BillingStrategy.Instantly:\n return PricingPlanBillingStrategy.BILLING_STRATEGY_INSTANTLY;\n case BillingStrategy.EndOfDay:\n return PricingPlanBillingStrategy.BILLING_STRATEGY_END_OF_DAY;\n }\n return PricingPlanBillingStrategy.BILLING_STRATEGY_NONE;\n}\n","import { Currency as CurrencyApi } from '../_internal';\n\nexport enum Currency {\n USD = 'USD',\n CAD = 'CAD',\n EUR = 'EUR',\n AUD = 'AUD',\n GBP = 'GBP',\n NZD = 'NZD',\n BRL = 'BRL',\n CHF = 'CHF',\n CNY = 'CNY',\n CZK = 'CZK',\n INR = 'INR',\n JPY = 'JPY',\n KHR = 'KHR',\n KRW = 'KRW',\n MXN = 'MXN',\n NOK = 'NOK',\n RUB = 'RUB',\n SEK = 'SEK',\n SGD = 'SGD',\n TRY = 'TRY',\n ZAR = 'ZAR',\n DZD = 'DZD',\n AWG = 'AWG',\n FJD = 'FJD',\n KYD = 'KYD',\n}\n\nexport function currencyFromApi(cApi: CurrencyApi): Currency {\n switch (cApi) {\n case CurrencyApi.USD:\n return Currency.USD;\n case CurrencyApi.CAD:\n return Currency.CAD;\n case CurrencyApi.EUR:\n return Currency.EUR;\n case CurrencyApi.AUD:\n return Currency.AUD;\n case CurrencyApi.GBP:\n return Currency.GBP;\n case CurrencyApi.NZD:\n return Currency.NZD;\n case CurrencyApi.BRL:\n return Currency.BRL\n case CurrencyApi.CHF:\n return Currency.CHF\n case CurrencyApi.CNY:\n return Currency.CNY\n case CurrencyApi.CZK:\n return Currency.CZK\n case CurrencyApi.INR:\n return Currency.INR\n case CurrencyApi.JPY:\n return Currency.JPY\n case CurrencyApi.KHR:\n return Currency.KHR\n case CurrencyApi.KRW:\n return Currency.KRW\n case CurrencyApi.MXN:\n return Currency.MXN\n case CurrencyApi.NOK:\n return Currency.NOK\n case CurrencyApi.RUB:\n return Currency.RUB\n case CurrencyApi.SEK:\n return Currency.SEK\n case CurrencyApi.SGD:\n return Currency.SGD\n case CurrencyApi.TRY:\n return Currency.TRY\n case CurrencyApi.ZAR:\n return Currency.ZAR\n case CurrencyApi.DZD:\n return Currency.DZD\n case CurrencyApi.AWG:\n return Currency.AWG\n case CurrencyApi.FJD:\n return Currency.FJD\n case CurrencyApi.KYD:\n return Currency.KYD\n default:\n return Currency.USD;\n }\n}\n","import {Frequency as FrequencyApi} from '../_internal';\n\nexport enum Frequency {\n Invalid = 'INVALID',\n Monthly = 'MONTHLY',\n Yearly = 'YEARLY',\n OneTime = 'ONE_TIME'\n}\n\nexport function frequencyFromLegacyApi(fApi: string): Frequency {\n switch (fApi) {\n case 'monthly':\n return Frequency.Monthly;\n case 'yearly':\n return Frequency.Yearly;\n case 'one_time':\n return Frequency.OneTime;\n }\n return Frequency.Invalid;\n}\n\nexport function frequencyFromApi(fApi: FrequencyApi): Frequency {\n switch (fApi) {\n case FrequencyApi.MONTHLY:\n return Frequency.Monthly;\n case FrequencyApi.YEARLY:\n return Frequency.Yearly;\n case FrequencyApi.ONE_TIME:\n return Frequency.OneTime;\n }\n return Frequency.Invalid;\n}\n\nexport function frequencyToApi(frequency: Frequency): FrequencyApi {\n switch (frequency) {\n case Frequency.Monthly:\n return FrequencyApi.MONTHLY;\n case Frequency.Yearly:\n return FrequencyApi.YEARLY;\n case Frequency.OneTime:\n return FrequencyApi.ONE_TIME;\n }\n return FrequencyApi.INVALID;\n}\n","import { ProductPricingRuleInterface } from '../_internal';\n\nexport interface ProductPricingRules {\n price: number;\n minUnits: number;\n maxUnits: number;\n}\n\nexport function productPricingRulesFromApi(pprApi: ProductPricingRuleInterface[]): ProductPricingRules[] {\n return !pprApi ? null : pprApi.map(r => {\n return {\n price: r.price || 0,\n minUnits: r.minUnits,\n maxUnits: r.maxUnits,\n };\n });\n}\n","import { ProductPricingType as ProductPricingTypeApi } from '../_internal';\n\nexport enum ProductPricingType {\n Invalid = 'INVALID',\n Standard = 'STANDARD',\n Stairstep = 'STAIRSTEP',\n Tiered = 'TIERED'\n}\n\nexport function productPricingTypeFromApi(pptApi: ProductPricingTypeApi): ProductPricingType {\n switch (pptApi) {\n case ProductPricingTypeApi.PRODUCT_PRICING_TYPE_STANDARD:\n return ProductPricingType.Standard;\n case ProductPricingTypeApi.PRODUCT_PRICING_TYPE_STAIRSTEP:\n return ProductPricingType.Stairstep;\n case ProductPricingTypeApi.PRODUCT_PRICING_TYPE_TIERED:\n return ProductPricingType.Tiered;\n }\n return ProductPricingType.Invalid;\n}\n\nexport function productPricingTypeToApi(ppt: ProductPricingType): ProductPricingTypeApi {\n switch (ppt) {\n case ProductPricingType.Standard:\n return ProductPricingTypeApi.PRODUCT_PRICING_TYPE_STANDARD;\n case ProductPricingType.Stairstep:\n return ProductPricingTypeApi.PRODUCT_PRICING_TYPE_STAIRSTEP;\n case ProductPricingType.Tiered:\n return ProductPricingTypeApi.PRODUCT_PRICING_TYPE_TIERED;\n }\n return ProductPricingTypeApi.PRODUCT_PRICING_TYPE_INVALID;\n}\n","import { CommitmentInterface } from '../_internal';\n\nexport interface Commitment {\n initial: number;\n recurring: number;\n}\n\nexport function commitmentFromAPI(comAPI: CommitmentInterface): Commitment {\n return {\n initial: comAPI.initial,\n recurring: comAPI.recurring\n };\n}\n","import {GetPurchaseCostResponse, ProductPricesInterface, ProductPricingInterface} from '../_internal';\nimport { BillingStrategy, billingStrategyFromAPI } from './billing-strategy';\nimport { Commitment, commitmentFromAPI } from './commitment';\nimport { Currency, currencyFromApi } from './currency';\nimport { Frequency, frequencyFromApi, frequencyFromLegacyApi } from './frequency';\nimport { ProductPricingRules, productPricingRulesFromApi } from './product-pricing-rules';\nimport { ProductPricingType, productPricingTypeFromApi } from './product-pricing-type';\n\nexport interface PurchaseCost {\n billingFrequency: Frequency;\n total: number;\n subtotal: number;\n currency: Currency;\n strategy: BillingStrategy;\n commitment: Commitment;\n isStartingPrice: boolean;\n discountTotal: number;\n setupFee: number;\n}\n\nexport interface ProductPricing {\n strategy: BillingStrategy;\n pricingType: ProductPricingType;\n currency: Currency;\n frequency: Frequency;\n pricingRules: ProductPricingRules[];\n commitment: Commitment;\n volumeCommitment: number;\n isStartingPrice: boolean;\n resolvedFrom?: string;\n setupFee: number;\n}\n\nexport interface ProductPrices {\n sku: string\n prices: ProductPricing[]\n}\n\nexport function purchaseCostFromAPI(pcApi: GetPurchaseCostResponse): PurchaseCost {\n const subtotal = pcApi.subtotalCost || 0\n const discountTotal = pcApi.discountAmount || 0\n const total = pcApi.totalCost || 0;\n const setupFee = pcApi.setupFee || 0;\n\n return {\n subtotal: subtotal,\n discountTotal: discountTotal,\n total: total,\n billingFrequency: frequencyFromLegacyApi(pcApi.billingFrequency),\n currency: currencyFromApi(pcApi.currency),\n strategy: billingStrategyFromAPI(pcApi.strategy),\n commitment: commitmentFromAPI(pcApi.commitment),\n isStartingPrice: pcApi.isStartingPrice,\n setupFee: setupFee\n }\n}\n\nexport function productPricingFromApi(pApi: ProductPricingInterface): ProductPricing {\n return {\n strategy: billingStrategyFromAPI(pApi.strategy),\n pricingType: productPricingTypeFromApi(pApi.pricingType),\n currency: currencyFromApi(pApi.currency),\n frequency: frequencyFromApi(pApi.frequency),\n pricingRules: productPricingRulesFromApi(pApi.pricingRules),\n commitment: commitmentFromAPI(pApi.commitment),\n volumeCommitment: pApi.volumeCommitment,\n isStartingPrice: pApi.isStartingPrice,\n resolvedFrom: pApi.resolvedFrom,\n setupFee: pApi.setupFee\n }\n}\n\nexport function pricesFromApi(pApi: ProductPricesInterface[]): ProductPrices[] {\n return pApi?.map(p => (p && {\n sku: p.sku,\n prices: p.prices.map(price => price && productPricingFromApi(price)),\n } as ProductPrices)\n );\n}\n","import {\n PricingPlanProduct as ApiPricingPlanProduct,\n PricingPlanProductPricing as ApiPricing,\n ProductPricingRule as ApiRule,\n} from '../_internal';\nimport { BillingStrategy, billingStrategyFromAPI } from './billing-strategy';\nimport { Commitment, commitmentFromAPI } from './commitment';\nimport { Currency } from './currency';\nimport { Frequency, frequencyFromApi, frequencyToApi } from './frequency';\nimport {\n ProductPricingRules,\n productPricingRulesFromApi,\n} from './product-pricing-rules';\nimport {\n ProductPricingType,\n productPricingTypeFromApi,\n productPricingTypeToApi,\n} from './product-pricing-type';\n\nexport interface CurrencyPricingMap {\n [key: string]: PricingPlanProductPricing;\n}\n\nexport interface PricingPlanProductPricing {\n type: ProductPricingType;\n rules: ProductPricingRules[];\n setupFee: number;\n frequency?: Frequency;\n currencyCode?: string;\n}\n\nexport interface PricingPlanProduct {\n pricingPlanId: string;\n sku: string;\n frequency?: Frequency;\n pricing: CurrencyPricingMap;\n commitment: Commitment;\n created: Date;\n modified: Date;\n strategy: BillingStrategy;\n volumeCommitment: number;\n defaultStrategy?: BillingStrategy;\n}\n\nexport function pricingPlanProductFromApi(apiProduct: ApiPricingPlanProduct): PricingPlanProduct {\n const pricingMap: CurrencyPricingMap = {};\n for (const apiCurrency in apiProduct.pricing) {\n if (!apiProduct.pricing.hasOwnProperty(apiCurrency)) {\n continue;\n }\n\n const pricingApi = apiProduct.pricing[apiCurrency];\n pricingMap[apiCurrency] = {\n type: productPricingTypeFromApi(pricingApi.type),\n rules: productPricingRulesFromApi(pricingApi.rules),\n setupFee: pricingApi.setupFee || 0\n }\n }\n\n return {\n pricingPlanId: apiProduct.pricingPlanId,\n sku: apiProduct.sku,\n frequency: frequencyFromApi(apiProduct.frequency),\n pricing: pricingMap,\n commitment: commitmentFromAPI(apiProduct.commitment),\n created: apiProduct.created,\n modified: apiProduct.modified,\n strategy: billingStrategyFromAPI(apiProduct.strategy),\n volumeCommitment: apiProduct.volumeCommitment\n };\n}\n\nexport function currencyPricingMapToApi(currencyPricingMap: CurrencyPricingMap): { [key: string]: ApiPricing } {\n return Object.keys(currencyPricingMap).\n filter(c => c in Currency).\n reduce((apiPricingMap: { [key: string]: ApiPricing }, c: string) => {\n apiPricingMap[c] = pricingPlanProductPricingToApi(currencyPricingMap[c]);\n return apiPricingMap;\n }, {})\n}\n\nexport function productPricingRulesToApi(rules: ProductPricingRules[]): ApiRule[] {\n return rules.map(rule => new ApiRule(rule));\n\n}\n\nexport function pricingPlanProductPricingToApi(pricing: PricingPlanProductPricing): ApiPricing {\n return new ApiPricing({\n type: productPricingTypeToApi(pricing.type),\n rules: productPricingRulesToApi(pricing.rules),\n setupFee: pricing.setupFee,\n frequency: frequencyToApi(pricing.frequency),\n currencyCode: pricing.currencyCode\n })\n}\n","import { HttpClient, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, mapTo, share } from 'rxjs/operators';\nimport { HostService } from '../_generated';\nimport {\n BillingApiService,\n Commitment,\n PricingApiService,\n UpsertWholesalePricingRequest\n} from '../_internal';\nimport { BillingStrategy, billingStrategyToAPI } from './billing-strategy';\nimport { PricingPlanProductPricing, pricingPlanProductPricingToApi } from './pricing-plan-product';\nimport { pricesFromApi, ProductPrices, PurchaseCost, purchaseCostFromAPI } from './product-pricing';\n\n\n@Injectable({providedIn: 'root'})\nexport class WholesalePricingService {\n\n constructor(\n private hostService: HostService,\n private http: HttpClient,\n private pricingService: PricingApiService,\n private billingApi: BillingApiService,\n ) {\n }\n\n setProductBillingStrategy(merchantId: string, sku: string, billingStrategy: BillingStrategy): Observable<null> {\n const strategy = billingStrategyToAPI(billingStrategy)\n return this.pricingService.setWholesaleProductStrategy({merchantId, sku, strategy}).pipe(map(() => null));\n }\n\n setProductVolumeCommitment(merchantId: string, sku: string, volumeCommitment: number): Observable<null> {\n return this.pricingService.setWholesaleProductVolumeCommitment({\n merchantId,\n sku,\n volumeCommitment\n }).pipe(map(() => null));\n }\n\n getPurchaseCost(merchantId: string, sku: string, quantity: number): Observable<PurchaseCost> {\n return this.pricingService.getPurchaseCost({merchantId, sku, quantity}).pipe(\n map(resp => purchaseCostFromAPI(resp))\n )\n }\n\n getMultiWholesalePrices(\n merchantId: string,\n skus: string[],\n pricingPlanId?: string,\n ): Observable<ProductPrices[]> {\n return this.billingApi.getMultiProductPricing({ merchantId, skus, pricingPlanId })\n .pipe(\n map(r => pricesFromApi(r.prices)\n ),\n );\n }\n\n upsertPricing(\n pricingPlanId: string,\n sku: string,\n pricing: PricingPlanProductPricing[],\n termCommitment: Commitment,\n strategy: BillingStrategy,\n volumeCommitment: number\n ): Observable<HttpResponse<null>> {\n const request = new UpsertWholesalePricingRequest({\n pricingPlanId,\n sku,\n pricing: (pricing || []).map(p => pricingPlanProductPricingToApi(p)),\n strategy: billingStrategyToAPI(strategy),\n termCommitment,\n volumeCommitment\n });\n return this.pricingService.upsertWholesale(request);\n }\n}\n","import {PricingPlanInterface as PricingPlanProto} from '../_internal';\nimport {BillingStrategy, billingStrategyFromAPI} from './billing-strategy';\n\nexport interface PricingPlan {\n id: string;\n name: string;\n subscriptionName?: string;\n defaultStrategy: BillingStrategy\n}\n\nexport enum Distribution {\n Retail = 'Retail',\n Wholesale = 'Wholesale',\n}\n\n\nexport function pricingPlanFromAPI(proto: PricingPlanProto): PricingPlan {\n return {\n id: proto.id,\n name: proto.name,\n defaultStrategy: billingStrategyFromAPI(proto.defaultBillingStrategy)\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {Environment, EnvironmentService} from '@vendasta/core';\nimport {Distribution, PricingPlan, pricingPlanFromAPI} from './pricing-plan';\nimport {BillingApiService, UpdatePricingPlanResponse} from '../_internal';\nimport {BillingStrategy, billingStrategyToAPI} from './billing-strategy';\n\n@Injectable({providedIn: 'root'})\nexport class PricingPlanService {\n\n constructor(\n private environmentService: EnvironmentService,\n private billingService: BillingApiService\n ) {\n }\n\n list(distribution?: Distribution): PricingPlan[] {\n const env = this.environmentService.getEnvironment();\n switch (distribution) {\n case Distribution.Retail:\n return retailPlans.get(env)\n case Distribution.Wholesale:\n return wholesalePlans.get(env)\n }\n return pricingPlans.get(env) || [];\n }\n\n isDefault(pricingPlanId: string): boolean {\n const defaultPlan = this.list().find(p => p.name === WholesalePricingPlanName.Default);\n return pricingPlanId === defaultPlan.id;\n }\n\n nameForId(pricingPlanId: string): string {\n const name = this.list().find(p => p.id === pricingPlanId).name;\n return name || null;\n }\n\n idForName(pricingPlanName: string): string {\n const pricingPlan = this.list().find(p => p.name === pricingPlanName);\n return pricingPlan ? pricingPlan.id : null;\n }\n\n idForSubscriptionName(subscriptionName: string): string {\n const pricingPlan = this.list().find(p => p.subscriptionName === subscriptionName);\n return pricingPlan ? pricingPlan.id : null;\n }\n\n setDefaultStrategy(pricingPlanId: string, strategy: BillingStrategy): Observable<UpdatePricingPlanResponse> {\n const request = {\n id: pricingPlanId,\n fieldMask: {\n paths: ['default_billing_strategy']\n },\n defaultBillingStrategy: billingStrategyToAPI(strategy),\n }\n return this.billingService.updatePricingPlan(request)\n }\n\n getMulti(pricingPlanIds: string[]): Observable<PricingPlan[]> {\n return this.billingService.getMultiPricingPlan({pricingPlanIds}).pipe(\n map(resp => resp.plans.map(p => pricingPlanFromAPI(p)))\n )\n }\n}\n\n\nenum RetailPricingPlanName {\n MSRP = 'MSRP'\n}\n\nconst demoRetailPricingPlans: PricingPlan[] = [\n {\n id: 'PP-5049b4b2-fe28-473f-96d6-84d4ea91ada9', name: RetailPricingPlanName.MSRP, subscriptionName: 'msrp',\n defaultStrategy: BillingStrategy.Invalid\n }\n];\n\n\nconst prodRetailPricingPlans: PricingPlan[] = [\n {\n id: 'PP-148b6d8c-6222-4fce-9cd2-f0587f0db563', name: RetailPricingPlanName.MSRP, subscriptionName: 'msrp',\n defaultStrategy: BillingStrategy.Invalid\n }\n];\n\nenum WholesalePricingPlanName {\n // Instant\n VBPFree = 'Free',\n VBPStarter = 'Starter',\n VBPBasic = 'Basic+',\n VBPProfessional = 'Professional+',\n VBPEnterprise = 'Enterprise+',\n VBPEnterprisePilot = 'Enterprise+ Pilot',\n VBP2Startup = 'Startup+',\n VBP2Essentials = 'Essentials+',\n VBP2Growth = 'Growth+',\n VBP2Scale = 'Scale+',\n\n // Invoiced\n BasicSubscription = 'Basic',\n ProfessionalSubscription = 'Professional',\n EnterpriseSubscription = 'Enterprise',\n EliteSubscription = 'Elite',\n PremiumSubscription = 'Premium (Legacy)',\n VBP2Premium = 'Premium',\n\n Default = 'Default'\n}\n\nconst demoWholesalePricingPlans: PricingPlan[] = [\n {\n id: 'PP-587f8f25-b278-4727-b7c4-3ce60e542c8b',\n name: WholesalePricingPlanName.VBPFree, subscriptionName: 'free_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-a5ad2825-8225-4bbe-a868-c1b2a7d2a2e3',\n name: WholesalePricingPlanName.VBPStarter, subscriptionName: 'starter_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-438ccc87-eaff-4180-ad79-f5d3d51e1bc0',\n name: WholesalePricingPlanName.VBPBasic, subscriptionName: 'vbp_basic_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-7201f892-3d44-44b8-b9db-4b23dd34d112',\n name: WholesalePricingPlanName.VBPProfessional, subscriptionName: 'vbp_professional_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-3cc1ec9f-17a8-46c8-9e79-b337e4ea651b',\n name: WholesalePricingPlanName.VBPEnterprise, subscriptionName: 'vbp_enterprise_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-7ffa4745-4ea1-4603-983b-81a1404faa3b',\n name: WholesalePricingPlanName.VBPEnterprisePilot, subscriptionName: 'vbp_enterprise_pilot_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-02895bb5-ff6b-4f37-ae1e-8473b895a59d',\n name: WholesalePricingPlanName.VBP2Startup, subscriptionName: 'vbp2_startup_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-c69f1724-d380-432f-8f50-5778da6ea250',\n name: WholesalePricingPlanName.VBP2Essentials, subscriptionName: 'vbp2_essentials_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-8abe2c53-be4a-43d5-bd2c-a8d9be1c82db',\n name: WholesalePricingPlanName.VBP2Growth, subscriptionName: 'vbp2_growth_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-0a872f89-e582-420a-90b0-c98e19b174a4',\n name: WholesalePricingPlanName.VBP2Scale, subscriptionName: 'vbp2_scale_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-7abd1cb2-317b-40d2-9fdc-d2b365d645b7',\n name: WholesalePricingPlanName.VBP2Premium, subscriptionName: 'vbp2_premium_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-a7eca7c3-84fd-4fc2-86a5-87a743f6c3d1',\n name: WholesalePricingPlanName.BasicSubscription, subscriptionName: 'basic_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-7d0053b8-fab4-407d-ae69-33c67d5314eb',\n name: WholesalePricingPlanName.ProfessionalSubscription, subscriptionName: 'professional_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-e85cdb56-2944-4fe0-9e78-a98520eb1489',\n name: WholesalePricingPlanName.EnterpriseSubscription, subscriptionName: 'enterprise_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-9a0d6430-5e73-41d2-bd3d-dc3645664bb9',\n name: WholesalePricingPlanName.EliteSubscription, subscriptionName: 'elite_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-a03a1c1e-d03e-4c77-8132-34908012a65c',\n name: WholesalePricingPlanName.PremiumSubscription, subscriptionName: 'premium_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-cf943a15-3eea-40cf-8d3e-e7ea5a5a9817',\n name: WholesalePricingPlanName.Default, subscriptionName: null,\n defaultStrategy: BillingStrategy.Invalid\n },\n];\n\nconst prodWholesalePricingPlans: PricingPlan[] = [\n {\n id: 'PP-77912c15-00af-4a56-bfc0-e8e6c27c7a53',\n name: WholesalePricingPlanName.VBPFree, subscriptionName: 'free_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-1cc75309-ddff-4d8b-aedf-88a7472e2b4e',\n name: WholesalePricingPlanName.VBPStarter, subscriptionName: 'starter_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-52f98211-bd1e-4112-88cd-e78040173198',\n name: WholesalePricingPlanName.VBPBasic, subscriptionName: 'vbp_basic_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-c278bcc6-bd5d-43e5-9ff5-a27e70b48ba9',\n name: WholesalePricingPlanName.VBPProfessional, subscriptionName: 'vbp_professional_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-4133fc94-a58a-4fcd-91cd-9ed111182e77',\n name: WholesalePricingPlanName.VBPEnterprise, subscriptionName: 'vbp_enterprise_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-dbbac61e-132f-468f-aa62-7a691b59bb74',\n name: WholesalePricingPlanName.VBPEnterprisePilot, subscriptionName: 'vbp_enterprise_pilot_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-45f8099f-d3f3-4302-83bf-bbf64f431e31',\n name: WholesalePricingPlanName.VBP2Startup, subscriptionName: 'vbp2_startup_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-d44c5a8b-f3b6-4b63-b203-8b7253060984',\n name: WholesalePricingPlanName.VBP2Essentials, subscriptionName: 'vbp2_essentials_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-c1761320-62df-41d7-8df3-008554a4b592',\n name: WholesalePricingPlanName.VBP2Growth, subscriptionName: 'vbp2_growth_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-b6607aae-606f-4fd5-84e4-c48f38b59892',\n name: WholesalePricingPlanName.VBP2Scale, subscriptionName: 'vbp2_scale_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-7375d567-8890-4cb1-930c-5673ea89acba',\n name: WholesalePricingPlanName.VBP2Premium, subscriptionName: 'vbp2_premium_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-38a06671-526b-4d28-b425-bbce3be34699',\n name: WholesalePricingPlanName.BasicSubscription, subscriptionName: 'basic_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-d9717300-f1c3-4471-8433-c3ac7baf003d',\n name: WholesalePricingPlanName.ProfessionalSubscription, subscriptionName: 'professional_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-f6a60130-878b-4a33-9a10-d5bdeac0cdef',\n name: WholesalePricingPlanName.EnterpriseSubscription, subscriptionName: 'enterprise_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-dff68124-2223-4c88-91dc-b638a3135fc5',\n name: WholesalePricingPlanName.EliteSubscription, subscriptionName: 'elite_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-15641015-560e-4cd7-977b-b1fc627b18d1',\n name: WholesalePricingPlanName.PremiumSubscription, subscriptionName: 'premium_subscription',\n defaultStrategy: BillingStrategy.Invalid\n },\n {\n id: 'PP-0e9ac148-a2d0-42d0-9250-8c42189bf432',\n name: WholesalePricingPlanName.Default, subscriptionName: null,\n defaultStrategy: BillingStrategy.Invalid\n },\n];\n\nconst pricingPlans = new Map<Environment, PricingPlan[]>([\n [Environment.DEMO, [...demoWholesalePricingPlans, ...demoRetailPricingPlans]],\n [Environment.PROD, [...prodWholesalePricingPlans, ...prodRetailPricingPlans]]\n]);\n\nconst wholesalePlans = new Map<Environment, PricingPlan[]>([\n [Environment.DEMO, [...demoWholesalePricingPlans]],\n [Environment.PROD, [...prodWholesalePricingPlans]]\n])\n\nconst retailPlans = new Map<Environment, PricingPlan[]>([\n [Environment.DEMO, [...demoRetailPricingPlans]],\n [Environment.PROD, [...prodRetailPricingPlans]]\n])\n","import { Currency, currencyFromApi } from '../pricing';\nimport { Payout as ApiPayout, PayoutStatus as ApiPayoutStatus, PayoutType as ApiPayoutType } from '../_internal';\n\nexport enum PayoutStatusType {\n NOT_SET = 0,\n PAID = 1,\n PENDING = 2,\n IN_TRANSIT = 3,\n CANCELED = 4,\n FAILED = 5,\n}\n\nexport interface PayoutStatusLabel {\n id: PayoutStatusType,\n value: string\n}\n\nconst payoutStatusLabelMap = new Map<ApiPayoutStatus, PayoutStatusLabel>([\n [ApiPayoutStatus.PAYOUT_STATUS_NOT_SET, {id: PayoutStatusType.NOT_SET, value: 'Unknown'}],\n [ApiPayoutStatus.PAYOUT_STATUS_PAID, {id: PayoutStatusType.PAID, value: 'Paid'}],\n [ApiPayoutStatus.PAYOUT_STATUS_PENDING, {id: PayoutStatusType.PENDING, value: 'Pending'}],\n [ApiPayoutStatus.PAYOUT_STATUS_IN_TRANSIT, {id: PayoutStatusType.IN_TRANSIT, value: 'In Transit'}],\n [ApiPayoutStatus.PAYOUT_STATUS_CANCELED, {id: PayoutStatusType.CANCELED, value: 'Canceled'}],\n [ApiPayoutStatus.PAYOUT_STATUS_FAILED, {id: PayoutStatusType.FAILED, value: 'Failed'}],\n]);\n\nexport function convertApiPayoutStatus(t: ApiPayoutStatus): PayoutStatusLabel {\n return payoutStatusLabelMap.get(t)\n}\n\nexport enum PayoutTypeType {\n NOT_SET = 0,\n BANK_ACCOUNT = 1,\n CARD = 2,\n}\n\nexport interface PayoutTypeLabel {\n id: PayoutTypeType,\n value: string,\n}\n\nconst payoutTypeLabelMap = new Map<ApiPayoutType, PayoutTypeLabel>([\n [ApiPayoutType.PAYOUT_TYPE_NOT_SET, {id: PayoutTypeType.NOT_SET, value: 'Unknown'}],\n [ApiPayoutType.PAYOUT_TYPE_BANK_ACCOUNT, {id: PayoutTypeType.BANK_ACCOUNT, value: 'Bank Account'}],\n [ApiPayoutType.PAYOUT_TYPE_CARD, {id: PayoutTypeType.CARD, value: 'Card'}],\n]);\n\nexport function convertApiPayoutType(t: ApiPayoutType): PayoutTypeLabel {\n return payoutTypeLabelMap.get(t)\n}\n\nexport interface Payout {\n id: string;\n arrivalDate: Date;\n amount: number;\n status: PayoutStatusLabel;\n type: PayoutTypeLabel;\n currency: Currency;\n lastFourDigits: string;\n bankName: string;\n bankId: string\n}\n\nexport function payoutFromApi(r: ApiPayout): Payout {\n return {\n id: r.id,\n arrivalDate: r.arrivalDate ? new Date(r.arrivalDate) : null,\n amount: r.amount,\n type: convertApiPayoutType(r.type),\n status: convertApiPayoutStatus(r.status),\n currency: currencyFromApi(r.currency),\n lastFourDigits: r.lastFourDigits,\n bankName: r.bankName,\n bankId: r.bankId,\n } as Payout;\n}\n\n","export enum SortDirection {\n Ascending = 0,\n Descending\n}\n","export class PagedResponse<T> {\n results: T[];\n nextCursor: string;\n hasMore: boolean;\n\n constructor(results: T[], nextCursor: string, hasMore: boolean) {\n this.results = results;\n this.nextCursor = nextCursor;\n this.hasMore = hasMore;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { PagedResponse } from '../core';\nimport {\n BankReconciliationApiService,\n DateRange,\n ListPayoutsRequest,\n ListPayoutsRequestFilters,\n ListPayoutsResponse,\n PagedRequestOptions,\n ReconcilePayoutRequest,\n ReconcilePayoutResponse,\n} from '../_internal';\nimport { Payout, payoutFromApi } from './payout';\n\n@Injectable({providedIn: 'root'})\nexport class BankReconciliationService {\n constructor( private apiService: BankReconciliationApiService ) { }\n\n reconcilePayout(bankReconciliationId: string, payoutId: string): Observable<string> {\n return this.apiService.reconcilePayout(new ReconcilePayoutRequest({\n payoutId: payoutId,\n bankReconciliationId: bankReconciliationId,\n })).pipe(\n map((resp: ReconcilePayoutResponse) => resp ? resp.pipelineId : '')\n )\n }\n\n listPayouts(arrivalDateStart: Date, arrivalDateEnd: Date, pageSize: number, cursor: string): Observable<PagedResponse<Payout>> {\n return this.apiService\n .listPayouts(new ListPayoutsRequest({\n filters: new ListPayoutsRequestFilters({\n arrivalDateRange: new DateRange ({\n start: arrivalDateStart,\n end: arrivalDateEnd,\n })\n }),\n pagingOptions: new PagedRequestOptions({\n cursor: cursor,\n pageSize: pageSize,\n })\n }))\n .pipe(\n map((resp: ListPayoutsResponse) => {\n if (!resp) {\n return new PagedResponse([], '', false);\n }\n const payouts = (resp.payouts || []).map((pbPayout) => payoutFromApi(pbPayout));\n\n let nextCursor = '';\n let hasMore = false;\n if (resp.pagingMetadata) {\n nextCursor = resp.pagingMetadata.nextCursor;\n hasMore = resp.pagingMetadata.hasMore;\n }\n return new PagedResponse(payouts, nextCursor, hasMore);\n }),\n )\n }\n}\n","import {BillableItemInterface, BillableItemCustomerAddressInterface} from '../_internal/interfaces';\nimport {Frequency, frequencyFromApi} from '../pricing';\n\nexport interface ListBillableItemsFilter {\n skus?: string[];\n merchantId?: string;\n customerId?: string;\n}\n\nexport interface ListSubscriptionsFilterHttp {\n skus?: string[];\n merchantId?: string;\n customerId?: string;\n}\n\nexport interface CustomerAddress {\n address?: string;\n city?: string;\n state?: string;\n zip?: string;\n country?: string;\n}\n\nexport interface BillableItem {\n merchantId: string;\n sku: string;\n productName: string;\n customerId: string;\n customerName: string;\n orderId: string;\n expiry: Date;\n billingStart: Date;\n created: Date;\n updated: Date;\n frequency: Frequency;\n retailFrequency: Frequency;\n nextRenewal: Date;\n nextRetailRenewal: Date;\n customerAddress: CustomerAddress;\n customUnitPrice: number;\n retailUnitPrice: number;\n}\n\nfunction customerAddressFromApi(apiAddress: BillableItemCustomerAddressInterface): CustomerAddress {\n return {\n address: apiAddress ? (apiAddress.address || '') : '',\n city: apiAddress ? (apiAddress.city || '') : '',\n state: apiAddress ? (apiAddress.state || '') : '',\n zip: apiAddress ? (apiAddress.zip || '') : '',\n country: apiAddress ? (apiAddress.country || '') : '',\n };\n}\n\nexport function billableItemFromApi(apiItem: BillableItemInterface): BillableItem {\n const zeroDate = new Date('0001-01-01T00:00:00Z').valueOf();\n\n return {\n merchantId: apiItem.merchantId || '',\n sku: apiItem.sku || '',\n productName: apiItem.productName || '',\n customerId: apiItem.customerId || '',\n customerName: apiItem.customerName || '',\n orderId: apiItem.orderId || '',\n expiry: apiItem.expiry.valueOf() !== zeroDate ? new Date(apiItem.expiry) : null,\n billingStart: apiItem.billingStart.valueOf() !== zeroDate ? new Date(apiItem.billingStart) : null,\n created: apiItem.created.valueOf() !== zeroDate ? new Date(apiItem.created) : null,\n updated: apiItem.updated.valueOf() !== zeroDate ? new Date(apiItem.updated) : null,\n frequency: frequencyFromApi(apiItem.frequency),\n retailFrequency: frequencyFromApi(apiItem.retailFrequency),\n nextRenewal: apiItem.nextRenewal.valueOf() !== zeroDate ? new Date(apiItem.nextRenewal) : null,\n nextRetailRenewal: apiItem.nextRetailRenewal.valueOf() !== zeroDate ? new Date(apiItem.nextRetailRenewal) : null,\n customerAddress: customerAddressFromApi(apiItem.customerAddress),\n customUnitPrice: apiItem.customUnitPrice || 0,\n retailUnitPrice: apiItem.retailUnitPrice || 0\n };\n}\n\n\nexport function listSubscriptionsFiltersToHTTPJson(filters: ListBillableItemsFilter): ListSubscriptionsFilterHttp {\n return {\n merchantId: filters.merchantId,\n customerId: filters.customerId,\n skus: filters.skus,\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { share } from 'rxjs/operators';\nimport { HostService } from '../_generated';\nimport { ListBillableItemsFilter, listSubscriptionsFiltersToHTTPJson } from './billable-item';\n\n@Injectable({providedIn: 'root'})\nexport class SubscriptionService {\n\n constructor(\n private hostService: HostService,\n private http: HttpClient\n ) {\n }\n\n exportCSV(filters: ListBillableItemsFilter): Observable<Blob> {\n const jsonFilters = listSubscriptionsFiltersToHTTPJson(filters)\n return this.http.post(\n `${this.hostService.httpsHostWithScheme()}/subscription/export-csv`, {filters: jsonFilters},\n {\n observe: 'body',\n responseType: 'blob',\n withCredentials: true,\n }\n ).pipe(\n share(),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { EnvironmentService, Environment } from '@vendasta/core';\n\n@Injectable({providedIn: 'root'})\nexport class BillingHostService {\n\n private billingHosts: Map<Environment, string> = new Map([\n [Environment.LOCAL, 'http://localhost:8088'],\n [Environment.DEMO, 'https://vbilling-demo.appspot.com'],\n [Environment.PROD, 'https://vbilling-prod.appspot.com']\n ]);\n private microserviceHosts: Map<Environment, string> = new Map([\n [Environment.DEMO, 'https://billing-api-demo.vendasta-internal.com'],\n [Environment.PROD, 'https://billing-api-prod.vendasta-internal.com']\n ]);\n\n private env: Environment;\n\n constructor(private environment: EnvironmentService) {\n }\n\n get billingHost(): string {\n if (!this.env) {\n this.env = this.environment.getEnvironment();\n }\n\n return this.billingHosts.get(this.env);\n }\n\n get microserviceHost(): string {\n if (!this.env) {\n this.env = this.environment.getEnvironment();\n }\n\n return this.microserviceHosts.get(this.env);\n }\n\n get constructInvoiceRoute(): string {\n return `${this.billingHost}/internalApi/v1/invoice/construct/`;\n }\n}\n","import { throwError as observableThrowError, Observable } from 'rxjs';\nimport { HttpErrorResponse } from '@angular/common/http';\n\nexport function handleCsvError(error: HttpErrorResponse): Observable<never> {\n if (error.error instanceof ErrorEvent) {\n console.error(`An error occurred:`, error.error.message);\n } else {\n console.error(\n `Server returned ${error.message}`\n );\n }\n\n return observableThrowError(`Unable to download csv`);\n}\n\nexport function handleFileUploadError(error: HttpErrorResponse): Observable<never> {\n if (error.error instanceof ErrorEvent) {\n console.error(`An error occurred:`, error.error.message);\n } else {\n console.error(\n `Server returned ${error.message}`\n );\n }\n\n return observableThrowError(`Unable to upload file`);\n}\n","/* Api service for billing's http endpoints */\n\nimport { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { share, catchError } from 'rxjs/operators';\nimport { HostService } from '../_generated';\nimport { DownloadCsvRequestInterface } from './revenue.interfaces';\nimport { handleCsvError } from '../http-shared/error-handlers';\n\n@Injectable({providedIn: 'root'})\nexport class RevenueApiService {\n constructor(private hostService: HostService, private http: HttpClient ) { }\n\n downloadCsv(r: DownloadCsvRequestInterface): Observable<Blob> {\n const queryParams = `?filename=${r.filename}`;\n return this.http.get(\n this.hostService.httpsHostWithScheme() + '/revenue-csv' + queryParams,\n this.apiOptions()\n ).pipe(\n share(),\n catchError(handleCsvError)\n );\n }\n\n private apiOptions(): { responseType: 'blob', withCredentials: boolean } {\n return {\n responseType: 'blob',\n withCredentials: true\n }\n }\n}\n","/* Api service for billing's http endpoints */\n\nimport { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { HostService } from '../_generated';\nimport { DownloadMerchantReportCsvRequest } from './merchant-report.interfaces';\nimport { Observable } from 'rxjs';\nimport { share, catchError } from 'rxjs/operators';\nimport { handleCsvError } from '../http-shared/error-handlers';\n\n@Injectable({providedIn: 'root'})\nexport class MerchantReportApiService {\n constructor(private hostService: HostService, private http: HttpClient ) { }\n\n downloadCsv(r: DownloadMerchantReportCsvRequest): Observable<Blob> {\n const queryParams = `?merchantID=${r.merchantId}&year=${r.year}&month=${r.month}`;\n return this.http.get(\n this.hostService.httpsHostWithScheme() + '/billing-report/get' + queryParams,\n this.apiOptions()\n ).pipe(\n share(),\n catchError(handleCsvError)\n );\n }\n\n generateCsv(r: DownloadMerchantReportCsvRequest): Observable<Blob> {\n const queryParams = `?merchantID=${r.merchantId}&year=${r.year}&month=${r.month}`;\n return this.http.get(\n this.hostService.httpsHostWithScheme() + '/billing-report/generate' + queryParams,\n this.apiOptions()\n ).pipe(\n share(),\n catchError(handleCsvError)\n );\n }\n\n private apiOptions(): { responseType: 'blob', withCredentials: boolean } {\n return {\n responseType: 'blob',\n withCredentials: true\n }\n }\n}\n","import { PurchaseStatus as PurchaseStatusApi } from '../_internal';\n\nexport enum PurchaseStatus {\n Unset = 'UNSET',\n Pending = 'PENDING',\n Due = 'DUE',\n Success = 'SUCCESS',\n Dunning = 'DUNNING',\n Failed = 'FAILED',\n}\n\n\n\nexport function purchaseStatusFromApi(psApi: PurchaseStatusApi): PurchaseStatus {\n switch (psApi) {\n case PurchaseStatusApi.PURCHASE_STATUS_PENDING:\n return PurchaseStatus.Pending;\n case PurchaseStatusApi.PURCHASE_STATUS_DUE:\n return PurchaseStatus.Due;\n case PurchaseStatusApi.PURCHASE_STATUS_SUCCESS:\n return PurchaseStatus.Success;\n case PurchaseStatusApi.PURCHASE_STATUS_DUNNING:\n return PurchaseStatus.Dunning;\n case PurchaseStatusApi.PURCHASE_STATUS_FAILED:\n return PurchaseStatus.Failed;\n }\n return PurchaseStatus.Unset\n}\n","import { AppliedDiscount, appliedDiscountFromApi } from '../applied_discount';\nimport { AppliedTaxRate } from '../invoice/invoice';\nimport {\n BillingStrategy,\n billingStrategyFromAPI,\n Currency,\n currencyFromApi,\n} from '../pricing';\nimport {\n AppliedCreditInterface,\n AppliedTaxRateInterface,\n CreditType,\n Currency as CurrencyApi,\n PurchaseInterface,\n PurchaseItemInterface,\n} from '../_internal';\nimport { PurchaseStatus, purchaseStatusFromApi } from './purchase_status';\n\nexport interface Purchase {\n merchantId: string;\n timestamp: Date;\n purchaseId: string;\n total: number;\n currency: Currency;\n renewal: boolean;\n items: PurchaseItem[];\n billingStrategy: BillingStrategy;\n isDunning: boolean;\n dunningAttempt: number;\n voided: Date;\n paid: boolean;\n status: PurchaseStatus;\n creditAmount: number;\n appliedCredits: AppliedCredit[];\n taxAmount: number;\n appliedTaxRates: AppliedTaxRate[];\n}\n\nexport enum AppliedCreditType {\n CREDIT_TYPE_CREDIT_NOTE = 'Credit note',\n CREDIT_TYPE_PROMOTIONAL = 'Promotional',\n CREDIT_TYPE_UNSET = '',\n}\n\nexport interface AppliedCredit {\n appliedAmount: number;\n referenceId: string;\n referenceType: AppliedCreditType;\n}\n\nexport interface PurchaseItem {\n sku: string;\n description: string;\n amount: number;\n orderId: string;\n customerId: string;\n discountAmount: number;\n total: number;\n currency?: Currency;\n appliedDiscounts: AppliedDiscount[];\n taxAmount: number;\n appliedTaxRates: AppliedTaxRate[];\n setupFee?: number;\n\n merchantId: string;\n purchaseDay: string;\n purchaseId: string;\n}\n\nexport function purchaseFromApi(pApi: PurchaseInterface): Purchase {\n return {\n merchantId: pApi.merchantId || '',\n timestamp: pApi.timestamp ? new Date(pApi.timestamp) : null,\n purchaseId: pApi.purchaseId || '',\n total: pApi.total || 0,\n currency: pApi.currency ? currencyFromApi(pApi.currency) : Currency.USD,\n renewal: pApi.renewal || false,\n items: pApi.items ? pApi.items.map(p => purchaseItemFromApi(p)) : [],\n billingStrategy: billingStrategyFromAPI(pApi.billingStrategy),\n isDunning: pApi.isDunning || false,\n dunningAttempt: pApi.dunningAttempt || 0,\n voided: pApi.voided ? new Date(pApi.voided) : null,\n paid: pApi.paid || false,\n status: purchaseStatusFromApi(pApi.status),\n creditAmount: pApi.creditAmount || 0,\n appliedCredits: pApi.appliedCredits ? pApi.appliedCredits.map(ac => appliedCreditFromAPI(ac)) : [],\n taxAmount: pApi.taxAmount || 0,\n appliedTaxRates: (pApi.appliedTaxRates || []).map((at) => appliedTaxRateFromAPI(at))\n }\n}\n\nexport function purchaseItemFromApi(pApi: PurchaseItemInterface, currencyApi?: CurrencyApi): PurchaseItem {\n let currency;\n if (currencyApi !== undefined) {\n currency = currencyFromApi(currencyApi);\n }\n return {\n sku: pApi.sku || '',\n description: pApi.description || null,\n amount: pApi.amount || 0,\n orderId: pApi.orderId || '',\n customerId: pApi.customerId || '',\n discountAmount: pApi.discountAmount || 0,\n total: pApi.total || 0,\n currency: currency || Currency.USD,\n appliedDiscounts: pApi.appliedDiscounts ? pApi.appliedDiscounts.map(p => appliedDiscountFromApi(p)) : [],\n merchantId: pApi.merchantId,\n purchaseDay: pApi.day,\n purchaseId: pApi.purchaseId,\n taxAmount: pApi.taxAmount || 0,\n appliedTaxRates: (pApi.appliedTaxRates || []).map((at) => appliedTaxRateFromAPI(at)),\n setupFee: pApi.setupFee || 0\n }\n}\n\nexport function appliedCreditFromAPI(ac: AppliedCreditInterface): AppliedCredit {\n return {\n appliedAmount: ac.appliedAmount,\n referenceId: ac.referenceId,\n referenceType: appliedCreditTypeFromAPI(ac.referenceType)\n }\n}\n\nexport function appliedCreditTypeFromAPI(adt: CreditType): AppliedCreditType {\n switch (adt) {\n case CreditType.CREDIT_TYPE_CREDIT_NOTE:\n return AppliedCreditType.CREDIT_TYPE_CREDIT_NOTE;\n case CreditType.CREDIT_TYPE_PROMOTIONAL:\n return AppliedCreditType.CREDIT_TYPE_PROMOTIONAL\n }\n return AppliedCreditType.CREDIT_TYPE_UNSET;\n}\n\nexport function appliedTaxRateFromAPI(at: AppliedTaxRateInterface): AppliedTaxRate {\n return {\n amount: at.amount || 0,\n name: at.name || '',\n percentage: at.percentage || 0,\n taxRateId: at.taxRateId || '',\n }\n}\n","import {CustomerSummaryInterface} from '../_internal/interfaces';\nimport {Currency, currencyFromApi} from '../pricing';\n\n\nexport interface CustomerSummary {\n customerId: string;\n purchaseItemQuantity: number;\n purchaseItemTotal: number;\n currency: Currency;\n}\n\n\nexport function customerSummaryFromApi(csApi: CustomerSummaryInterface): CustomerSummary {\n let currency;\n if (csApi.currency !== undefined) {\n currency = currencyFromApi(csApi.currency);\n }\n return {\n customerId: csApi.customerId || '',\n purchaseItemQuantity: csApi.purchaseItemQuantity || 0,\n purchaseItemTotal: csApi.purchaseItemTotal || 0,\n currency: currency || Currency.USD\n }\n};\n","export class Dimension {\n dimensionId: string;\n name: string;\n\n constructor(id: string) {\n this.dimensionId = id;\n this.name = DimensionNameFromId[id] || '';\n }\n}\n\nconst DimensionNameFromId: {[id: string]: string} = {\n 'existing_enterprise': 'Existing Enterprise',\n 'new_enterprise': 'New Enterprise',\n 'agency': 'Agency',\n 'CP_unassisted': 'Channel Partners, Unassisted (PLG)',\n 'CP_growth_MT': 'Channel Partners, Growth (Medium-Touch)',\n 'CP_growth_HT': 'Channel Partners, Growth (High-Touch)',\n};\n\nexport const Agency = new Dimension('agency');\nexport const NewEnterprise = new Dimension('new_enterprise');\nexport const ExistingEnterprise = new Dimension('existing_enterprise');\nexport const ChannelPartnersUnassistedPLG = new Dimension('CP_unassisted');\nexport const ChannelPartnersGrowthMediumTouch = new Dimension('CP_growth_MT');\nexport const ChannelPartnersGrowthHighTouch = new Dimension('CP_growth_HT');\n\n\n","import { ContractInterface } from '../_internal';\nimport { Currency, currencyFromApi } from '../pricing';\nimport { Dimension } from './dimension';\n\nexport interface Contract {\n merchantId: string;\n netD: number;\n created: Date;\n subscriptionId: string;\n dimension: Dimension;\n currency: Currency\n signed: Date;\n end: Date;\n activated: Date;\n modified: Date;\n verified: Date;\n status: string;\n creditLimit: number;\n pricingPlanId: string;\n}\n\nexport function contractFromApi(cApi: ContractInterface): Contract {\n return {\n merchantId: cApi.merchantId || '',\n netD: cApi.netD || 0,\n created: cApi.created || null,\n subscriptionId: cApi.subscriptionId || '',\n dimension: new Dimension(cApi.dimension),\n currency: currencyFromApi(cApi.currency),\n signed: cApi.signed || null,\n end: cApi.end || null,\n activated: cApi.activated || null,\n modified: cApi.modified || null,\n verified: cApi.verified || null,\n status: cApi.status || '',\n creditLimit: cApi.creditLimit || 0,\n pricingPlanId: cApi.pricingPlanId || '',\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport {ContractApiService, UpdateContractRequestMutationInterface} from '../_internal';\nimport {Contract, contractFromApi} from './contract';\n\n@Injectable({providedIn: 'root'})\nexport class ContractService {\n constructor(private api: ContractApiService) {}\n\n /**\n * Get a contract by its identifier.\n *\n * @param merchantId is the unique identifier of the merchant.\n * @return An contract observable.\n */\n public get(merchantId: string): Observable<Contract> {\n return this.api.get({merchantId}).pipe(map(c => contractFromApi(c.contract)))\n }\n\n /**\n * Update a contract with a new value.\n *\n * @param merchantId is a string that identifies the contract to update.\n * @param mutations is a list of mutations to apply to the contract.\n * Each mutation object should only contain one value.\n * @return An observable of the update contract.\n */\n public update(merchantId: string, mutations: UpdateContractRequestMutationInterface[]): Observable<Contract> {\n return this.api.update({merchantId, mutations}).pipe(map(c => contractFromApi(c.contract)))\n }\n}\n","import {UpdateContractRequestMutationInterface} from '../_internal';\n\nexport const setNetD = (netD: number): UpdateContractRequestMutationInterface => ({netD});\nexport const setCurrencyCode = (currencyCode: string): UpdateContractRequestMutationInterface => ({currencyCode});\nexport const setStatus = (status: string): UpdateContractRequestMutationInterface => ({status});\nexport const setDimension = (dimension: string): UpdateContractRequestMutationInterface => ({dimension});\nexport const setSigned = (signed: Date): UpdateContractRequestMutationInterface => ({signed});\nexport const setActivated = (activated: Date): UpdateContractRequestMutationInterface => ({activated});\nexport const setEnd = (end: Date): UpdateContractRequestMutationInterface => ({end});\nexport const setModified = (modified: Date): UpdateContractRequestMutationInterface => ({modified});\nexport const setCreditLimit = (creditLimit: number): UpdateContractRequestMutationInterface => ({creditLimit});\nexport const setSubscriptionId = (subscriptionId: string): UpdateContractRequestMutationInterface => ({subscriptionId});\n","import { ProductInterface } from '../_internal';\n\nexport interface Product {\n name: string;\n sku: string;\n iconUrl: string;\n hasPricingOverride: boolean;\n hasDiscount: boolean;\n}\n\nexport function productFromApi(apiProduct: ProductInterface): Product {\n return {\n name: apiProduct.name || '',\n sku: apiProduct.sku || '',\n iconUrl: apiProduct.iconUrl || '',\n hasPricingOverride: apiProduct.hasPricingOverride || false,\n hasDiscount: apiProduct.hasDiscount || false\n };\n}\n","import { ListProductsRequestListProductsFiltersInterface, ProductType as ApiProductType } from '../_internal';\n\nexport interface ListProductsFilter {\n hasDiscount?: boolean;\n hasPricingOverride?: boolean;\n skus?: string[];\n productType?: ProductType[];\n}\n\nexport enum ProductType {\n Invalid,\n Standard,\n Vendasta,\n Subscription,\n Fee,\n PartnerSupportSales,\n};\n\nexport function listProductsFilterToApi(filter: ListProductsFilter): ListProductsRequestListProductsFiltersInterface {\n return {\n ...filter,\n productType: (filter.productType || []).map(pt => productTypeToApi(pt))\n }\n}\n\nfunction productTypeToApi(productType: ProductType): ApiProductType {\n switch (productType) {\n case ProductType.Standard:\n return ApiProductType.PRODUCT_TYPE_STANDARD_PRODUCT;\n case ProductType.Vendasta:\n return ApiProductType.PRODUCT_TYPE_VENDASTA_PRODUCT;\n case ProductType.Subscription:\n return ApiProductType.PRODUCT_TYPE_SUBSCRIPTION;\n case ProductType.Fee:\n return ApiProductType.PRODUCT_TYPE_FEE;\n case ProductType.PartnerSupportSales:\n return ApiProductType.PRODUCT_TYPE_PARTNER_SUPPORT_SALES;\n }\n return ApiProductType.PRODUCT_TYPE_INVALID;\n}\n","import { Injectable } from '@angular/core';\nimport { BillingApiService } from './_internal/billing.api.service';\nimport {\n GenerateVendorReportRequest,\n GetPurchaseCostRequest,\n GetPurchaseCostResponse,\n GetRevenueStatsRequest,\n} from './_internal/objects/api';\nimport {\n GetBillableItemRequest,\n ListBillableItemsRequest,\n} from './_internal/objects/billable-item';\nimport {\n PagedRequestOptions,\n} from './_internal/objects/common';\nimport {\n ListMerchantBillingReportsRequest,\n} from './_internal/objects/merchant-report';\nimport {\n ListContractsRequest,\n} from './_internal/objects/contract';\nimport {\n GetMultiCustomerSummariesRequest,\n} from './_internal/objects/customer-summary';\nimport {\n BillingStrategy,\n billingStrategyFromAPI,\n billingStrategyToAPI,\n ListPricingPlanProductFilter,\n PricingPlanProduct,\n pricingPlanProductFromApi,\n} from './pricing';\nimport {\n CreatePricingPlanProductRequest,\n DeletePricingPlanProductRequest,\n GetPricingPlanProductRequest,\n ListPricingPlanProductsRequest,\n UpdatePricingPlanProductRequest,\n} from './_internal/objects/pricing-plan-product';\nimport {\n GetMultiProductRequest,\n GetMultiProductResponse,\n ListProductsRequest\n} from './_internal/objects/product';\nimport {\n ListPurchaseItemsRequestListPurchaseItemsFilters,\n ListPurchaseRequest,\n RetryPurchaseRequest,\n VoidPurchaseRequest,\n} from './_internal/objects/purchase';\nimport {\n CanCreateSubscriptionsResponse,\n CanCreateSubscriptionsRequest,\n ChangeFrequencyRequest,\n ChangeRenewalDateRequest,\n ChangeCustomUnitPriceRequest,\n} from './_internal/objects/subscription'\nimport { MerchantReportStatus } from './_internal/enums/merchant-report.enum';\nimport { Observable } from 'rxjs';\nimport { map, mapTo } from 'rxjs/operators';\nimport { Currency } from './_internal/enums/currency.enum';\nimport { RevenueApiService } from './revenue/revenue.service';\nimport { MerchantReportApiService } from './merchant-report/merchant-report.service';\nimport { MerchantReport } from './merchant-report/merchant-report';\nimport {HttpResponse} from '@angular/common/http';\nimport {ProductPricing, productPricingFromApi} from './pricing/product-pricing';\nimport {PagedResponse} from './core/paged-response';\nimport { Frequency, frequencyToApi } from './pricing/frequency';\nimport { Commitment as CommitmentApi } from './_internal/objects/commitment';\nimport { Commitment } from './pricing/commitment';\nimport { CurrencyPricingMap, currencyPricingMapToApi } from './pricing/pricing-plan-product';\nimport { FieldMask } from './_internal/objects/field-mask';\nimport { PurchaseApiService } from './_internal/purchase.api.service';\nimport { Purchase, purchaseFromApi, PurchaseItem, purchaseItemFromApi } from './purchase/purchase';\nimport { ListPurchaseFilter } from './purchase/list-purchases';\nimport { VendorApiService } from './_internal/vendor.api.service';\nimport { CustomerSummary, customerSummaryFromApi } from './customer_summary/customer-summary';\nimport { Contract, contractFromApi } from './contract';\nimport { Product, productFromApi } from './product/product';\nimport { ListProductsFilter, listProductsFilterToApi } from './product/list-products';\nimport { BillableItem, billableItemFromApi, ListBillableItemsFilter } from './billable-item/billable-item';\nimport { PricingApiService } from './_internal/pricing.api.service';\nimport { CanCreateSubscriptionsItem } from './subscription';\n\n@Injectable({providedIn: 'root'})\nexport class BillingService {\n constructor(\n private billingApi: BillingApiService,\n private revenueApi: RevenueApiService,\n private merchantReportApi: MerchantReportApiService,\n private pricingApi: PricingApiService,\n private purchaseApi: PurchaseApiService,\n private vendorApi: VendorApiService,\n ) { }\n\n /** deprecated */\n getPurchaseCost(merchantId: string, sku: string, quantity: number): Observable<GetPurchaseCostResponse> {\n const req = new GetPurchaseCostRequest({\n merchantId: merchantId,\n sku: sku,\n quantity: quantity,\n });\n return this.billingApi.getPurchaseCost(req).pipe(\n map(response => {\n if (!response.currency) {\n response.currency = Currency.USD;\n }\n return response;\n }),\n );\n }\n\n /** deprecated: Use canCreateSubscriptionsWithFrequencies instead. */\n canCreateSubscriptions(\n merchantId: string,\n skus: { [sku: string]: number }\n ): Observable<CanCreateSubscriptionsResponse> {\n const req = new CanCreateSubscriptionsRequest({\n merchantId: merchantId,\n skus: skus,\n });\n return this.billingApi.canCreateSubscriptions(req);\n }\n\n canCreateSubscriptionsWithFrequencies(\n merchantId: string,\n items: CanCreateSubscriptionsItem[]\n ): Observable<CanCreateSubscriptionsResponse> {\n const req = new CanCreateSubscriptionsRequest({\n merchantId: merchantId,\n items: items && items.map(item => {\n if (!item) {\n return null;\n }\n return {\n sku: item.sku,\n frequency: frequencyToApi(item.frequency),\n quantity: item.quantity || 0,\n };\n }),\n });\n return this.billingApi.canCreateSubscriptions(req);\n }\n\n downloadRevenueCsv(filename: string): Observable<Blob> {\n return this.revenueApi.downloadCsv({ filename });\n }\n\n downloadBillingReportCsv(merchantId: string, year: number, month: number): Observable<Blob> {\n return this.merchantReportApi.downloadCsv({ merchantId, year, month });\n }\n\n generateBillingReportCsv(merchantId: string, year: number, month: number): Observable<Blob> {\n return this.merchantReportApi.generateCsv({ merchantId, year, month });\n }\n\n listMerchantBillingReports(\n merchantId: string,\n cursor: string,\n pageSize: number,\n ): Observable<PagedResponse<MerchantReport>> {\n const req = new ListMerchantBillingReportsRequest({\n merchantId: merchantId,\n pagingOptions: new PagedRequestOptions({ cursor, pageSize }),\n });\n return this.billingApi.listMerchantBillingReports(req).pipe(\n map(resp => {\n const reports = (resp.reports || []).map(r => {\n return {\n merchantId: r.merchantId,\n year: r.year,\n month: r.month,\n created: r.created,\n status: MerchantReportStatus[r.status || 0],\n } as MerchantReport;\n });\n return new PagedResponse<MerchantReport>(reports, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore);\n }),\n );\n }\n\n canBillCreateSnapshot(merchantId: string): Observable<HttpResponse<null>> {\n return this.billingApi.canBillItem({ merchantId: merchantId, sku: 'ST' });\n }\n\n canBillRefreshSnapshot(merchantId: string): Observable<HttpResponse<null>> {\n return this.billingApi.canBillItem({ merchantId: merchantId, sku: 'snapshotreportrefresh' });\n }\n\n canBillItem(merchantId: string, sku: string): Observable<boolean> {\n return this.billingApi.canBillItem({ merchantId: merchantId, sku: sku }).pipe(map(response => response.ok));\n }\n\n createPricingPlanProduct(\n pricingPlanId: string,\n sku: string,\n frequency: Frequency,\n pricing: CurrencyPricingMap,\n commitment: Commitment,\n strategy: BillingStrategy,\n volumeCommitment: number\n ): Observable<boolean> {\n const request = new CreatePricingPlanProductRequest({ pricingPlanId, sku, volumeCommitment });\n request.frequency = frequencyToApi(frequency);\n request.pricing = currencyPricingMapToApi(pricing);\n request.commitment = new CommitmentApi(commitment);\n request.strategy = billingStrategyToAPI(strategy);\n return this.billingApi.createPricingPlanProduct(request).pipe(mapTo(true));\n }\n\n updatePricingPlanProduct(\n pricingPlanId: string,\n sku: string,\n {\n frequency,\n pricing,\n commitment,\n strategy,\n volumeCommitment\n }: {\n frequency?: Frequency;\n pricing?: CurrencyPricingMap;\n commitment?: Commitment;\n strategy?: BillingStrategy;\n volumeCommitment?: number;\n },\n ): Observable<boolean> {\n const fieldMask = new FieldMask({ paths: [] });\n const request = new UpdatePricingPlanProductRequest({ pricingPlanId, sku });\n\n if (frequency !== null) {\n request.frequency = frequencyToApi(frequency);\n fieldMask.paths.push('frequency');\n }\n if (pricing !== null) {\n request.pricing = currencyPricingMapToApi(pricing);\n fieldMask.paths.push('pricing');\n }\n if (commitment !== null) {\n request.commitment = new CommitmentApi(commitment);\n fieldMask.paths.push('commitment');\n }\n if (strategy !== null) {\n request.strategy = billingStrategyToAPI(strategy);\n fieldMask.paths.push('strategy');\n }\n if (volumeCommitment !== null) {\n request.volumeCommitment = volumeCommitment;\n fieldMask.paths.push('volumeCommitment');\n }\n return this.billingApi.updatePricingPlanProduct(request).pipe(mapTo(true));\n }\n\n deletePricingPlanProduct(pricingPlanId: string, sku: string): Observable<boolean> {\n const request = new DeletePricingPlanProductRequest({ pricingPlanId, sku });\n return this.billingApi.deletePricingPlanProduct(request).pipe(mapTo(true));\n }\n\n /** deprecated - Use getMultiWholesalePrices from the WholesalePricingService */\n getMultiProductPricing(\n merchantId: string,\n skus: string[],\n pricingPlanId?: string,\n ): Observable<{ [sku: string]: ProductPricing }> {\n return this.billingApi.getMultiProductPricing({ merchantId, skus, pricingPlanId }).pipe(\n map(r => {\n const productPricesApi = r.productPrices || {};\n const productPricings = {};\n for (const k of Object.keys(productPricesApi)) {\n const productPricingResponse = productPricesApi[k];\n productPricings[k] = productPricingFromApi(productPricingResponse);\n }\n return productPricings;\n }),\n );\n }\n\n /** deprecated - Use getMultiRetailPrices from the RetailPricingService */\n getMultiRetailPricing(\n merchantId: string,\n currency: Currency,\n skus: string[],\n groupId?: string,\n ): Observable<{ [sku: string]: ProductPricing }> {\n const requestGroupId: string = groupId === undefined ? '' : groupId;\n return this.pricingApi.getMultiRetail({ merchantId, currency, skus, groupId: requestGroupId }).pipe(\n map(r => {\n const retailPricesApi = r.productPrices || {};\n const retailPricings = {};\n for (const k of Object.keys(retailPricesApi)) {\n const retailPricingResponse = retailPricesApi[k]\n retailPricings[k] = productPricingFromApi(retailPricingResponse)\n }\n return retailPricings;\n }),\n );\n }\n\n listPricingPlanProducts(\n filters: ListPricingPlanProductFilter,\n cursor: string,\n pageSize: number,\n ): Observable<PagedResponse<PricingPlanProduct>> {\n const req = new ListPricingPlanProductsRequest({\n filters: filters,\n pagingOptions: new PagedRequestOptions({ cursor, pageSize }),\n });\n return this.billingApi.listPricingPlanProducts(req).pipe(\n map(response => {\n const products = (response.products || []).map(p => pricingPlanProductFromApi(p));\n return new PagedResponse(products, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);\n }),\n );\n }\n\n getPricingPlanProduct(pricingPlanId: string, sku: string): Observable<PricingPlanProduct> {\n const req = new GetPricingPlanProductRequest({ pricingPlanId, sku });\n return this.billingApi.getPricingPlanProduct(req).pipe(\n map(resp => {\n const ppp: PricingPlanProduct = pricingPlanProductFromApi(resp.pricingPlanProduct);\n ppp.defaultStrategy = billingStrategyFromAPI(resp.pricingPlanDefaultStrategy);\n return ppp;\n })\n );\n }\n\n listPurchases(filters: ListPurchaseFilter, cursor: string, pageSize: number): Observable<PagedResponse<Purchase>> {\n const req = new ListPurchaseRequest({\n filters: filters,\n pagingOptions: new PagedRequestOptions({ cursor, pageSize }),\n });\n return this.purchaseApi.list(req).pipe(\n map(response => {\n const purchases = (response.purchases || []).map(purchase => purchaseFromApi(purchase));\n return new PagedResponse(purchases, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);\n }),\n );\n }\n\n voidPurchase(merchantId: string, purchaseId: string, day: string): Observable<boolean> {\n const req = new VoidPurchaseRequest({ purchaseId, merchantId, day });\n return this.purchaseApi.void(req).pipe(mapTo(true))\n }\n\n listPurchaseItems(\n filters: ListPurchaseItemsRequestListPurchaseItemsFilters,\n cursor: string,\n pageSize: number,\n ): Observable<PagedResponse<PurchaseItem>> {\n const req = new ListPurchaseRequest({\n filters: filters,\n pagingOptions: new PagedRequestOptions({ cursor, pageSize }),\n });\n return this.purchaseApi.listPurchaseItems(req).pipe(\n map(response => {\n const purchaseItems = (response.purchaseItems || []).map(purchaseItem =>\n purchaseItemFromApi(purchaseItem, response.currency),\n );\n return new PagedResponse(purchaseItems, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);\n }),\n );\n }\n\n retryPurchase(merchantId: string, day: string, purchaseId: string): Observable<boolean> {\n const req = new RetryPurchaseRequest({\n merchantId: merchantId,\n day: day,\n purchaseId: purchaseId,\n });\n return this.purchaseApi.retry(req).pipe(map(() => true));\n }\n\n getMultiCustomerSummaries(\n merchantId: string,\n customerIds: string[],\n periodStart: Date,\n periodEnd: Date,\n ): Observable<CustomerSummary[]> {\n const req = new GetMultiCustomerSummariesRequest({\n customerIds: customerIds,\n merchantId: merchantId,\n periodStart: periodStart,\n periodEnd: periodEnd,\n });\n return this.purchaseApi.getMultiCustomerSummaries(req).pipe(\n map(response => {\n return (response.customerSummaries || []).map(customerSummary => customerSummaryFromApi(customerSummary));\n }),\n );\n }\n\n getMultiContract(merchantIds: string[]): Observable<{ [sku: string]: Contract }> {\n return this.billingApi.getMultiContract({ merchantIds: merchantIds }).pipe(\n map(resp => {\n const contractsAPI = resp.contracts || {};\n const contracts = {};\n for (const k of Object.keys(contractsAPI)) {\n const contractResponse = contractsAPI[k];\n contracts[k] = contractFromApi(contractResponse);\n }\n return contracts;\n }),\n );\n }\n\n generateVendorReport(\n skus: string[],\n periodStart: Date,\n periodEnd: Date,\n vendorName: string,\n markAsApproved: boolean\n ): Observable<string> {\n const req = new GenerateVendorReportRequest({\n skus: skus,\n periodStart: periodStart,\n periodEnd: periodEnd,\n vendorName: vendorName,\n markAsApproved: markAsApproved,\n });\n return this.vendorApi.generateReport(req).pipe(map(response => response.url));\n }\n\n getVendorStats(skus: string[], periodStart: Date, periodEnd: Date): Observable<number> {\n const req = new GetRevenueStatsRequest({\n skus: skus,\n periodStart: periodStart,\n periodEnd: periodEnd,\n });\n return this.vendorApi.getRevenueStats(req).pipe(map(response => response.totalRevenue || 0));\n }\n\n listContracts(cursor: string, pageSize: number): Observable<PagedResponse<Contract>> {\n const req = new ListContractsRequest({\n pagingOptions: new PagedRequestOptions({ cursor, pageSize }),\n });\n return this.billingApi.listContracts(req).pipe(\n map(response => {\n const contracts = (response.contracts || []).map(c => contractFromApi(c));\n return new PagedResponse(contracts, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);\n }),\n );\n }\n\n listProducts(\n merchantId: string,\n searchTerm: string,\n filters: ListProductsFilter,\n cursor: string,\n pageSize: number,\n ): Observable<PagedResponse<Product>> {\n const apiFilters = listProductsFilterToApi(filters);\n const req = new ListProductsRequest({\n merchantId,\n searchTerm,\n filters: apiFilters,\n pagingOptions: new PagedRequestOptions({ cursor, pageSize }),\n });\n return this.billingApi.listProducts(req).pipe(\n map(response => {\n const products = (response.products || []).map(p => productFromApi(p));\n return new PagedResponse(products, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);\n }),\n );\n }\n\n getMultiProduct(\n skus: string[]\n ): Observable<Map<string, Product>> {\n const req = new GetMultiProductRequest({\n skus: skus\n });\n return this.billingApi.getMultiProduct(req).pipe(\n map((response: GetMultiProductResponse) => {\n const productsMap = new Map<string, Product>();\n skus.forEach(sku => {\n productsMap[sku] = productFromApi(response.products[sku])\n });\n return productsMap\n }),\n );\n }\n\n getBillableItem(merchantId: string, sku: string, customerId: string, orderId: string): Observable<BillableItem> {\n const req = new GetBillableItemRequest({\n merchantId: merchantId,\n sku: sku,\n customerId: customerId,\n orderId: orderId,\n });\n\n return this.billingApi.getBillableItem(req).pipe(map(response => billableItemFromApi(response.item)));\n }\n\n changeBillableItemFrequency(\n merchantId: string,\n sku: string,\n customerId: string,\n orderId: string,\n freq: Frequency): Observable<HttpResponse<null>> {\n const req = new ChangeFrequencyRequest({\n merchantId: merchantId,\n sku: sku,\n customerId: customerId,\n orderId: orderId,\n frequency: frequencyToApi(freq),\n });\n\n return this.billingApi.changeFrequency(req);\n }\n\n changeBillableItemNextRenewalDate(\n merchantId: string,\n sku: string,\n customerId: string,\n orderId: string,\n next: Date): Observable<HttpResponse<null>> {\n const req = new ChangeRenewalDateRequest({\n merchantId: merchantId,\n sku: sku,\n customerId: customerId,\n orderId: orderId,\n nextRenewalDate: next,\n });\n\n return this.billingApi.changeRenewalDate(req);\n }\n\n changeBillableItemCustomUnitPrice(\n merchantId: string,\n sku: string,\n customerId: string,\n orderId: string,\n amount: number): Observable<HttpResponse<null>> {\n const req = new ChangeCustomUnitPriceRequest({\n merchantId: merchantId,\n sku: sku,\n customerId: customerId,\n orderId: orderId,\n customUnitPrice: amount,\n });\n\n return this.billingApi.changeCustomUnitPrice(req);\n }\n\n listBillableItems(\n searchTerm: string,\n filters: ListBillableItemsFilter,\n cursor: string,\n pageSize: number\n ): Observable<PagedResponse<BillableItem>> {\n const req = new ListBillableItemsRequest({\n searchTerm: searchTerm,\n filters: filters,\n pagingOptions: new PagedRequestOptions({cursor, pageSize}),\n });\n return this.billingApi.listBillableItems(req).pipe(\n map(response => {\n const items = (response.items || []).map(item => billableItemFromApi(item));\n return new PagedResponse(items, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);\n }),\n );\n }\n\n startRevRecBackfillWorkflow(): Observable<HttpResponse<null>> {\n return this.billingApi.startRevRecTemplateBackfill({})\n }\n}\n","import { DiscountType as ApiDiscountType } from '../_internal';\n\nexport enum DiscountType {\n FIXED_AMOUNT = 'FIXED_AMOUNT',\n PERCENT_AMOUNT = 'PERCENT_AMOUNT',\n FIXED_NUMBER_OF_UNITS = 'FIXED_NUMBER_OF_UNITS',\n FIXED_AMOUNT_PER_UNIT = 'FIXED_AMOUNT_PER_UNIT',\n};\n\nexport function discountTypeFromApi(t: ApiDiscountType): DiscountType {\n switch (t) {\n case ApiDiscountType.DISCOUNT_TYPE_FIXED_AMOUNT_PER_UNIT:\n return DiscountType.FIXED_AMOUNT_PER_UNIT;\n case ApiDiscountType.DISCOUNT_TYPE_FIXED_NUMBER_OF_UNITS:\n return DiscountType.FIXED_NUMBER_OF_UNITS;\n case ApiDiscountType.DISCOUNT_TYPE_PERCENT_AMOUNT:\n return DiscountType.PERCENT_AMOUNT;\n }\n return DiscountType.FIXED_AMOUNT;\n}\n\nexport function discountTypeToApi(t: DiscountType): ApiDiscountType {\n switch (t) {\n case DiscountType.FIXED_AMOUNT_PER_UNIT:\n return ApiDiscountType.DISCOUNT_TYPE_FIXED_AMOUNT_PER_UNIT;\n case DiscountType.FIXED_NUMBER_OF_UNITS:\n return ApiDiscountType.DISCOUNT_TYPE_FIXED_NUMBER_OF_UNITS;\n case DiscountType.PERCENT_AMOUNT:\n return ApiDiscountType.DISCOUNT_TYPE_PERCENT_AMOUNT;\n }\n return ApiDiscountType.DISCOUNT_TYPE_FIXED_AMOUNT;\n}\n","import { DiscountType } from '../discount';\nimport { discountTypeFromApi, discountTypeToApi } from '../discount/discount_type';\nimport { Bundle as APIBundle, BundleItem as APIBundleItem } from '../_internal';\n\nexport interface Bundle {\n merchantId: string;\n bundleId: string;\n name: string;\n hideBundleDetails: boolean;\n items: BundleItem[];\n created: Date;\n updated: Date;\n}\n\nexport interface BundleItem {\n productId: string;\n discountType: DiscountType;\n discountAmount: number;\n quantity: number;\n defaultSku: string;\n price: Price;\n}\n\nexport interface Price {\n amount: number\n setupFee: number\n}\n\nexport function bundleFromApi(apiBundle: APIBundle): Bundle {\n if (!apiBundle) {\n return null;\n }\n const items = (apiBundle.items || []).map(item => bundleItemFromApi(item));\n return {\n merchantId: apiBundle.merchantId,\n bundleId: apiBundle.bundleId,\n name: apiBundle.name,\n hideBundleDetails: apiBundle.hideBundleDetails,\n items: items,\n created: apiBundle.created,\n updated: apiBundle.updated,\n } as Bundle\n}\n\nexport function bundleItemFromApi(apiBundleItem: APIBundleItem): BundleItem {\n return {\n productId: apiBundleItem.productId,\n discountType: discountTypeFromApi(apiBundleItem.discountType),\n discountAmount: apiBundleItem.discountAmount,\n quantity: apiBundleItem.quantity,\n defaultSku: apiBundleItem.defaultSku,\n price: apiBundleItem.price,\n } as BundleItem\n}\n\nexport function bundleItemToApi(bundleItem: BundleItem): APIBundleItem {\n return {\n productId: bundleItem.productId,\n discountType: discountTypeToApi(bundleItem.discountType),\n discountAmount: bundleItem.discountAmount,\n quantity: bundleItem.quantity,\n defaultSku: bundleItem.defaultSku,\n price: bundleItem.price,\n } as APIBundleItem\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, mapTo } from 'rxjs/operators';\nimport { PagedResponse } from '../core';\nimport {\n BundleApiService,\n GetMultiBundleRequest,\n GetMultiBundleResponse,\n ListBundlesRequest,\n ListBundlesResponse,\n PagedRequestOptions,\n UpsertBundleRequest,\n} from '../_internal';\nimport { Bundle, bundleFromApi, BundleItem, bundleItemToApi } from './bundle';\n\nexport interface ListBundleFilter {\n merchantId?: string;\n}\n\n@Injectable({providedIn: 'root'})\nexport class BundleService {\n constructor(private bundleApiService: BundleApiService) {\n }\n\n upsert(merchantId: string, bundleId: string, name: string, hideBundleDetails: boolean, items: BundleItem []): Observable<boolean> {\n const request = new UpsertBundleRequest({\n merchantId: merchantId,\n bundleId: bundleId,\n name: name,\n hideBundleDetails: hideBundleDetails,\n items: (items || []).map(item => bundleItemToApi(item))\n });\n return this.bundleApiService.upsert(request).pipe(mapTo(true));\n }\n\n getMulti(merchantId: string, bundleIds: string[]): Observable<Map<string, Bundle>> {\n const request = new GetMultiBundleRequest(\n {\n merchantId: merchantId,\n bundleIds: bundleIds\n }\n );\n return this.bundleApiService.getMulti(request).pipe(\n map((resp: GetMultiBundleResponse) => {\n const bundlesMap = new Map<string, Bundle>();\n if (resp && resp.bundles) {\n bundleIds.forEach(bundleId => {\n bundlesMap.set(bundleId, bundleFromApi(resp.bundles[bundleId]));\n });\n }\n return bundlesMap\n })\n )\n }\n\n list(filters: ListBundleFilter, searchTerm: string, cursor: string, pageSize: number): Observable<PagedResponse<Bundle>> {\n const request = new ListBundlesRequest({\n filters: filters,\n searchTerm: searchTerm,\n pagingOptions: new PagedRequestOptions({cursor, pageSize}),\n });\n return this.bundleApiService.list(request).pipe(\n map((resp: ListBundlesResponse) => {\n const bundles = (resp.bundles || []).map(bundle => bundleFromApi(bundle));\n return new PagedResponse<Bundle>(bundles, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore)\n })\n )\n }\n}\n\n","import { ContractDocumentInterface } from '../_internal';\n\nexport interface ContractDocument {\n id: string;\n merchantId: string;\n filename: string;\n created: Date;\n}\n\nexport function contractDocumentFromApi(apiContractDocument: ContractDocumentInterface): ContractDocument {\n return {\n id: apiContractDocument.id || '',\n merchantId: apiContractDocument.merchantId || '',\n filename: apiContractDocument.filename || '',\n created: apiContractDocument.created || null\n };\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, mapTo, share } from 'rxjs/operators';\nimport { PagedResponse } from '../core';\nimport { HostService } from '../_generated';\nimport { DeleteContractDocumentRequest, ListContractDocumentsRequest, PagedRequestOptions } from '../_internal';\nimport { ContractDocumentApiService } from '../_internal/contract-document.api.service';\nimport { ListContractDocumentsFilter } from './list-contract-document';\nimport { ContractDocument, contractDocumentFromApi } from './contract-document';\n\n@Injectable({providedIn: 'root'})\nexport class ContractDocumentService {\n constructor(\n private contractDocumentApi: ContractDocumentApiService,\n private hostService: HostService,\n private http: HttpClient\n ) { }\n\n upload(merchantId: string, file: File): Observable<boolean> {\n const url = `${this.hostService.httpsHostWithScheme()}/contract-document/upload`;\n return this.http.post(url, file, {\n headers: new HttpHeaders({\n 'Content-Type': 'application/pdf',\n 'Content-Disposition': `attachment; filename=${file.name}`\n }),\n observe: 'body',\n responseType: 'blob',\n withCredentials: true,\n params: {merchantId: merchantId}\n }).pipe(\n share(),\n mapTo(true)\n );\n }\n\n list(filters: ListContractDocumentsFilter, cursor: string, pageSize: number): Observable<PagedResponse<ContractDocument>> {\n const req = new ListContractDocumentsRequest({\n filters,\n pagingOptions: new PagedRequestOptions({ cursor, pageSize }),\n });\n return this.contractDocumentApi.list(req).pipe(\n map(response => {\n const documents = (response.contractDocuments || []).map(doc => contractDocumentFromApi(doc));\n return new PagedResponse(documents, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);\n }),\n );\n }\n\n download(merchantId: string, id: string, filename: string): Observable<Blob> {\n const params = {merchant_id: merchantId, id: id, filename: filename};\n return this.http.get(\n `${this.hostService.httpsHostWithScheme()}/contract-document/download`,\n {\n observe: 'body',\n params: params,\n responseType: 'blob',\n withCredentials: true,\n }\n ).pipe(\n share(),\n );\n }\n\n delete(merchantId: string, id: string): Observable<boolean> {\n const req = new DeleteContractDocumentRequest({\n merchantId,\n id,\n });\n return this.contractDocumentApi.delete(req).pipe(mapTo(true));\n }\n}\n","import { CreditBalanceInterface } from '../_internal';\n\nexport interface CreditBalance {\n merchantId: string;\n currency: string;\n amount: number;\n}\n\nexport function creditBalanceFromApi(apiCreditBalance: CreditBalanceInterface): CreditBalance {\n return {\n merchantId: apiCreditBalance.merchantId || '',\n currency: apiCreditBalance.currency || '',\n amount: apiCreditBalance.amount || 0\n };\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { AddCreditRequest, CreditApiService, GetBalanceRequest, GetBalanceResponse } from '../_internal';\nimport { CreditBalance, creditBalanceFromApi } from './credit';\n\n@Injectable({providedIn: 'root'})\nexport class CreditService {\n constructor(\n private creditApi: CreditApiService\n ) { }\n\n getBalance(merchantId: string): Observable<CreditBalance> {\n return this.creditApi.getBalance(new GetBalanceRequest({\n merchantId\n })).pipe(map((res: GetBalanceResponse) => creditBalanceFromApi(res.creditBalance)))\n }\n\n add(merchantId: string, currency: string, amount: number, idempotencyKey?: string, reason?: string): Observable<null> {\n return this.creditApi.add(new AddCreditRequest({\n merchantId,\n currency,\n amount,\n idempotencyKey,\n reason,\n })).pipe(map(() => null))\n }\n}\n","import { DiscountInterface } from '../_internal';\nimport { discountTypeFromApi, DiscountType } from './discount_type';\n\nexport interface Discount {\n discountId: number;\n id: string\n discountType: DiscountType;\n amount: number;\n start: Date;\n end: Date;\n resetEachPeriod: boolean;\n merchantId: string;\n created: Date;\n updated: Date;\n SKU: string;\n description: string;\n}\n\nexport function discountFromApi(apiDiscount: DiscountInterface): Discount {\n return {\n merchantId: apiDiscount.merchantId || '',\n discountId: apiDiscount.discountId || 0,\n id: apiDiscount.id || '',\n discountType: discountTypeFromApi(apiDiscount.discountType),\n amount: apiDiscount.amount || 0,\n start: apiDiscount.start ? new Date(apiDiscount.start) : null,\n end: apiDiscount.end ? new Date(apiDiscount.end) : null,\n resetEachPeriod: apiDiscount.resetEachPeriod || false,\n created: apiDiscount.created ? new Date(apiDiscount.created) : null,\n updated: apiDiscount.updated ? new Date(apiDiscount.updated) : null,\n SKU: apiDiscount.sku || '',\n description: apiDiscount.description || ''\n };\n}\n","import { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { PagedResponse } from '../core';\nimport {\n CreateDiscountRequest,\n DiscountApiService,\n ExpireDiscountRequest,\n ListDiscountsRequest,\n PagedRequestOptions,\n UpdateDiscountRequest,\n} from '../_internal';\nimport { Discount, discountFromApi } from './discount';\nimport { DiscountType, discountTypeToApi } from './discount_type';\nimport { ListDiscountsFilter } from './list-discount';\n\n@Injectable({providedIn: 'root'})\nexport class DiscountService {\n constructor(\n private discountApi: DiscountApiService\n ) { }\n\n list(filters: ListDiscountsFilter, cursor: string, pageSize: number): Observable<PagedResponse<Discount>> {\n const req = new ListDiscountsRequest({\n filters: filters,\n pagingOptions: new PagedRequestOptions({ cursor, pageSize }),\n });\n return this.discountApi.list(req).pipe(\n map(response => {\n const discounts = (response.discounts || []).map(item => discountFromApi(item));\n return new PagedResponse(discounts, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);\n }),\n );\n }\n\n create(merchantId: string, sku: string, discountType: DiscountType, amount: number, startDateTime: string,\n endDateTime?: string, resetEachPeriodFlag?: boolean, description?: string): Observable<HttpResponse<null>> {\n\n let start, dt\n start = new Date(startDateTime)\n dt = discountTypeToApi(discountType)\n\n const r = new CreateDiscountRequest({\n merchantId: merchantId,\n sku: sku,\n discountType: dt,\n amount: amount,\n start: start,\n resetEachPeriod: resetEachPeriodFlag,\n description: description,\n });\n\n if (endDateTime && endDateTime !== '') {\n r.end = new Date(endDateTime)\n }\n\n return this.discountApi.create(r)\n }\n\n update(merchantId: string, id: string, discountType: DiscountType, amount: number, startDateTime: string,\n endDateTime?: string, resetEachPeriodFlag?: boolean, description?: string): Observable<HttpResponse<null>> {\n\n let start, dt\n start = new Date(startDateTime)\n dt = discountTypeToApi(discountType)\n\n const r = new UpdateDiscountRequest({\n merchantId: merchantId,\n id: id,\n discountType: dt,\n amount: amount,\n start: start,\n resetEachPeriod: resetEachPeriodFlag,\n description: description,\n });\n\n if (endDateTime && endDateTime !== '') {\n r.end = new Date(endDateTime)\n }\n return this.discountApi.update(r)\n }\n\n expire(merchantId: string, id: string): Observable<HttpResponse<null>> {\n return this.discountApi.expire(new ExpireDiscountRequest({\n merchantId: merchantId,\n id: id,\n }))\n }\n}\n","import { RetailCustomerConfiguration as ApiRetailCustomerConfiguration } from '../_internal/objects/retail-customer-configuration';\n\nexport interface RetailCustomerConfiguration {\n merchantId: string,\n customerId: string,\n contactId: string,\n autoPost?: boolean\n autoGenerate?: boolean\n useTemplateInvoice?: boolean\n collectionMethod?: CollectionMethod\n invoiceDay?: number\n}\n\nexport enum CollectionMethod {\n UNSET = 'Unset',\n MANUAL_COLLECTION = 'Manual Collection',\n CHARGE_AUTOMATICALLY = 'Charge Automatically',\n SEND_EMAIL = 'Send Email',\n}\n\nexport function collectionMethodToApi(m: CollectionMethod): string {\n switch (m) {\n case CollectionMethod.MANUAL_COLLECTION:\n return 'manual-collection';\n case CollectionMethod.CHARGE_AUTOMATICALLY:\n return 'charge-automatically';\n case CollectionMethod.SEND_EMAIL:\n return 'send-email';\n default:\n return '';\n }\n}\n\nexport function collectionMethodFromApi(m: string): CollectionMethod {\n switch (m) {\n case 'manual-collection':\n return CollectionMethod.MANUAL_COLLECTION;\n case 'charge-automatically':\n return CollectionMethod.CHARGE_AUTOMATICALLY;\n case 'send-email':\n return CollectionMethod.SEND_EMAIL;\n default:\n return CollectionMethod.UNSET;\n }\n}\n\nexport function retailCustomerConfigurationFromApi(config: ApiRetailCustomerConfiguration): RetailCustomerConfiguration {\n return {\n merchantId: config.merchantId || '',\n customerId: config.customerId || '',\n contactId: config.contactId || '',\n autoPost: config.autoPost || false,\n autoGenerate: config.autoGenerate || false,\n useTemplateInvoice: config.useTemplateInvoice || false,\n collectionMethod: collectionMethodFromApi(config.collectionMethod),\n invoiceDay: config.invoiceDay || 0,\n };\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, mapTo } from 'rxjs/operators';\nimport {\n GetRetailCustomerConfigurationRequest,\n GetRetailCustomerConfigurationResponse,\n RetailCustomerConfigurationApiService,\n UpsertRetailCustomerConfigurationRequest,\n} from '../_internal';\nimport {\n CollectionMethod,\n collectionMethodToApi,\n RetailCustomerConfiguration,\n retailCustomerConfigurationFromApi,\n} from './retail-customer-configuration';\n\n@Injectable({providedIn: 'root'})\nexport class RetailCustomerConfigurationService {\n constructor(\n private configApiService: RetailCustomerConfigurationApiService,\n ) {}\n\n get(merchantId: string, customerId: string): Observable<RetailCustomerConfiguration> {\n const req = new GetRetailCustomerConfigurationRequest({\n merchantId,\n customerId\n });\n return this.configApiService.get(req).pipe(\n map((resp: GetRetailCustomerConfigurationResponse) => retailCustomerConfigurationFromApi(resp.configuration))\n );\n }\n\n upsert(\n merchantId: string,\n customerId: string,\n contactId: string,\n autoPost: boolean,\n autoGenerate: boolean,\n collectionMethod: CollectionMethod,\n invoiceDay: number,\n useTemplateInvoice: boolean,\n ): Observable<null> {\n const req = new UpsertRetailCustomerConfigurationRequest({\n merchantId,\n customerId,\n contactId,\n autoPost,\n autoGenerate,\n collectionMethod: collectionMethodToApi(collectionMethod),\n invoiceDay,\n useTemplateInvoice\n });\n return this.configApiService.upsert(req).pipe(\n mapTo(null)\n );\n }\n}\n\n","import { AppliedBundle, convertApiAppliedBundle } from '../applied_bundle';\nimport { AppliedDiscount, appliedDiscountFromApi } from '../applied_discount';\nimport { Currency, currencyFromApi } from '../pricing';\nimport {\n CollectionMethod,\n collectionMethodFromApi,\n} from '../retail-customer-configuration';\nimport { TaxRate } from '../tax-rate';\nimport {\n AppliedTaxRate as ApiAppliedTaxRate,\n InvoiceCustomerAddress as ApiInvoiceCustomerAddress,\n Invoice as ApiInvoice,\n InvoiceItem as ApiInvoiceItem,\n InvoiceStatus as ApiInvoiceStatus,\n InvoiceStatus as InternalInvoiceStatus,\n ListInvoicesRequestFilters,\n TaxRate as ApiTaxRate,\n ListInvoicesRequestFiltersDateFilterDateField,\n} from '../_internal';\nimport { ListInvoicesFilter } from './list-invoice';\n\nexport enum InvoiceStatus {\n DRAFT = 'Draft',\n DUE = 'Due',\n PAID = 'Paid',\n VOID = 'Void'\n}\n\nexport enum InvoiceDateField {\n CREATED = 'Created'\n}\n\nexport enum InvoiceOrigin {\n MANUAL = 'Manual',\n SALES_ORDER = 'Sales Order',\n RENEWAL = 'Renewal',\n UNSET = 'Unset'\n}\n\nexport interface InvoiceItem {\n id: string;\n sku: string;\n amount: number;\n quantity: number;\n description: string;\n subtotal: number;\n total: number;\n appliedTaxes: AppliedTaxRate[];\n appliedDiscounts: AppliedDiscount[];\n taxRates: TaxRate[];\n bundleId: string;\n bundleInstanceId?: string;\n}\n\nexport interface Invoice {\n id: string;\n number: string;\n customerId: string;\n customerName: string;\n contactId: string;\n status: InvoiceStatus;\n subtotal: number;\n discountTotal: number;\n total: number;\n paid: Date;\n issued: Date;\n due: Date;\n created: Date;\n updated: Date;\n items: InvoiceItem[];\n currency: Currency;\n orderId: string;\n appliedTaxes: AppliedTaxRate[];\n defaultTaxRates: TaxRate[];\n appliedBundles: AppliedBundle[];\n origin: InvoiceOrigin;\n collectionMethod: CollectionMethod;\n memo: string;\n defaultPaymentMethod: string;\n customerAddress: InvoiceCustomerAddress,\n externalCustomerIdentifier: string,\n}\n\nexport interface AppliedTaxRate {\n amount?: number;\n taxRateId?: string;\n percentage?: number;\n name?: string;\n}\n\nfunction convertApiStatus(s: ApiInvoiceStatus): InvoiceStatus {\n switch (s) {\n case ApiInvoiceStatus.DUE:\n return InvoiceStatus.DUE;\n case ApiInvoiceStatus.PAID:\n return InvoiceStatus.PAID;\n case ApiInvoiceStatus.VOID:\n return InvoiceStatus.VOID;\n default:\n return InvoiceStatus.DRAFT;\n }\n}\n\nfunction invoiceStatusToApi(status: InvoiceStatus): InternalInvoiceStatus {\n switch (status) {\n case InvoiceStatus.DUE:\n return InternalInvoiceStatus.DUE;\n case InvoiceStatus.PAID:\n return InternalInvoiceStatus.PAID;\n case InvoiceStatus.VOID:\n return InternalInvoiceStatus.VOID;\n default:\n return InternalInvoiceStatus.DRAFT;\n }\n}\n\nfunction invoiceDateFilterFieldToApi(dateField: InvoiceDateField): ListInvoicesRequestFiltersDateFilterDateField {\n switch (dateField) {\n default:\n return ListInvoicesRequestFiltersDateFilterDateField.CREATED\n }\n}\n\nfunction convertApiOrigin(s: string): InvoiceOrigin {\n switch (s) {\n case 'manual':\n return InvoiceOrigin.MANUAL;\n case 'sales-order':\n return InvoiceOrigin.SALES_ORDER;\n case 'renewal':\n return InvoiceOrigin.RENEWAL;\n default:\n return InvoiceOrigin.UNSET;\n }\n}\n\nexport function convertApiAppliedTaxRate(at: ApiAppliedTaxRate): AppliedTaxRate {\n if (!at) {\n return null\n }\n\n return {\n amount: at.amount || 0,\n taxRateId: at.taxRateId || '',\n percentage: at.percentage || 0,\n name: at.name || '',\n }\n}\n\nexport function convertAppliedTaxRate(at: AppliedTaxRate): ApiAppliedTaxRate {\n if (!at) {\n return null\n }\n\n return new ApiAppliedTaxRate({\n amount: at.amount,\n taxRateId: at.taxRateId\n })\n}\n\n\nexport function convertApiTaxRate(tr: ApiTaxRate): TaxRate {\n if (!tr) {\n return null\n }\n\n return {\n id: tr.id || '',\n name: tr.name || '',\n description: tr.description || '',\n percentage: tr.percentage || 0,\n }\n}\n\nexport function convertTaxRate(tr: TaxRate): ApiTaxRate {\n if (!tr) {\n return null\n }\n\n return new ApiTaxRate({\n id: tr.id,\n name: tr.name,\n description: tr.description,\n percentage: tr.percentage,\n })\n}\n\nexport interface InvoiceCustomerAddress {\n address?: string;\n address2?: string;\n city?: string;\n state?: string;\n zip?: string;\n country?: string;\n}\n\nfunction convertApiCustomerAddress(ca: ApiInvoiceCustomerAddress): InvoiceCustomerAddress {\n return {\n address: ca?.address || '',\n address2: ca?.address2 || '',\n city: ca?.city || '',\n state: ca?.state || '',\n zip: ca?.zip || '',\n country: ca?.country || '',\n };\n}\n\nexport function convertApiInvoiceItem(ii: ApiInvoiceItem): InvoiceItem {\n if (!ii) {\n return null\n }\n\n const appliedTaxes: AppliedTaxRate[] = (ii.appliedTaxes || []).map((at) => convertApiAppliedTaxRate(at));\n const taxRates: TaxRate[] = (ii.taxRates || []).map((tr) => convertApiTaxRate(tr));\n const appliedDiscounts: AppliedDiscount[] = (ii.discounts || []).map((ad) => appliedDiscountFromApi(ad));\n\n return {\n id: ii.id || '',\n sku: ii.sku || '',\n amount: ii.amount || 0,\n quantity: ii.quantity || 0,\n description: ii.description || '',\n subtotal: ii.subtotal || 0,\n total: ii.total || 0,\n appliedDiscounts: appliedDiscounts || [],\n appliedTaxes: appliedTaxes || [],\n taxRates: taxRates || [],\n bundleId: ii.bundleId || '',\n bundleInstanceId: ii.bundleInstanceId || '',\n };\n}\n\nexport function convertInvoiceItem(ii: InvoiceItem): ApiInvoiceItem {\n if (!ii) {\n return null\n }\n\n return new ApiInvoiceItem({\n sku: ii.sku,\n amount: ii.amount,\n quantity: ii.quantity,\n description: ii.description,\n total: ii.total,\n });\n}\n\nexport function convertApiInvoice(i: ApiInvoice): Invoice {\n if (!i) {\n return null\n }\n\n const zeroDate = new Date('0001-01-01T00:00:00Z').valueOf();\n const invoiceItems: InvoiceItem[] = (i.items || []).map((ii) => convertApiInvoiceItem(ii));\n const appliedTaxes: AppliedTaxRate[] = (i.appliedTaxes || []).map((at) => convertApiAppliedTaxRate(at));\n const taxRates: TaxRate[] = (i.defaultTaxRates || []).map((tr) => convertApiTaxRate(tr));\n const appliedBundles: AppliedBundle[] = (i.appliedBundles || []).map((at) => convertApiAppliedBundle(at));\n\n return {\n id: i.id || '',\n number: i.number || '',\n customerId: i.customerId || '',\n customerName: i.customerName || '',\n contactId: i.contactId || '',\n status: convertApiStatus(i.status),\n subtotal: i.subtotal || 0,\n total: i.total || 0,\n discountTotal: i.amountDiscount || 0,\n paid: i.paid.valueOf() !== zeroDate ? i.paid : null,\n issued: i.issued.valueOf() !== zeroDate ? i.issued : null,\n due: i.due.valueOf() !== zeroDate ? i.due : null,\n created: i.created.valueOf() !== zeroDate ? i.created : null,\n updated: i.updated.valueOf() !== zeroDate ? i.updated : null,\n items: invoiceItems || [],\n currency: currencyFromApi(i.currency),\n orderId: i.orderId || '',\n appliedTaxes: appliedTaxes || [],\n defaultTaxRates: taxRates || [],\n appliedBundles: appliedBundles || [],\n origin: convertApiOrigin(i.origin),\n collectionMethod: collectionMethodFromApi(i.collectionMethod),\n memo: i.memo || '',\n defaultPaymentMethod: i.defaultPaymentMethod || '',\n customerAddress: convertApiCustomerAddress(i.customerAddress),\n externalCustomerIdentifier: i.externalCustomerIdentifier || '',\n };\n}\n\nexport function listInvoiceFiltersToApi(filters: ListInvoicesFilter): ListInvoicesRequestFilters {\n return new ListInvoicesRequestFilters({\n ...filters,\n statuses: (filters.statuses || []).map(s => invoiceStatusToApi(s)),\n dateFilter: {\n dateGte: filters.dateFilter?.dateGte,\n dateLte: filters.dateFilter?.dateLte,\n dateField: invoiceDateFilterFieldToApi(filters.dateFilter?.dateField),\n }\n });\n}\n","import { HttpClient, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { PagedResponse } from '../core';\nimport { currencyFromApi } from '../pricing';\nimport {\n CollectionMethod,\n collectionMethodToApi,\n} from '../retail-customer-configuration';\nimport { HostService } from '../_generated';\nimport {\n AddBundleRequest,\n AddBundleResponse,\n AddLineItemRequest,\n AddLineItemResponse,\n ChargeInvoiceRequest,\n CreateInvoiceRequest,\n CreateInvoiceResponse,\n Currency,\n DeleteInvoiceRequest,\n DeleteLineItemRequest,\n DeleteLineItemResponse,\n DuplicateInvoiceRequest,\n DuplicateInvoiceResponse,\n FieldMask,\n GetInvoiceRequest,\n GetInvoiceResponse,\n Invoice as ApiInvoice,\n InvoiceApiService,\n ListInvoicesRequest,\n PagedRequestOptions,\n PayInvoiceRequest,\n RemoveBundleRequest,\n RemoveBundleResponse,\n SendInvoiceRequest,\n UpdateBundleRequest,\n UpdateBundleResponse,\n UpdateDefaultTaxRatesRequest,\n UpdateDefaultTaxRatesResponse,\n UpdateInvoiceRequest,\n UpdateInvoiceResponse,\n UpdateLineItemRequest,\n UpdateLineItemResponse,\n VoidInvoiceRequest,\n} from '../_internal';\nimport { convertApiInvoice, Invoice, listInvoiceFiltersToApi } from './invoice';\nimport { ListInvoicesFilter } from './list-invoice';\n\n@Injectable({providedIn: 'root'})\nexport class InvoiceService {\n constructor(\n private hostService: HostService,\n private http: HttpClient,\n private invoiceApiService: InvoiceApiService,\n ) {\n }\n\n addBundle(merchantId: string, invoiceId: string, bundleId: string): Observable<Invoice> {\n return this.invoiceApiService.addBundle(new AddBundleRequest(\n {\n merchantId,\n invoiceId,\n bundleId,\n }\n )).pipe(\n map((res: AddBundleResponse) => convertApiInvoice(res.invoice))\n );\n }\n\n addLineItem(merchantId: string, invoiceId: string, sku: string, amount: number, quantity: number,\n description: string, taxRates: string[]): Observable<Invoice> {\n return this.invoiceApiService.addLineItem(new AddLineItemRequest({\n merchantId,\n invoiceId,\n sku,\n amount,\n quantity,\n description,\n taxRates\n })).pipe(map((res: AddLineItemResponse) => convertApiInvoice(res.invoice)))\n }\n\n charge(merchantId: string, customerId: string, invoiceId: string, paymentMethodId: string): Observable<HttpResponse<null>> {\n return this.invoiceApiService.charge(new ChargeInvoiceRequest({\n merchantId,\n customerId,\n invoiceId,\n paymentMethodId\n }));\n }\n\n create(merchantId: string, customerId: string, orderId?: string, currencyCode?: string): Observable<string> {\n return this.invoiceApiService.create(new CreateInvoiceRequest({\n merchantId: merchantId,\n customerId: customerId,\n orderId: orderId,\n currencyCode: currencyCode\n })).pipe(map(\n (res: CreateInvoiceResponse) => res ? res.invoiceId : ''\n ))\n }\n\n delete(merchantId: string, invoiceId: string): Observable<HttpResponse<null>> {\n return this.invoiceApiService.delete(new DeleteInvoiceRequest({\n merchantId,\n invoiceId\n }));\n }\n\n deleteLineItem(merchantId: string, invoiceId: string, id: string): Observable<Invoice> {\n return this.invoiceApiService.deleteLineItem(new DeleteLineItemRequest({\n merchantId,\n invoiceId,\n id,\n })).pipe(map((res: DeleteLineItemResponse) => convertApiInvoice(res.invoice)))\n }\n\n exportCSV(merchantId: string, filters?: ListInvoicesFilter): Observable<Blob> {\n const url = `${this.hostService.httpsHostWithScheme()}/invoice/export`;\n return this.http.post(url, {\n merchant_id: merchantId,\n filters: filters\n }, {\n observe: 'body',\n responseType: 'blob',\n withCredentials: true\n }).pipe(\n share(),\n );\n }\n\n generatePDF(merchantId: string, invoiceId: string, documentType: string): Observable<Blob> {\n const url = `${this.hostService.httpsHostWithScheme()}/invoice/generate-pdf`;\n return this.http.post(url, {\n merchant_id: merchantId, invoice_id: invoiceId, document_type: documentType\n }, {\n observe: 'body',\n responseType: 'blob',\n }).pipe(\n share(),\n );\n }\n\n get(merchantId: string, invoiceId: string): Observable<Invoice> {\n return this.invoiceApiService.get(new GetInvoiceRequest({\n merchantId, invoiceId\n })).pipe(map((res: GetInvoiceResponse) => convertApiInvoice(res.invoice)))\n }\n\n list(filters: ListInvoicesFilter, cursor: string, pageSize: number): Observable<PagedResponse<Invoice>> {\n const req = new ListInvoicesRequest({\n filters: listInvoiceFiltersToApi(filters),\n pagingOptions: new PagedRequestOptions({cursor, pageSize}),\n });\n return this.invoiceApiService.list(req).pipe(\n map(response => {\n const invoices = (response.invoices || []).map(item => convertApiInvoice(item));\n return new PagedResponse(invoices, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);\n }),\n );\n }\n\n pay(merchantId: string, invoiceId: string): Observable<HttpResponse<null>> {\n return this.invoiceApiService.pay(new PayInvoiceRequest({\n merchantId,\n invoiceId\n }));\n }\n\n preview(merchantId: string, invoiceId: string): Observable<string> {\n const url = `${this.hostService.httpsHostWithScheme()}/retail-invoice/preview`;\n return this.http.post(url,\n {\n merchant_id: merchantId,\n invoice_id: invoiceId\n },\n {\n responseType: 'text',\n withCredentials: true\n });\n }\n\n removeBundle(merchantId: string, invoiceId: string, bundleId: string, bundleInstanceId?: string): Observable<Invoice> {\n return this.invoiceApiService.removeBundle(new RemoveBundleRequest(\n {\n merchantId,\n invoiceId,\n bundleId,\n bundleInstanceId,\n }\n )).pipe(\n map((res: RemoveBundleResponse) => convertApiInvoice(res.invoice))\n );\n }\n\n send(merchantId: string, invoiceId: string, emailAddresses: string[]): Observable<HttpResponse<null>> {\n return this.invoiceApiService.send(new SendInvoiceRequest({\n merchantId, invoiceId, emailAddresses\n }));\n }\n\n updateBundle(merchantId: string, invoiceId: string, bundleId: string, hideBundleItems: boolean,\n bundleInstanceId?: string): Observable<Invoice> {\n return this.invoiceApiService.updateBundle(new UpdateBundleRequest({\n merchantId,\n invoiceId,\n bundleId,\n hideBundleItems,\n bundleInstanceId,\n })).pipe(map((res: UpdateBundleResponse) => convertApiInvoice(res.invoice)))\n }\n\n updateCurrency(merchantId: string, id: string, currency: Currency): Observable<Invoice> {\n const pbInvoice = new ApiInvoice({\n merchantId,\n id,\n currency: currencyFromApi(currency),\n });\n\n const fm = new FieldMask({\n paths: ['currency']\n });\n\n return this.update(pbInvoice, fm);\n }\n\n updateDueDate(merchantId: string, id: string, due: Date): Observable<Invoice> {\n const pbInvoice = new ApiInvoice({\n merchantId,\n id,\n due,\n });\n\n const fm = new FieldMask({\n paths: ['due']\n });\n\n return this.update(pbInvoice, fm);\n }\n\n updateContact(merchantId: string, id: string, contactId: string): Observable<Invoice> {\n const pbInvoice = new ApiInvoice({\n merchantId,\n id,\n contactId,\n });\n\n const fm = new FieldMask({\n paths: ['contactId']\n });\n\n return this.update(pbInvoice, fm);\n }\n\n updateCollectionMethod(merchantId: string, id: string, collectionMethod: CollectionMethod): Observable<Invoice> {\n const apiCollectionMethod = collectionMethodToApi(collectionMethod)\n const pbInvoice = new ApiInvoice({\n merchantId,\n id,\n collectionMethod: apiCollectionMethod,\n });\n\n const fm = new FieldMask({\n paths: ['collectionMethod']\n });\n\n return this.update(pbInvoice, fm);\n }\n\n updateMemo(merchantId: string, id: string, memo: string): Observable<Invoice> {\n const pbInvoice = new ApiInvoice({\n merchantId,\n id,\n memo,\n });\n\n const fm = new FieldMask({\n paths: ['memo']\n });\n\n return this.update(pbInvoice, fm);\n }\n\n updateDefaultPaymentMethod(merchantId: string, id: string, defaultPaymentMethod: string): Observable<Invoice> {\n const pbInvoice = new ApiInvoice({\n merchantId,\n id,\n defaultPaymentMethod,\n });\n\n const fm = new FieldMask({\n paths: ['defaultPaymentMethod']\n });\n\n return this.update(pbInvoice, fm);\n }\n\n updateDefaultTaxes(merchantId: string, invoiceId: string, taxRateIds: string[]): Observable<Invoice> {\n return this.invoiceApiService.updateDefaultTaxRates(new UpdateDefaultTaxRatesRequest({\n merchantId,\n invoiceId,\n taxRateIds\n })).pipe(map((res: UpdateDefaultTaxRatesResponse) => convertApiInvoice(res.invoice)))\n }\n\n updateLineItem(merchantId: string, invoiceId: string, id: string, sku: string, amount: number, quantity: number,\n description: string, taxRates: string[]): Observable<Invoice> {\n return this.invoiceApiService.updateLineItem(new UpdateLineItemRequest({\n merchantId,\n invoiceId,\n id,\n sku,\n amount,\n quantity,\n description,\n taxRates\n })).pipe(map((res: UpdateLineItemResponse) => convertApiInvoice(res.invoice)))\n }\n\n private update(invoice: ApiInvoice, mask: FieldMask): Observable<Invoice> {\n return this.invoiceApiService.update(new UpdateInvoiceRequest({\n invoice: invoice,\n fieldMask: mask\n })).pipe(map((res: UpdateInvoiceResponse) => convertApiInvoice(res.invoice)));\n }\n\n void(merchantId: string, invoiceId: string): Observable<HttpResponse<null>> {\n return this.invoiceApiService.void(new VoidInvoiceRequest({\n merchantId,\n invoiceId\n }));\n }\n\n duplicate(merchantId: string, invoiceId: string): Observable<string> {\n return this.invoiceApiService.duplicate(new DuplicateInvoiceRequest({\n merchantId,\n invoiceId\n })).pipe(map(\n (res: DuplicateInvoiceResponse) => res ? res.invoiceId : ''\n ));\n }\n}\n","import { AppliedBundle, convertApiAppliedBundle } from '../applied_bundle';\nimport { AppliedDiscount } from '../applied_discount';\nimport { appliedDiscountFromApi } from '../applied_discount/applied_discount';\nimport {\n AppliedTaxRate,\n convertApiAppliedTaxRate,\n convertApiTaxRate,\n} from '../invoice/invoice';\nimport { Currency, currencyFromApi } from '../pricing/currency';\nimport { TaxRate } from '../tax-rate/tax-rate';\nimport {\n AppliedTaxRateInterface,\n InvoiceTemplate as APIInvoiceTemplate,\n InvoiceTemplateItem as APIInvoiceTemplateItem,\n TaxRateInterface,\n} from '../_internal';\n\nexport interface InvoiceTemplate {\n merchantId: string;\n customerId: string;\n items: InvoiceTemplateItem[];\n appliedTaxes: AppliedTaxRate[];\n currency: Currency;\n total: number;\n subtotal: number;\n discountTotal: number;\n created: Date;\n updated: Date;\n defaultTaxRates: TaxRate[];\n appliedBundles: AppliedBundle[];\n}\n\nexport interface InvoiceTemplateItem {\n id?: string;\n sku?: string;\n unitPrice?: number;\n quantity?: number;\n description?: string;\n total?: number;\n appliedTaxes?: AppliedTaxRateInterface[];\n taxRates?: TaxRateInterface[];\n subtotal?: number;\n appliedDiscounts?: AppliedDiscount[];\n bundleId?: string;\n}\n\nexport function convertApiInvoiceTemplate(t: APIInvoiceTemplate): InvoiceTemplate {\n const zeroDate = new Date('0001-01-01T00:00:00Z').valueOf();\n const appliedBundles: AppliedBundle[] = (t?.appliedBundles || []).map(ab => convertApiAppliedBundle(ab));\n\n\n return {\n merchantId: t.merchantId,\n customerId: t.customerId,\n currency: currencyFromApi(t.currency),\n items: (t.items || []).map(item => convertApiInvoiceTemplateItem(item)),\n appliedTaxes: (t.appliedTaxes || []).map((at) => convertApiAppliedTaxRate(at)),\n total: t.total || 0,\n subtotal: t.subtotal || 0,\n created: t.created.valueOf() !== zeroDate ? t.created : null,\n updated: t.updated.valueOf() !== zeroDate ? t.updated : null,\n defaultTaxRates: (t.defaultTaxRates || []).map((tr) => convertApiTaxRate(tr)),\n appliedBundles: appliedBundles || [],\n discountTotal: t.amountDiscount || 0\n } as InvoiceTemplate\n}\n\nexport function convertApiInvoiceTemplateItem(item: APIInvoiceTemplateItem): InvoiceTemplateItem {\n const appliedDiscounts: AppliedDiscount[] = (item?.discounts || []).map(ad => appliedDiscountFromApi(ad));\n\n return {\n sku: item?.sku,\n unitPrice: item?.unitPrice || 0,\n quantity: item?.quantity || 0,\n description: item?.description,\n total: item?.total || 0,\n appliedTaxes: item?.appliedTaxes || [],\n taxRates: item?.taxRates || [],\n subtotal: item?.subtotal || 0,\n bundleId: item?.bundleId || '',\n appliedDiscounts: appliedDiscounts || [],\n } as InvoiceTemplateItem\n}\n","import { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { appliedDiscountToApi } from '../applied_discount/applied_discount';\nimport {\n AddTemplateBundleRequest,\n AddTemplateBundleResponse,\n AppliedDiscountInterface,\n DeleteInvoiceTemplateRequest,\n GetInvoiceTemplateRequest,\n InvoiceTemplateApiService,\n UpdateTemplateBundleRequest,\n UpdateTemplateBundleResponse,\n UpdateTemplateDefaultTaxRatesRequest,\n UpsertInvoiceTemplateRequest,\n UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest,\n} from '../_internal';\nimport {\n convertApiInvoiceTemplate,\n InvoiceTemplate,\n InvoiceTemplateItem,\n} from './invoice-template';\n\n@Injectable({providedIn: 'root'})\nexport class InvoiceTemplateService {\n constructor(private invoiceTemplateApiService: InvoiceTemplateApiService) {\n }\n\n upsert(\n merchantId: string,\n customerId: string,\n items: InvoiceTemplateItem[],\n defaultTaxRates: string[],\n ): Observable<InvoiceTemplate> {\n const itemsRequest: UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest[] = (items || []).map(item => {\n const appliedDiscounts: AppliedDiscountInterface[] = (item.appliedDiscounts || []).map((ad) => appliedDiscountToApi(ad));\n return new UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest({\n sku: item.sku,\n unitPrice: item.unitPrice,\n quantity: item.quantity,\n description: item.description,\n taxRates: (item.taxRates || []).map(r => r.id),\n bundleId: item.bundleId,\n appliedDiscounts: appliedDiscounts\n })\n })\n\n const req = new UpsertInvoiceTemplateRequest({\n merchantId: merchantId,\n customerId: customerId,\n items: itemsRequest || [],\n defaultTaxRates: defaultTaxRates,\n });\n return this.invoiceTemplateApiService.upsert(req).pipe(\n map(resp => convertApiInvoiceTemplate(resp?.invoiceTemplate))\n );\n }\n\n get(merchantId: string, customerId: string): Observable<InvoiceTemplate> {\n const req = new GetInvoiceTemplateRequest({\n merchantId,\n customerId\n });\n return this.invoiceTemplateApiService.get(req).pipe(\n map(resp => convertApiInvoiceTemplate(resp?.invoiceTemplate))\n );\n }\n\n delete(merchantId: string, customerId: string): Observable<HttpResponse<null>> {\n const req = new DeleteInvoiceTemplateRequest({\n merchantId,\n customerId\n });\n return this.invoiceTemplateApiService.delete(req);\n }\n\n updateDefaultTaxRates(merchantId: string, customerId: string, taxRateIds: string[]): Observable<InvoiceTemplate> {\n const req = new UpdateTemplateDefaultTaxRatesRequest({\n customerId: customerId,\n merchantId: merchantId,\n taxRateIds: taxRateIds,\n });\n return this.invoiceTemplateApiService.updateTemplateDefaultTaxRates(req).pipe(\n map(resp => convertApiInvoiceTemplate(resp?.invoiceTemplate))\n );\n }\n\n addBundle(merchantId: string, customerId: string, bundleId: string): Observable<InvoiceTemplate> {\n return this.invoiceTemplateApiService.addBundle(new AddTemplateBundleRequest({\n merchantId,\n customerId,\n bundleId,\n })).pipe(\n map((resp: AddTemplateBundleResponse) => convertApiInvoiceTemplate(resp?.invoiceTemplate))\n );\n }\n\n updateBundle(merchantId: string, customerId: string, bundleId: string, hideBundleItems: boolean): Observable<InvoiceTemplate> {\n return this.invoiceTemplateApiService.updateBundle(new UpdateTemplateBundleRequest({\n merchantId,\n customerId,\n bundleId,\n hideBundleItems,\n })).pipe(\n map((resp: UpdateTemplateBundleResponse) => convertApiInvoiceTemplate(resp?.invoiceTemplate))\n );\n }\n}\n","import {Merchant as ApiMerchant} from '../_internal';\n\nexport interface Merchant {\n merchantId: string;\n address: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n emailAddress: string;\n phoneNumber: string;\n contactName: string;\n companyName: string;\n autoPostInvoices: boolean;\n autoChargeInvoices: boolean;\n includeInFinancialRecords: boolean;\n additionalEmailAddresses: string[];\n stripeConnectId: string;\n}\n\nexport function MerchantFromAPI(proto: ApiMerchant): Merchant {\n return {\n merchantId: proto.merchantId,\n address: proto.address,\n city: proto.city,\n state: proto.state,\n country: proto.country,\n zipCode: proto.zipCode,\n emailAddress: proto.emailAddress,\n phoneNumber: proto.phoneNumber,\n contactName: proto.contactName,\n companyName: proto.companyName,\n autoPostInvoices: proto.autoPostInvoices,\n autoChargeInvoices: proto.autoChargeInvoices,\n includeInFinancialRecords: proto.includeInFinancialRecords,\n additionalEmailAddresses: proto.additionalEmailAddresses || [],\n stripeConnectId: proto.stripeAccountId,\n }\n}\n","import {GetPayoutSummaryResponse} from '../_internal';\n\nexport enum PayoutInterval {\n Daily = 'daily',\n Weekly = 'weekly',\n Monthly = 'monthly',\n}\n\nexport interface PayoutSummary {\n nextInTransitPayout: Date,\n balances: PayoutBalance[];\n payoutInterval: PayoutInterval;\n payoutDelayDays: number;\n}\n\nexport interface PayoutBalance {\n currencyCode: string;\n futurePayouts: number;\n inTransit: number;\n}\n\nexport function payoutSummaryFromAPI(proto: GetPayoutSummaryResponse): PayoutSummary {\n const zeroDate = new Date('0001-01-01T00:00:00Z').valueOf();\n return {\n nextInTransitPayout: proto.nextInTransitPayoutExpectedDate.valueOf() !== zeroDate ? proto.nextInTransitPayoutExpectedDate : null,\n payoutInterval: payoutIntervalFromAPI(proto.payoutInterval),\n payoutDelayDays: proto.payoutDelayDays,\n balances: (proto.balances || []).map(balance => ({\n currencyCode: balance.currencyCode,\n amount: balance.amount || 0,\n futurePayouts: balance.futurePayouts || 0,\n inTransit: balance.inTransit || 0,\n }))\n }\n}\n\n\nexport function payoutIntervalFromAPI(proto: string): PayoutInterval {\n switch (proto) {\n case 'daily':\n return PayoutInterval.Daily;\n case 'weekly':\n return PayoutInterval.Weekly;\n case 'monthly':\n return PayoutInterval.Monthly;\n }\n return null\n\n}\n","import {\n DefaultCustomerConfiguration as ApiDefaultCustomerConfiguration,\n DefaultCustomerConfigurationInterface,\n RetailConfiguration as ApiRetailConfiguration,\n} from '../_internal';\nimport {\n CollectionMethod,\n collectionMethodFromApi,\n collectionMethodToApi,\n} from '../retail-customer-configuration';\n\nexport interface RetailConfiguration {\n merchantId: string;\n retailGroupId: string;\n currencyCode: string;\n currencyConversionRate: number;\n defaultCustomerConfiguration?: DefaultCustomerConfiguration;\n}\n\nexport interface DefaultCustomerConfiguration {\n generateMethod: GenerateMethod;\n collectionMethod: CollectionMethod;\n invoiceDay: number;\n}\n\nexport enum GenerateMethod {\n UNSET = 'Unset',\n SUBSCRIPTION = 'Subscription',\n TEMPLATE = 'Template',\n}\n\nexport function generateMethodToApi(m: GenerateMethod): string {\n switch (m) {\n case GenerateMethod.SUBSCRIPTION:\n return 'subscription';\n case GenerateMethod.TEMPLATE:\n return 'template';\n default:\n return '';\n }\n}\n\nexport function generateMethodFromApi(m: string): GenerateMethod {\n switch (m) {\n case 'subscription':\n return GenerateMethod.SUBSCRIPTION;\n case 'template':\n return GenerateMethod.TEMPLATE;\n default:\n return GenerateMethod.UNSET;\n }\n}\n\nexport function retailConfigurationFromApi(proto: ApiRetailConfiguration): RetailConfiguration {\n return {\n merchantId: proto.merchantId,\n retailGroupId: proto.retailGroupId,\n currencyCode: proto.currencyCode,\n currencyConversionRate: proto.currencyConversionRate || 0,\n defaultCustomerConfiguration: defaultCustomerConfigurationFromApi(proto.defaultCustomerConfiguration),\n }\n}\n\nexport function defaultCustomerConfigurationFromApi(proto: ApiDefaultCustomerConfiguration): DefaultCustomerConfiguration {\n if (!proto) {\n return null;\n }\n return {\n generateMethod: generateMethodFromApi(proto.generateMethod),\n collectionMethod: collectionMethodFromApi(proto.collectionMethod),\n invoiceDay: proto.invoiceDay,\n }\n}\n\nexport function defaultCustomerConfigurationToApi(c: DefaultCustomerConfiguration): DefaultCustomerConfigurationInterface {\n if (!c) {\n return null;\n }\n return {\n generateMethod: generateMethodToApi(c.generateMethod),\n collectionMethod: collectionMethodToApi(c.collectionMethod),\n invoiceDay: c.invoiceDay,\n } as ApiDefaultCustomerConfiguration;\n}\n","import {HttpClient, HttpResponse} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {catchError, map, mapTo, share} from 'rxjs/operators';\nimport {PagedResponse, SortDirection} from '../core';\nimport {handleCsvError} from '../http-shared/error-handlers';\nimport {currencyFromApi} from '../pricing';\nimport {HostService} from '../_generated';\nimport {\n CreateStripeExternalAccountRequest,\n GetMerchantRequest,\n GetMultiRetailConfigurationsRequest,\n GetMultiRetailConfigurationsResponse,\n GetOutstandingBalanceRequest,\n GetPayoutSummaryRequest,\n GetRetailPayoutRequest,\n GetStatisticsRequest,\n GetStatisticsResponse,\n ListRetailPayoutsRequest,\n ListRetailPayoutsResponse,\n MerchantApiService,\n PagedRequestOptions,\n PagedRequestOptionsInterface,\n RetailPayout,\n SearchMerchantsRequestSortBy as SortByApi,\n SortDirection as SortDirectionApi,\n UpsertDefaultRetailCustomerConfigurationRequest,\n UpsertRetailConfigurationRequest,\n} from '../_internal';\nimport {Balance} from './balance';\nimport {Merchant, MerchantFromAPI} from './merchant';\nimport {DownloadMerchantsCsvRequest} from './merchant.interface';\nimport {PayoutSummary, payoutSummaryFromAPI} from './payout-summary';\nimport {\n DefaultCustomerConfiguration,\n defaultCustomerConfigurationToApi,\n RetailConfiguration,\n retailConfigurationFromApi,\n} from './retail-configuration';\n\n/**\n * @enum SortMerchantsBy\n * Names should match corresponding field in Merchant interface.\n * Values should match ../_internal/enums/SortBy\n */\nexport enum SortMerchantsBy {\n merchantId = 0,\n companyName,\n contactName,\n emailAddress,\n country,\n state,\n created,\n updated\n}\n\n@Injectable({providedIn: 'root'})\nexport class MerchantService {\n constructor(private merchantApi: MerchantApiService, private hostService: HostService, private http: HttpClient) { }\n\n get(merchantId: string): Observable<Merchant> {\n const req = new GetMerchantRequest({ merchantId });\n return this.merchantApi.get(req).pipe(map(resp => MerchantFromAPI(resp.merchant)));\n }\n\n create(\n merchantId: string, address: string, city: string, state: string, country: string, zipCode: string, emailAddress: string,\n phoneNumber: string, contactName: string, companyName: string, additionalEmailAddresses?: string[]\n ): Observable<boolean> {\n return this.merchantApi.create({\n merchantId,\n address,\n city,\n state,\n country,\n zipCode,\n emailAddress,\n phoneNumber,\n contactName,\n companyName,\n additionalEmailAddresses\n }).pipe(\n mapTo(true)\n );\n }\n\n update(\n merchantId: string, address: string, city: string, state: string, country: string, zipCode: string, emailAddress: string,\n phoneNumber: string, contactName: string, companyName: string, additionalEmailAddresses?: string[]\n ): Observable<boolean> {\n return this.merchantApi.update({\n merchantId,\n address,\n city,\n state,\n country,\n zipCode,\n emailAddress,\n phoneNumber,\n contactName,\n companyName,\n additionalEmailAddresses\n }).pipe(\n mapTo(true)\n );\n }\n\n getOutstandingBalance(merchantId: string): Observable<Balance> {\n const req = new GetOutstandingBalanceRequest({ merchantId });\n return this.merchantApi.getOutstandingBalance(req).pipe(\n map(r => ({\n outstanding: r.outstandingBalance || 0,\n currency: currencyFromApi(r.currency)\n }))\n );\n }\n\n getStatistics(merchantId: string): Observable<GetStatisticsResponse> {\n const req = new GetStatisticsRequest({ merchantId });\n return this.merchantApi.getStatistics(req);\n }\n\n search(\n searchTerm: string, sortBy: SortMerchantsBy, sortDirection: SortDirection, pagingOptions: PagedRequestOptionsInterface\n ): Observable<PagedResponse<Merchant>> {\n return this.merchantApi.search({\n searchTerm: searchTerm,\n sortBy: SortByApi[SortByApi[sortBy]],\n sortDirection: SortDirectionApi[SortDirectionApi[sortDirection]],\n pagingOptions: new PagedRequestOptions(pagingOptions)\n }).pipe(\n map(r => new PagedResponse(r.merchants.map(m => MerchantFromAPI(m)), r.pagingMetadata.nextCursor, r.pagingMetadata.hasMore))\n );\n }\n\n setAutoPostInvoices(merchantId: string, autoPostInvoices: boolean): Observable<boolean> {\n return this.merchantApi.setAutoPostInvoices({\n merchantId: merchantId,\n shouldAutoPostInvoices: autoPostInvoices\n }).pipe(\n mapTo(true)\n );\n }\n\n setAutoChargeInvoices(merchantId: string, autoChargeInvoices: boolean): Observable<boolean> {\n return this.merchantApi.setAutoChargeInvoices({\n merchantId, autoChargeInvoices\n }).pipe(\n mapTo(true)\n );\n }\n\n downloadCsv(r: DownloadMerchantsCsvRequest): Observable<Blob> {\n const queryParams = `?filename=${r.filename}`;\n return this.http.get(\n this.hostService.httpsHostWithScheme() + '/merchants-csv' + queryParams,\n this.apiOptions()\n ).pipe(\n catchError(handleCsvError)\n );\n }\n\n setIncludeInFinancialRecords(merchantId: string, includeInFinancialRecords: boolean): Observable<boolean> {\n return this.merchantApi.setIncludeInFinancialRecords({\n merchantId: merchantId,\n includeInFinancialRecords: includeInFinancialRecords\n }).pipe(\n mapTo(true)\n );\n }\n\n sendSalesInvoiceEmail(merchantId: string, invoiceId: string): Observable<boolean> {\n return this.merchantApi.sendSalesInvoiceEmail({\n merchantId: merchantId,\n invoiceId: invoiceId\n }).pipe(\n mapTo(true)\n )\n }\n\n chargeSalesInvoice(merchantId: string, invoiceId: string, amount: number): Observable<boolean> {\n return this.merchantApi.chargeSalesInvoice({\n merchantId,\n invoiceId,\n amount\n }).pipe(\n mapTo(true)\n )\n }\n\n sendSalesInvoiceReceiptEmail(merchantId: string, invoiceId: string): Observable<boolean> {\n return this.merchantApi.sendSalesInvoiceReceiptEmail({\n merchantId: merchantId,\n invoiceId: invoiceId\n }).pipe(\n mapTo(true)\n )\n }\n\n private apiOptions(): { responseType: 'blob', withCredentials: boolean } {\n return {\n responseType: 'blob',\n withCredentials: true\n }\n }\n\n createExternalAccount(merchantId: string, stripeToken: string): Observable<boolean> {\n return this.merchantApi.createStripeExternalAccount(new CreateStripeExternalAccountRequest({\n merchantId,\n stripeToken,\n })).pipe(\n mapTo(true)\n );\n }\n\n generateAccountBalanceReport(merchantId: string): Observable<Blob> {\n const queryParams = `?merchantID=${merchantId}`;\n return this.http.get(\n this.hostService.httpsHostWithScheme() + '/merchant-balance-details-report' + queryParams,\n this.apiOptions()\n ).pipe(\n share(),\n catchError(handleCsvError)\n );\n }\n\n getMultiRetailConfigurations(merchantId: string, retailGroupIds: string[]): Observable<Map<string, RetailConfiguration>> {\n const request = new GetMultiRetailConfigurationsRequest({\n merchantId,\n retailGroupIds\n });\n return this.merchantApi.getMultiRetailConfigurations(request).pipe(\n map((resp: GetMultiRetailConfigurationsResponse) => {\n const configMap = new Map<string, RetailConfiguration>();\n retailGroupIds.forEach(groupId => {\n configMap.set(groupId, retailConfigurationFromApi(resp.retailConfigurations[groupId]));\n });\n return configMap\n })\n )\n }\n\n upsertRetailConfiguration(\n merchantId: string,\n retailGroupId: string,\n currencyCode: string,\n currencyConversionRate?: number,\n ): Observable<null> {\n const request = new UpsertRetailConfigurationRequest({\n merchantId,\n retailGroupId,\n currencyCode,\n currencyConversionRate,\n });\n return this.merchantApi.upsertRetailConfiguration(request).pipe(mapTo(null));\n }\n\n getPayoutSummary(merchantId: string): Observable<PayoutSummary> {\n return this.merchantApi.getPayoutSummary(new GetPayoutSummaryRequest({\n merchantId,\n })).pipe(map(resp => payoutSummaryFromAPI(resp)));\n }\n\n getRetailPayout(merchantId: string, payoutId: string): Observable<RetailPayout> {\n return this.merchantApi.getRetailPayout(new GetRetailPayoutRequest({\n merchantId,\n payoutId,\n })).pipe(map(resp => resp.payout))\n }\n\n listRetailPayouts(merchantId: string, cursor: string = '', pageSize: number = 10): Observable<PagedResponse<RetailPayout>> {\n return this.merchantApi.listRetailPayouts(new ListRetailPayoutsRequest({\n merchantId: merchantId,\n pagingOptions: new PagedRequestOptions({cursor, pageSize}),\n })).pipe(\n map((resp: ListRetailPayoutsResponse) => {\n const retailPayouts = (resp.payouts || []);\n return new PagedResponse(retailPayouts, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore);\n })\n );\n }\n\n /**\n * Updates the default retail customer configuration for a given merchant and group ID\n * @param merchantId - the merchant to update for\n * @param retailGroupId - the group ID to update for\n * @param defaultCustomerConfiguration - the default customer configuration to apply. If `null`, the merchant/group will have no defaults\n */\n upsertDefaultRetailCustomerConfiguration(\n merchantId: string,\n retailGroupId: string,\n defaultCustomerConfiguration?: DefaultCustomerConfiguration\n ): Observable<HttpResponse<null>> {\n return this.merchantApi.upsertDefaultRetailCustomerConfiguration(\n new UpsertDefaultRetailCustomerConfigurationRequest({\n merchantId,\n retailGroupId,\n defaultCustomerConfiguration: defaultCustomerConfigurationToApi(defaultCustomerConfiguration),\n })\n );\n }\n}\n","import {\n Dispute as DisputeApi,\n DisputeEvidence as DisputeEvidenceApi,\n DisputeEvidenceDetails as DisputeEvidenceDetailsApi,\n DisputeStatus as DisputeStatusApi,\n File as FileApi,\n} from '../_internal';\n\nexport enum DisputeStatus {\n WARNING_NEEDS_RESPONSE = 'Warning Needs Response',\n WARNING_UNDER_REVIEW = 'Warning Under Review',\n WARNING_CLOSED = 'Warning Closed',\n NEEDS_RESPONSE = 'Needs Response',\n UNDER_REVIEW = 'Under Review',\n CHARGE_REFUNDED = 'Charge Refunded',\n LOST = 'Lost',\n WON = 'Won'\n}\n\nexport interface Dispute {\n id: string;\n paymentId: string;\n status: DisputeStatus;\n amount: number;\n created: Date;\n currencyCode: string;\n evidence: DisputeEvidence;\n evidenceDetails: DisputeEvidenceDetails;\n isChargeRefundable: boolean;\n reason: string;\n fee: number;\n feeCurrencyCode: string;\n}\n\nexport interface DisputeEvidence {\n customerCommunication: File;\n customerSignature: File;\n shippingDocumentation: File;\n receipt: File;\n uncategorizedFile: File;\n billingAddress: string;\n customerEmailAddress: string;\n customerName: string;\n productDescription: string;\n}\n\nexport interface DisputeEvidenceRequest {\n billingAddress?: string;\n customerEmailAddress?: string;\n customerName?: string;\n productDescription?: string;\n customerSignatureFileId?: string;\n customerCommunicationFileId?: string;\n receiptFileId?: string;\n shippingDocumentationFileId?: string;\n uncategorizedFileId?: string;\n}\n\nexport interface File {\n created: Date;\n id: string;\n filename: string;\n url: string;\n}\n\nexport interface DisputeEvidenceDetails {\n dueBy: Date;\n hasEvidence: boolean;\n pastDue: boolean;\n submissionCount: number;\n}\n\nexport function disputeFromApi(dispute: DisputeApi): Dispute {\n if (!dispute) {\n return null;\n }\n return {\n id: dispute.id || '',\n paymentId: dispute.paymentId || '',\n status: disputeStatusFromApi(dispute.status),\n amount: dispute.amount || 0,\n created: dispute.created,\n currencyCode: dispute.currencyCode,\n evidence: disputeEvidenceFromApi(dispute.evidence),\n evidenceDetails: disputeEvidenceDetailsFromApi(dispute.evidenceDetails),\n isChargeRefundable: dispute.isChargeRefundable || false,\n reason: dispute.reason || '',\n fee: dispute.fee,\n feeCurrencyCode: dispute.feeCurrencyCode,\n };\n}\n\nfunction disputeEvidenceFromApi(evidence: DisputeEvidenceApi): DisputeEvidence {\n if (!evidence) {\n return null;\n }\n return {\n customerCommunication: fileFromApi(evidence.customerCommunication),\n customerSignature: fileFromApi(evidence.customerSignature),\n shippingDocumentation: fileFromApi(evidence.shippingDocumentation),\n receipt: fileFromApi(evidence.receipt),\n uncategorizedFile: fileFromApi(evidence.uncategorizedFile),\n billingAddress: evidence.billingAddress || '',\n customerEmailAddress: evidence.customerEmailAddress || '',\n customerName: evidence.customerName || '',\n productDescription: evidence.productDescription || '',\n }\n}\n\nfunction fileFromApi(file: FileApi): File {\n if (!file) {\n return null;\n }\n return {\n id: file.id || '',\n created: file.created,\n filename: file.filename || '',\n url: file.url || '',\n }\n}\n\nfunction disputeEvidenceDetailsFromApi(evidence: DisputeEvidenceDetailsApi): DisputeEvidenceDetails {\n if (!evidence) {\n return null;\n }\n return {\n dueBy: evidence.dueBy,\n hasEvidence: evidence.hasEvidence,\n pastDue: evidence.pastDue,\n submissionCount: evidence.submissionCount,\n }\n}\n\nexport function disputeStatusFromApi(status: DisputeStatusApi): DisputeStatus {\n switch (status) {\n case DisputeStatusApi.DISPUTE_STATUS_WARNING_NEEDS_RESPONSE:\n return DisputeStatus.WARNING_NEEDS_RESPONSE;\n case DisputeStatusApi.DISPUTE_STATUS_WARNING_UNDER_REVIEW:\n return DisputeStatus.WARNING_UNDER_REVIEW;\n case DisputeStatusApi.DISPUTE_STATUS_WARNING_CLOSED:\n return DisputeStatus.WARNING_CLOSED;\n case DisputeStatusApi.DISPUTE_STATUS_NEEDS_RESPONSE:\n return DisputeStatus.NEEDS_RESPONSE;\n case DisputeStatusApi.DISPUTE_STATUS_UNDER_REVIEW:\n return DisputeStatus.UNDER_REVIEW;\n case DisputeStatusApi.DISPUTE_STATUS_CHARGE_REFUNDED:\n return DisputeStatus.CHARGE_REFUNDED;\n case DisputeStatusApi.DISPUTE_STATUS_LOST:\n return DisputeStatus.LOST;\n case DisputeStatusApi.DISPUTE_STATUS_WON:\n return DisputeStatus.WON;\n default:\n return null;\n }\n}\n","import { PaymentSource as PaymentSourceApi } from '../_internal';\n\nexport enum PaymentSource {\n UNSET = 'Unset',\n STRIPE = 'Stripe',\n VCASH = 'vCash',\n}\n\nexport function paymentSourceFromApi(pApi: PaymentSourceApi): PaymentSource {\n switch (pApi) {\n case PaymentSourceApi.PAYMENT_SOURCE_STRIPE:\n return PaymentSource.STRIPE;\n case PaymentSourceApi.PAYMENT_SOURCE_VCASH:\n return PaymentSource.VCASH;\n default:\n return PaymentSource.UNSET;\n }\n}\n","import { PaymentStatus as PaymentStatusApi } from '../_internal';\n\nexport enum PaymentStatus {\n Unset = 'UNSET',\n Failed = 'FAILED',\n Succeeded = 'SUCCEEDED'\n}\n\nexport function paymentStatusFromApi(psApi: PaymentStatusApi): PaymentStatus {\n switch (psApi) {\n case PaymentStatusApi.PAYMENT_STATUS_FAILED:\n return PaymentStatus.Failed;\n case PaymentStatusApi.PAYMENT_STATUS_SUCCEEDED:\n return PaymentStatus.Succeeded;\n }\n return PaymentStatus.Unset\n}\n","import { PaymentAllocationType as PaymentAllocationTypeApi } from '../_internal';\n\nexport enum PaymentAllocationType {\n UNSET = 'UNSET',\n PURCHASE = 'PURCHASE',\n INVOICE = 'INVOICE',\n}\n\nexport function paymentAllocationTypeFromApi(pApi: PaymentAllocationTypeApi): PaymentAllocationType {\n switch (pApi) {\n case PaymentAllocationTypeApi.PAYMENT_ALLOCATION_TYPE_INVOICE:\n return PaymentAllocationType.INVOICE;\n case PaymentAllocationTypeApi.PAYMENT_ALLOCATION_TYPE_PURCHASE:\n return PaymentAllocationType.PURCHASE;\n default:\n return PaymentAllocationType.UNSET;\n }\n}\n","import { PaymentPaymentAllocationInterface, PaymentInterface } from '../_internal';\nimport { Currency, currencyFromApi } from '../pricing';\nimport { PaymentSource, paymentSourceFromApi } from './payment-source';\nimport { PaymentStatus, paymentStatusFromApi } from './payment-status';\nimport { PaymentAllocationType, paymentAllocationTypeFromApi } from './payment-allocation-type';\n\nexport interface Intent {\n stripeClientSecret?: string;\n intentId?: string;\n}\n\nexport interface ListPaymentsFilter {\n merchantId?: string;\n allocationIds?: string[];\n start?: Date;\n end?: Date;\n}\n\nexport interface Payment {\n merchantId: string;\n created: Date;\n currency: Currency;\n paymentSource: PaymentSource;\n allocations: PaymentAllocation[];\n total: number;\n description: string;\n externalReferenceId: string;\n status: PaymentStatus;\n}\n\nexport interface PaymentAllocation {\n referenceId: string;\n amount: number;\n type: PaymentAllocationType;\n}\n\nexport function paymentFromApi(pApi: PaymentInterface): Payment {\n return {\n merchantId: pApi.merchantId || '',\n created: pApi.created ? new Date(pApi.created) : null,\n currency: pApi.currency ? currencyFromApi(pApi.currency) : Currency.USD,\n paymentSource: paymentSourceFromApi(pApi.paymentSource),\n allocations: pApi.allocations ? pApi.allocations.map(p => paymentAllocationFromApi(p)) : [],\n total: pApi.total || 0,\n description: pApi.description || '',\n externalReferenceId: pApi.externalReferenceId || '',\n status: paymentStatusFromApi(pApi.status)\n }\n};\n\nexport function paymentAllocationFromApi(pApi: PaymentPaymentAllocationInterface): PaymentAllocation {\n return {\n referenceId: pApi.referenceId || '',\n amount: pApi.amount || 0,\n type: pApi.type ? paymentAllocationTypeFromApi(pApi.type) : PaymentAllocationType.UNSET\n }\n}\n\nexport interface RetailProvider {\n statementDescriptor: string;\n stripeConnectId: string;\n}\n\nexport interface DeclineReason {\n description: string;\n nextSteps: string;\n}\n\nexport const DeclineReasons: Map<string, DeclineReason> = new Map<string, DeclineReason>(\n [\n [\n 'authentication_required', {\n description: 'The card was declined as the transaction requires authentication.',\n nextSteps: 'The customer should try again and authenticate their card when prompted during the transaction.'\n }\n ],\n [\n 'approve_with_id', {\n description: 'The payment cannot be authorized.',\n nextSteps: 'The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.'\n }\n ],\n [\n 'call_issuer', {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.'\n }\n ],\n [\n 'card_not_supported', {\n description: 'The card does not support the specified currency.',\n nextSteps: 'The customer needs to check with the issuer whether the card can be used for the type of currency specified.'\n }\n ],\n [\n 'do_not_honor', {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.'\n }\n ],\n [\n 'do_not_try_again', {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.'\n }\n ],\n [\n 'duplicate_transaction', {\n description: 'A transaction with identical amount and credit card information was submitted very recently.',\n nextSteps: 'Check to see if a recent payment already exists.'\n }\n ],\n [\n 'expired_card', {\n description: 'The card has expired.',\n nextSteps: 'The customer should use another card.'\n }\n ],\n [\n 'fraudulent', {\n description: 'The payment has been declined as Stripe suspects it is fraudulent.',\n nextSteps: 'Do not report more detailed information to your customer. Instead, present as you would the generic_decline described below.'\n }\n ],\n [\n 'generic_decline', {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.'\n }\n ],\n [\n 'incorrect_number', {\n description: 'The card number is incorrect.',\n nextSteps: 'The customer should try again using the correct card number.'\n }\n ],\n [\n 'incorrect_cvc', {\n description: 'The CVC number is incorrect.',\n nextSteps: 'The customer should try again using the correct CVC.'\n }\n ],\n [\n 'incorrect_pin', {\n description: 'The PIN entered is incorrect. This decline code only applies to payments made with a card reader.',\n nextSteps: 'The customer should try again using the correct PIN.'\n }\n ],\n [\n 'incorrect_zip', {\n description: 'The ZIP/postal code is incorrect.',\n nextSteps: 'The customer should try again using the correct billing ZIP/postal code.'\n }\n ],\n [\n 'insufficient_funds', {\n description: 'The card has insufficient funds to complete the purchase.',\n nextSteps: 'The customer should use an alternative payment method.'\n }\n ],\n [\n 'invalid_account', {\n description: 'The card, or account the card is connected to, is invalid.',\n nextSteps: 'The customer needs to contact their card issuer to check that the card is working correctly.'\n }\n ],\n [\n 'invalid_amount', {\n description: 'The payment amount is invalid, or exceeds the amount that is allowed.',\n nextSteps: 'If the amount appears to be correct, the customer needs to check with their card issuer that they can make purchases of that amount.'\n }\n ],\n [\n 'invalid_cvc', {\n description: 'The CVC number is incorrect.',\n nextSteps: 'The customer should try again using the correct CVC.'\n }\n ],\n [\n 'invalid_expiry_year', {\n description: 'The expiration year invalid.',\n nextSteps: 'The customer should try again using the correct expiration date.'\n }\n ],\n [\n 'invalid_number', {\n description: 'The card number is incorrect.',\n nextSteps: 'The customer should try again using the correct card number.'\n }\n ],\n [\n 'invalid_pin', {\n description: 'The PIN entered is incorrect. This decline code only applies to payments made with a card reader.',\n nextSteps: 'The customer should try again using the correct PIN.'\n }\n ],\n [\n 'issuer_not_available', {\n description: 'The card issuer could not be reached, so the payment could not be authorized.',\n nextSteps: 'The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.'\n }\n ],\n [\n 'lost_card', {\n description: 'The payment has been declined because the card is reported lost.',\n nextSteps: 'The specific reason for the decline should not be reported to the customer. Instead, it needs to be presented as a generic decline.'\n }\n ],\n [\n 'merchant_blacklist', {\n description: 'The payment has been declined because it matches a value on the Stripe user\\'s block list.',\n nextSteps: 'Do not report more detailed information to your customer. Instead, present as you would the generic_decline described above.'\n }\n ],\n [\n 'new_account_information_available', {\n description: 'The card, or account the card is connected to, is invalid.',\n nextSteps: 'The customer needs to contact their card issuer for more information.'\n }\n ],\n [\n 'no_action_taken', {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.'\n }\n ],\n [\n 'not_permitted', {\n description: 'The payment is not permitted.',\n nextSteps: 'The customer needs to contact their card issuer for more information.'\n }\n ],\n [\n 'offline_pin_required', {\n description: 'The card has been declined as it requires a PIN.',\n nextSteps: 'The customer should try again by inserting their card and entering a PIN.'\n }\n ],\n [\n 'online_or_offline_pin_required', {\n description: 'The card has been declined as it requires a PIN.',\n nextSteps: 'If the card reader supports Online PIN, the customer should be prompted for a PIN without a new transaction being created. If the card reader does not support Online PIN, the customer should try again by inserting their card and entering a PIN.'\n }\n ],\n [\n 'pickup_card', {\n description: 'The card cannot be used to make this payment (it is possible it has been reported lost or stolen).',\n nextSteps: 'The customer needs to contact their card issuer for more information.'\n }\n ],\n [\n 'pin_try_exceeded', {\n description: 'The allowable number of PIN tries has been exceeded.',\n nextSteps: 'The customer must use another card or method of payment.'\n }\n ],\n [\n 'processing_error', {\n description: 'An error occurred while processing the card.',\n nextSteps: 'The payment should be attempted again. If it still cannot be processed, try again later.'\n }\n ],\n [\n 'reenter_transaction', {\n description: 'The payment could not be processed by the issuer for an unknown reason.',\n nextSteps: 'The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.'\n }\n ],\n [\n 'restricted_card', {\n description: 'The card cannot be used to make this payment (it is possible it has been reported lost or stolen).',\n nextSteps: 'The customer needs to contact their card issuer for more information.'\n }\n ],\n [\n 'revocation_of_all_authorizations', {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.'\n }\n ],\n [\n 'revocation_of_authorization', {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.'\n }\n ],\n [\n 'security_violation', {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.'\n }\n ],\n [\n 'service_not_allowed', {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.'\n }\n ],\n [\n 'stolen_card', {\n description: 'The payment has been declined because the card is reported stolen.',\n nextSteps: 'The specific reason for the decline should not be reported to the customer. Instead, it needs to be presented as a generic decline.'\n }\n ],\n [\n 'stop_payment_order', {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.'\n }\n ],\n [\n 'testmode_decline', {\n description: 'A Stripe test card number was used.',\n nextSteps: 'A genuine card must be used to make a payment.'\n }\n ],\n [\n 'transaction_not_allowed', {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.'\n }\n ],\n [\n 'try_again_later', {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'Ask the customer to attempt the payment again. If subsequent payments are declined, the customer should contact their card issuer for more information.'\n }\n ],\n [\n 'withdrawal_count_limit_exceeded', {\n description: 'The customer has exceeded the balance or credit limit available on their card.',\n nextSteps: 'The customer should use an alternative payment method.'\n }\n ]\n ]\n);\n","import { PaymentCard as ApiPaymentCard, PaymentCardCARD_TYPE, PaymentCardFUNDING_TYPE } from '../_internal';\n\nexport interface PaymentCard {\n cardType: PaymentCardTypeLabel;\n fundingType: FundingTypeLabel;\n cardId: string;\n lastFourDigits: string;\n expiryMonth: number;\n expiryYear: number;\n cardholderName?: string;\n address?: string;\n city?: string;\n state?: string;\n country?: string;\n zipCode?: string;\n default?: boolean;\n}\n\nexport enum FundingType {\n PREPAID = 'Pre-paid',\n DEBIT = 'Debit',\n CREDIT = 'Credit',\n UNKNOWN = 'Unknown',\n}\n\nexport interface FundingTypeLabel {\n value: string,\n id: FundingType\n}\n\nexport enum PaymentCardType {\n AMEX = 'American Express',\n VISA = 'Visa',\n MASTERCARD = 'Mastercard',\n JCB = 'JCB',\n DINERS_CLUB = 'Diners Club',\n DISCOVER = 'Discover',\n UNKNOWN = 'Unknown',\n}\n\nexport interface PaymentCardTypeLabel {\n id: PaymentCardType,\n value: string,\n}\n\nconst paymentCardTypeLabelMap = new Map<PaymentCardCARD_TYPE, PaymentCardTypeLabel>([\n [PaymentCardCARD_TYPE.AMEX, {id: PaymentCardType.AMEX, value: 'American Express'}],\n [PaymentCardCARD_TYPE.VISA, {id: PaymentCardType.VISA, value: 'Visa'}],\n [PaymentCardCARD_TYPE.MASTERCARD, {id: PaymentCardType.MASTERCARD, value: 'Mastercard'}],\n [PaymentCardCARD_TYPE.JCB, {id: PaymentCardType.JCB, value: 'JCB'}],\n [PaymentCardCARD_TYPE.DINERS_CLUB, {id: PaymentCardType.DINERS_CLUB, value: 'Diners Club'}],\n [PaymentCardCARD_TYPE.DISCOVER, {id: PaymentCardType.DISCOVER, value: 'Discover'}],\n [PaymentCardCARD_TYPE.UNKNOWN, {id: PaymentCardType.UNKNOWN, value: 'Unknown'}],\n])\n\nfunction convertApiPaymentCardType(t: PaymentCardCARD_TYPE): PaymentCardTypeLabel {\n return paymentCardTypeLabelMap.get(t)\n}\n\nconst fundingTypeLabelMap = new Map<PaymentCardFUNDING_TYPE, FundingTypeLabel>([\n [PaymentCardFUNDING_TYPE.FUNDING_TYPE_DEBIT, {id: FundingType.DEBIT, value: 'Debit'}],\n [PaymentCardFUNDING_TYPE.FUNDING_TYPE_CREDIT, {id: FundingType.CREDIT, value: 'Credit'}],\n [PaymentCardFUNDING_TYPE.FUNDING_TYPE_PREPAID, {id: FundingType.PREPAID, value: 'Pre-paid'}],\n [PaymentCardFUNDING_TYPE.FUNDING_TYPE_UNKNOWN, {id: FundingType.UNKNOWN, value: 'Unknown'}],\n])\n\nexport function convertApiFundingType(t: PaymentCardFUNDING_TYPE): FundingTypeLabel {\n return fundingTypeLabelMap.get(t)\n}\n\nexport function convertApiPaymentCardDetails(c: ApiPaymentCard): PaymentCard {\n return {\n cardType: convertApiPaymentCardType(c.cardType),\n fundingType: convertApiFundingType(c.fundingType),\n cardId: c.cardId,\n lastFourDigits: c.lastFourDigits,\n expiryMonth: c.expiryMonth,\n expiryYear: c.expiryYear,\n cardholderName: c.cardholderName,\n address: c.address,\n city: c.city,\n state: c.state,\n country: c.country,\n zipCode: c.zipCode,\n default: c.default\n } as PaymentCard;\n}\n","import { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport {\n CreatePaymentCardRequest,\n ListPaymentCardsRequest,\n ListPaymentCardsResponse,\n MerchantApiService,\n PaymentCard as ApiPaymentCard,\n SetDefaultPaymentCardRequest,\n UpdatePaymentCardRequest,\n} from '../_internal';\nimport { convertApiPaymentCardDetails, PaymentCard } from './payment-card';\n\n@Injectable({providedIn: 'root'})\nexport class PaymentCardService {\n constructor(private apiService: MerchantApiService ) { }\n\n setDefaultCard(merchantId: string, cardId: string): Observable<HttpResponse<null>> {\n const request = new SetDefaultPaymentCardRequest({\n merchantId, cardId\n })\n return this.apiService.setDefaultPaymentCard(request)\n }\n\n getFirstPaymentCard(merchantId: string): Observable<PaymentCard> {\n return this.getAll(merchantId).pipe(\n map((cards: PaymentCard[]) => cards && cards.length ? cards[0] : null)\n )\n }\n\n getAll(merchantId: string): Observable<PaymentCard[]> {\n const req = new ListPaymentCardsRequest({\n merchantId: merchantId,\n });\n return this.apiService.listPaymentCards(req)\n .pipe(\n map((res: ListPaymentCardsResponse) => res && res.paymentCard ? res.paymentCard : []),\n map((paymentCards: ApiPaymentCard[]) => {\n return paymentCards.map((c: ApiPaymentCard) => convertApiPaymentCardDetails(c));\n }\n )\n )\n }\n\n update(merchantId: string, token: string): Observable<HttpResponse<null>> {\n const request = new UpdatePaymentCardRequest({merchantId: merchantId, stripeToken: token});\n return this.apiService.updatePaymentCard(new UpdatePaymentCardRequest(request));\n }\n\n create(merchantId: string, token: string): Observable<HttpResponse<null>> {\n const request = new CreatePaymentCardRequest({merchantId: merchantId, stripeToken: token});\n return this.apiService.createPaymentCard(new CreatePaymentCardRequest(request));\n }\n}\n","import {\n CardType,\n PaymentStatus as PaymentStatusApi,\n RetailPayment as RetailPaymentApi,\n RetailPaymentCardDetails as RetailPaymentCardDetailsApi,\n RetailPaymentReferenceType as RetailPaymentReferenceTypeApi,\n} from '../_internal';\nimport {Dispute, disputeFromApi} from './dispute';\nimport {PaymentCardType} from '../payment-card';\n\nexport enum RetailPaymentStatus {\n Failed = 'Failed',\n Succeeded = 'Succeeded',\n Refunded = 'Refunded',\n PartialyRefunded = 'Partially refunded',\n Disputed = 'Disputed'\n}\n\nexport interface CardDetails {\n cardType: PaymentCardType;\n lastFourDigits: string;\n}\n\nexport interface RetailPayment {\n id: string;\n merchantId: string;\n created: Date;\n currencyCode: string;\n amount: number;\n referenceId: string;\n referenceType: RetailPaymentReferenceTypeApi;\n description: string;\n customerId: string;\n status: RetailPaymentStatus;\n failureCode: string;\n failureMessage: string;\n applicationFee: number;\n dispute: Dispute;\n cardDetails: CardDetails\n}\n\nexport function retailPaymentFromApi(pApi: RetailPaymentApi): RetailPayment {\n return {\n id: pApi.id || '',\n merchantId: pApi.merchantId || '',\n created: pApi.created || null,\n currencyCode: pApi.currencyCode || '',\n amount: pApi.amount || 0.0,\n referenceId: pApi.referenceId || '',\n referenceType: pApi.referenceType,\n description: pApi.description || '',\n customerId: pApi.customerId || '',\n status: retailPaymentStatusFromApi(pApi.status, pApi.disputed),\n failureCode: pApi.failureCode,\n failureMessage: pApi.failureMessage,\n applicationFee: pApi.applicationFee,\n dispute: disputeFromApi(pApi.dispute),\n cardDetails: cardDetailsFromApi(pApi.cardDetails)\n };\n}\n\nfunction cardDetailsFromApi(cardDetails: RetailPaymentCardDetailsApi): CardDetails {\n return {\n lastFourDigits: cardDetails.lastFourDigits,\n cardType: cardTypeFromApi(cardDetails.cardType)\n };\n}\n\nfunction cardTypeFromApi(cardType: CardType): PaymentCardType {\n switch (cardType) {\n case CardType.CARD_TYPE_VISA:\n return PaymentCardType.VISA;\n case CardType.CARD_TYPE_MASTERCARD:\n return PaymentCardType.MASTERCARD;\n case CardType.CARD_TYPE_AMEX:\n return PaymentCardType.AMEX;\n case CardType.CARD_TYPE_DISCOVER:\n return PaymentCardType.DISCOVER;\n case CardType.CARD_TYPE_JCB:\n return PaymentCardType.JCB;\n case CardType.CARD_TYPE_DINERS_CLUB:\n return PaymentCardType.UNKNOWN;\n }\n}\n\nexport function retailPaymentStatusFromApi(status: PaymentStatusApi, disputed: boolean): RetailPaymentStatus {\n if (disputed) {\n return RetailPaymentStatus.Disputed;\n }\n switch (status) {\n case PaymentStatusApi.PAYMENT_STATUS_SUCCEEDED:\n return RetailPaymentStatus.Succeeded;\n case PaymentStatusApi.PAYMENT_STATUS_FAILED:\n return RetailPaymentStatus.Failed;\n case PaymentStatusApi.PAYMENT_STATUS_REFUNDED:\n return RetailPaymentStatus.Refunded;\n case PaymentStatusApi.PAYMENT_STATUS_PARTIALLY_REFUNDED:\n return RetailPaymentStatus.PartialyRefunded;\n default:\n return null;\n }\n}\n\n\n","import {\n RetailStatusResponseInterface,\n RetailStatusResponseVerificationErrorInterface,\n RetailStatusResponseVerificationRequirementsInterface\n} from '../_internal';\n\nexport interface RetailStatus {\n supportedRegion: boolean;\n canAcceptPayment: boolean;\n disabledReason: DisabledReason;\n requirements: Requirements;\n}\n\nexport interface Requirements {\n due: string[];\n errors: VerificationError[];\n}\n\nexport interface VerificationError {\n requirement: string;\n code: string;\n reason: string;\n}\n\nexport enum DisabledReason {\n FIELDS_NEEDED = 'fields needed',\n LISTED = 'listed',\n REJECTED = 'rejected',\n UNDER_REVIEW = 'under review',\n OTHER = 'other',\n }\n\nfunction disabledReasonFromAPI(reason: string): DisabledReason | null {\n switch (reason) {\n case 'rejected.fraud':\n case 'rejected.listed':\n case 'rejected.other':\n case 'rejected.terms_of_service':\n return DisabledReason.REJECTED;\n case 'other':\n return DisabledReason.OTHER;\n case 'listed':\n return DisabledReason.LISTED;\n case 'under_review':\n return DisabledReason.UNDER_REVIEW;\n default:\n return null;\n }\n}\n\nfunction verificationErrorFromAPI(e: RetailStatusResponseVerificationErrorInterface): VerificationError {\n return {\n requirement: e.requirement,\n code: e.code,\n reason: e.reason\n }\n}\n\nfunction requirementsFromAPI(requirements: RetailStatusResponseVerificationRequirementsInterface): Requirements {\n if (!requirements) {\n return {due: [], errors: []}\n }\n return {\n due: requirements.due,\n errors: (requirements.error || []).map(e => verificationErrorFromAPI(e))\n }\n}\n\nexport function retailResponseFromAPI(proto: RetailStatusResponseInterface): RetailStatus {\n return {\n supportedRegion: proto.supportedRegion || false,\n canAcceptPayment: proto.canAcceptPayment || false,\n disabledReason: disabledReasonFromAPI(proto.disabledReason),\n requirements: requirementsFromAPI(proto.requirements)\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, mapTo } from 'rxjs/operators';\nimport { PagedResponse } from '../core';\nimport {\n ListPaymentRequest,\n ListRetailDisputesRequest,\n ListRetailDisputesResponse,\n ListRetailPaymentsRequest,\n ListRetailPaymentsRequestListRetailPaymentsFilters,\n ListRetailPaymentsResponse,\n PagedRequestOptions,\n PaymentApiService,\n PrepareRetailPaymentRequest,\n RetailPaymentsEnabledRequest,\n RetailStatusRequest,\n RetailStatusResponse,\n} from '../_internal';\nimport { Dispute, DisputeEvidenceRequest, disputeFromApi } from './dispute';\nimport {\n Intent,\n ListPaymentsFilter,\n Payment,\n paymentFromApi,\n RetailProvider,\n} from './payment';\nimport { RetailPayment, retailPaymentFromApi } from './retail-payment';\nimport { retailResponseFromAPI, RetailStatus } from './retail-status';\n\n@Injectable({providedIn: 'root'})\nexport class PaymentService {\n constructor(\n private paymentApi: PaymentApiService,\n ) {\n }\n\n listPayments(filters: ListPaymentsFilter, cursor: string, pageSize: number): Observable<PagedResponse<Payment>> {\n const req = new ListPaymentRequest({\n filters: filters,\n pagingOptions: new PagedRequestOptions({cursor, pageSize}),\n });\n return this.paymentApi.list(req).pipe(\n map(response => {\n const payments = (response.payments || []).map(payment => paymentFromApi(payment));\n return new PagedResponse(payments, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);\n }),\n );\n }\n\n prepareRetailPayment(merchantId: string, customerId: string): Observable<Intent> {\n const req = new PrepareRetailPaymentRequest({\n merchantId: merchantId,\n customerId: customerId,\n });\n return this.paymentApi.prepareRetail(req).pipe(\n map(response => {\n return {\n stripeClientSecret: response.stripeClientSecret,\n intentId: response.intentId\n };\n })\n );\n }\n\n getRetail(merchantId: string, paymentId: string): Observable<RetailPayment> {\n return this.paymentApi.getRetail({\n merchantId: merchantId,\n paymentId: paymentId\n }).pipe(map(resp => retailPaymentFromApi(resp.payment)));\n }\n\n listRetail(\n merchantId: string,\n cursor: string = '',\n pageSize: number = 10,\n payoutId?: string,\n customerId?: string,\n createdDateGte?: Date,\n createdDateLte?: Date,\n ): Observable<PagedResponse<RetailPayment>> {\n const zeroDate = new Date('0001-01-01T00:00:00Z').valueOf();\n const filters: ListRetailPaymentsRequestListRetailPaymentsFilters = new ListRetailPaymentsRequestListRetailPaymentsFilters({\n payoutId: payoutId || '',\n customerId: customerId || '',\n });\n if (!!createdDateGte && createdDateGte.valueOf() !== zeroDate) {\n filters.createdDateGte = createdDateGte\n }\n if (!!createdDateLte && createdDateLte.valueOf() !== zeroDate) {\n filters.createdDateLte = createdDateLte\n }\n return this.paymentApi.listRetail(new ListRetailPaymentsRequest({\n merchantId: merchantId,\n filters: filters,\n pagingOptions: new PagedRequestOptions({cursor, pageSize}),\n })).pipe(\n map((resp: ListRetailPaymentsResponse) => {\n const retailPayments = (resp.payments || []).map(payment => retailPaymentFromApi(payment));\n return new PagedResponse(retailPayments, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore);\n })\n );\n }\n\n getRetailDispute(merchantId: string, disputeId: string): Observable<Dispute> {\n return this.paymentApi.getRetailDispute({\n merchantId: merchantId,\n disputeId: disputeId,\n }).pipe(map(resp => disputeFromApi(resp.dispute)));\n }\n\n listRetailDisputes(merchantId: string, cursor: string = '', pageSize: number = 10): Observable<PagedResponse<Dispute>> {\n return this.paymentApi.listRetailDisputes(new ListRetailDisputesRequest({\n merchantId: merchantId,\n pagingOptions: new PagedRequestOptions({cursor, pageSize}),\n })).pipe(\n map((resp: ListRetailDisputesResponse) => {\n const retailPayments = (resp.disputes || []).map(d => disputeFromApi(d));\n return new PagedResponse(retailPayments, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore);\n })\n );\n }\n\n retailStatus(merchantId: string): Observable<RetailStatus> {\n const req = new RetailStatusRequest({ merchantId });\n return this.paymentApi.retailStatus(req).pipe(\n map((r: RetailStatusResponse) => retailResponseFromAPI(r))\n )\n }\n\n retailPaymentsEnabled(merchantId: string): Observable<boolean> {\n const req = new RetailPaymentsEnabledRequest({ merchantId });\n return this.paymentApi.retailPaymentsEnabled(req).pipe(\n map(resp => resp.enabled),\n );\n }\n\n configureRetailProvider(merchantId: string, successUrl: string, failureUrl: string): Observable<string> {\n return this.paymentApi.configureRetailProvider({\n merchantId,\n successUrl,\n failureUrl\n }).pipe(map(resp => resp.stripeUrl))\n }\n\n getRetailProvider(merchantId: string): Observable<RetailProvider> {\n return this.paymentApi.getRetailProvider({merchantId}).pipe(\n map(resp => {\n return {\n statementDescriptor: resp.statementDescriptor,\n stripeConnectId: resp.stripeConnectId\n }\n })\n )\n }\n\n updateRetailProvider(merchantId: string, statementDescriptor: string): Observable<null> {\n return this.paymentApi.updateRetailProvider({merchantId, statementDescriptor}).pipe(mapTo(null))\n }\n\n submitEvidence(\n merchantId: string,\n disputeId: string,\n paymentId: string,\n submit: boolean,\n evidence?: DisputeEvidenceRequest\n ): Observable<null> {\n return this.paymentApi.submitEvidence({\n merchantId: merchantId,\n disputeId: disputeId,\n paymentId: paymentId,\n evidence: {\n billingAddress: evidence?.billingAddress || null,\n customerEmailAddress: evidence?.customerEmailAddress || null,\n customerName: evidence?.customerName || null,\n productDescription: evidence?.productDescription || null,\n customerSignatureFileId: evidence?.customerSignatureFileId || null,\n customerCommunicationFileId: evidence?.customerCommunicationFileId || null,\n receiptFileId: evidence?.receiptFileId || null,\n shippingDocumentationFileId: evidence?.shippingDocumentationFileId || null,\n uncategorizedFileId: evidence?.uncategorizedFileId || null,\n },\n submit: submit\n }).pipe(mapTo(null))\n }\n\n closeDispute(merchantId: string, disputeId: string): Observable<null> {\n return this.paymentApi.closeRetailDispute({\n merchantId: merchantId,\n disputeId: disputeId,\n }).pipe(mapTo(null))\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, mapTo } from 'rxjs/operators';\nimport {\n convertApiPaymentCardDetails,\n PaymentCard,\n} from '../payment-card/payment-card';\nimport {\n DeletePaymentCardRequest,\n ListPaymentCardsRequest,\n ListPaymentCardsResponse,\n PaymentMethodApiService,\n SetDefaultPaymentMethodRequest,\n} from '../_internal';\n\n@Injectable({providedIn: 'root'})\nexport class PaymentMethodService {\n constructor(\n private apiService: PaymentMethodApiService,\n ) {\n }\n\n listPaymentCards(merchantId: string, customerId: string): Observable<PaymentCard[]> {\n const req = new ListPaymentCardsRequest({\n merchantId,\n customerId\n });\n return this.apiService.listPaymentCards(req).pipe(\n map((resp: ListPaymentCardsResponse) => {\n return (resp && resp.paymentCard ? resp.paymentCard : []).map(c => convertApiPaymentCardDetails(c));\n }),\n )\n }\n\n deletePaymentCard(merchantId: string, cardId: string): Observable<boolean> {\n const req = new DeletePaymentCardRequest({\n merchantId,\n cardId\n });\n return this.apiService.deletePaymentCard(req).pipe(\n mapTo(true)\n );\n }\n\n setDefaultPaymentCard(merchantId: string, customerId: string, paymentMethodId: string): Observable<boolean> {\n const req = new SetDefaultPaymentMethodRequest({\n merchantId,\n customerId,\n paymentMethodId\n });\n return this.apiService.setDefaultPaymentMethod(req).pipe(\n mapTo(true)\n );\n }\n}\n\n","import {\n RetentionMetrics as RetentionMetricsApi,\n ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup as RetentionMetricsByGroupApi\n} from '../_internal';\n\nexport interface RetentionMetrics {\n sku: string;\n productName: string;\n startingCount: number;\n activations: number;\n deactivations: number;\n churn: number;\n retention: number;\n}\n\nexport interface RetentionMetricsByGroup {\n groupID: string;\n metrics: RetentionMetrics[];\n}\n\n\nexport interface ListSubscriptionRetentionFilters {\n start?: Date;\n end?: Date;\n}\n\nexport function subscriptionMetricFromAPI(mApi: RetentionMetricsApi): RetentionMetrics {\n return {\n sku: mApi.sku || '',\n productName: mApi.productName || '',\n startingCount: mApi.startingCount || 0,\n activations: mApi.activations || 0,\n deactivations: mApi.deactivations || 0,\n churn: mApi.churn || 0.0,\n retention: mApi.retention || 0.0,\n }\n}\n\nexport function subscriptionMetricByGroupFromAPI(mApi: RetentionMetricsByGroupApi): RetentionMetricsByGroup {\n const metrics = (mApi.subscriptionMetrics || []).map(metric => subscriptionMetricFromAPI(metric))\n return {\n groupID: mApi.groupId || '',\n metrics: metrics || []\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { PagedResponse } from '../core';\nimport {\n ListSubscriptionRetentionByGroupResponse,\n ListSubscriptionRetentionBySKUResponse,\n ListSubscriptionRetentionRequest,\n ProductSummaryApiService,\n PagedRequestOptions,\n} from '../_internal';\nimport {\n ListSubscriptionRetentionFilters,\n subscriptionMetricFromAPI,\n subscriptionMetricByGroupFromAPI,\n RetentionMetrics,\n RetentionMetricsByGroup\n} from './subscription-retention';\n\n@Injectable({providedIn: 'root'})\nexport class ProductSummaryService {\n constructor(private productSummaryApi: ProductSummaryApiService) { }\n\n listSubscriptionRetentionBySKU(\n merchantID: string, filters: ListSubscriptionRetentionFilters, cursor: string, pageSize: number\n ): Observable<PagedResponse<RetentionMetrics>> {\n const req = new ListSubscriptionRetentionRequest({\n merchantId: merchantID,\n filters,\n pagingOptions: new PagedRequestOptions({cursor, pageSize}),\n });\n return this.productSummaryApi.listSubscriptionRetentionBySku(req).pipe(\n map((response: ListSubscriptionRetentionBySKUResponse) => {\n const metrics = (response.subscriptionMetrics || []).map(metric => subscriptionMetricFromAPI(metric));\n return new PagedResponse(metrics, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);\n }),\n );\n }\n\n listSubscriptionRetentionByGroup(\n merchantID: string, filters: ListSubscriptionRetentionFilters, cursor: string, pageSize: number\n ): Observable<PagedResponse<RetentionMetricsByGroup>> {\n const req = new ListSubscriptionRetentionRequest({\n merchantId: merchantID,\n filters,\n pagingOptions: new PagedRequestOptions({cursor, pageSize}),\n });\n return this.productSummaryApi.listSubscriptionRetentionByGroup(req).pipe(\n map((response: ListSubscriptionRetentionByGroupResponse) => {\n const metricsByGroup = (response.metricsByGroup || []).map(m => subscriptionMetricByGroupFromAPI(m));\n return new PagedResponse(metricsByGroup, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);\n }),\n );\n }\n}\n","import { ListPurchaseRequestListPurchaseBillingStrategyFilterInterface, ListPurchaseRequestState, PurchaseStatus } from '../_internal';\n\nexport interface ListPurchaseFilter {\n merchantId?: string;\n purchaseId?: string;\n start?: Date;\n end?: Date;\n billingStrategyFilter?: ListPurchaseRequestListPurchaseBillingStrategyFilterInterface;\n state?: ListPurchaseRequestState;\n minPrice?: number;\n status?: PurchaseStatus;\n includeVoided?: boolean;\n}\n\ninterface ListPurchaseFilterHttp {\n merchantId?: string;\n purchaseId?: string;\n start?: string;\n end?: string;\n billingStrategyFilter?: {\n billingStrategy?: number[];\n };\n state?: number;\n minPrice?: number;\n status?: number;\n includeVoided?: boolean;\n}\n\n\nexport function listPurchaseFiltersToHTTPJson(filters: ListPurchaseFilter): ListPurchaseFilterHttp {\n return {\n merchantId: filters.merchantId,\n purchaseId: filters.purchaseId,\n start: filters.start ? filters.start.toISOString() : undefined,\n end: filters.end ? filters.end.toISOString() : undefined,\n billingStrategyFilter: filters.billingStrategyFilter ? {\n billingStrategy: filters.billingStrategyFilter.billingStrategy ?\n filters.billingStrategyFilter.billingStrategy.map(bs => bs.valueOf()) : []\n } : undefined,\n state: !!filters.state ? filters.state.valueOf() : undefined,\n minPrice: filters.minPrice,\n status: filters.status,\n includeVoided: filters.includeVoided\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { share } from 'rxjs/operators';\nimport { HostService } from '../_generated';\nimport { ListPurchaseFilter, listPurchaseFiltersToHTTPJson } from './list-purchases';\n\n@Injectable({providedIn: 'root'})\nexport class PurchaseService {\n\n constructor(\n private hostService: HostService,\n private http: HttpClient\n ) {\n }\n\n exportCSV(filters: ListPurchaseFilter): Observable<Blob> {\n const jsonFilters = listPurchaseFiltersToHTTPJson(filters)\n return this.http.post(\n `${this.hostService.httpsHostWithScheme()}/purchase/export-csv`, {filters: jsonFilters},\n {\n observe: 'body',\n responseType: 'blob',\n withCredentials: true,\n }\n ).pipe(\n share(),\n );\n }\n}\n","import { ReferenceType as ApiReferenceType, RefundInterface, RefundReason as ApiReason, RefundStatus as ApiStatus } from '../_internal';\n\nexport interface Refund {\n merchantId: string,\n chargeId: string;\n refundId: string;\n amount: number;\n reason: RefundReason,\n status: RefundStatus,\n created: Date;\n updated: Date;\n referenceType: ReferenceType;\n referenceId: string;\n}\n\nexport enum RefundReason {\n REQUESTED_BY_CUSTOMER = 'Requested by Customer',\n DUPLICATE = 'Duplicate',\n FRAUDULENT = 'Fraudulent',\n UNKNOWN = 'Unknown'\n}\n\nexport enum RefundStatus {\n SUCCEEDED = 'Succeeded',\n FAILED = 'Failed',\n PENDING = 'Pending',\n UNKNOWN = 'Unknown'\n}\n\nexport enum ReferenceType {\n PURCHASE = 'Purchase',\n PURCHASE_ITEM = 'Purchase Item',\n INVOICE = 'Invoice',\n UNKNOWN = 'Unknown'\n}\n\nexport function reasonToApi(r: RefundReason): ApiReason {\n switch (r) {\n case RefundReason.REQUESTED_BY_CUSTOMER:\n return ApiReason.REQUESTED_BY_CUSTOMER;\n case RefundReason.FRAUDULENT:\n return ApiReason.FRAUDULENT;\n case RefundReason.DUPLICATE:\n return ApiReason.DUPLICATE;\n }\n return ApiReason.DUPLICATE;\n}\n\nexport function reasonFromApi(r: ApiReason): RefundReason {\n switch (r) {\n case ApiReason.DUPLICATE:\n return RefundReason.DUPLICATE\n case ApiReason.REQUESTED_BY_CUSTOMER:\n return RefundReason.REQUESTED_BY_CUSTOMER;\n case ApiReason.FRAUDULENT:\n return RefundReason.FRAUDULENT;\n }\n return RefundReason.REQUESTED_BY_CUSTOMER;\n}\n\nexport function statusFromApi(r: ApiStatus): RefundStatus {\n switch (r) {\n case ApiStatus.SUCCEEDED:\n return RefundStatus.SUCCEEDED\n case ApiStatus.FAILED:\n return RefundStatus.FAILED;\n case ApiStatus.PENDING:\n return RefundStatus.PENDING\n }\n return RefundStatus.SUCCEEDED\n}\n\nexport function referenceFromApi(r: ApiReferenceType): ReferenceType {\n switch (r) {\n case ApiReferenceType.PURCHASE:\n return ReferenceType.PURCHASE\n case ApiReferenceType.PURCHASE_ITEM:\n return ReferenceType.PURCHASE_ITEM\n case ApiReferenceType.INVOICE:\n return ReferenceType.INVOICE\n }\n return ReferenceType.PURCHASE;\n}\n\nexport function refundFromApi(refund: RefundInterface): Refund {\n return {\n merchantId: refund.merchantId || '',\n chargeId: refund.chargeId || '',\n refundId: refund.refundId || '',\n amount: refund.amount || 0,\n reason: reasonFromApi(refund.reason),\n status: statusFromApi(refund.status),\n created: refund.created ? new Date(refund.created) : null,\n updated: refund.updated ? new Date(refund.updated) : null,\n referenceType: referenceFromApi(refund.referenceType),\n referenceId: refund.referenceId || ''\n };\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError as observableThrowError } from 'rxjs';\nimport { catchError, map, mapTo } from 'rxjs/operators';\nimport { PagedResponse } from '../core';\nimport { CreateRefundRequest, ListRefundsRequest, RefundApiService } from '../_internal';\nimport { reasonToApi, Refund, refundFromApi, RefundReason } from './refund';\n\n@Injectable({providedIn: 'root'})\nexport class RefundService {\n constructor(\n private refundApiService: RefundApiService,\n ) {}\n\n create(merchantId: string, chargeId: string, amount: number, reason: RefundReason): Observable<null> {\n const request = new CreateRefundRequest({\n merchantId: merchantId,\n paymentId: chargeId,\n amount: amount,\n reason: reasonToApi(reason)\n });\n return this.refundApiService\n .create(request)\n .pipe(\n catchError(this.handleError),\n mapTo(null)\n );\n }\n\n list(merchantId: string, paymentIds: string[], cursor: string, pageSize: number): Observable<PagedResponse<Refund>> {\n const req = new ListRefundsRequest({\n paymentIds: paymentIds,\n cursor: cursor,\n pageSize: pageSize,\n merchantId: merchantId,\n });\n return this.refundApiService.list(req).pipe(\n map(response => {\n const refunds = (response.refunds || []).map(item => refundFromApi(item));\n return new PagedResponse(refunds, response.nextCursor, response.hasMore);\n }),\n );\n }\n\n private handleError(error: HttpErrorResponse): Observable<never> {\n if (error.error instanceof ErrorEvent) {\n console.error(`An error occurred:`, error.error.message);\n } else {\n console.error(\n `Server returned ${error.message}`\n );\n }\n\n return observableThrowError(`Unable to issue a refund`);\n }\n}\n\n","import { CollectionMethod } from '../retail-customer-configuration';\nimport { CollectionMethod as ApiCollectionMethod } from '../_internal';\n\n\nexport function convertFromApiCollectionMethod(s: ApiCollectionMethod): CollectionMethod {\n switch (s) {\n case ApiCollectionMethod.COLLECTION_METHOD_INVALID:\n return CollectionMethod.UNSET;\n case ApiCollectionMethod.COLLECTION_METHOD_MANUAL:\n return CollectionMethod.MANUAL_COLLECTION;\n case ApiCollectionMethod.COLLECTION_METHOD_EMAIL:\n return CollectionMethod.SEND_EMAIL;\n case ApiCollectionMethod.COLLECTION_METHOD_CHARGE_AUTOMATICALLY:\n return CollectionMethod.CHARGE_AUTOMATICALLY;\n default:\n return CollectionMethod.UNSET;\n }\n}\n\nexport function convertToApiCollectionMethod(s: CollectionMethod): ApiCollectionMethod {\n switch (s) {\n case CollectionMethod.UNSET:\n return ApiCollectionMethod.COLLECTION_METHOD_INVALID;\n case CollectionMethod.MANUAL_COLLECTION:\n return ApiCollectionMethod.COLLECTION_METHOD_MANUAL;\n case CollectionMethod.SEND_EMAIL:\n return ApiCollectionMethod.COLLECTION_METHOD_EMAIL;\n case CollectionMethod.CHARGE_AUTOMATICALLY:\n return ApiCollectionMethod.COLLECTION_METHOD_CHARGE_AUTOMATICALLY;\n default:\n return ApiCollectionMethod.COLLECTION_METHOD_INVALID;\n }\n}\n","import { Interval as ApiInterval } from '../_internal';\n\nexport enum Interval {\n INVALID = 'Invalid',\n DAY = 'Daily',\n WEEK = 'Weekly',\n MONTH = 'Monthly',\n YEAR = 'Yearly',\n}\n\nexport function convertFromApiInterval(s: ApiInterval): Interval {\n switch (s) {\n case ApiInterval.INTERVAL_INVALID:\n return Interval.INVALID;\n case ApiInterval.INTERVAL_DAY:\n return Interval.DAY;\n case ApiInterval.INTERVAL_WEEK:\n return Interval.WEEK;\n case ApiInterval.INTERVAL_MONTH:\n return Interval.MONTH;\n case ApiInterval.INTERVAL_YEAR:\n return Interval.YEAR;\n default:\n return Interval.INVALID;\n }\n}\n\nexport function convertToApiInterval(s: Interval): ApiInterval {\n switch (s) {\n case Interval.INVALID:\n return ApiInterval.INTERVAL_INVALID;\n case Interval.DAY:\n return ApiInterval.INTERVAL_DAY;\n case Interval.WEEK:\n return ApiInterval.INTERVAL_WEEK;\n case Interval.MONTH:\n return ApiInterval.INTERVAL_MONTH;\n case Interval.YEAR:\n return ApiInterval.INTERVAL_YEAR;\n default:\n return ApiInterval.INTERVAL_INVALID;\n }\n}\n","import { PaymentProcessor as ApiPaymentProcessor } from '../_internal';\n\nexport enum PaymentProcessor {\n INVALID = 'Invalid',\n UNSET = 'Unset',\n STRIPE = 'Stripe',\n}\n\nexport function convertFromApiPaymentProcessor(s: ApiPaymentProcessor): PaymentProcessor {\n switch (s) {\n case ApiPaymentProcessor.PAYMENT_PROCESSOR_INVALID:\n return PaymentProcessor.INVALID;\n case ApiPaymentProcessor.PAYMENT_PROCESSOR_UNSET:\n return PaymentProcessor.UNSET;\n case ApiPaymentProcessor.PAYMENT_PROCESSOR_STRIPE:\n return PaymentProcessor.STRIPE;\n default:\n return PaymentProcessor.INVALID;\n }\n}\n\nexport function convertToApiPaymentProcessor(s: PaymentProcessor): ApiPaymentProcessor {\n switch (s) {\n case PaymentProcessor.INVALID:\n return ApiPaymentProcessor.PAYMENT_PROCESSOR_INVALID;\n case PaymentProcessor.UNSET:\n return ApiPaymentProcessor.PAYMENT_PROCESSOR_UNSET;\n case PaymentProcessor.STRIPE:\n return ApiPaymentProcessor.PAYMENT_PROCESSOR_STRIPE;\n default:\n return ApiPaymentProcessor.PAYMENT_PROCESSOR_INVALID;\n }\n}\n","import { RecurringInvoiceStatus as ApiRecurringInvoiceStatus } from '../_internal';\n\n\nexport enum RecurringInvoiceStatus {\n INVALID = 'Invalid',\n INACTIVE = 'Inactive',\n ACTIVE = 'Active',\n ARCHIVED = 'Archived',\n}\n\nexport function convertFromApiRecurringInvoiceStatus(s: ApiRecurringInvoiceStatus): RecurringInvoiceStatus {\n switch (s) {\n case ApiRecurringInvoiceStatus.RECURRING_INVOICE_STATUS_INVALID:\n return RecurringInvoiceStatus.INVALID;\n case ApiRecurringInvoiceStatus.RECURRING_INVOICE_STATUS_INACTIVE:\n return RecurringInvoiceStatus.INACTIVE;\n case ApiRecurringInvoiceStatus.RECURRING_INVOICE_STATUS_ACTIVE:\n return RecurringInvoiceStatus.ACTIVE;\n case ApiRecurringInvoiceStatus.RECURRING_INVOICE_STATUS_ARCHIVED:\n return RecurringInvoiceStatus.ARCHIVED;\n default:\n return RecurringInvoiceStatus.INVALID;\n }\n}\n\nexport function convertToApiRecurringInvoiceStatus(s: RecurringInvoiceStatus): ApiRecurringInvoiceStatus {\n switch (s) {\n case RecurringInvoiceStatus.INVALID:\n return ApiRecurringInvoiceStatus.RECURRING_INVOICE_STATUS_INVALID;\n case RecurringInvoiceStatus.INACTIVE:\n return ApiRecurringInvoiceStatus.RECURRING_INVOICE_STATUS_INACTIVE;\n case RecurringInvoiceStatus.ACTIVE:\n return ApiRecurringInvoiceStatus.RECURRING_INVOICE_STATUS_ACTIVE;\n case RecurringInvoiceStatus.ARCHIVED:\n return ApiRecurringInvoiceStatus.RECURRING_INVOICE_STATUS_ARCHIVED;\n default:\n return ApiRecurringInvoiceStatus.RECURRING_INVOICE_STATUS_INVALID;\n }\n}\n","import { CollectionMethod } from '../retail-customer-configuration';\nimport {\n RecurringInvoice as RecurringInvoiceApi,\n RecurringInvoiceItem as RecurringInvoiceItemApi,\n RecurringInvoiceLineItem as RecurringInvoiceLineItemApi,\n RecurringInvoiceBundle as RecurringInvoiceBundleApi,\n RecurringInvoiceLineItemInterface,\n RecurringInvoiceBundleInterface\n} from '../_internal';\nimport { convertFromApiCollectionMethod } from './collection-method';\nimport { convertFromApiInterval, Interval } from './interval';\nimport { convertFromApiPaymentProcessor, PaymentProcessor } from './payment-processor';\nimport { convertFromApiRecurringInvoiceStatus, RecurringInvoiceStatus } from './status';\n\nexport class ListRecurringInvoicesByCustomerID {\n customerId: string;\n\n constructor(customerId: string) {\n this.customerId = customerId;\n }\n}\n\nexport class ListRecurringInvoicesByMerchantID {\n merchantId: string;\n\n constructor(merchantId: string) {\n this.merchantId = merchantId;\n }\n}\n\nexport interface CreateRecurringInvoiceRequest {\n customerId: string,\n issuedAt: Date,\n intervalCount: number,\n interval: Interval,\n collectionMethod: CollectionMethod,\n recipientUserId: string,\n paymentProcessorId: string,\n paymentProcessor: PaymentProcessor,\n items: (RecurringInvoiceLineItem | RecurringInvoiceBundle)[],\n status: RecurringInvoiceStatus\n}\nclass LineItem {\n name: string;\n\n constructor(name: string) {\n this.name = name;\n }\n}\n\nexport class RecurringInvoiceLineItem extends LineItem implements RecurringInvoiceLineItemInterface {\n sku?: string;\n unitPrice: number;\n quantity: number;\n taxRateIds?: string[];\n\n constructor(kwargs?: RecurringInvoiceLineItemInterface) {\n super(kwargs.name);\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n}\n\nexport class RecurringInvoiceBundle extends LineItem implements RecurringInvoiceBundleInterface {\n hideLineItems: boolean;\n lineItems: RecurringInvoiceLineItem[];\n\n constructor(kwargs?: RecurringInvoiceBundleInterface) {\n super(kwargs.name);\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n}\n\n\nexport interface RecurringInvoice {\n id: string;\n created?: Date;\n updated?: Date;\n customerId: string;\n status: RecurringInvoiceStatus;\n issuedAt: Date;\n nextIssue?: Date;\n intervalCount: number;\n interval: Interval;\n collectionMethod: CollectionMethod;\n recipientUserId: string;\n paymentProcessor: PaymentProcessor;\n paymentProcessorId: string;\n items: (RecurringInvoiceLineItem | RecurringInvoiceBundle)[];\n totalAmount?: number;\n currencyCode?: string;\n}\n\nfunction convertFromApiRecurringInvoiceLineItem(li: RecurringInvoiceLineItemApi): RecurringInvoiceLineItem {\n if (!li) {\n return\n }\n\n return new RecurringInvoiceLineItem({\n sku: li.sku,\n unitPrice: li.unitPrice,\n quantity: li.quantity,\n name: li.name,\n taxRateIds: li.taxRateIds || [],\n });\n}\n\nfunction convertFromApiRecurringInvoiceLineItemBundle(li: RecurringInvoiceBundleApi): RecurringInvoiceBundle {\n if (!li) {\n return\n }\n\n return new RecurringInvoiceBundle({\n name: li.name,\n hideLineItems: li.hideLineItems || false,\n lineItems: (li.lineItems || []).map(i => convertFromApiRecurringInvoiceLineItem(i))\n });\n}\n\nfunction convertFromApiRecurringInvoiceItem(i: RecurringInvoiceItemApi): RecurringInvoiceLineItem | RecurringInvoiceBundle {\n if (!!i.lineItem) {\n return convertFromApiRecurringInvoiceLineItem(i.lineItem);\n } else if (!!i.bundle) {\n return convertFromApiRecurringInvoiceLineItemBundle(i.bundle);\n }\n return null;\n}\n\nexport function convertFromApiRecurringInvoice(i: RecurringInvoiceApi): RecurringInvoice {\n if (!i) {\n return\n }\n\n const zeroDate = new Date('0001-01-01T00:00:00Z').valueOf();\n return {\n id: i.id,\n created: i.created.valueOf() !== zeroDate ? i.created : null,\n updated: i.updated.valueOf() !== zeroDate ? i.updated : null,\n customerId: i.customerId,\n status: convertFromApiRecurringInvoiceStatus(i.status),\n issuedAt: i.issuedAt.valueOf() !== zeroDate ? i.issuedAt : null,\n nextIssue: i.nextIssue.valueOf() !== zeroDate ? i.nextIssue : null,\n intervalCount: i.intervalCount,\n interval: convertFromApiInterval(i.interval),\n collectionMethod: convertFromApiCollectionMethod(i.collectionMethod),\n recipientUserId: i.recipientUserId,\n paymentProcessor: convertFromApiPaymentProcessor(i.paymentProcessor),\n paymentProcessorId: i.paymentProcessorId,\n items: (i.items || []).map(li => convertFromApiRecurringInvoiceItem(li)),\n totalAmount: i.totalAmount || 0,\n currencyCode: i.currencyCode\n } as RecurringInvoice\n}\n\nfunction convertToApiRecurringInvoiceLineItem(li: RecurringInvoiceLineItem): RecurringInvoiceLineItemApi {\n if (!li) {\n return\n }\n\n return new RecurringInvoiceLineItemApi({\n sku: li.sku,\n unitPrice: li.unitPrice,\n quantity: li.quantity,\n name: li.name,\n taxRateIds: li.taxRateIds\n });\n}\n\nexport function convertToApiRecurringInvoiceItem(li: RecurringInvoiceLineItem | RecurringInvoiceBundle): RecurringInvoiceItemApi {\n let lineItem: RecurringInvoiceLineItemApi;\n let bundle: RecurringInvoiceBundleApi;\n\n if (li instanceof RecurringInvoiceLineItem) {\n lineItem = convertToApiRecurringInvoiceLineItem(li)\n } else if (li instanceof RecurringInvoiceBundle) {\n bundle = new RecurringInvoiceBundleApi({\n name: li.name,\n hideLineItems: li.hideLineItems,\n lineItems: (li.lineItems || []).map(item => convertToApiRecurringInvoiceLineItem(item))\n })\n }\n\n return new RecurringInvoiceItemApi({\n lineItem, bundle\n })\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport {\n RecurringInvoiceApiService,\n RecurringInvoice as RecurringInvoiceApi,\n GetRecurringInvoiceRequest,\n DeleteRecurringInvoiceRequest,\n ListRecurringInvoicesRequest,\n ListRecurringInvoicesResponse,\n UpdateRecurringInvoiceRequest,\n} from '../_internal';\nimport {\n RecurringInvoice,\n convertFromApiRecurringInvoice,\n ListRecurringInvoicesByCustomerID,\n ListRecurringInvoicesByMerchantID,\n convertToApiRecurringInvoiceItem,\n CreateRecurringInvoiceRequest,\n} from './recurring-invoice';\nimport { HttpResponse } from '@angular/common/http';\nimport { PagedResponse } from '../core';\nimport { convertToApiInterval } from './interval';\nimport { convertToApiCollectionMethod } from './collection-method';\nimport { convertToApiPaymentProcessor } from './payment-processor';\nimport { convertToApiRecurringInvoiceStatus } from './status';\n\n@Injectable({ providedIn: 'root' })\nexport class RecurringInvoiceService {\n constructor(private recurringInvoiceApiService: RecurringInvoiceApiService) { }\n\n create(request: CreateRecurringInvoiceRequest): Observable<RecurringInvoice> {\n const req = new RecurringInvoiceApi({\n ...request,\n status: convertToApiRecurringInvoiceStatus(request.status),\n interval: convertToApiInterval(request.interval),\n collectionMethod: convertToApiCollectionMethod(request.collectionMethod),\n paymentProcessor: convertToApiPaymentProcessor(request.paymentProcessor),\n items: (request.items || []).map(i => convertToApiRecurringInvoiceItem(i)),\n });\n\n return this.recurringInvoiceApiService.createRecurringInvoice(req).pipe(\n map((res: RecurringInvoiceApi) => convertFromApiRecurringInvoice(res))\n );\n }\n\n get(id: string): Observable<RecurringInvoice> {\n const req = new GetRecurringInvoiceRequest({\n id\n });\n return this.recurringInvoiceApiService.getRecurringInvoice(req).pipe(\n map((resp: RecurringInvoiceApi) => convertFromApiRecurringInvoice(resp))\n )\n }\n\n delete(id: string): Observable<HttpResponse<null>> {\n const req = new DeleteRecurringInvoiceRequest({\n id\n })\n return this.recurringInvoiceApiService.deleteRecurringInvoice(req);\n }\n\n list(\n filter: ListRecurringInvoicesByCustomerID | ListRecurringInvoicesByMerchantID,\n cursor: string,\n pageSize: number\n ): Observable<PagedResponse<RecurringInvoice>> {\n const req = new ListRecurringInvoicesRequest({\n pagingOptions: {\n cursor,\n pageSize,\n },\n });\n if (filter instanceof ListRecurringInvoicesByCustomerID) {\n req.customerId = filter.customerId;\n } else if (filter instanceof ListRecurringInvoicesByMerchantID) {\n req.merchantId = filter.merchantId;\n }\n return this.recurringInvoiceApiService.listRecurringInvoices(req).pipe(\n map((resp: ListRecurringInvoicesResponse) => {\n const invoices = (resp.recurringInvoices || []).map(item => convertFromApiRecurringInvoice(item));\n return new PagedResponse(invoices, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore);\n }),\n );\n }\n\n update(recurringInvoice: RecurringInvoice): Observable<RecurringInvoice> {\n const req = new UpdateRecurringInvoiceRequest({\n recurringInvoice: new RecurringInvoiceApi({\n ...recurringInvoice,\n status: convertToApiRecurringInvoiceStatus(recurringInvoice.status),\n interval: convertToApiInterval(recurringInvoice.interval),\n collectionMethod: convertToApiCollectionMethod(recurringInvoice.collectionMethod),\n paymentProcessor: convertToApiPaymentProcessor(recurringInvoice.paymentProcessor),\n items: (recurringInvoice.items || []).map(i => convertToApiRecurringInvoiceItem(i))\n })\n });\n\n return this.recurringInvoiceApiService.updateRecurringInvoice(req).pipe(\n map((res: RecurringInvoiceApi) => convertFromApiRecurringInvoice(res))\n );\n }\n}\n","import {SalesCreditNoteInterface} from '../_internal/interfaces';\nimport {Currency, currencyFromApi} from '../pricing';\nimport {SalesCreditNoteStatus as InternalSalesCreditNoteStatus} from '../_internal/enums';\nimport {\n ListSalesCreditNoteRequestListSalesCreditNoteFilters,\n} from '../_internal/objects/sales-credit-note';\n\nexport interface SalesCreditNote {\n creditNoteId: string;\n creditNoteNumber: string;\n merchantId: string;\n creditNoteReason: string;\n creditNoteDate: Date;\n dueDate: Date;\n currency: Currency;\n total: number;\n outstanding?: number;\n invoiceId: string;\n invoiceNumber: string;\n status: SalesCreditNoteStatus;\n paymentStatus?: string;\n}\n\nexport enum SalesCreditNoteStatus {\n InProgress = 'IN_PROGRESS',\n ReadyToPost = 'READY_TO_POST',\n Complete = 'COMPLETE',\n Discarded = 'DISCARDED',\n}\n\nexport interface ListFilters {\n merchantId?: string;\n statuses?: SalesCreditNoteStatus[];\n}\n\nexport function salesCreditNoteFromApi(siApi: SalesCreditNoteInterface): SalesCreditNote {\n return {\n creditNoteId: siApi.creditNoteId,\n creditNoteNumber: siApi.creditNoteNumber,\n merchantId: siApi.merchantId,\n creditNoteReason: siApi.creditNoteReason,\n creditNoteDate: siApi.creditNoteDate ? new Date(siApi.creditNoteDate) : null,\n dueDate: siApi.dueDate ? new Date(siApi.dueDate) : null,\n currency: currencyFromApi(siApi.currency),\n total: siApi.total || 0,\n outstanding: siApi.outstanding || 0,\n invoiceId: siApi.invoiceId,\n invoiceNumber: siApi.invoiceNumber,\n status: salesCreditNoteStatusFromApi(siApi.status),\n paymentStatus: siApi.paymentStatus,\n }\n}\n\nexport function listSalesCreditNoteFiltersToApi(filters: ListFilters): ListSalesCreditNoteRequestListSalesCreditNoteFilters {\n return new ListSalesCreditNoteRequestListSalesCreditNoteFilters({\n ...filters,\n statuses: (filters.statuses || []).map(s => salesCreditNoteStatusToApi(s))\n });\n}\n\n\nfunction salesCreditNoteStatusFromApi(sApi: InternalSalesCreditNoteStatus): SalesCreditNoteStatus {\n switch (sApi) {\n case InternalSalesCreditNoteStatus.SALES_CREDIT_NOTE_STATUS_READY_TO_POST:\n return SalesCreditNoteStatus.ReadyToPost;\n case InternalSalesCreditNoteStatus.SALES_CREDIT_NOTE_STATUS_COMPLETE:\n return SalesCreditNoteStatus.Complete;\n case InternalSalesCreditNoteStatus.SALES_CREDIT_NOTE_STATUS_DISCARDED:\n return SalesCreditNoteStatus.Discarded;\n }\n return SalesCreditNoteStatus.InProgress;\n}\n\nfunction salesCreditNoteStatusToApi(status: SalesCreditNoteStatus): InternalSalesCreditNoteStatus {\n switch (status) {\n case SalesCreditNoteStatus.ReadyToPost:\n return InternalSalesCreditNoteStatus.SALES_CREDIT_NOTE_STATUS_READY_TO_POST;\n case SalesCreditNoteStatus.Complete:\n return InternalSalesCreditNoteStatus.SALES_CREDIT_NOTE_STATUS_COMPLETE;\n case SalesCreditNoteStatus.Discarded:\n return InternalSalesCreditNoteStatus.SALES_CREDIT_NOTE_STATUS_DISCARDED;\n }\n return InternalSalesCreditNoteStatus.SALES_CREDIT_NOTE_STATUS_IN_PROGRESS;\n}\n","\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError as observableThrowError } from 'rxjs';\nimport { catchError, map, share } from 'rxjs/operators';\nimport { PagedResponse } from '../core';\nimport { HostService } from '../_generated';\nimport {\n CreateSalesCreditNoteRequest,\n ListSalesCreditNoteRequest,\n PagedRequestOptions,\n SalesCreditNoteApiService,\n} from '../_internal';\nimport {\n ListFilters,\n listSalesCreditNoteFiltersToApi,\n SalesCreditNote,\n salesCreditNoteFromApi,\n} from './sales-credit-note';\n\n@Injectable({providedIn: 'root'})\nexport class SalesCreditNoteService {\n constructor(private hostService: HostService, private http: HttpClient, private salesCreditNoteApi: SalesCreditNoteApiService) { }\n\n downloadPdf(salesCreditNoteId: string, merchantId?: string): Observable<Blob> {\n let params;\n if (merchantId) {\n params = { salesCreditNoteId, merchantId }\n } else {\n params = { salesCreditNoteId }\n }\n\n return this.http.get(`${this.hostService.httpsHostWithScheme()}/sales-credit-note-pdf`, {\n observe: 'body',\n params: params,\n responseType: 'blob',\n withCredentials: true,\n }).pipe(\n share(),\n catchError(this.handleDownloadPDFError.bind(this))\n );\n }\n\n createAutomatedCreditNote(merchantId: string, creditNoteReason: string, total: number, sku: string): Observable<null> {\n const req = new CreateSalesCreditNoteRequest({\n merchantId,\n creditNoteReason,\n total,\n sku,\n });\n return this.salesCreditNoteApi.create(req).pipe(map(() => null));\n }\n\n list(filters: ListFilters, cursor: string, pageSize: number): Observable<PagedResponse<SalesCreditNote>> {\n const req = new ListSalesCreditNoteRequest({\n filters: listSalesCreditNoteFiltersToApi(filters),\n pagingOptions: new PagedRequestOptions({cursor, pageSize})\n });\n return this.salesCreditNoteApi.list(req).pipe(\n map(response => {\n const salesCreditNotes = (response.creditNote || []).map(i => salesCreditNoteFromApi(i));\n return new PagedResponse(salesCreditNotes, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore)\n })\n );\n }\n\n private handleDownloadPDFError(error: HttpErrorResponse): Observable<never> {\n if (error.error instanceof ErrorEvent) {\n console.error(`An error occurred:`, error.error.message);\n } else {\n console.error(`Server returned ${error.message}`);\n }\n return observableThrowError(`Unable to download pdf`);\n }\n}\n","import {SalesInvoiceInterface} from '../_internal/interfaces';\nimport {Currency, currencyFromApi} from '../pricing';\nimport {\n PaymentStatuses,\n SalesInvoiceStatus as InternalSalesInvoiceStatus,\n SalesInvoiceType as InternalSalesInvoiceType\n} from '../_internal/enums';\nimport {ListSalesInvoiceRequestListSalesInvoiceFilters} from '../_internal/objects/sales-invoice';\n\nexport interface SalesInvoice {\n invoiceId: string;\n invoiceNumber: string;\n merchantId: string;\n invoiceDate: Date;\n startDate: Date;\n endDate: Date;\n dueDate: Date;\n currency: Currency;\n status: SalesInvoiceStatus;\n type: SalesInvoiceType;\n total: number;\n paymentStatus?: string;\n outstanding?: number;\n}\n\nexport enum SalesInvoiceStatus {\n InProgress = 'IN_PROGRESS',\n ReadyToPost = 'READY_TO_POST',\n Complete = 'COMPLETE',\n Discarded = 'DISCARDED',\n}\n\nexport enum SalesInvoiceType {\n Instant = 'INSTANT',\n Invoiced = 'INVOICED',\n}\n\nexport enum PaymentStatusType {\n Not_Applicable = 'Not Applicable',\n Unpaid = 'Unpaid',\n Paid = 'Paid',\n Part_Paid = 'Part Paid'\n}\n\nexport interface ListSalesInvoicesFilters {\n merchantId?: string;\n statuses?: SalesInvoiceStatus[];\n paymentStatuses?: PaymentStatusType[];\n invoiceId?: string[];\n}\n\nexport function salesInvoiceFromApi(siApi: SalesInvoiceInterface): SalesInvoice {\n return {\n invoiceId: siApi.invoiceId,\n invoiceNumber: siApi.invoiceNumber,\n merchantId: siApi.merchantId,\n invoiceDate: siApi.invoiceDate ? new Date(siApi.invoiceDate) : null,\n startDate: siApi.startDate ? new Date(siApi.startDate) : null,\n endDate: siApi.endDate ? new Date(siApi.endDate) : null,\n dueDate: siApi.dueDate ? new Date(siApi.dueDate) : null,\n currency: currencyFromApi(siApi.currency),\n status: salesInvoiceStatusFromApi(siApi.status),\n type: salesInvoiceTypeFromApi(siApi.type),\n total: siApi.total || 0,\n paymentStatus: siApi.paymentStatus,\n outstanding: siApi.outstanding || 0,\n }\n}\n\nexport function listSalesInvoiceFiltersToApi(filters: ListSalesInvoicesFilters): ListSalesInvoiceRequestListSalesInvoiceFilters {\n return new ListSalesInvoiceRequestListSalesInvoiceFilters({\n ...filters,\n statuses: (filters.statuses || []).map(s => salesInvoiceStatusToApi(s)),\n paymentStatuses: (filters.paymentStatuses || []).map(s => salesInvoicePaymentStatusToApi(s)),\n });\n}\n\n\nfunction salesInvoiceStatusFromApi(sApi: InternalSalesInvoiceStatus): SalesInvoiceStatus {\n switch (sApi) {\n case InternalSalesInvoiceStatus.SALES_INVOICE_STATUS_READY_TO_POST:\n return SalesInvoiceStatus.ReadyToPost;\n case InternalSalesInvoiceStatus.SALES_INVOICE_STATUS_COMPLETE:\n return SalesInvoiceStatus.Complete;\n case InternalSalesInvoiceStatus.SALES_INVOICE_STATUS_DISCARDED:\n return SalesInvoiceStatus.Discarded;\n }\n return SalesInvoiceStatus.InProgress;\n}\n\nfunction salesInvoiceStatusToApi(status: SalesInvoiceStatus): InternalSalesInvoiceStatus {\n switch (status) {\n case SalesInvoiceStatus.ReadyToPost:\n return InternalSalesInvoiceStatus.SALES_INVOICE_STATUS_READY_TO_POST;\n case SalesInvoiceStatus.Complete:\n return InternalSalesInvoiceStatus.SALES_INVOICE_STATUS_COMPLETE;\n case SalesInvoiceStatus.Discarded:\n return InternalSalesInvoiceStatus.SALES_INVOICE_STATUS_DISCARDED;\n }\n return InternalSalesInvoiceStatus.SALES_INVOICE_STATUS_IN_PROGRESS;\n}\n\nfunction salesInvoiceTypeFromApi(type: InternalSalesInvoiceType): SalesInvoiceType {\n switch (type) {\n case InternalSalesInvoiceType.SALES_INVOICE_TYPE_INVOICED:\n return SalesInvoiceType.Invoiced;\n case InternalSalesInvoiceType.SALES_INVOICE_TYPE_INSTANT:\n return SalesInvoiceType.Instant;\n }\n return null\n}\n\nfunction salesInvoicePaymentStatusToApi(status: PaymentStatusType): PaymentStatuses {\n switch (status) {\n case PaymentStatusType.Paid:\n return PaymentStatuses.PAYMENT_STATUSES_PAID;\n case PaymentStatusType.Part_Paid:\n return PaymentStatuses.PAYMENT_STATUSES_PART_PAID;\n case PaymentStatusType.Unpaid:\n return PaymentStatuses.PAYMENT_STATUSES_UNPAID;\n case PaymentStatusType.Not_Applicable:\n return PaymentStatuses.PAYMENT_STATUSES_NOT_APPLICABLE\n }\n return PaymentStatuses.PAYMENT_STATUSES_NOT_SET\n}\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError as observableThrowError } from 'rxjs';\nimport { catchError, map, mapTo, share } from 'rxjs/operators';\nimport { PagedResponse } from '../core';\nimport { HostService } from '../_generated';\nimport {\n GetSalesInvoiceRequest,\n ListSalesInvoiceRequest,\n PagedRequestOptions,\n PostSalesInvoiceRequest,\n SalesInvoiceApiService,\n} from '../_internal';\nimport {\n listSalesInvoiceFiltersToApi,\n ListSalesInvoicesFilters,\n SalesInvoice,\n salesInvoiceFromApi,\n} from './sales-invoice';\n\n@Injectable({providedIn: 'root'})\nexport class SalesInvoiceService {\n constructor(private hostService: HostService, private http: HttpClient, private salesInvoiceApi: SalesInvoiceApiService) { }\n\n downloadPdf(salesInvoiceId: string, merchantId?: string): Observable<Blob> {\n let params;\n if (merchantId) {\n params = { salesInvoiceId, merchantId }\n } else {\n params = { salesInvoiceId }\n }\n return this.http.get(\n `${this.hostService.httpsHostWithScheme()}/sales-invoice-pdf`,\n {\n observe: 'body',\n params: params,\n responseType: 'blob',\n withCredentials: true,\n }).pipe(\n share(),\n catchError(handleError)\n );\n }\n\n listSalesInvoices(\n filters: ListSalesInvoicesFilters, cursor: string, pageSize: number, searchTerm?: string\n ): Observable<PagedResponse<SalesInvoice>> {\n const req = new ListSalesInvoiceRequest({\n filters: listSalesInvoiceFiltersToApi(filters),\n pagingOptions: new PagedRequestOptions({ cursor, pageSize }),\n searchTerm: searchTerm || ''\n });\n return this.salesInvoiceApi.list(req).pipe(\n map(response => {\n const salesInvoices = (response.invoice || []).map(i => salesInvoiceFromApi(i));\n return new PagedResponse(salesInvoices, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore)\n })\n );\n }\n\n postSalesInvoice(invoice_id: string): Observable<boolean> {\n const req = new PostSalesInvoiceRequest({\n invoiceId: invoice_id\n });\n return this.salesInvoiceApi.post(req).pipe(\n mapTo(true)\n );\n }\n\n getSalesInvoice(invoice_id: string, merchant_id: string): Observable<SalesInvoice> {\n const req = new GetSalesInvoiceRequest({\n invoiceId: invoice_id,\n merchantId: merchant_id\n });\n return this.salesInvoiceApi.get(req).pipe(\n map(resp => salesInvoiceFromApi(resp.invoice))\n );\n }\n\n}\n\nfunction handleError(error: HttpErrorResponse): Observable<never> {\n if (error.error instanceof ErrorEvent) {\n console.error(`An error occurred:`, error.error.message);\n } else {\n console.error(\n `Server returned ${error.message}`\n );\n }\n\n return observableThrowError(`Unable to download pdf`);\n}\n","export const SNAPSHOT_REPORT_SKU = 'ST';\nexport const SNAPSHOT_REPORT_REFRESH_SKU = 'snapshotreportrefresh';\nexport const REPUTATION_MANGEMENT_SKU = 'RM';\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError, share } from 'rxjs/operators';\nimport { handleFileUploadError } from '../http-shared/error-handlers';\nimport { HostService } from '../_generated';\nimport { FileData } from './file';\nimport { FilePurpose } from './purpose';\n\n@Injectable({providedIn: 'root'})\nexport class StripeFileService {\n constructor(\n private hostService: HostService,\n private httpClient: HttpClient\n ) {\n }\n\n uploadFile(merchantId: string, purpose: FilePurpose, file: Blob): Observable<FileData> {\n const formData = new FormData()\n formData.append('merchant_id', merchantId)\n formData.append('purpose', purpose)\n formData.append('file', file)\n\n return this.httpClient.post<FileData>(\n `${this.hostService.httpsHostWithScheme()}/stripe/files`,\n formData,\n this.apiOptions()\n ).pipe(\n share(),\n catchError(handleFileUploadError),\n )\n }\n\n private apiOptions(): { withCredentials: boolean } {\n return {\n withCredentials: true\n };\n }\n}\n","export enum FilePurpose {\n ACCOUNT_REQUIREMENT = 'account_requirement',\n ADDITIONAL_VERIFICATION = 'additional_verification',\n BUSINESS_ICON = 'business_icon',\n BUSINESS_LOGO = 'business_logo',\n CUSTOMER_SIGNATURE = 'customer_signature',\n DISPUTE_EVIDENCE = 'dispute_evidence',\n IDENTITY_DOCUMENT = 'identity_document',\n PCI_DOCUMENT = 'pci_document',\n TAX_DOCUMENT_USER_UPLOAD = 'tax_document_user_upload',\n}\n","import { TaxRateInterface } from '../_internal/interfaces';\n\nexport interface TaxRate {\n id?: string;\n merchantId?: string;\n countryCode?: string;\n stateCode?: string;\n name?: string;\n description?: string;\n percentage?: number;\n accountingSystemId?: string;\n}\n\nexport function taxRateFromApi(apiTaxRate: TaxRateInterface): TaxRate {\n return {\n id: apiTaxRate.id || '',\n merchantId: apiTaxRate.merchantId || '',\n countryCode: apiTaxRate.countryCode || '',\n stateCode: apiTaxRate.stateCode || '',\n name: apiTaxRate.name || '',\n description: apiTaxRate.description || '',\n percentage: apiTaxRate.percentage || 0.0,\n accountingSystemId: apiTaxRate.accountingSystemId || '',\n };\n}\n\nexport interface ListTaxRateFilter {\n merchantId?: string;\n includeArchived?: boolean;\n}\n\nexport interface CalculateTaxResponse {\n taxableAmount: number;\n taxRates: TaxRate[];\n}\n","import { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { PagedResponse } from '../core';\nimport {\n ArchiveTaxRequest,\n CalculateTaxRequest,\n CreateTaxRequest,\n GetMultiTaxRequest,\n ListTaxRequest,\n PagedRequestOptions,\n TaxApiService,\n UpdateTaxRequest,\n} from '../_internal';\nimport {\n CalculateTaxResponse,\n ListTaxRateFilter,\n TaxRate,\n taxRateFromApi,\n} from './tax-rate';\n\n@Injectable({providedIn: 'root'})\nexport class TaxRateService {\n constructor(\n private taxRateApi: TaxApiService\n ) {}\n\n calculate(merchantId: string, customerId: string, amount: number): Observable<CalculateTaxResponse> {\n const r = new CalculateTaxRequest({\n merchantId: merchantId,\n customerId: customerId,\n amount: amount\n })\n return this.taxRateApi.calculate(r).pipe(\n map(response => {\n const taxRates = (response.taxRates || []).map(item => taxRateFromApi(item));\n return {\n taxableAmount: response.taxableAmount || 0,\n taxRates: taxRates\n };\n })\n );\n }\n\n create(merchantId: string, countryCode: string, stateCode: string, name: string,\n description: string, percentage: number, accountingSystemId: string): Observable<HttpResponse<null>> {\n\n const r = new CreateTaxRequest({\n merchantId: merchantId,\n countryCode: countryCode,\n stateCode: stateCode,\n name: name,\n description: description,\n percentage: percentage,\n accountingSystemId: accountingSystemId,\n });\n\n return this.taxRateApi.create(r)\n }\n\n update(merchantId: string, id: string, countryCode: string, stateCode: string, name: string,\n description: string, percentage: number, accountingSystemId: string): Observable<HttpResponse<null>> {\n\n const r = new UpdateTaxRequest({\n merchantId: merchantId,\n id: id,\n countryCode: countryCode,\n stateCode: stateCode,\n name: name,\n description: description,\n percentage: percentage,\n accountingSystemId: accountingSystemId,\n });\n\n return this.taxRateApi.update(r)\n }\n\n list(filters: ListTaxRateFilter, cursor: string, pageSize: number): Observable<PagedResponse<TaxRate>> {\n const req = new ListTaxRequest({\n filters: filters,\n pagingOptions: new PagedRequestOptions({ cursor, pageSize }),\n });\n return this.taxRateApi.list(req).pipe(\n map(response => {\n const taxRates = (response.taxRates || []).map(item => taxRateFromApi(item));\n return new PagedResponse(taxRates, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);\n }),\n );\n }\n\n getMulti(merchantId: string, ids: string[]): Observable<TaxRate[]> {\n const req = new GetMultiTaxRequest({\n merchantId: merchantId,\n ids: ids\n });\n return this.taxRateApi.getMulti(req).pipe(\n map(response => {\n const taxRates = (response.taxRates || []).map(item => taxRateFromApi(item));\n return taxRates;\n })\n );\n }\n\n archive(merchantId: string, id: string): Observable<HttpResponse<null>> {\n const req = new ArchiveTaxRequest({\n merchantId,\n id,\n });\n return this.taxRateApi.archive(req);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["Frequency","ProductSummaryBillingStrategy","ProductSummaryProductType","PayoutStatus","RetailPaymentReferenceType","PaymentCardCARD_TYPE","BillingStrategy","PurchaseStatus","ListPurchaseRequestState","ReferenceType","RefundReason","RefundStatus","SubscribeValidationStatus","enumStringToValue","e.Frequency","e.DiscountType","e.Currency","e.ContractSubscriptionStatus","e.ProductSummaryDiscountDiscountType","e.PricingRuleType","e.ProductSummaryBillingStrategy","e.ProductSummaryProductType","e.ListInvoicesRequestFiltersDateFilterDateField","e.InvoiceStatus","e.PayoutStatus","e.PayoutType","e.SearchMerchantsRequestSortBy","e.SortDirection","e.Month","e.MerchantReportStatus","e.CardType","e.DisputeStatus","e.PaymentSource","e.PaymentStatus","e.PaymentAllocationType","e.RetailPaymentReferenceType","e.PaymentCardCARD_TYPE","e.PaymentCardFUNDING_TYPE","e.BillingStrategy","e.ProductPricingType","e.ProductType","e.CreditType","e.ListPurchaseRequestState","e.PurchaseStatus","e.RefundReason","e.ReferenceType","e.RefundStatus","e.SalesCreditNoteStatus","e.SalesInvoiceStatus","e.PaymentStatuses","e.SalesInvoiceType","e.SubscribeValidationStatus","e.RenewalState","e.RecurringInvoiceStatus","e.Interval","e.CollectionMethod","e.PaymentProcessor","Environment","Injectable","EnvironmentService","HttpHeaders","map","share","HttpClient","AppliedDiscountType","PricingPlanBillingStrategy","Currency","CurrencyApi","FrequencyApi","ProductPricingType","ProductPricingTypeApi","ApiRule","ApiPricing","Distribution","PayoutStatusType","ApiPayoutStatus","PayoutTypeType","ApiPayoutType","SortDirection","observableThrowError","catchError","PurchaseStatusApi","AppliedCreditType","ProductType","ApiProductType","CommitmentApi","mapTo","DiscountType","ApiDiscountType","CollectionMethod","InvoiceStatus","InvoiceDateField","InvoiceOrigin","ApiInvoiceStatus","InternalInvoiceStatus","ApiAppliedTaxRate","ApiTaxRate","ApiInvoiceItem","ApiInvoice","PayoutInterval","GenerateMethod","SortMerchantsBy","SortByApi","SortDirectionApi","DisputeStatus","DisputeStatusApi","PaymentSource","PaymentSourceApi","PaymentStatus","PaymentStatusApi","PaymentAllocationType","PaymentAllocationTypeApi","FundingType","PaymentCardType","RetailPaymentStatus","DisabledReason","ApiReason","ApiStatus","ApiReferenceType","ApiCollectionMethod","Interval","ApiInterval","PaymentProcessor","ApiPaymentProcessor","RecurringInvoiceStatus","ApiRecurringInvoiceStatus","RecurringInvoiceLineItem","RecurringInvoiceBundle","RecurringInvoiceLineItemApi","RecurringInvoiceBundleApi","RecurringInvoiceItemApi","RecurringInvoiceApi","SalesCreditNoteStatus","InternalSalesCreditNoteStatus","SalesInvoiceStatus","SalesInvoiceType","PaymentStatusType","InternalSalesInvoiceStatus","InternalSalesInvoiceType","FilePurpose"],"mappings":"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"}