kintsugi_sdk 5.6.0 → 5.7.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 (371) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/types.rb +11 -3
  3. data/lib/kintsugi_sdk/addressvalidation.rb +26 -16
  4. data/lib/kintsugi_sdk/customers.rb +148 -123
  5. data/lib/kintsugi_sdk/exemptions.rb +102 -85
  6. data/lib/kintsugi_sdk/models/errors/apierror.rbi +2 -1
  7. data/lib/kintsugi_sdk/models/errors/backend_src_address_validation_responses_validationerrorresponse.rbi +1 -1
  8. data/lib/kintsugi_sdk/models/errors/backend_src_customers_responses_validationerrorresponse.rbi +1 -1
  9. data/lib/kintsugi_sdk/models/errors/backend_src_exemptions_responses_validationerrorresponse.rbi +1 -1
  10. data/lib/kintsugi_sdk/models/errors/{backend_src_products_responses_validationerrorresponse.rb → backend_src_products_schemas_responses_validationerrorresponse.rb} +3 -3
  11. data/lib/kintsugi_sdk/models/errors/backend_src_products_schemas_responses_validationerrorresponse.rbi +13 -0
  12. data/lib/kintsugi_sdk/models/errors/backend_src_tax_estimation_responses_validationerrorresponse.rbi +1 -1
  13. data/lib/kintsugi_sdk/models/errors/backend_src_transactions_responses_validationerrorresponse.rbi +1 -1
  14. data/lib/kintsugi_sdk/models/errors/errorresponse.rbi +1 -1
  15. data/lib/kintsugi_sdk/models/errors/httpvalidationerror.rbi +1 -1
  16. data/lib/kintsugi_sdk/models/errors.rb +1 -1
  17. data/lib/kintsugi_sdk/models/ops/{search_v1_address_validation_search_post_security.rb → country.rb} +3 -8
  18. data/lib/kintsugi_sdk/models/{shared/registration.rbi → ops/country.rbi} +3 -3
  19. data/lib/kintsugi_sdk/models/ops/country_code.rb +27 -0
  20. data/lib/kintsugi_sdk/models/ops/country_code.rbi +11 -0
  21. data/lib/kintsugi_sdk/models/ops/create_customer_v1_customers_post_request.rb +36 -0
  22. data/lib/kintsugi_sdk/models/ops/create_customer_v1_customers_post_request.rbi +15 -0
  23. data/lib/kintsugi_sdk/models/ops/create_exemption_v1_exemptions_post_request.rb +36 -0
  24. data/lib/kintsugi_sdk/models/ops/create_exemption_v1_exemptions_post_request.rbi +15 -0
  25. data/lib/kintsugi_sdk/models/ops/create_transaction_v1_transactions_post_request.rb +36 -0
  26. data/lib/kintsugi_sdk/models/ops/create_transaction_v1_transactions_post_request.rbi +15 -0
  27. data/lib/kintsugi_sdk/models/ops/createtransactionbycustomer_request.rb +6 -2
  28. data/lib/kintsugi_sdk/models/ops/createtransactionbycustomer_request.rbi +3 -1
  29. data/lib/kintsugi_sdk/models/ops/estimate_tax_v1_tax_estimate_post_request.rb +6 -2
  30. data/lib/kintsugi_sdk/models/ops/estimate_tax_v1_tax_estimate_post_request.rbi +3 -1
  31. data/lib/kintsugi_sdk/models/ops/get_customer_by_external_id_v1_customers_external_external_id_get_request.rb +6 -2
  32. data/lib/kintsugi_sdk/models/ops/get_customer_by_external_id_v1_customers_external_external_id_get_request.rbi +3 -1
  33. data/lib/kintsugi_sdk/models/ops/get_customer_by_id_v1_customers_customer_id_get_request.rb +6 -2
  34. data/lib/kintsugi_sdk/models/ops/get_customer_by_id_v1_customers_customer_id_get_request.rbi +3 -1
  35. data/lib/kintsugi_sdk/models/ops/get_customers_v1_request.rb +13 -5
  36. data/lib/kintsugi_sdk/models/ops/get_customers_v1_request.rbi +5 -1
  37. data/lib/kintsugi_sdk/models/ops/get_exemption_by_id_v1_exemptions_exemption_id_get_request.rb +6 -2
  38. data/lib/kintsugi_sdk/models/ops/get_exemption_by_id_v1_exemptions_exemption_id_get_request.rbi +3 -1
  39. data/lib/kintsugi_sdk/models/ops/get_exemptions_v1_exemptions_get_request.rb +17 -9
  40. data/lib/kintsugi_sdk/models/ops/get_exemptions_v1_exemptions_get_request.rbi +7 -3
  41. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rb +29 -13
  42. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rbi +15 -7
  43. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_response_get_nexus_for_org_v1_nexus_get.rb +27 -0
  44. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_response_get_nexus_for_org_v1_nexus_get.rbi +11 -0
  45. data/lib/kintsugi_sdk/models/ops/get_product_by_id_v1_products_product_id_get_request.rb +6 -2
  46. data/lib/kintsugi_sdk/models/ops/get_product_by_id_v1_products_product_id_get_request.rbi +3 -1
  47. data/lib/kintsugi_sdk/models/ops/get_transaction_by_id_v1_transactions_transaction_id_get_request.rb +6 -2
  48. data/lib/kintsugi_sdk/models/ops/get_transaction_by_id_v1_transactions_transaction_id_get_request.rbi +3 -1
  49. data/lib/kintsugi_sdk/models/ops/get_transactions_v1_transactions_get_request.rb +44 -18
  50. data/lib/kintsugi_sdk/models/ops/get_transactions_v1_transactions_get_request.rbi +15 -5
  51. data/lib/kintsugi_sdk/models/ops/getexemptionattachments_request.rb +6 -2
  52. data/lib/kintsugi_sdk/models/ops/getexemptionattachments_request.rbi +3 -1
  53. data/lib/kintsugi_sdk/models/ops/gettransactionbyexternalid_request.rb +6 -2
  54. data/lib/kintsugi_sdk/models/ops/gettransactionbyexternalid_request.rbi +3 -1
  55. data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_request.rb +14 -2
  56. data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_request.rbi +7 -1
  57. data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_response_get_transactions_by_customer_id_v1_cus_6a2c85.rb +27 -0
  58. data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_response_get_transactions_by_customer_id_v1_cus_6a2c85.rbi +11 -0
  59. data/lib/kintsugi_sdk/models/ops/gettransactionsbyfiling_request.rb +6 -2
  60. data/lib/kintsugi_sdk/models/ops/gettransactionsbyfiling_request.rbi +3 -1
  61. data/lib/kintsugi_sdk/models/ops/queryparam_country.rb +27 -0
  62. data/lib/kintsugi_sdk/models/ops/queryparam_country.rbi +11 -0
  63. data/lib/kintsugi_sdk/models/ops/suggestions_v1_address_validation_suggestions_post_request.rb +36 -0
  64. data/lib/kintsugi_sdk/models/ops/suggestions_v1_address_validation_suggestions_post_request.rbi +15 -0
  65. data/lib/kintsugi_sdk/models/ops/update_customer_v1_customers_customer_id_put_request.rb +6 -2
  66. data/lib/kintsugi_sdk/models/ops/update_customer_v1_customers_customer_id_put_request.rbi +3 -1
  67. data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_product.rb +27 -0
  68. data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_product.rbi +11 -0
  69. data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_request.rb +9 -5
  70. data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_request.rbi +5 -3
  71. data/lib/kintsugi_sdk/models/ops/update_transaction_v1_transactions_transaction_id_put_request.rb +6 -2
  72. data/lib/kintsugi_sdk/models/ops/update_transaction_v1_transactions_transaction_id_put_request.rbi +3 -1
  73. data/lib/kintsugi_sdk/models/ops/uploadexemptioncert_request.rb +6 -2
  74. data/lib/kintsugi_sdk/models/ops/uploadexemptioncert_request.rbi +3 -1
  75. data/lib/kintsugi_sdk/models/ops.rb +10 -1
  76. data/lib/kintsugi_sdk/models/shared/addressbase.rb +1 -1
  77. data/lib/kintsugi_sdk/models/shared/addressbase.rbi +1 -1
  78. data/lib/kintsugi_sdk/models/shared/addresses.rb +7 -3
  79. data/lib/kintsugi_sdk/models/shared/addresses.rbi +3 -1
  80. data/lib/kintsugi_sdk/models/shared/addressresponsedata.rbi +1 -1
  81. data/lib/kintsugi_sdk/models/shared/addresssearchresponse.rbi +1 -1
  82. data/lib/kintsugi_sdk/models/shared/addressstatus.rbi +1 -1
  83. data/lib/kintsugi_sdk/models/shared/addresssubmittedresponse.rbi +1 -1
  84. data/lib/kintsugi_sdk/models/shared/addresstype.rbi +1 -1
  85. data/lib/kintsugi_sdk/models/shared/amount.rb +27 -0
  86. data/lib/kintsugi_sdk/models/shared/amount.rbi +11 -0
  87. data/lib/kintsugi_sdk/models/shared/appliedto.rbi +1 -1
  88. data/lib/kintsugi_sdk/models/shared/attachmentread.rbi +1 -1
  89. data/lib/kintsugi_sdk/models/shared/backend_src_address_validation_responses_validationerroritem.rbi +1 -1
  90. data/lib/kintsugi_sdk/models/shared/backend_src_customers_responses_validationerroritem.rbi +1 -1
  91. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_responses_validationerroritem.rbi +1 -1
  92. data/lib/kintsugi_sdk/models/shared/{backend_src_exemptions_models_exemptionread.rb → backend_src_exemptions_schemas_exemption_exemptionread.rb} +11 -10
  93. data/lib/kintsugi_sdk/models/shared/{backend_src_exemptions_models_exemptionread.rbi → backend_src_exemptions_schemas_exemption_exemptionread.rbi} +5 -5
  94. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rb +9 -9
  95. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rbi +3 -3
  96. data/lib/kintsugi_sdk/models/shared/{backend_src_products_responses_validationerroritem.rb → backend_src_products_schemas_responses_validationerroritem.rb} +1 -1
  97. data/lib/kintsugi_sdk/models/shared/{backend_src_products_responses_validationerroritem.rbi → backend_src_products_schemas_responses_validationerroritem.rbi} +3 -3
  98. data/lib/kintsugi_sdk/models/shared/backend_src_tax_estimation_responses_validationerroritem.rbi +1 -1
  99. data/lib/kintsugi_sdk/models/shared/backend_src_transactions_responses_validationerroritem.rbi +1 -1
  100. data/lib/kintsugi_sdk/models/shared/body_upload_exemption_certificate_v1_exemptions_exemption_id_attachments_post.rb +2 -2
  101. data/lib/kintsugi_sdk/models/shared/body_upload_exemption_certificate_v1_exemptions_exemption_id_attachments_post.rbi +1 -1
  102. data/lib/kintsugi_sdk/models/shared/{registration.rb → context.rb} +1 -1
  103. data/lib/kintsugi_sdk/models/shared/context.rbi +11 -0
  104. data/lib/kintsugi_sdk/models/shared/conversion_rate.rb +27 -0
  105. data/lib/kintsugi_sdk/models/shared/conversion_rate.rbi +11 -0
  106. data/lib/kintsugi_sdk/models/shared/converted_amount.rb +27 -0
  107. data/lib/kintsugi_sdk/models/shared/converted_amount.rbi +11 -0
  108. data/lib/kintsugi_sdk/models/shared/converted_subtotal.rb +27 -0
  109. data/lib/kintsugi_sdk/models/shared/converted_subtotal.rbi +11 -0
  110. data/lib/kintsugi_sdk/models/shared/converted_tax_amount_calculated.rb +27 -0
  111. data/lib/kintsugi_sdk/models/shared/converted_tax_amount_calculated.rbi +11 -0
  112. data/lib/kintsugi_sdk/models/shared/converted_tax_amount_imported.rb +27 -0
  113. data/lib/kintsugi_sdk/models/shared/converted_tax_amount_imported.rbi +11 -0
  114. data/lib/kintsugi_sdk/models/shared/converted_taxable_amount.rb +27 -0
  115. data/lib/kintsugi_sdk/models/shared/converted_taxable_amount.rbi +11 -0
  116. data/lib/kintsugi_sdk/models/shared/converted_total_amount.rb +27 -0
  117. data/lib/kintsugi_sdk/models/shared/converted_total_amount.rbi +11 -0
  118. data/lib/kintsugi_sdk/models/shared/converted_total_discount.rb +27 -0
  119. data/lib/kintsugi_sdk/models/shared/converted_total_discount.rbi +11 -0
  120. data/lib/kintsugi_sdk/models/shared/converted_total_tax_amount_calculated.rb +27 -0
  121. data/lib/kintsugi_sdk/models/shared/converted_total_tax_amount_calculated.rbi +11 -0
  122. data/lib/kintsugi_sdk/models/shared/converted_total_tax_amount_imported.rb +27 -0
  123. data/lib/kintsugi_sdk/models/shared/converted_total_tax_amount_imported.rbi +11 -0
  124. data/lib/kintsugi_sdk/models/shared/converted_total_tax_liability_amount.rb +27 -0
  125. data/lib/kintsugi_sdk/models/shared/converted_total_tax_liability_amount.rbi +11 -0
  126. data/lib/kintsugi_sdk/models/shared/countrycodeenum.rbi +1 -1
  127. data/lib/kintsugi_sdk/models/shared/currencyenum.rbi +1 -1
  128. data/lib/kintsugi_sdk/models/shared/customer.rb +27 -0
  129. data/lib/kintsugi_sdk/models/shared/customer.rbi +11 -0
  130. data/lib/kintsugi_sdk/models/shared/customerbase.rb +16 -12
  131. data/lib/kintsugi_sdk/models/shared/customerbase.rbi +7 -5
  132. data/lib/kintsugi_sdk/models/shared/customerbasebase.rb +16 -12
  133. data/lib/kintsugi_sdk/models/shared/customerbasebase.rbi +7 -5
  134. data/lib/kintsugi_sdk/models/shared/customerbasepublic.rb +16 -12
  135. data/lib/kintsugi_sdk/models/shared/customerbasepublic.rbi +7 -5
  136. data/lib/kintsugi_sdk/models/shared/customercreate.rb +20 -16
  137. data/lib/kintsugi_sdk/models/shared/customercreate.rbi +9 -7
  138. data/lib/kintsugi_sdk/models/shared/customerread.rb +24 -16
  139. data/lib/kintsugi_sdk/models/shared/customerread.rbi +11 -7
  140. data/lib/kintsugi_sdk/models/shared/customertaxregistrationread.rbi +1 -1
  141. data/lib/kintsugi_sdk/models/shared/customertaxtypeenum.rbi +1 -1
  142. data/lib/kintsugi_sdk/models/shared/customerupdate.rb +13 -9
  143. data/lib/kintsugi_sdk/models/shared/customerupdate.rbi +5 -3
  144. data/lib/kintsugi_sdk/models/shared/discount_amount.rb +27 -0
  145. data/lib/kintsugi_sdk/models/shared/discount_amount.rbi +11 -0
  146. data/lib/kintsugi_sdk/models/shared/discountbuilder.rb +6 -6
  147. data/lib/kintsugi_sdk/models/shared/discountbuilder.rbi +3 -3
  148. data/lib/kintsugi_sdk/models/shared/disregardedtypeenum.rb +20 -0
  149. data/lib/kintsugi_sdk/models/shared/disregardedtypeenum.rbi +11 -0
  150. data/lib/kintsugi_sdk/models/shared/documenttypeenum.rb +21 -0
  151. data/lib/kintsugi_sdk/models/shared/documenttypeenum.rbi +11 -0
  152. data/lib/kintsugi_sdk/models/shared/exemption.rb +23 -14
  153. data/lib/kintsugi_sdk/models/shared/exemption.rbi +9 -5
  154. data/lib/kintsugi_sdk/models/shared/exemptioncreate.rb +3 -3
  155. data/lib/kintsugi_sdk/models/shared/exemptioncreate.rbi +1 -1
  156. data/lib/kintsugi_sdk/models/shared/exemptionrequired.rb +22 -2
  157. data/lib/kintsugi_sdk/models/shared/exemptionrequired.rbi +11 -1
  158. data/lib/kintsugi_sdk/models/shared/exemptionsourceenum.rb +42 -0
  159. data/lib/kintsugi_sdk/models/shared/exemptionsourceenum.rbi +11 -0
  160. data/lib/kintsugi_sdk/models/shared/exemptionstatus.rbi +1 -1
  161. data/lib/kintsugi_sdk/models/shared/exemptiontype.rb +1 -0
  162. data/lib/kintsugi_sdk/models/shared/exemptiontype.rbi +1 -1
  163. data/lib/kintsugi_sdk/models/shared/fastapi_pagination_default_page_exemptionread_2.rb +2 -2
  164. data/lib/kintsugi_sdk/models/shared/fastapi_pagination_default_page_exemptionread_2.rbi +1 -1
  165. data/lib/kintsugi_sdk/models/shared/findthresholdcrossingtransactionstate.rbi +1 -1
  166. data/lib/kintsugi_sdk/models/shared/jurisdictiontype.rbi +1 -1
  167. data/lib/kintsugi_sdk/models/shared/loc.rb +27 -0
  168. data/lib/kintsugi_sdk/models/shared/loc.rbi +11 -0
  169. data/lib/kintsugi_sdk/models/shared/nexusresponse.rb +112 -82
  170. data/lib/kintsugi_sdk/models/shared/nexusresponse.rbi +53 -41
  171. data/lib/kintsugi_sdk/models/shared/nexusstateenum.rbi +1 -1
  172. data/lib/kintsugi_sdk/models/shared/nexusstatusenum.rbi +1 -1
  173. data/lib/kintsugi_sdk/models/shared/nexustypeenum.rb +1 -0
  174. data/lib/kintsugi_sdk/models/shared/nexustypeenum.rbi +1 -1
  175. data/lib/kintsugi_sdk/models/shared/page_customerread_.rbi +1 -1
  176. data/lib/kintsugi_sdk/models/shared/page_nexusresponse_.rbi +1 -1
  177. data/lib/kintsugi_sdk/models/shared/page_transactionread_.rbi +1 -1
  178. data/lib/kintsugi_sdk/models/shared/periodmodelenum.rb +2 -0
  179. data/lib/kintsugi_sdk/models/shared/periodmodelenum.rbi +1 -1
  180. data/lib/kintsugi_sdk/models/shared/processingstatusenum.rb +1 -0
  181. data/lib/kintsugi_sdk/models/shared/processingstatusenum.rbi +1 -1
  182. data/lib/kintsugi_sdk/models/shared/productread.rb +40 -12
  183. data/lib/kintsugi_sdk/models/shared/productread.rbi +19 -5
  184. data/lib/kintsugi_sdk/models/shared/productstatusenum.rb +1 -0
  185. data/lib/kintsugi_sdk/models/shared/productstatusenum.rbi +1 -1
  186. data/lib/kintsugi_sdk/models/shared/productupdate.rb +6 -6
  187. data/lib/kintsugi_sdk/models/shared/productupdate.rbi +3 -3
  188. data/lib/kintsugi_sdk/models/shared/productupdatev2.rb +64 -0
  189. data/lib/kintsugi_sdk/models/shared/productupdatev2.rbi +29 -0
  190. data/lib/kintsugi_sdk/models/shared/quantity.rb +27 -0
  191. data/lib/kintsugi_sdk/models/shared/quantity.rbi +11 -0
  192. data/lib/kintsugi_sdk/models/shared/quantity_of_the_product_.rb +27 -0
  193. data/lib/kintsugi_sdk/models/shared/quantity_of_the_product_.rbi +11 -0
  194. data/lib/kintsugi_sdk/models/shared/rate.rb +27 -0
  195. data/lib/kintsugi_sdk/models/shared/rate.rbi +11 -0
  196. data/lib/kintsugi_sdk/models/shared/registrationsregimeenum.rbi +1 -1
  197. data/lib/kintsugi_sdk/models/shared/relatedentitytype.rbi +1 -1
  198. data/lib/kintsugi_sdk/models/shared/salesortransactionsenum.rbi +1 -1
  199. data/lib/kintsugi_sdk/models/shared/security.rb +2 -6
  200. data/lib/kintsugi_sdk/models/shared/security.rbi +1 -3
  201. data/lib/kintsugi_sdk/models/shared/sourceenum.rb +15 -0
  202. data/lib/kintsugi_sdk/models/shared/sourceenum.rbi +1 -1
  203. data/lib/kintsugi_sdk/models/shared/statusenum.rbi +1 -1
  204. data/lib/kintsugi_sdk/models/shared/tax_amount_calculated.rb +27 -0
  205. data/lib/kintsugi_sdk/models/shared/tax_amount_calculated.rbi +11 -0
  206. data/lib/kintsugi_sdk/models/shared/tax_amount_imported.rb +27 -0
  207. data/lib/kintsugi_sdk/models/shared/tax_amount_imported.rbi +11 -0
  208. data/lib/kintsugi_sdk/models/shared/tax_rate_calculated.rb +27 -0
  209. data/lib/kintsugi_sdk/models/shared/tax_rate_calculated.rbi +11 -0
  210. data/lib/kintsugi_sdk/models/shared/tax_rate_imported.rb +27 -0
  211. data/lib/kintsugi_sdk/models/shared/tax_rate_imported.rbi +11 -0
  212. data/lib/kintsugi_sdk/models/shared/taxable_amount.rb +27 -0
  213. data/lib/kintsugi_sdk/models/shared/taxable_amount.rbi +11 -0
  214. data/lib/kintsugi_sdk/models/shared/taxexemptionenum.rb +1 -0
  215. data/lib/kintsugi_sdk/models/shared/taxexemptionenum.rbi +1 -1
  216. data/lib/kintsugi_sdk/models/shared/taxitembuilder.rb +14 -14
  217. data/lib/kintsugi_sdk/models/shared/taxitembuilder.rbi +5 -5
  218. data/lib/kintsugi_sdk/models/shared/taxitembuilder_amount.rb +27 -0
  219. data/lib/kintsugi_sdk/models/shared/taxitembuilder_amount.rbi +11 -0
  220. data/lib/kintsugi_sdk/models/shared/taxitembuilder_converted_amount.rb +27 -0
  221. data/lib/kintsugi_sdk/models/shared/taxitembuilder_converted_amount.rbi +11 -0
  222. data/lib/kintsugi_sdk/models/shared/taxitemestimate.rb +10 -10
  223. data/lib/kintsugi_sdk/models/shared/taxitemestimate.rbi +5 -5
  224. data/lib/kintsugi_sdk/models/shared/taxitemread.rb +10 -10
  225. data/lib/kintsugi_sdk/models/shared/taxitemread.rbi +5 -5
  226. data/lib/kintsugi_sdk/models/shared/taxitemreturnreasonenum.rb +1 -0
  227. data/lib/kintsugi_sdk/models/shared/taxitemreturnreasonenum.rbi +1 -1
  228. data/lib/kintsugi_sdk/models/shared/taxitemtypeenum.rbi +1 -1
  229. data/lib/kintsugi_sdk/models/shared/taxliabilitysourceenum.rbi +1 -1
  230. data/lib/kintsugi_sdk/models/shared/taxtypeenum.rb +26 -0
  231. data/lib/kintsugi_sdk/models/shared/taxtypeenum.rbi +11 -0
  232. data/lib/kintsugi_sdk/models/shared/total_amount.rb +27 -0
  233. data/lib/kintsugi_sdk/models/shared/total_amount.rbi +11 -0
  234. data/lib/kintsugi_sdk/models/shared/total_amount_of_this_transaction_item_after_discounts_.rb +27 -0
  235. data/lib/kintsugi_sdk/models/shared/total_amount_of_this_transaction_item_after_discounts_.rbi +11 -0
  236. data/lib/kintsugi_sdk/models/shared/total_tax_amount_calculated.rb +27 -0
  237. data/lib/kintsugi_sdk/models/shared/total_tax_amount_calculated.rbi +11 -0
  238. data/lib/kintsugi_sdk/models/shared/total_tax_amount_imported.rb +27 -0
  239. data/lib/kintsugi_sdk/models/shared/total_tax_amount_imported.rbi +11 -0
  240. data/lib/kintsugi_sdk/models/shared/total_tax_liability_amount.rb +27 -0
  241. data/lib/kintsugi_sdk/models/shared/total_tax_liability_amount.rbi +11 -0
  242. data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rb +11 -7
  243. data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rbi +5 -3
  244. data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rb +8 -4
  245. data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rbi +3 -1
  246. data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rb +11 -7
  247. data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rbi +5 -3
  248. data/lib/kintsugi_sdk/models/shared/transactioncreate.rb +84 -78
  249. data/lib/kintsugi_sdk/models/shared/transactioncreate.rbi +35 -29
  250. data/lib/kintsugi_sdk/models/shared/transactiondirectionenum.rb +19 -0
  251. data/lib/kintsugi_sdk/models/shared/transactiondirectionenum.rbi +11 -0
  252. data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rb +9 -7
  253. data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rbi +3 -3
  254. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rb +10 -8
  255. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rbi +3 -3
  256. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rb +7 -3
  257. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rbi +3 -1
  258. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_type.rbi +1 -1
  259. data/lib/kintsugi_sdk/models/shared/transactionexemptstatusenum.rbi +1 -1
  260. data/lib/kintsugi_sdk/models/shared/transactionimportcustomer.rb +104 -0
  261. data/lib/kintsugi_sdk/models/shared/transactionimportcustomer.rbi +49 -0
  262. data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rb +53 -53
  263. data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rbi +21 -21
  264. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_amount.rb +27 -0
  265. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_amount.rbi +11 -0
  266. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_amount.rb +27 -0
  267. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_amount.rbi +11 -0
  268. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_subtotal.rb +27 -0
  269. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_subtotal.rbi +11 -0
  270. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_tax_amount_calculated.rb +27 -0
  271. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_tax_amount_calculated.rbi +11 -0
  272. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_tax_amount_imported.rb +27 -0
  273. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_tax_amount_imported.rbi +11 -0
  274. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_taxable_amount.rb +27 -0
  275. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_taxable_amount.rbi +11 -0
  276. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_total_discount.rb +27 -0
  277. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_converted_total_discount.rbi +11 -0
  278. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_quantity.rb +27 -0
  279. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_quantity.rbi +11 -0
  280. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_amount_calculated.rb +27 -0
  281. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_amount_calculated.rbi +11 -0
  282. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_amount_imported.rb +27 -0
  283. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_amount_imported.rbi +11 -0
  284. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_rate_calculated.rb +27 -0
  285. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_rate_calculated.rbi +11 -0
  286. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_rate_imported.rb +27 -0
  287. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_tax_rate_imported.rbi +11 -0
  288. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_taxable_amount.rb +27 -0
  289. data/lib/kintsugi_sdk/models/shared/transactionitembuilder_taxable_amount.rbi +11 -0
  290. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rb +53 -53
  291. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rbi +21 -21
  292. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_subtotal.rb +27 -0
  293. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_subtotal.rbi +11 -0
  294. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_taxable_amount.rb +27 -0
  295. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_taxable_amount.rbi +11 -0
  296. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_total_discount.rb +27 -0
  297. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_converted_total_discount.rbi +11 -0
  298. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_tax_rate_calculated.rb +27 -0
  299. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_tax_rate_calculated.rbi +11 -0
  300. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_tax_rate_imported.rb +27 -0
  301. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_tax_rate_imported.rbi +11 -0
  302. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_taxable_amount.rb +27 -0
  303. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate_taxable_amount.rbi +11 -0
  304. data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rb +17 -7
  305. data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rbi +5 -3
  306. data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rb +20 -10
  307. data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rbi +7 -5
  308. data/lib/kintsugi_sdk/models/shared/transactionitemread.rb +51 -43
  309. data/lib/kintsugi_sdk/models/shared/transactionitemread.rbi +23 -19
  310. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rb +64 -62
  311. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rbi +29 -25
  312. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_tax_rate_calculated.rb +27 -0
  313. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_tax_rate_calculated.rbi +11 -0
  314. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_tax_rate_imported.rb +27 -0
  315. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_tax_rate_imported.rbi +11 -0
  316. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_taxable_amount.rb +27 -0
  317. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_taxable_amount.rbi +11 -0
  318. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_amount.rb +27 -0
  319. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_amount.rbi +11 -0
  320. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_amount_calculated.rb +27 -0
  321. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_amount_calculated.rbi +11 -0
  322. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_amount_imported.rb +27 -0
  323. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_amount_imported.rbi +11 -0
  324. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_liability_amount.rb +27 -0
  325. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest_total_tax_liability_amount.rbi +11 -0
  326. data/lib/kintsugi_sdk/models/shared/transactionread.rb +89 -71
  327. data/lib/kintsugi_sdk/models/shared/transactionread.rbi +41 -29
  328. data/lib/kintsugi_sdk/models/shared/transactionrefundstatus.rbi +1 -1
  329. data/lib/kintsugi_sdk/models/shared/transactionstatusenum.rbi +1 -1
  330. data/lib/kintsugi_sdk/models/shared/transactiontypeenum.rb +1 -0
  331. data/lib/kintsugi_sdk/models/shared/transactiontypeenum.rbi +1 -1
  332. data/lib/kintsugi_sdk/models/shared/transactionupdate.rb +63 -61
  333. data/lib/kintsugi_sdk/models/shared/transactionupdate.rbi +29 -25
  334. data/lib/kintsugi_sdk/models/shared/transactionupdate_tax_rate_calculated.rb +27 -0
  335. data/lib/kintsugi_sdk/models/shared/transactionupdate_tax_rate_calculated.rbi +11 -0
  336. data/lib/kintsugi_sdk/models/shared/transactionupdate_tax_rate_imported.rb +27 -0
  337. data/lib/kintsugi_sdk/models/shared/transactionupdate_tax_rate_imported.rbi +11 -0
  338. data/lib/kintsugi_sdk/models/shared/transactionupdate_taxable_amount.rb +27 -0
  339. data/lib/kintsugi_sdk/models/shared/transactionupdate_taxable_amount.rbi +11 -0
  340. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_amount.rb +27 -0
  341. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_amount.rbi +11 -0
  342. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_amount_calculated.rb +27 -0
  343. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_amount_calculated.rbi +11 -0
  344. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_amount_imported.rb +27 -0
  345. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_amount_imported.rbi +11 -0
  346. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_liability_amount.rb +27 -0
  347. data/lib/kintsugi_sdk/models/shared/transactionupdate_total_tax_liability_amount.rbi +11 -0
  348. data/lib/kintsugi_sdk/models/shared/treatmentenum.rbi +1 -1
  349. data/lib/kintsugi_sdk/models/shared/type.rbi +1 -1
  350. data/lib/kintsugi_sdk/models/shared/validationaddress.rb +12 -12
  351. data/lib/kintsugi_sdk/models/shared/validationaddress.rbi +5 -5
  352. data/lib/kintsugi_sdk/models/shared/validationerror.rb +11 -3
  353. data/lib/kintsugi_sdk/models/shared/validationerror.rbi +5 -1
  354. data/lib/kintsugi_sdk/models/shared.rb +73 -5
  355. data/lib/kintsugi_sdk/nexus.rb +15 -10
  356. data/lib/kintsugi_sdk/openapisdk.rb +7 -6
  357. data/lib/kintsugi_sdk/products.rb +32 -22
  358. data/lib/kintsugi_sdk/sdkconfiguration.rb +10 -11
  359. data/lib/kintsugi_sdk/taxestimation.rb +17 -12
  360. data/lib/kintsugi_sdk/transactions.rb +125 -105
  361. data/lib/kintsugi_sdk/utils/retries.rb +43 -1
  362. data/lib/kintsugi_sdk/utils/security.rb +22 -11
  363. data/lib/kintsugi_sdk/utils/utils.rb +6 -2
  364. data/lib/kintsugi_sdk.rb +1 -1
  365. metadata +172 -18
  366. data/lib/kintsugi_sdk/models/errors/backend_src_products_responses_validationerrorresponse.rbi +0 -13
  367. data/lib/kintsugi_sdk/models/ops/search_v1_address_validation_search_post_security.rbi +0 -13
  368. data/lib/kintsugi_sdk/models/shared/file.rb +0 -36
  369. data/lib/kintsugi_sdk/models/shared/file.rbi +0 -15
  370. data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rb +0 -48
  371. data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rbi +0 -21
@@ -0,0 +1,27 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module KintsugiSDK
8
+ module Models
9
+ module Shared
10
+ # Absolute discount amount for the line or transaction. Send a positive value for sales; credit notes may use a negative value so subtotal = amount + total_discount stays coherent.
11
+ class DiscountAmount
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+
17
+ def initialize; end
18
+
19
+ sig { params(other: T.untyped).returns(T::Boolean) }
20
+ def ==(other)
21
+ return false unless other.is_a? self.class
22
+ true
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::DiscountAmount
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::DiscountAmount
11
+ end
@@ -14,24 +14,24 @@ module KintsugiSDK
14
14
 
15
15
 
16
16
  field :applied_to, Models::Shared::AppliedTo, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('applied_to'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AppliedTo, false) } }
17
+ # Absolute discount amount for the line or transaction. Send a positive value for sales; credit notes may use a negative value so subtotal = amount + total_discount stays coherent.
18
+ field :discount_amount, Crystalline::Nilable.new(Crystalline::Union.new(::Float, ::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('discount_amount') } }
17
19
 
18
20
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
19
21
 
20
- field :discount_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('discount_amount') } }
21
-
22
- sig { params(applied_to: Models::Shared::AppliedTo, external_id: T.nilable(::String), discount_amount: T.nilable(::Float)).void }
23
- def initialize(applied_to:, external_id: nil, discount_amount: 0.0)
22
+ sig { params(applied_to: Models::Shared::AppliedTo, discount_amount: T.nilable(T.any(::Float, ::String)), external_id: T.nilable(::String)).void }
23
+ def initialize(applied_to:, discount_amount: nil, external_id: nil)
24
24
  @applied_to = applied_to
25
- @external_id = external_id
26
25
  @discount_amount = discount_amount
26
+ @external_id = external_id
27
27
  end
28
28
 
29
29
  sig { params(other: T.untyped).returns(T::Boolean) }
30
30
  def ==(other)
31
31
  return false unless other.is_a? self.class
32
32
  return false unless @applied_to == other.applied_to
33
- return false unless @external_id == other.external_id
34
33
  return false unless @discount_amount == other.discount_amount
34
+ return false unless @external_id == other.external_id
35
35
  true
36
36
  end
37
37
  end
@@ -10,8 +10,8 @@ end
10
10
  class KintsugiSDK::Models::Shared::DiscountBuilder
11
11
  def applied_to(); end
12
12
  def applied_to=(str_); end
13
- def external_id(); end
14
- def external_id=(str_); end
15
13
  def discount_amount(); end
16
14
  def discount_amount=(str_); end
17
- end
15
+ def external_id(); end
16
+ def external_id=(str_); end
17
+ end
@@ -0,0 +1,20 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module KintsugiSDK
8
+ module Models
9
+ module Shared
10
+
11
+ class DisregardedTypeEnum < T::Enum
12
+ enums do
13
+ DISREGARDED = new('DISREGARDED')
14
+ IOR_OPT_OUT = new('IOR_OPT_OUT')
15
+ IOR_OPT_OUT_NON_PHYSICAL_GOODS = new('IOR_OPT_OUT_NON_PHYSICAL_GOODS')
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::DisregardedTypeEnum
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::DisregardedTypeEnum
11
+ end
@@ -0,0 +1,21 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module KintsugiSDK
8
+ module Models
9
+ module Shared
10
+
11
+ class DocumentTypeEnum < T::Enum
12
+ enums do
13
+ INVOICE = new('INVOICE')
14
+ SALES_ORDER = new('SALES_ORDER')
15
+ CASH_SALE = new('CASH_SALE')
16
+ CASH_REFUND = new('CASH_REFUND')
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::DocumentTypeEnum
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::DocumentTypeEnum
11
+ end
@@ -20,48 +20,55 @@ module KintsugiSDK
20
20
  field :id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('id') } }
21
21
  # Timestamp when transaction was created in Kintsugi.
22
22
  field :created_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('created_at'), 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(true) } }
23
+
24
+ field :organization_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id') } }
23
25
  # Timestamp when transaction was last updated.
24
- field :updated_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('updated_at') } }
26
+ field :updated_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('updated_at'), 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(true) } }
25
27
  # The jurisdiction identifier for the exemption
26
28
  field :jurisdiction, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction') } }
27
-
29
+ # Country code in ISO 3166-1 alpha-2 format (e.g., 'US')
28
30
  field :country_code, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country_code'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
29
31
  # End date for the exemption validity period (YYYY-MM-DD format)
30
- field :end_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('end_date') } }
32
+ field :end_date, Crystalline::Nilable.new(::Date), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('end_date'), 'decoder': ::KintsugiSDK::Utils.date_from_iso_format(true) } }
31
33
  # Unique identifier for the customer associated with the exemption
32
34
  field :customer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer_id') } }
33
35
  # Unique identifier for the transaction
34
36
  # associated with the exemption, if applicable.
35
37
  field :transaction_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('transaction_id') } }
38
+ # Indicates whether the exemption is for a reseller
39
+ field :reseller, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('reseller') } }
36
40
  # Federal Employer Identification Number
37
41
  # associated with the exemption.
38
42
  field :fein, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('FEIN') } }
39
43
  # Sales tax ID for the exemption
40
44
  field :sales_tax_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('sales_tax_id') } }
41
-
45
+ # The status of the exemption.
46
+ # Defaults to ACTIVE if not provided.
42
47
  field :status, Crystalline::Nilable.new(Models::Shared::ExemptionStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::ExemptionStatus, true) } }
48
+ # FK to bulk-imported certificate; NULL for manually-created exemptions
49
+ field :certificate_import_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('certificate_import_id') } }
50
+ # Source of exemption.
51
+ field :source, Crystalline::Nilable.new(Models::Shared::ExemptionSourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::ExemptionSourceEnum, true) } }
43
52
 
44
- field :organization_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id') } }
45
- # Indicates whether the exemption is for a reseller
46
- field :reseller, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('reseller') } }
47
-
48
- sig { params(exemption_type: Models::Shared::ExemptionType, start_date: ::Date, id: T.nilable(::String), created_at: T.nilable(::DateTime), updated_at: T.nilable(::String), jurisdiction: T.nilable(::String), country_code: T.nilable(Models::Shared::CountryCodeEnum), end_date: T.nilable(::String), customer_id: T.nilable(::String), transaction_id: T.nilable(::String), fein: T.nilable(::String), sales_tax_id: T.nilable(::String), status: T.nilable(Models::Shared::ExemptionStatus), organization_id: T.nilable(::String), reseller: T.nilable(T::Boolean)).void }
49
- def initialize(exemption_type:, start_date:, id: nil, created_at: nil, updated_at: nil, jurisdiction: nil, country_code: nil, end_date: nil, customer_id: nil, transaction_id: nil, fein: nil, sales_tax_id: nil, status: nil, organization_id: nil, reseller: false)
53
+ sig { params(exemption_type: Models::Shared::ExemptionType, start_date: ::Date, id: T.nilable(::String), created_at: T.nilable(::DateTime), organization_id: T.nilable(::String), updated_at: T.nilable(::DateTime), jurisdiction: T.nilable(::String), country_code: T.nilable(Models::Shared::CountryCodeEnum), end_date: T.nilable(::Date), customer_id: T.nilable(::String), transaction_id: T.nilable(::String), reseller: T.nilable(T::Boolean), fein: T.nilable(::String), sales_tax_id: T.nilable(::String), status: T.nilable(Models::Shared::ExemptionStatus), certificate_import_id: T.nilable(::String), source: T.nilable(Models::Shared::ExemptionSourceEnum)).void }
54
+ def initialize(exemption_type:, start_date:, id: nil, created_at: nil, organization_id: nil, updated_at: nil, jurisdiction: nil, country_code: nil, end_date: nil, customer_id: nil, transaction_id: nil, reseller: false, fein: nil, sales_tax_id: nil, status: nil, certificate_import_id: nil, source: nil)
50
55
  @exemption_type = exemption_type
51
56
  @start_date = start_date
52
57
  @id = id
53
58
  @created_at = created_at
59
+ @organization_id = organization_id
54
60
  @updated_at = updated_at
55
61
  @jurisdiction = jurisdiction
56
62
  @country_code = country_code
57
63
  @end_date = end_date
58
64
  @customer_id = customer_id
59
65
  @transaction_id = transaction_id
66
+ @reseller = reseller
60
67
  @fein = fein
61
68
  @sales_tax_id = sales_tax_id
62
69
  @status = status
63
- @organization_id = organization_id
64
- @reseller = reseller
70
+ @certificate_import_id = certificate_import_id
71
+ @source = source
65
72
  end
66
73
 
67
74
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -71,17 +78,19 @@ module KintsugiSDK
71
78
  return false unless @start_date == other.start_date
72
79
  return false unless @id == other.id
73
80
  return false unless @created_at == other.created_at
81
+ return false unless @organization_id == other.organization_id
74
82
  return false unless @updated_at == other.updated_at
75
83
  return false unless @jurisdiction == other.jurisdiction
76
84
  return false unless @country_code == other.country_code
77
85
  return false unless @end_date == other.end_date
78
86
  return false unless @customer_id == other.customer_id
79
87
  return false unless @transaction_id == other.transaction_id
88
+ return false unless @reseller == other.reseller
80
89
  return false unless @fein == other.fein
81
90
  return false unless @sales_tax_id == other.sales_tax_id
82
91
  return false unless @status == other.status
83
- return false unless @organization_id == other.organization_id
84
- return false unless @reseller == other.reseller
92
+ return false unless @certificate_import_id == other.certificate_import_id
93
+ return false unless @source == other.source
85
94
  true
86
95
  end
87
96
  end
@@ -16,6 +16,8 @@ class KintsugiSDK::Models::Shared::Exemption
16
16
  def id=(str_); end
17
17
  def created_at(); end
18
18
  def created_at=(str_); end
19
+ def organization_id(); end
20
+ def organization_id=(str_); end
19
21
  def updated_at(); end
20
22
  def updated_at=(str_); end
21
23
  def jurisdiction(); end
@@ -28,14 +30,16 @@ class KintsugiSDK::Models::Shared::Exemption
28
30
  def customer_id=(str_); end
29
31
  def transaction_id(); end
30
32
  def transaction_id=(str_); end
33
+ def reseller(); end
34
+ def reseller=(str_); end
31
35
  def fein(); end
32
36
  def fein=(str_); end
33
37
  def sales_tax_id(); end
34
38
  def sales_tax_id=(str_); end
35
39
  def status(); end
36
40
  def status=(str_); end
37
- def organization_id(); end
38
- def organization_id=(str_); end
39
- def reseller(); end
40
- def reseller=(str_); end
41
- end
41
+ def certificate_import_id(); end
42
+ def certificate_import_id=(str_); end
43
+ def source(); end
44
+ def source=(str_); end
45
+ end
@@ -26,16 +26,16 @@ module KintsugiSDK
26
26
  field :status, Models::Shared::ExemptionStatus, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::ExemptionStatus, false) } }
27
27
  # The jurisdiction identifier for the exemption
28
28
  field :jurisdiction, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction') } }
29
-
29
+ # Country code in ISO 3166-1 alpha-2 format (e.g., 'US')
30
30
  field :country_code, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country_code'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
31
31
  # End date for the exemption validity period (YYYY-MM-DD format)
32
- field :end_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('end_date') } }
32
+ field :end_date, Crystalline::Nilable.new(::Date), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('end_date'), 'decoder': ::KintsugiSDK::Utils.date_from_iso_format(true) } }
33
33
  # Unique identifier for the transaction, if applicable
34
34
  field :transaction_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('transaction_id') } }
35
35
  # Indicates whether the exemption is for a reseller
36
36
  field :reseller, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('reseller') } }
37
37
 
38
- sig { params(exemption_type: Models::Shared::ExemptionType, start_date: ::Date, customer_id: ::String, fein: ::String, sales_tax_id: ::String, status: Models::Shared::ExemptionStatus, jurisdiction: T.nilable(::String), country_code: T.nilable(Models::Shared::CountryCodeEnum), end_date: T.nilable(::String), transaction_id: T.nilable(::String), reseller: T.nilable(T::Boolean)).void }
38
+ sig { params(exemption_type: Models::Shared::ExemptionType, start_date: ::Date, customer_id: ::String, fein: ::String, sales_tax_id: ::String, status: Models::Shared::ExemptionStatus, jurisdiction: T.nilable(::String), country_code: T.nilable(Models::Shared::CountryCodeEnum), end_date: T.nilable(::Date), transaction_id: T.nilable(::String), reseller: T.nilable(T::Boolean)).void }
39
39
  def initialize(exemption_type:, start_date:, customer_id:, fein:, sales_tax_id:, status:, jurisdiction: nil, country_code: nil, end_date: nil, transaction_id: nil, reseller: false)
40
40
  @exemption_type = exemption_type
41
41
  @start_date = start_date
@@ -30,4 +30,4 @@ class KintsugiSDK::Models::Shared::ExemptionCreate
30
30
  def transaction_id=(str_); end
31
31
  def reseller(); end
32
32
  def reseller=(str_); end
33
- end
33
+ end
@@ -29,8 +29,18 @@ module KintsugiSDK
29
29
 
30
30
  field :customer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer_id') } }
31
31
 
32
- sig { params(organization_id: ::String, exemption_type: Models::Shared::ExemptionType, start_date: ::DateTime, status: Models::Shared::ExemptionStatus, reseller: T::Boolean, jurisdiction: T.nilable(::String), customer_id: T.nilable(::String)).void }
33
- def initialize(organization_id:, exemption_type:, start_date:, status:, reseller:, jurisdiction: nil, customer_id: nil)
32
+ field :country_code, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country_code'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
33
+
34
+ field :end_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('end_date'), 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(true) } }
35
+
36
+ field :fein, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('FEIN') } }
37
+
38
+ field :sales_tax_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('sales_tax_id') } }
39
+
40
+ field :source, Crystalline::Nilable.new(Models::Shared::ExemptionSourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::ExemptionSourceEnum, true) } }
41
+
42
+ sig { params(organization_id: ::String, exemption_type: Models::Shared::ExemptionType, start_date: ::DateTime, status: Models::Shared::ExemptionStatus, reseller: T::Boolean, jurisdiction: T.nilable(::String), customer_id: T.nilable(::String), country_code: T.nilable(Models::Shared::CountryCodeEnum), end_date: T.nilable(::DateTime), fein: T.nilable(::String), sales_tax_id: T.nilable(::String), source: T.nilable(Models::Shared::ExemptionSourceEnum)).void }
43
+ def initialize(organization_id:, exemption_type:, start_date:, status:, reseller:, jurisdiction: nil, customer_id: nil, country_code: nil, end_date: nil, fein: nil, sales_tax_id: nil, source: nil)
34
44
  @organization_id = organization_id
35
45
  @exemption_type = exemption_type
36
46
  @start_date = start_date
@@ -38,6 +48,11 @@ module KintsugiSDK
38
48
  @reseller = reseller
39
49
  @jurisdiction = jurisdiction
40
50
  @customer_id = customer_id
51
+ @country_code = country_code
52
+ @end_date = end_date
53
+ @fein = fein
54
+ @sales_tax_id = sales_tax_id
55
+ @source = source
41
56
  end
42
57
 
43
58
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -50,6 +65,11 @@ module KintsugiSDK
50
65
  return false unless @reseller == other.reseller
51
66
  return false unless @jurisdiction == other.jurisdiction
52
67
  return false unless @customer_id == other.customer_id
68
+ return false unless @country_code == other.country_code
69
+ return false unless @end_date == other.end_date
70
+ return false unless @fein == other.fein
71
+ return false unless @sales_tax_id == other.sales_tax_id
72
+ return false unless @source == other.source
53
73
  true
54
74
  end
55
75
  end
@@ -22,4 +22,14 @@ class KintsugiSDK::Models::Shared::ExemptionRequired
22
22
  def jurisdiction=(str_); end
23
23
  def customer_id(); end
24
24
  def customer_id=(str_); end
25
- end
25
+ def country_code(); end
26
+ def country_code=(str_); end
27
+ def end_date(); end
28
+ def end_date=(str_); end
29
+ def fein(); end
30
+ def fein=(str_); end
31
+ def sales_tax_id(); end
32
+ def sales_tax_id=(str_); end
33
+ def source(); end
34
+ def source=(str_); end
35
+ end
@@ -0,0 +1,42 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module KintsugiSDK
8
+ module Models
9
+ module Shared
10
+ # ExemptionSourceEnum - Source of exemption, needs extension for new sources which supports
11
+ # multi-state exemptions
12
+ class ExemptionSourceEnum < T::Enum
13
+ enums do
14
+ NETSUITE = new('NETSUITE')
15
+ QUICKBOOKS = new('QUICKBOOKS')
16
+ INTUIT_ENTERPRISE_SUITE = new('INTUIT_ENTERPRISE_SUITE')
17
+ SAGE_INTACCT = new('SAGE_INTACCT')
18
+ SHOPIFY = new('SHOPIFY')
19
+ XERO = new('XERO')
20
+ STRIPE = new('STRIPE')
21
+ BIGCOMMERCE = new('BIGCOMMERCE')
22
+ MAGENTO = new('MAGENTO')
23
+ MAXIO = new('MAXIO')
24
+ CHARGEBEE = new('CHARGEBEE')
25
+ ZUORA = new('ZUORA')
26
+ MICROSOFT_DYNAMICS_365 = new('MICROSOFT_DYNAMICS_365')
27
+ DUALENTRY = new('DUALENTRY')
28
+ RECURLY = new('RECURLY')
29
+ SHOPLINE = new('SHOPLINE')
30
+ ORB = new('ORB')
31
+ ZENSKAR = new('ZENSKAR')
32
+ MANUAL = new('MANUAL')
33
+ BULK_UPLOAD = new('BULK_UPLOAD')
34
+ EMAIL = new('EMAIL')
35
+ CHECKOUT = new('CHECKOUT')
36
+ API = new('API')
37
+ MISSING_CERTIFICATE = new('MISSING_CERTIFICATE')
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::ExemptionSourceEnum
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::ExemptionSourceEnum
11
+ end
@@ -8,4 +8,4 @@ end
8
8
 
9
9
 
10
10
  class KintsugiSDK::Models::Shared::ExemptionStatus
11
- end
11
+ end
@@ -13,6 +13,7 @@ module KintsugiSDK
13
13
  CUSTOMER = new('customer')
14
14
  WHOLESALE = new('wholesale')
15
15
  TRANSACTION = new('transaction')
16
+ REVERSE_CHARGE = new('reverse_charge')
16
17
  end
17
18
  end
18
19
  end
@@ -8,4 +8,4 @@ end
8
8
 
9
9
 
10
10
  class KintsugiSDK::Models::Shared::ExemptionType
11
- end
11
+ end
@@ -13,7 +13,7 @@ module KintsugiSDK
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
- field :items, Crystalline::Array.new(Models::Shared::BackendSrcExemptionsModelsExemptionRead), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('items'), required: true } }
16
+ field :items, Crystalline::Array.new(Models::Shared::BackendSrcExemptionsSchemasExemptionExemptionRead), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('items'), required: true } }
17
17
 
18
18
  field :total, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('total'), required: true } }
19
19
 
@@ -23,7 +23,7 @@ module KintsugiSDK
23
23
 
24
24
  field :pages, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('pages'), required: true } }
25
25
 
26
- sig { params(items: T::Array[Models::Shared::BackendSrcExemptionsModelsExemptionRead], total: ::Integer, page: ::Integer, size: ::Integer, pages: ::Integer).void }
26
+ sig { params(items: T::Array[Models::Shared::BackendSrcExemptionsSchemasExemptionExemptionRead], total: ::Integer, page: ::Integer, size: ::Integer, pages: ::Integer).void }
27
27
  def initialize(items:, total:, page:, size:, pages:)
28
28
  @items = items
29
29
  @total = total
@@ -18,4 +18,4 @@ class KintsugiSDK::Models::Shared::FastapiPaginationDefaultPageExemptionRead2
18
18
  def size=(str_); end
19
19
  def pages(); end
20
20
  def pages=(str_); end
21
- end
21
+ end
@@ -22,4 +22,4 @@ class KintsugiSDK::Models::Shared::FindThresholdCrossingTransactionState
22
22
  def last_txn_id=(str_); end
23
23
  def last_txn_datetime(); end
24
24
  def last_txn_datetime=(str_); end
25
- end
25
+ end
@@ -8,4 +8,4 @@ end
8
8
 
9
9
 
10
10
  class KintsugiSDK::Models::Shared::JurisdictionType
11
- end
11
+ end
@@ -0,0 +1,27 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module KintsugiSDK
8
+ module Models
9
+ module Shared
10
+
11
+ class Loc
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+
17
+ def initialize; end
18
+
19
+ sig { params(other: T.untyped).returns(T::Boolean) }
20
+ def ==(other)
21
+ return false unless other.is_a? self.class
22
+ true
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::Loc
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::Loc
11
+ end