kintsugi_sdk 5.5.12 → 5.6.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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/enum.rbi +17 -0
  3. data/lib/crystalline/metadata_fields.rb +94 -38
  4. data/lib/crystalline/module.rb +103 -13
  5. data/lib/crystalline/types.rb +100 -16
  6. data/lib/crystalline/utils.rb +13 -0
  7. data/lib/kintsugi_sdk/addressvalidation.rb +3 -3
  8. data/lib/kintsugi_sdk/customers.rb +10 -10
  9. data/lib/kintsugi_sdk/exemptions.rb +7 -7
  10. data/lib/kintsugi_sdk/models/errors/backend_src_address_validation_responses_validationerrorresponse.rb +0 -1
  11. data/lib/kintsugi_sdk/models/errors/backend_src_customers_responses_validationerrorresponse.rb +0 -1
  12. data/lib/kintsugi_sdk/models/errors/backend_src_exemptions_responses_validationerrorresponse.rb +0 -1
  13. data/lib/kintsugi_sdk/models/errors/backend_src_products_responses_validationerrorresponse.rb +0 -1
  14. data/lib/kintsugi_sdk/models/errors/backend_src_tax_estimation_responses_validationerrorresponse.rb +0 -1
  15. data/lib/kintsugi_sdk/models/errors/backend_src_transactions_responses_validationerrorresponse.rb +0 -1
  16. data/lib/kintsugi_sdk/models/errors/errorresponse.rb +0 -1
  17. data/lib/kintsugi_sdk/models/errors/httpvalidationerror.rb +0 -1
  18. data/lib/kintsugi_sdk/models/ops/createtransactionbycustomer_request.rb +0 -1
  19. data/lib/kintsugi_sdk/models/ops/estimate_tax_v1_tax_estimate_post_request.rb +2 -3
  20. data/lib/kintsugi_sdk/models/ops/get_customer_by_external_id_v1_customers_external_external_id_get_request.rb +0 -1
  21. data/lib/kintsugi_sdk/models/ops/get_customer_by_id_v1_customers_customer_id_get_request.rb +0 -1
  22. data/lib/kintsugi_sdk/models/ops/get_customers_v1_request.rb +0 -1
  23. data/lib/kintsugi_sdk/models/ops/get_exemption_by_id_v1_exemptions_exemption_id_get_request.rb +0 -1
  24. data/lib/kintsugi_sdk/models/ops/get_exemptions_v1_exemptions_get_request.rb +0 -1
  25. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rb +12 -5
  26. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rbi +4 -0
  27. data/lib/kintsugi_sdk/models/ops/get_product_by_id_v1_products_product_id_get_request.rb +0 -1
  28. data/lib/kintsugi_sdk/models/ops/get_transaction_by_id_v1_transactions_transaction_id_get_request.rb +0 -1
  29. data/lib/kintsugi_sdk/models/ops/get_transactions_v1_transactions_get_request.rb +0 -1
  30. data/lib/kintsugi_sdk/models/ops/getexemptionattachments_request.rb +0 -1
  31. data/lib/kintsugi_sdk/models/ops/gettransactionbyexternalid_request.rb +0 -1
  32. data/lib/kintsugi_sdk/models/ops/gettransactionsbycustomer_request.rb +0 -1
  33. data/lib/kintsugi_sdk/models/ops/gettransactionsbyfiling_request.rb +0 -1
  34. data/lib/kintsugi_sdk/models/ops/search_v1_address_validation_search_post_security.rb +0 -1
  35. data/lib/kintsugi_sdk/models/ops/update_customer_v1_customers_customer_id_put_request.rb +0 -1
  36. data/lib/kintsugi_sdk/models/ops/update_product_v1_products_product_id_put_request.rb +0 -1
  37. data/lib/kintsugi_sdk/models/ops/update_transaction_v1_transactions_transaction_id_put_request.rb +0 -1
  38. data/lib/kintsugi_sdk/models/ops/uploadexemptioncert_request.rb +0 -1
  39. data/lib/kintsugi_sdk/models/ops.rb +0 -1
  40. data/lib/kintsugi_sdk/models/shared/addressbase.rb +1 -2
  41. data/lib/kintsugi_sdk/models/shared/addresses.rb +3 -4
  42. data/lib/kintsugi_sdk/models/shared/addressresponsedata.rb +0 -1
  43. data/lib/kintsugi_sdk/models/shared/addresssearchresponse.rb +0 -1
  44. data/lib/kintsugi_sdk/models/shared/addressstatus.rb +0 -3
  45. data/lib/kintsugi_sdk/models/shared/addresssubmittedresponse.rb +0 -1
  46. data/lib/kintsugi_sdk/models/shared/addresstype.rb +0 -3
  47. data/lib/kintsugi_sdk/models/shared/appliedto.rb +0 -3
  48. data/lib/kintsugi_sdk/models/shared/attachmentread.rb +1 -2
  49. data/lib/kintsugi_sdk/models/shared/backend_src_address_validation_responses_validationerroritem.rb +0 -1
  50. data/lib/kintsugi_sdk/models/shared/backend_src_customers_responses_validationerroritem.rb +0 -1
  51. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_models_exemptionread.rb +4 -5
  52. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_responses_validationerroritem.rb +0 -1
  53. data/lib/kintsugi_sdk/models/shared/backend_src_exemptions_serializers_exemptionread.rb +4 -5
  54. data/lib/kintsugi_sdk/models/shared/backend_src_products_responses_validationerroritem.rb +0 -1
  55. data/lib/kintsugi_sdk/models/shared/backend_src_tax_estimation_responses_validationerroritem.rb +0 -1
  56. data/lib/kintsugi_sdk/models/shared/backend_src_transactions_responses_validationerroritem.rb +0 -1
  57. data/lib/kintsugi_sdk/models/shared/body_upload_exemption_certificate_v1_exemptions_exemption_id_attachments_post.rb +0 -1
  58. data/lib/kintsugi_sdk/models/shared/countrycodeenum.rb +1 -3
  59. data/lib/kintsugi_sdk/models/shared/currencyenum.rb +0 -3
  60. data/lib/kintsugi_sdk/models/shared/customerbase.rb +4 -5
  61. data/lib/kintsugi_sdk/models/shared/customerbasebase.rb +4 -5
  62. data/lib/kintsugi_sdk/models/shared/customerbasepublic.rb +4 -5
  63. data/lib/kintsugi_sdk/models/shared/customercreate.rb +14 -7
  64. data/lib/kintsugi_sdk/models/shared/customercreate.rbi +4 -0
  65. data/lib/kintsugi_sdk/models/shared/customerread.rb +14 -7
  66. data/lib/kintsugi_sdk/models/shared/customerread.rbi +4 -0
  67. data/lib/kintsugi_sdk/models/shared/customertaxregistrationread.rb +52 -0
  68. data/lib/kintsugi_sdk/models/shared/customertaxregistrationread.rbi +23 -0
  69. data/lib/kintsugi_sdk/models/shared/customertaxtypeenum.rb +25 -0
  70. data/lib/kintsugi_sdk/models/shared/customertaxtypeenum.rbi +11 -0
  71. data/lib/kintsugi_sdk/models/shared/customerupdate.rb +10 -7
  72. data/lib/kintsugi_sdk/models/shared/customerupdate.rbi +2 -0
  73. data/lib/kintsugi_sdk/models/shared/discountbuilder.rb +2 -3
  74. data/lib/kintsugi_sdk/models/shared/exemption.rb +5 -6
  75. data/lib/kintsugi_sdk/models/shared/exemptioncreate.rb +4 -5
  76. data/lib/kintsugi_sdk/models/shared/exemptionrequired.rb +6 -5
  77. data/lib/kintsugi_sdk/models/shared/exemptionstatus.rb +0 -3
  78. data/lib/kintsugi_sdk/models/shared/exemptiontype.rb +0 -3
  79. data/lib/kintsugi_sdk/models/shared/fastapi_pagination_default_page_exemptionread_2.rb +3 -4
  80. data/lib/kintsugi_sdk/models/shared/file.rb +0 -1
  81. data/lib/kintsugi_sdk/models/shared/findthresholdcrossingtransactionstate.rb +56 -0
  82. data/lib/kintsugi_sdk/models/shared/findthresholdcrossingtransactionstate.rbi +25 -0
  83. data/lib/kintsugi_sdk/models/shared/jurisdictiontype.rb +0 -3
  84. data/lib/kintsugi_sdk/models/shared/nexusresponse.rb +41 -26
  85. data/lib/kintsugi_sdk/models/shared/nexusresponse.rbi +10 -2
  86. data/lib/kintsugi_sdk/models/shared/nexusstateenum.rb +0 -3
  87. data/lib/kintsugi_sdk/models/shared/nexusstatusenum.rb +0 -3
  88. data/lib/kintsugi_sdk/models/shared/nexustypeenum.rb +0 -3
  89. data/lib/kintsugi_sdk/models/shared/page_customerread_.rb +3 -4
  90. data/lib/kintsugi_sdk/models/shared/page_nexusresponse_.rb +3 -4
  91. data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rb +3 -4
  92. data/lib/kintsugi_sdk/models/shared/page_transactionread_.rb +3 -4
  93. data/lib/kintsugi_sdk/models/shared/periodmodelenum.rb +0 -3
  94. data/lib/kintsugi_sdk/models/shared/processingstatusenum.rb +1 -3
  95. data/lib/kintsugi_sdk/models/shared/productread.rb +12 -9
  96. data/lib/kintsugi_sdk/models/shared/productstatusenum.rb +0 -3
  97. data/lib/kintsugi_sdk/models/shared/productupdate.rb +10 -7
  98. data/lib/kintsugi_sdk/models/shared/registration.rb +0 -1
  99. data/lib/kintsugi_sdk/models/shared/registrationsregimeenum.rb +0 -3
  100. data/lib/kintsugi_sdk/models/shared/relatedentitytype.rb +0 -3
  101. data/lib/kintsugi_sdk/models/shared/salesortransactionsenum.rb +0 -3
  102. data/lib/kintsugi_sdk/models/shared/security.rb +0 -1
  103. data/lib/kintsugi_sdk/models/shared/sourceenum.rb +10 -4
  104. data/lib/kintsugi_sdk/models/shared/statusenum.rb +0 -3
  105. data/lib/kintsugi_sdk/models/shared/taxexemptionenum.rb +1 -3
  106. data/lib/kintsugi_sdk/models/shared/taxitembuilder.rb +4 -5
  107. data/lib/kintsugi_sdk/models/shared/taxitemestimate.rb +1 -2
  108. data/lib/kintsugi_sdk/models/shared/taxitemread.rb +4 -5
  109. data/lib/kintsugi_sdk/models/shared/taxitemreturnreasonenum.rb +2 -3
  110. data/lib/kintsugi_sdk/models/shared/taxitemtypeenum.rb +0 -3
  111. data/lib/kintsugi_sdk/models/shared/taxliabilitysourceenum.rb +0 -3
  112. data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rb +3 -4
  113. data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rb +2 -3
  114. data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rb +3 -4
  115. data/lib/kintsugi_sdk/models/shared/transactioncreate.rb +23 -19
  116. data/lib/kintsugi_sdk/models/shared/transactioncreate.rbi +2 -2
  117. data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rb +6 -11
  118. data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rbi +0 -2
  119. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rb +7 -12
  120. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rbi +0 -2
  121. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rb +3 -4
  122. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_type.rb +0 -3
  123. data/lib/kintsugi_sdk/models/shared/transactionexemptstatusenum.rb +2 -3
  124. data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rb +8 -7
  125. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rb +8 -7
  126. data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rb +9 -8
  127. data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rb +10 -9
  128. data/lib/kintsugi_sdk/models/shared/transactionitemread.rb +7 -6
  129. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rb +21 -17
  130. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rbi +2 -2
  131. data/lib/kintsugi_sdk/models/shared/transactionread.rb +24 -20
  132. data/lib/kintsugi_sdk/models/shared/transactionread.rbi +2 -2
  133. data/lib/kintsugi_sdk/models/shared/transactionrefundstatus.rb +0 -3
  134. data/lib/kintsugi_sdk/models/shared/transactionstatusenum.rb +0 -3
  135. data/lib/kintsugi_sdk/models/shared/transactiontypeenum.rb +0 -3
  136. data/lib/kintsugi_sdk/models/shared/transactionupdate.rb +19 -60
  137. data/lib/kintsugi_sdk/models/shared/transactionupdate.rbi +2 -24
  138. data/lib/kintsugi_sdk/models/shared/treatmentenum.rb +0 -3
  139. data/lib/kintsugi_sdk/models/shared/type.rb +0 -3
  140. data/lib/kintsugi_sdk/models/shared/validationaddress.rb +0 -1
  141. data/lib/kintsugi_sdk/models/shared/validationerror.rb +0 -1
  142. data/lib/kintsugi_sdk/models/shared.rb +3 -7
  143. data/lib/kintsugi_sdk/nexus.rb +1 -1
  144. data/lib/kintsugi_sdk/openapisdk.rb +13 -15
  145. data/lib/kintsugi_sdk/products.rb +6 -414
  146. data/lib/kintsugi_sdk/sdk_hooks/hooks.rb +0 -1
  147. data/lib/kintsugi_sdk/sdkconfiguration.rb +5 -10
  148. data/lib/kintsugi_sdk/taxestimation.rb +4 -4
  149. data/lib/kintsugi_sdk/transactions.rb +8 -8
  150. data/lib/kintsugi_sdk/utils/forms.rb +1 -1
  151. data/lib/kintsugi_sdk/utils/query_params.rb +4 -2
  152. data/lib/kintsugi_sdk/utils/request_bodies.rb +11 -6
  153. data/lib/kintsugi_sdk/utils/security.rb +10 -0
  154. data/lib/kintsugi_sdk/utils/url.rb +11 -5
  155. data/lib/kintsugi_sdk/utils/utils.rb +45 -3
  156. metadata +77 -41
  157. data/lib/kintsugi_sdk/models/ops/get_products_v1_products_get_request.rb +0 -61
  158. data/lib/kintsugi_sdk/models/ops/get_products_v1_products_get_request.rbi +0 -27
  159. data/lib/kintsugi_sdk/models/shared/page_productread_.rb +0 -49
  160. data/lib/kintsugi_sdk/models/shared/page_productread_.rbi +0 -21
  161. data/lib/kintsugi_sdk/models/shared/productcategories.rb +0 -38
  162. data/lib/kintsugi_sdk/models/shared/productcategories.rbi +0 -15
  163. data/lib/kintsugi_sdk/models/shared/productcategoryenum.rb +0 -25
  164. data/lib/kintsugi_sdk/models/shared/productcategoryenum.rbi +0 -11
  165. data/lib/kintsugi_sdk/models/shared/productcodeenum.rb +0 -82
  166. data/lib/kintsugi_sdk/models/shared/productcodeenum.rbi +0 -11
  167. data/lib/kintsugi_sdk/models/shared/productcreatemanual.rb +0 -61
  168. data/lib/kintsugi_sdk/models/shared/productcreatemanual.rbi +0 -27
  169. data/lib/kintsugi_sdk/models/shared/productsubcategory.rb +0 -46
  170. data/lib/kintsugi_sdk/models/shared/productsubcategory.rbi +0 -19
  171. data/lib/kintsugi_sdk/models/shared/productsubcategoryenum.rb +0 -83
  172. data/lib/kintsugi_sdk/models/shared/productsubcategoryenum.rbi +0 -11
@@ -7,20 +7,21 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class ExemptionRequired
13
12
  extend T::Sig
14
13
  include Crystalline::MetadataFields
15
14
 
16
-
15
+ # Unique identifier of the organization. This field is deprecated, and should no longer be used. The value is populated through the 'x-organization-id' header.
16
+ #
17
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
17
18
  field :organization_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id'), required: true } }
18
19
 
19
- field :exemption_type, Models::Shared::ExemptionType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exemption_type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::ExemptionType, false) } }
20
+ field :exemption_type, Models::Shared::ExemptionType, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exemption_type'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::ExemptionType, false) } }
20
21
 
21
- field :start_date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('start_date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
22
+ field :start_date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('start_date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
22
23
 
23
- field :status, Models::Shared::ExemptionStatus, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::ExemptionStatus, false) } }
24
+ 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) } }
24
25
 
25
26
  field :reseller, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('reseller'), required: true } }
26
27
 
@@ -7,11 +7,8 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class ExemptionStatus < T::Enum
13
-
14
-
15
12
  enums do
16
13
  ACTIVE = new('ACTIVE')
17
14
  INACTIVE = new('INACTIVE')
@@ -7,11 +7,8 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class ExemptionType < T::Enum
13
-
14
-
15
12
  enums do
16
13
  CUSTOMER = new('customer')
17
14
  WHOLESALE = new('wholesale')
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class FastapiPaginationDefaultPageExemptionRead2
13
12
  extend T::Sig
@@ -22,10 +21,10 @@ module KintsugiSDK
22
21
 
23
22
  field :size, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('size'), required: true } }
24
23
 
25
- field :pages, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('pages') } }
24
+ field :pages, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('pages'), required: true } }
26
25
 
27
- sig { params(items: T::Array[Models::Shared::BackendSrcExemptionsModelsExemptionRead], total: ::Integer, page: ::Integer, size: ::Integer, pages: T.nilable(::Integer)).void }
28
- def initialize(items:, total:, page:, size:, pages: nil)
26
+ sig { params(items: T::Array[Models::Shared::BackendSrcExemptionsModelsExemptionRead], total: ::Integer, page: ::Integer, size: ::Integer, pages: ::Integer).void }
27
+ def initialize(items:, total:, page:, size:, pages:)
29
28
  @items = items
30
29
  @total = total
31
30
  @page = page
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class File
13
12
  extend T::Sig
@@ -0,0 +1,56 @@
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 FindThresholdCrossingTransactionState
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :period_start_date, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('period_start_date'), required: true } }
17
+
18
+ field :period_end_date, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('period_end_date'), required: true } }
19
+
20
+ field :running_sales_total_decimal, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('running_sales_total_decimal'), required: true } }
21
+
22
+ field :running_transaction_count, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('running_transaction_count'), required: true } }
23
+
24
+ field :has_all_marketplace_transactions, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('has_all_marketplace_transactions'), required: true } }
25
+
26
+ field :last_txn_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('last_txn_id') } }
27
+
28
+ field :last_txn_datetime, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('last_txn_datetime') } }
29
+
30
+ sig { params(period_start_date: ::String, period_end_date: ::String, running_sales_total_decimal: ::String, running_transaction_count: ::Integer, has_all_marketplace_transactions: T::Boolean, last_txn_id: T.nilable(::String), last_txn_datetime: T.nilable(::String)).void }
31
+ def initialize(period_start_date:, period_end_date:, running_sales_total_decimal:, running_transaction_count:, has_all_marketplace_transactions:, last_txn_id: nil, last_txn_datetime: nil)
32
+ @period_start_date = period_start_date
33
+ @period_end_date = period_end_date
34
+ @running_sales_total_decimal = running_sales_total_decimal
35
+ @running_transaction_count = running_transaction_count
36
+ @has_all_marketplace_transactions = has_all_marketplace_transactions
37
+ @last_txn_id = last_txn_id
38
+ @last_txn_datetime = last_txn_datetime
39
+ end
40
+
41
+ sig { params(other: T.untyped).returns(T::Boolean) }
42
+ def ==(other)
43
+ return false unless other.is_a? self.class
44
+ return false unless @period_start_date == other.period_start_date
45
+ return false unless @period_end_date == other.period_end_date
46
+ return false unless @running_sales_total_decimal == other.running_sales_total_decimal
47
+ return false unless @running_transaction_count == other.running_transaction_count
48
+ return false unless @has_all_marketplace_transactions == other.has_all_marketplace_transactions
49
+ return false unless @last_txn_id == other.last_txn_id
50
+ return false unless @last_txn_datetime == other.last_txn_datetime
51
+ true
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,25 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class KintsugiSDK::Models::Shared::FindThresholdCrossingTransactionState
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class KintsugiSDK::Models::Shared::FindThresholdCrossingTransactionState
11
+ def period_start_date(); end
12
+ def period_start_date=(str_); end
13
+ def period_end_date(); end
14
+ def period_end_date=(str_); end
15
+ def running_sales_total_decimal(); end
16
+ def running_sales_total_decimal=(str_); end
17
+ def running_transaction_count(); end
18
+ def running_transaction_count=(str_); end
19
+ def has_all_marketplace_transactions(); end
20
+ def has_all_marketplace_transactions=(str_); end
21
+ def last_txn_id(); end
22
+ def last_txn_id=(str_); end
23
+ def last_txn_datetime(); end
24
+ def last_txn_datetime=(str_); end
25
+ end
@@ -7,11 +7,8 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class JurisdictionType < T::Enum
13
-
14
-
15
12
  enums do
16
13
  COUNTRY = new('COUNTRY')
17
14
  FEDERAL = new('FEDERAL')
@@ -7,36 +7,35 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class NexusResponse
13
12
  extend T::Sig
14
13
  include Crystalline::MetadataFields
15
14
 
16
15
 
17
- field :country_code, Models::Shared::CountryCodeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country_code'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::CountryCodeEnum, false) } }
16
+ field :country_code, Models::Shared::CountryCodeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country_code'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, false) } }
18
17
 
19
18
  field :state_code, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('state_code'), required: true } }
20
19
 
21
20
  field :state_name, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('state_name'), required: true } }
22
21
 
23
- field :treatment_of_exempt_transactions, Models::Shared::TreatmentEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('treatment_of_exempt_transactions'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::TreatmentEnum, false) } }
22
+ field :treatment_of_exempt_transactions, Models::Shared::TreatmentEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('treatment_of_exempt_transactions'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TreatmentEnum, false) } }
24
23
 
25
24
  field :trigger, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('trigger'), required: true } }
26
25
 
27
- field :sales_or_transactions, Models::Shared::SalesOrTransactionsEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('sales_or_transactions'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::SalesOrTransactionsEnum, false) } }
26
+ field :sales_or_transactions, Models::Shared::SalesOrTransactionsEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('sales_or_transactions'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SalesOrTransactionsEnum, false) } }
28
27
 
29
28
  field :threshold_sales, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('threshold_sales'), required: true } }
30
29
 
31
30
  field :threshold_transactions, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('threshold_transactions'), required: true } }
32
31
 
33
- field :start_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('start_date'), required: true, 'decoder': Utils.date_from_iso_format(false) } }
32
+ field :start_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('start_date'), required: true, 'decoder': ::KintsugiSDK::Utils.date_from_iso_format(false) } }
34
33
 
35
- field :period_model, Models::Shared::PeriodModelEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('period_model'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::PeriodModelEnum, false) } }
34
+ field :period_model, Models::Shared::PeriodModelEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('period_model'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::PeriodModelEnum, false) } }
36
35
 
37
- field :period_start_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('period_start_date'), required: true, 'decoder': Utils.date_from_iso_format(false) } }
36
+ field :period_start_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('period_start_date'), required: true, 'decoder': ::KintsugiSDK::Utils.date_from_iso_format(false) } }
38
37
 
39
- field :period_end_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('period_end_date'), required: true, 'decoder': Utils.date_from_iso_format(false) } }
38
+ field :period_end_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('period_end_date'), required: true, 'decoder': ::KintsugiSDK::Utils.date_from_iso_format(false) } }
40
39
 
41
40
  field :previous_period_start_date, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('previous_period_start_date'), required: true } }
42
41
 
@@ -44,15 +43,15 @@ module KintsugiSDK
44
43
 
45
44
  field :id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('id'), required: true } }
46
45
 
47
- field :created_at, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('created_at'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
46
+ field :created_at, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('created_at'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
48
47
 
49
- field :updated_at, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('updated_at'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
48
+ field :updated_at, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('updated_at'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
50
49
 
51
50
  field :organization_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id'), required: true } }
52
51
 
53
52
  field :is_vda_eligible, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('is_vda_eligible'), required: true } }
54
53
 
55
- field :nexus_type, Models::Shared::NexusTypeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('nexus_type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::NexusTypeEnum, false) } }
54
+ field :nexus_type, Models::Shared::NexusTypeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('nexus_type'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::NexusTypeEnum, false) } }
56
55
 
57
56
  field :total_transactions, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('total_transactions'), required: true } }
58
57
 
@@ -64,9 +63,9 @@ module KintsugiSDK
64
63
 
65
64
  field :marketplace_included, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('marketplace_included'), required: true } }
66
65
 
67
- field :processing_status, Crystalline::Nilable.new(Models::Shared::NexusStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('processing_status'), 'decoder': Utils.enum_from_string(Models::Shared::NexusStatusEnum, true) } }
66
+ field :processing_status, Crystalline::Nilable.new(Models::Shared::NexusStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('processing_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::NexusStatusEnum, true) } }
68
67
 
69
- field :status, Crystalline::Nilable.new(Models::Shared::NexusStateEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::NexusStateEnum, true) } }
68
+ field :status, Crystalline::Nilable.new(Models::Shared::NexusStateEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::NexusStateEnum, true) } }
70
69
 
71
70
  field :nexus_met_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('nexus_met_date') } }
72
71
 
@@ -80,6 +79,8 @@ module KintsugiSDK
80
79
 
81
80
  field :most_recent_transaction_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('most_recent_transaction_date') } }
82
81
 
82
+ field :find_threshold_crossing_transaction_state, Crystalline::Nilable.new(Models::Shared::FindThresholdCrossingTransactionState), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('find_threshold_crossing_transaction_state') } }
83
+
83
84
  field :predicted_month_from_today, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('predicted_month_from_today') } }
84
85
 
85
86
  field :confidence_level, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('confidence_level') } }
@@ -90,22 +91,28 @@ module KintsugiSDK
90
91
 
91
92
  field :periods, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Hash.new(Symbol, ::Object))), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('periods') } }
92
93
 
93
- field :currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
94
+ field :currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
94
95
 
95
96
  field :registration, Crystalline::Nilable.new(Models::Shared::Registration), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration') } }
96
97
 
97
- field :registration_regime, Crystalline::Nilable.new(Models::Shared::RegistrationsRegimeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration_regime'), 'decoder': Utils.enum_from_string(Models::Shared::RegistrationsRegimeEnum, true) } }
98
+ field :registration_regime, Crystalline::Nilable.new(Models::Shared::RegistrationsRegimeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration_regime'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::RegistrationsRegimeEnum, true) } }
99
+
100
+ field :disregarded_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('disregarded_at') } }
101
+
102
+ field :disregarded_by, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('disregarded_by') } }
103
+
104
+ field :disregarded_nexus_types, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('disregarded_nexus_types') } }
98
105
 
99
106
  field :transaction_count, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('transaction_count') } }
100
107
 
101
108
  field :transactions_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('transactions_amount') } }
102
109
  # Deprecated: transaction_count now includes both current and previous period values when period_model is CURRENT_OR_PREVIOUS
103
- #
104
- # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
110
+ #
111
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
105
112
  field :previous_transaction_count, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('previous_transaction_count') } }
106
113
  # Deprecated: transactions_amount now includes both current and previous period values when period_model is CURRENT_OR_PREVIOUS
107
- #
108
- # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
114
+ #
115
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
109
116
  field :previous_transactions_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('previous_transactions_amount') } }
110
117
 
111
118
  field :calculated_tax_liability, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('calculated_tax_liability') } }
@@ -122,14 +129,14 @@ module KintsugiSDK
122
129
 
123
130
  field :collected_tax_nexus_met, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('collected_tax_nexus_met') } }
124
131
 
125
- field :collected_tax_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('collected_tax_enabled') } }
126
-
127
- field :earliest_collected_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('earliest_collected_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
132
+ field :earliest_collected_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('earliest_collected_date'), 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(true) } }
128
133
 
129
134
  field :vda_eligible, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('vda_eligible') } }
130
135
 
131
- sig { params(country_code: Models::Shared::CountryCodeEnum, state_code: ::String, state_name: ::String, treatment_of_exempt_transactions: Models::Shared::TreatmentEnum, trigger: ::String, sales_or_transactions: Models::Shared::SalesOrTransactionsEnum, threshold_sales: ::Integer, threshold_transactions: ::Integer, start_date: ::Date, period_model: Models::Shared::PeriodModelEnum, period_start_date: ::Date, period_end_date: ::Date, previous_period_start_date: ::String, previous_period_end_date: ::String, id: ::String, created_at: ::DateTime, updated_at: ::DateTime, organization_id: ::String, is_vda_eligible: T::Boolean, nexus_type: Models::Shared::NexusTypeEnum, total_transactions: ::Integer, total_transactions_included: ::Integer, total_transactions_exempted: ::Integer, total_transactions_marketplace: ::Integer, marketplace_included: T::Boolean, processing_status: T.nilable(Models::Shared::NexusStatusEnum), status: T.nilable(Models::Shared::NexusStateEnum), nexus_met_date: T.nilable(::String), economic_nexus_met_date: T.nilable(::String), physical_nexus_met_date: T.nilable(::String), collected_tax_nexus_met_date: T.nilable(::String), earliest_transaction_date: T.nilable(::String), most_recent_transaction_date: T.nilable(::String), predicted_month_from_today: T.nilable(::Integer), confidence_level: T.nilable(::Float), last_processed_at: T.nilable(::String), last_tax_liability_processed_at: T.nilable(::String), periods: T.nilable(T::Array[T::Hash[Symbol, ::Object]]), currency: T.nilable(Models::Shared::CurrencyEnum), registration: T.nilable(Models::Shared::Registration), registration_regime: T.nilable(Models::Shared::RegistrationsRegimeEnum), transaction_count: T.nilable(::Integer), transactions_amount: T.nilable(::String), previous_transaction_count: T.nilable(::Integer), previous_transactions_amount: T.nilable(::String), calculated_tax_liability: T.nilable(::String), imported_tax_liability: T.nilable(::String), tax_liability: T.nilable(::String), nexus_met: T.nilable(T::Boolean), economic_nexus_met: T.nilable(T::Boolean), physical_nexus_met: T.nilable(T::Boolean), collected_tax_nexus_met: T.nilable(T::Boolean), collected_tax_enabled: T.nilable(T::Boolean), earliest_collected_date: T.nilable(::DateTime), vda_eligible: T.nilable(T::Boolean)).void }
132
- def initialize(country_code:, state_code:, state_name:, treatment_of_exempt_transactions:, trigger:, sales_or_transactions:, threshold_sales:, threshold_transactions:, start_date:, period_model:, period_start_date:, period_end_date:, previous_period_start_date:, previous_period_end_date:, id:, created_at:, updated_at:, organization_id:, is_vda_eligible:, nexus_type:, total_transactions:, total_transactions_included:, total_transactions_exempted:, total_transactions_marketplace:, marketplace_included:, processing_status: nil, status: nil, nexus_met_date: nil, economic_nexus_met_date: nil, physical_nexus_met_date: nil, collected_tax_nexus_met_date: nil, earliest_transaction_date: nil, most_recent_transaction_date: nil, predicted_month_from_today: nil, confidence_level: nil, last_processed_at: nil, last_tax_liability_processed_at: nil, periods: nil, currency: nil, registration: nil, registration_regime: nil, transaction_count: 0, transactions_amount: '0.00', previous_transaction_count: 0, previous_transactions_amount: '0.00', calculated_tax_liability: '0.00', imported_tax_liability: '0.00', tax_liability: '0.00', nexus_met: false, economic_nexus_met: false, physical_nexus_met: false, collected_tax_nexus_met: false, collected_tax_enabled: true, earliest_collected_date: DateTime.iso8601('2018-01-01T00:00:00'), vda_eligible: false)
136
+ field :is_currently_disregarded, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('is_currently_disregarded') } }
137
+
138
+ sig { params(country_code: Models::Shared::CountryCodeEnum, state_code: ::String, state_name: ::String, treatment_of_exempt_transactions: Models::Shared::TreatmentEnum, trigger: ::String, sales_or_transactions: Models::Shared::SalesOrTransactionsEnum, threshold_sales: ::Integer, threshold_transactions: ::Integer, start_date: ::Date, period_model: Models::Shared::PeriodModelEnum, period_start_date: ::Date, period_end_date: ::Date, previous_period_start_date: ::String, previous_period_end_date: ::String, id: ::String, created_at: ::DateTime, updated_at: ::DateTime, organization_id: ::String, is_vda_eligible: T::Boolean, nexus_type: Models::Shared::NexusTypeEnum, total_transactions: ::Integer, total_transactions_included: ::Integer, total_transactions_exempted: ::Integer, total_transactions_marketplace: ::Integer, marketplace_included: T::Boolean, processing_status: T.nilable(Models::Shared::NexusStatusEnum), status: T.nilable(Models::Shared::NexusStateEnum), nexus_met_date: T.nilable(::String), economic_nexus_met_date: T.nilable(::String), physical_nexus_met_date: T.nilable(::String), collected_tax_nexus_met_date: T.nilable(::String), earliest_transaction_date: T.nilable(::String), most_recent_transaction_date: T.nilable(::String), find_threshold_crossing_transaction_state: T.nilable(Models::Shared::FindThresholdCrossingTransactionState), predicted_month_from_today: T.nilable(::Integer), confidence_level: T.nilable(::Float), last_processed_at: T.nilable(::String), last_tax_liability_processed_at: T.nilable(::String), periods: T.nilable(T::Array[T::Hash[Symbol, ::Object]]), currency: T.nilable(Models::Shared::CurrencyEnum), registration: T.nilable(Models::Shared::Registration), registration_regime: T.nilable(Models::Shared::RegistrationsRegimeEnum), disregarded_at: T.nilable(::String), disregarded_by: T.nilable(::String), disregarded_nexus_types: T.nilable(T::Array[::String]), transaction_count: T.nilable(::Integer), transactions_amount: T.nilable(::String), previous_transaction_count: T.nilable(::Integer), previous_transactions_amount: T.nilable(::String), calculated_tax_liability: T.nilable(::String), imported_tax_liability: T.nilable(::String), tax_liability: T.nilable(::String), nexus_met: T.nilable(T::Boolean), economic_nexus_met: T.nilable(T::Boolean), physical_nexus_met: T.nilable(T::Boolean), collected_tax_nexus_met: T.nilable(T::Boolean), earliest_collected_date: T.nilable(::DateTime), vda_eligible: T.nilable(T::Boolean), is_currently_disregarded: T.nilable(T::Boolean)).void }
139
+ def initialize(country_code:, state_code:, state_name:, treatment_of_exempt_transactions:, trigger:, sales_or_transactions:, threshold_sales:, threshold_transactions:, start_date:, period_model:, period_start_date:, period_end_date:, previous_period_start_date:, previous_period_end_date:, id:, created_at:, updated_at:, organization_id:, is_vda_eligible:, nexus_type:, total_transactions:, total_transactions_included:, total_transactions_exempted:, total_transactions_marketplace:, marketplace_included:, processing_status: nil, status: nil, nexus_met_date: nil, economic_nexus_met_date: nil, physical_nexus_met_date: nil, collected_tax_nexus_met_date: nil, earliest_transaction_date: nil, most_recent_transaction_date: nil, find_threshold_crossing_transaction_state: nil, predicted_month_from_today: nil, confidence_level: nil, last_processed_at: nil, last_tax_liability_processed_at: nil, periods: nil, currency: nil, registration: nil, registration_regime: nil, disregarded_at: nil, disregarded_by: nil, disregarded_nexus_types: nil, transaction_count: 0, transactions_amount: '0.00', previous_transaction_count: 0, previous_transactions_amount: '0.00', calculated_tax_liability: '0.00', imported_tax_liability: '0.00', tax_liability: '0.00', nexus_met: false, economic_nexus_met: false, physical_nexus_met: false, collected_tax_nexus_met: false, earliest_collected_date: DateTime.iso8601('2018-01-01T00:00:00'), vda_eligible: false, is_currently_disregarded: false)
133
140
  @country_code = country_code
134
141
  @state_code = state_code
135
142
  @state_name = state_name
@@ -163,6 +170,7 @@ module KintsugiSDK
163
170
  @collected_tax_nexus_met_date = collected_tax_nexus_met_date
164
171
  @earliest_transaction_date = earliest_transaction_date
165
172
  @most_recent_transaction_date = most_recent_transaction_date
173
+ @find_threshold_crossing_transaction_state = find_threshold_crossing_transaction_state
166
174
  @predicted_month_from_today = predicted_month_from_today
167
175
  @confidence_level = confidence_level
168
176
  @last_processed_at = last_processed_at
@@ -171,6 +179,9 @@ module KintsugiSDK
171
179
  @currency = currency
172
180
  @registration = registration
173
181
  @registration_regime = registration_regime
182
+ @disregarded_at = disregarded_at
183
+ @disregarded_by = disregarded_by
184
+ @disregarded_nexus_types = disregarded_nexus_types
174
185
  @transaction_count = transaction_count
175
186
  @transactions_amount = transactions_amount
176
187
  @previous_transaction_count = previous_transaction_count
@@ -182,9 +193,9 @@ module KintsugiSDK
182
193
  @economic_nexus_met = economic_nexus_met
183
194
  @physical_nexus_met = physical_nexus_met
184
195
  @collected_tax_nexus_met = collected_tax_nexus_met
185
- @collected_tax_enabled = collected_tax_enabled
186
196
  @earliest_collected_date = earliest_collected_date
187
197
  @vda_eligible = vda_eligible
198
+ @is_currently_disregarded = is_currently_disregarded
188
199
  end
189
200
 
190
201
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -223,6 +234,7 @@ module KintsugiSDK
223
234
  return false unless @collected_tax_nexus_met_date == other.collected_tax_nexus_met_date
224
235
  return false unless @earliest_transaction_date == other.earliest_transaction_date
225
236
  return false unless @most_recent_transaction_date == other.most_recent_transaction_date
237
+ return false unless @find_threshold_crossing_transaction_state == other.find_threshold_crossing_transaction_state
226
238
  return false unless @predicted_month_from_today == other.predicted_month_from_today
227
239
  return false unless @confidence_level == other.confidence_level
228
240
  return false unless @last_processed_at == other.last_processed_at
@@ -231,6 +243,9 @@ module KintsugiSDK
231
243
  return false unless @currency == other.currency
232
244
  return false unless @registration == other.registration
233
245
  return false unless @registration_regime == other.registration_regime
246
+ return false unless @disregarded_at == other.disregarded_at
247
+ return false unless @disregarded_by == other.disregarded_by
248
+ return false unless @disregarded_nexus_types == other.disregarded_nexus_types
234
249
  return false unless @transaction_count == other.transaction_count
235
250
  return false unless @transactions_amount == other.transactions_amount
236
251
  return false unless @previous_transaction_count == other.previous_transaction_count
@@ -242,9 +257,9 @@ module KintsugiSDK
242
257
  return false unless @economic_nexus_met == other.economic_nexus_met
243
258
  return false unless @physical_nexus_met == other.physical_nexus_met
244
259
  return false unless @collected_tax_nexus_met == other.collected_tax_nexus_met
245
- return false unless @collected_tax_enabled == other.collected_tax_enabled
246
260
  return false unless @earliest_collected_date == other.earliest_collected_date
247
261
  return false unless @vda_eligible == other.vda_eligible
262
+ return false unless @is_currently_disregarded == other.is_currently_disregarded
248
263
  true
249
264
  end
250
265
  end
@@ -74,6 +74,8 @@ class KintsugiSDK::Models::Shared::NexusResponse
74
74
  def earliest_transaction_date=(str_); end
75
75
  def most_recent_transaction_date(); end
76
76
  def most_recent_transaction_date=(str_); end
77
+ def find_threshold_crossing_transaction_state(); end
78
+ def find_threshold_crossing_transaction_state=(str_); end
77
79
  def predicted_month_from_today(); end
78
80
  def predicted_month_from_today=(str_); end
79
81
  def confidence_level(); end
@@ -90,6 +92,12 @@ class KintsugiSDK::Models::Shared::NexusResponse
90
92
  def registration=(str_); end
91
93
  def registration_regime(); end
92
94
  def registration_regime=(str_); end
95
+ def disregarded_at(); end
96
+ def disregarded_at=(str_); end
97
+ def disregarded_by(); end
98
+ def disregarded_by=(str_); end
99
+ def disregarded_nexus_types(); end
100
+ def disregarded_nexus_types=(str_); end
93
101
  def transaction_count(); end
94
102
  def transaction_count=(str_); end
95
103
  def transactions_amount(); end
@@ -112,10 +120,10 @@ class KintsugiSDK::Models::Shared::NexusResponse
112
120
  def physical_nexus_met=(str_); end
113
121
  def collected_tax_nexus_met(); end
114
122
  def collected_tax_nexus_met=(str_); end
115
- def collected_tax_enabled(); end
116
- def collected_tax_enabled=(str_); end
117
123
  def earliest_collected_date(); end
118
124
  def earliest_collected_date=(str_); end
119
125
  def vda_eligible(); end
120
126
  def vda_eligible=(str_); end
127
+ def is_currently_disregarded(); end
128
+ def is_currently_disregarded=(str_); end
121
129
  end
@@ -7,11 +7,8 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class NexusStateEnum < T::Enum
13
-
14
-
15
12
  enums do
16
13
  EXPOSED = new('EXPOSED')
17
14
  APPROACHING = new('APPROACHING')
@@ -7,11 +7,8 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class NexusStatusEnum < T::Enum
13
-
14
-
15
12
  enums do
16
13
  NEEDS_RERUN = new('NEEDS_RERUN')
17
14
  UP_TO_DATE = new('UP_TO_DATE')
@@ -7,11 +7,8 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class NexusTypeEnum < T::Enum
13
-
14
-
15
12
  enums do
16
13
  CANADA_FEDERAL = new('CANADA_FEDERAL')
17
14
  EU_AGGREGATOR = new('EU_AGGREGATOR')
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class PageCustomerRead
13
12
  extend T::Sig
@@ -22,10 +21,10 @@ module KintsugiSDK
22
21
 
23
22
  field :size, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('size'), required: true } }
24
23
 
25
- field :pages, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('pages') } }
24
+ field :pages, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('pages'), required: true } }
26
25
 
27
- sig { params(items: T::Array[Models::Shared::CustomerRead], total: ::Integer, page: ::Integer, size: ::Integer, pages: T.nilable(::Integer)).void }
28
- def initialize(items:, total:, page:, size:, pages: nil)
26
+ sig { params(items: T::Array[Models::Shared::CustomerRead], total: ::Integer, page: ::Integer, size: ::Integer, pages: ::Integer).void }
27
+ def initialize(items:, total:, page:, size:, pages:)
29
28
  @items = items
30
29
  @total = total
31
30
  @page = page
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class PageNexusResponse
13
12
  extend T::Sig
@@ -22,10 +21,10 @@ module KintsugiSDK
22
21
 
23
22
  field :size, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('size'), required: true } }
24
23
 
25
- field :pages, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('pages') } }
24
+ field :pages, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('pages'), required: true } }
26
25
 
27
- sig { params(items: T::Array[Models::Shared::NexusResponse], total: ::Integer, page: ::Integer, size: ::Integer, pages: T.nilable(::Integer)).void }
28
- def initialize(items:, total:, page:, size:, pages: nil)
26
+ sig { params(items: T::Array[Models::Shared::NexusResponse], total: ::Integer, page: ::Integer, size: ::Integer, pages: ::Integer).void }
27
+ def initialize(items:, total:, page:, size:, pages:)
29
28
  @items = items
30
29
  @total = total
31
30
  @page = page
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class PageTransactionEstimateResponse
13
12
  extend T::Sig
@@ -22,10 +21,10 @@ module KintsugiSDK
22
21
 
23
22
  field :size, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('size'), required: true } }
24
23
 
25
- field :pages, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('pages') } }
24
+ field :pages, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('pages'), required: true } }
26
25
 
27
- sig { params(items: T::Array[Models::Shared::TransactionEstimateResponse], total: ::Integer, page: ::Integer, size: ::Integer, pages: T.nilable(::Integer)).void }
28
- def initialize(items:, total:, page:, size:, pages: nil)
26
+ sig { params(items: T::Array[Models::Shared::TransactionEstimateResponse], total: ::Integer, page: ::Integer, size: ::Integer, pages: ::Integer).void }
27
+ def initialize(items:, total:, page:, size:, pages:)
29
28
  @items = items
30
29
  @total = total
31
30
  @page = page
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class PageTransactionRead
13
12
  extend T::Sig
@@ -22,10 +21,10 @@ module KintsugiSDK
22
21
 
23
22
  field :size, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('size'), required: true } }
24
23
 
25
- field :pages, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('pages') } }
24
+ field :pages, ::Integer, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('pages'), required: true } }
26
25
 
27
- sig { params(items: T::Array[Models::Shared::TransactionRead], total: ::Integer, page: ::Integer, size: ::Integer, pages: T.nilable(::Integer)).void }
28
- def initialize(items:, total:, page:, size:, pages: nil)
26
+ sig { params(items: T::Array[Models::Shared::TransactionRead], total: ::Integer, page: ::Integer, size: ::Integer, pages: ::Integer).void }
27
+ def initialize(items:, total:, page:, size:, pages:)
29
28
  @items = items
30
29
  @total = total
31
30
  @page = page
@@ -7,11 +7,8 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class PeriodModelEnum < T::Enum
13
-
14
-
15
12
  enums do
16
13
  CURRENT_OR_PREVIOUS = new('CURRENT_OR_PREVIOUS')
17
14
  PRECEDING_YEAR_FROM_OCTOBER = new('PRECEDING_YEAR_FROM_OCTOBER')
@@ -7,12 +7,9 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
  # ProcessingStatusEnum - Our transaction state, used to determine when/if a transaction needs additional
12
11
  # processing.
13
12
  class ProcessingStatusEnum < T::Enum
14
-
15
-
16
13
  enums do
17
14
  NEW = new('NEW')
18
15
  UPDATED = new('UPDATED')
@@ -27,6 +24,7 @@ module KintsugiSDK
27
24
  PENDING = new('PENDING')
28
25
  ARCHIVED = new('ARCHIVED')
29
26
  NEEDS_REFETCH = new('NEEDS_REFETCH')
27
+ EXCLUDED_IN_CALCULATION = new('EXCLUDED_IN_CALCULATION')
30
28
  end
31
29
  end
32
30
  end