kintsugi_sdk 5.5.14 → 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 (167) 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 +6 -3
  26. data/lib/kintsugi_sdk/models/ops/get_nexus_for_org_v1_nexus_get_request.rbi +2 -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 +4 -5
  64. data/lib/kintsugi_sdk/models/shared/customerread.rb +4 -5
  65. data/lib/kintsugi_sdk/models/shared/customertaxregistrationread.rb +2 -3
  66. data/lib/kintsugi_sdk/models/shared/customertaxtypeenum.rb +0 -3
  67. data/lib/kintsugi_sdk/models/shared/customerupdate.rb +4 -5
  68. data/lib/kintsugi_sdk/models/shared/discountbuilder.rb +2 -3
  69. data/lib/kintsugi_sdk/models/shared/exemption.rb +5 -6
  70. data/lib/kintsugi_sdk/models/shared/exemptioncreate.rb +4 -5
  71. data/lib/kintsugi_sdk/models/shared/exemptionrequired.rb +6 -5
  72. data/lib/kintsugi_sdk/models/shared/exemptionstatus.rb +0 -3
  73. data/lib/kintsugi_sdk/models/shared/exemptiontype.rb +0 -3
  74. data/lib/kintsugi_sdk/models/shared/fastapi_pagination_default_page_exemptionread_2.rb +3 -4
  75. data/lib/kintsugi_sdk/models/shared/file.rb +0 -1
  76. data/lib/kintsugi_sdk/models/shared/findthresholdcrossingtransactionstate.rb +56 -0
  77. data/lib/kintsugi_sdk/models/shared/findthresholdcrossingtransactionstate.rbi +25 -0
  78. data/lib/kintsugi_sdk/models/shared/jurisdictiontype.rb +0 -3
  79. data/lib/kintsugi_sdk/models/shared/nexusresponse.rb +41 -22
  80. data/lib/kintsugi_sdk/models/shared/nexusresponse.rbi +10 -0
  81. data/lib/kintsugi_sdk/models/shared/nexusstateenum.rb +0 -3
  82. data/lib/kintsugi_sdk/models/shared/nexusstatusenum.rb +0 -3
  83. data/lib/kintsugi_sdk/models/shared/nexustypeenum.rb +0 -3
  84. data/lib/kintsugi_sdk/models/shared/page_customerread_.rb +3 -4
  85. data/lib/kintsugi_sdk/models/shared/page_nexusresponse_.rb +3 -4
  86. data/lib/kintsugi_sdk/models/shared/page_transactionestimateresponse_.rb +3 -4
  87. data/lib/kintsugi_sdk/models/shared/page_transactionread_.rb +3 -4
  88. data/lib/kintsugi_sdk/models/shared/periodmodelenum.rb +0 -3
  89. data/lib/kintsugi_sdk/models/shared/processingstatusenum.rb +1 -3
  90. data/lib/kintsugi_sdk/models/shared/productread.rb +12 -9
  91. data/lib/kintsugi_sdk/models/shared/productstatusenum.rb +0 -3
  92. data/lib/kintsugi_sdk/models/shared/productupdate.rb +10 -7
  93. data/lib/kintsugi_sdk/models/shared/registration.rb +0 -1
  94. data/lib/kintsugi_sdk/models/shared/registrationsregimeenum.rb +0 -3
  95. data/lib/kintsugi_sdk/models/shared/relatedentitytype.rb +0 -3
  96. data/lib/kintsugi_sdk/models/shared/salesortransactionsenum.rb +0 -3
  97. data/lib/kintsugi_sdk/models/shared/security.rb +0 -1
  98. data/lib/kintsugi_sdk/models/shared/sourceenum.rb +6 -3
  99. data/lib/kintsugi_sdk/models/shared/statusenum.rb +0 -3
  100. data/lib/kintsugi_sdk/models/shared/taxexemptionenum.rb +1 -3
  101. data/lib/kintsugi_sdk/models/shared/taxitembuilder.rb +4 -5
  102. data/lib/kintsugi_sdk/models/shared/taxitemestimate.rb +1 -2
  103. data/lib/kintsugi_sdk/models/shared/taxitemread.rb +4 -5
  104. data/lib/kintsugi_sdk/models/shared/taxitemreturnreasonenum.rb +2 -3
  105. data/lib/kintsugi_sdk/models/shared/taxitemtypeenum.rb +0 -3
  106. data/lib/kintsugi_sdk/models/shared/taxliabilitysourceenum.rb +0 -3
  107. data/lib/kintsugi_sdk/models/shared/transactionaddressbuilder.rb +3 -4
  108. data/lib/kintsugi_sdk/models/shared/transactionaddresspublic.rb +2 -3
  109. data/lib/kintsugi_sdk/models/shared/transactionaddressread_output.rb +3 -4
  110. data/lib/kintsugi_sdk/models/shared/transactioncreate.rb +23 -19
  111. data/lib/kintsugi_sdk/models/shared/transactioncreate.rbi +2 -2
  112. data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rb +6 -11
  113. data/lib/kintsugi_sdk/models/shared/transactionestimatepublicrequest.rbi +0 -2
  114. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rb +7 -12
  115. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse.rbi +0 -2
  116. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_addresses.rb +3 -4
  117. data/lib/kintsugi_sdk/models/shared/transactionestimateresponse_type.rb +0 -3
  118. data/lib/kintsugi_sdk/models/shared/transactionexemptstatusenum.rb +2 -3
  119. data/lib/kintsugi_sdk/models/shared/transactionitembuilder.rb +8 -7
  120. data/lib/kintsugi_sdk/models/shared/transactionitemcreateupdate.rb +8 -7
  121. data/lib/kintsugi_sdk/models/shared/transactionitemestimatebase.rb +2 -3
  122. data/lib/kintsugi_sdk/models/shared/transactionitemestimateresponse.rb +3 -4
  123. data/lib/kintsugi_sdk/models/shared/transactionitemread.rb +7 -6
  124. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rb +21 -17
  125. data/lib/kintsugi_sdk/models/shared/transactionpublicrequest.rbi +2 -2
  126. data/lib/kintsugi_sdk/models/shared/transactionread.rb +24 -20
  127. data/lib/kintsugi_sdk/models/shared/transactionread.rbi +2 -2
  128. data/lib/kintsugi_sdk/models/shared/transactionrefundstatus.rb +0 -3
  129. data/lib/kintsugi_sdk/models/shared/transactionstatusenum.rb +0 -3
  130. data/lib/kintsugi_sdk/models/shared/transactiontypeenum.rb +0 -3
  131. data/lib/kintsugi_sdk/models/shared/transactionupdate.rb +20 -16
  132. data/lib/kintsugi_sdk/models/shared/transactionupdate.rbi +2 -2
  133. data/lib/kintsugi_sdk/models/shared/treatmentenum.rb +0 -3
  134. data/lib/kintsugi_sdk/models/shared/type.rb +0 -3
  135. data/lib/kintsugi_sdk/models/shared/validationaddress.rb +0 -1
  136. data/lib/kintsugi_sdk/models/shared/validationerror.rb +0 -1
  137. data/lib/kintsugi_sdk/models/shared.rb +1 -7
  138. data/lib/kintsugi_sdk/nexus.rb +1 -1
  139. data/lib/kintsugi_sdk/openapisdk.rb +13 -15
  140. data/lib/kintsugi_sdk/products.rb +6 -414
  141. data/lib/kintsugi_sdk/sdk_hooks/hooks.rb +0 -1
  142. data/lib/kintsugi_sdk/sdkconfiguration.rb +5 -10
  143. data/lib/kintsugi_sdk/taxestimation.rb +4 -4
  144. data/lib/kintsugi_sdk/transactions.rb +8 -8
  145. data/lib/kintsugi_sdk/utils/forms.rb +1 -1
  146. data/lib/kintsugi_sdk/utils/query_params.rb +4 -2
  147. data/lib/kintsugi_sdk/utils/request_bodies.rb +11 -6
  148. data/lib/kintsugi_sdk/utils/security.rb +10 -0
  149. data/lib/kintsugi_sdk/utils/url.rb +11 -5
  150. data/lib/kintsugi_sdk/utils/utils.rb +45 -3
  151. metadata +73 -41
  152. data/lib/kintsugi_sdk/models/ops/get_products_v1_products_get_request.rb +0 -61
  153. data/lib/kintsugi_sdk/models/ops/get_products_v1_products_get_request.rbi +0 -27
  154. data/lib/kintsugi_sdk/models/shared/page_productread_.rb +0 -49
  155. data/lib/kintsugi_sdk/models/shared/page_productread_.rbi +0 -21
  156. data/lib/kintsugi_sdk/models/shared/productcategories.rb +0 -38
  157. data/lib/kintsugi_sdk/models/shared/productcategories.rbi +0 -15
  158. data/lib/kintsugi_sdk/models/shared/productcategoryenum.rb +0 -25
  159. data/lib/kintsugi_sdk/models/shared/productcategoryenum.rbi +0 -11
  160. data/lib/kintsugi_sdk/models/shared/productcodeenum.rb +0 -82
  161. data/lib/kintsugi_sdk/models/shared/productcodeenum.rbi +0 -11
  162. data/lib/kintsugi_sdk/models/shared/productcreatemanual.rb +0 -61
  163. data/lib/kintsugi_sdk/models/shared/productcreatemanual.rbi +0 -27
  164. data/lib/kintsugi_sdk/models/shared/productsubcategory.rb +0 -46
  165. data/lib/kintsugi_sdk/models/shared/productsubcategory.rbi +0 -19
  166. data/lib/kintsugi_sdk/models/shared/productsubcategoryenum.rb +0 -83
  167. data/lib/kintsugi_sdk/models/shared/productsubcategoryenum.rbi +0 -11
@@ -7,11 +7,8 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class CountryCodeEnum < T::Enum
13
-
14
-
15
12
  enums do
16
13
  AF = new('AF')
17
14
  AX = new('AX')
@@ -123,6 +120,7 @@ module KintsugiSDK
123
120
  IM = new('IM')
124
121
  IL = new('IL')
125
122
  IT = new('IT')
123
+ CI = new('CI')
126
124
  JM = new('JM')
127
125
  JP = new('JP')
128
126
  JE = new('JE')
@@ -7,11 +7,8 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class CurrencyEnum < T::Enum
13
-
14
-
15
12
  enums do
16
13
  AED = new('AED')
17
14
  AFN = new('AFN')
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class CustomerBase
13
12
  extend T::Sig
@@ -28,7 +27,7 @@ module KintsugiSDK
28
27
  # ZIP or Postal code of the customer.
29
28
  field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
30
29
 
31
- field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
30
+ field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
32
31
  # Complete address string of the customer, which can be used as an alternative to individual fields.
33
32
  field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
34
33
  # Name of the customer.
@@ -36,13 +35,13 @@ module KintsugiSDK
36
35
  # A unique identifier for the customer.
37
36
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
38
37
 
39
- field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
38
+ field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
40
39
  # Email address of the customer.
41
40
  field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('email') } }
42
41
 
43
- field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
42
+ field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
44
43
 
45
- field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
44
+ field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
46
45
 
47
46
  field :registration_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration_number') } }
48
47
  # Unique identifier of the connection related to the customer.
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class CustomerBaseBase
13
12
  extend T::Sig
@@ -30,7 +29,7 @@ module KintsugiSDK
30
29
  # ZIP or Postal code of the customer.
31
30
  field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
32
31
 
33
- field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
32
+ field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
34
33
  # Complete address string of the customer, which can be used as an alternative to individual fields.
35
34
  field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
36
35
  # Name of the customer.
@@ -38,13 +37,13 @@ module KintsugiSDK
38
37
  # A unique identifier for the customer.
39
38
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
40
39
 
41
- field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
40
+ field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
42
41
  # Email address of the customer.
43
42
  field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('email') } }
44
43
 
45
- field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
44
+ field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
46
45
 
47
- field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
46
+ field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
48
47
 
49
48
  field :registration_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration_number') } }
50
49
  # Unique identifier of the connection related to the customer.
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class CustomerBasePublic
13
12
  extend T::Sig
@@ -28,7 +27,7 @@ module KintsugiSDK
28
27
  # ZIP or Postal code of the customer.
29
28
  field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
30
29
 
31
- field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
30
+ field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
32
31
  # Complete address string of the customer, which can be used as an alternative to individual fields.
33
32
  field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
34
33
  # Name of the customer.
@@ -36,13 +35,13 @@ module KintsugiSDK
36
35
  # A unique identifier for the customer.
37
36
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
38
37
 
39
- field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
38
+ field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
40
39
  # Email address of the customer.
41
40
  field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('email') } }
42
41
 
43
- field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
42
+ field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
44
43
 
45
- field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
44
+ field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
46
45
 
47
46
  field :registration_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration_number') } }
48
47
  # Unique identifier of the connection related to the customer.
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class CustomerCreate
13
12
  extend T::Sig
@@ -28,7 +27,7 @@ module KintsugiSDK
28
27
  # ZIP or Postal code of the customer.
29
28
  field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
30
29
 
31
- field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
30
+ field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
32
31
  # Complete address string of the customer, which can be used as an alternative to individual fields.
33
32
  field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
34
33
  # Name of the customer.
@@ -36,15 +35,15 @@ module KintsugiSDK
36
35
  # External identifier associated with the customer.
37
36
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
38
37
 
39
- field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
38
+ field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
40
39
  # Customer's email address
41
40
  field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('email') } }
42
41
 
43
- field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
42
+ field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
44
43
  # Identifier for the connection source, if applicable.
45
44
  field :connection_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('connection_id') } }
46
45
 
47
- field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
46
+ field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
48
47
  # Registration number of the customer.
49
48
  field :registration_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration_number') } }
50
49
  # External friendly identifier associated with the customer. We need it for netsuite.
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class CustomerRead
13
12
  extend T::Sig
@@ -32,7 +31,7 @@ module KintsugiSDK
32
31
  # ZIP or Postal code of the customer.
33
32
  field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
34
33
 
35
- field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
34
+ field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
36
35
  # Complete address string of the customer, which can be used as an alternative to individual fields.
37
36
  field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
38
37
  # Name of the customer.
@@ -40,15 +39,15 @@ module KintsugiSDK
40
39
  # External identifier associated with the customer.
41
40
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
42
41
 
43
- field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
42
+ field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
44
43
  # Customer's email address
45
44
  field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('email') } }
46
45
 
47
- field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
46
+ field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
48
47
  # Identifier for the connection source, if applicable.
49
48
  field :connection_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('connection_id') } }
50
49
 
51
- field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
50
+ field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
52
51
  # Registration number of the customer.
53
52
  field :registration_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('registration_number') } }
54
53
  # External friendly identifier associated with the customer. We need it for netsuite.
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class CustomerTaxRegistrationRead
13
12
  extend T::Sig
@@ -18,9 +17,9 @@ module KintsugiSDK
18
17
 
19
18
  field :customer_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer_id'), required: true } }
20
19
 
21
- 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) } }
20
+ 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) } }
22
21
  # Enum for customer tax registration types.
23
- field :tax_type, Models::Shared::CustomerTaxTypeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::CustomerTaxTypeEnum, false) } }
22
+ field :tax_type, Models::Shared::CustomerTaxTypeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_type'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CustomerTaxTypeEnum, false) } }
24
23
 
25
24
  field :tax_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_id'), required: true } }
26
25
 
@@ -7,11 +7,8 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
  # CustomerTaxTypeEnum - Enum for customer tax registration types.
12
11
  class CustomerTaxTypeEnum < T::Enum
13
-
14
-
15
12
  enums do
16
13
  GST = new('gst')
17
14
  HST = new('hst')
@@ -7,7 +7,6 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class CustomerUpdate
13
12
  extend T::Sig
@@ -28,19 +27,19 @@ module KintsugiSDK
28
27
  # ZIP or Postal code of the customer.
29
28
  field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
30
29
 
31
- field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
30
+ field :country, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
32
31
  # Complete address string of the customer, which can be used as an alternative to individual fields.
33
32
  field :full_address, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('full_address') } }
34
33
  # Name of the customer.
35
34
  field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('name') } }
36
35
 
37
- field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
36
+ field :status, Crystalline::Nilable.new(Models::Shared::StatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::StatusEnum, true) } }
38
37
  # Email address of the customer.
39
38
  field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('email') } }
40
39
 
41
- field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
40
+ field :source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
42
41
 
43
- field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
42
+ field :address_status, Crystalline::Nilable.new(Models::Shared::AddressStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('address_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::AddressStatus, true) } }
44
43
  # External identifier associated with the customer
45
44
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
46
45
  # External friendly identifier associated with the customer. We need it for netsuite.
@@ -7,21 +7,20 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class DiscountBuilder
13
12
  extend T::Sig
14
13
  include Crystalline::MetadataFields
15
14
 
16
15
 
17
- field :applied_to, Models::Shared::AppliedTo, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('applied_to'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::AppliedTo, false) } }
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) } }
18
17
 
19
18
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id') } }
20
19
 
21
20
  field :discount_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('discount_amount') } }
22
21
 
23
22
  sig { params(applied_to: Models::Shared::AppliedTo, external_id: T.nilable(::String), discount_amount: T.nilable(::Float)).void }
24
- def initialize(applied_to:, external_id: nil, discount_amount: 0.00)
23
+ def initialize(applied_to:, external_id: nil, discount_amount: 0.0)
25
24
  @applied_to = applied_to
26
25
  @external_id = external_id
27
26
  @discount_amount = discount_amount
@@ -7,26 +7,25 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class Exemption
13
12
  extend T::Sig
14
13
  include Crystalline::MetadataFields
15
14
 
16
15
 
17
- 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) } }
16
+ 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) } }
18
17
  # Start date for the exemption validity period (YYYY-MM-DD format)
19
- field :start_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('start_date'), required: true, 'decoder': Utils.date_from_iso_format(false) } }
18
+ field :start_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('start_date'), required: true, 'decoder': ::KintsugiSDK::Utils.date_from_iso_format(false) } }
20
19
  # Unique identifier for the exemption
21
20
  field :id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('id') } }
22
21
  # Timestamp when transaction was created in Kintsugi.
23
- field :created_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
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) } }
24
23
  # Timestamp when transaction was last updated.
25
24
  field :updated_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('updated_at') } }
26
25
  # The jurisdiction identifier for the exemption
27
26
  field :jurisdiction, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction') } }
28
27
 
29
- field :country_code, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country_code'), 'decoder': Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
28
+ 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) } }
30
29
  # End date for the exemption validity period (YYYY-MM-DD format)
31
30
  field :end_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('end_date') } }
32
31
  # Unique identifier for the customer associated with the exemption
@@ -40,7 +39,7 @@ module KintsugiSDK
40
39
  # Sales tax ID for the exemption
41
40
  field :sales_tax_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('sales_tax_id') } }
42
41
 
43
- field :status, Crystalline::Nilable.new(Models::Shared::ExemptionStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::ExemptionStatus, true) } }
42
+ 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) } }
44
43
 
45
44
  field :organization_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('organization_id') } }
46
45
  # Indicates whether the exemption is for a reseller
@@ -7,16 +7,15 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class ExemptionCreate
13
12
  extend T::Sig
14
13
  include Crystalline::MetadataFields
15
14
 
16
15
 
17
- 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) } }
16
+ 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) } }
18
17
  # Start date for the exemption validity period (YYYY-MM-DD format)
19
- field :start_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('start_date'), required: true, 'decoder': Utils.date_from_iso_format(false) } }
18
+ field :start_date, ::Date, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('start_date'), required: true, 'decoder': ::KintsugiSDK::Utils.date_from_iso_format(false) } }
20
19
  # Unique identifier for the customer associated with the exemption
21
20
  field :customer_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer_id'), required: true } }
22
21
  # Federal Employer Identification Number
@@ -24,11 +23,11 @@ module KintsugiSDK
24
23
  # Sales tax ID for the exemption
25
24
  field :sales_tax_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('sales_tax_id'), required: true } }
26
25
 
27
- 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) } }
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) } }
28
27
  # The jurisdiction identifier for the exemption
29
28
  field :jurisdiction, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('jurisdiction') } }
30
29
 
31
- field :country_code, Crystalline::Nilable.new(Models::Shared::CountryCodeEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('country_code'), 'decoder': Utils.enum_from_string(Models::Shared::CountryCodeEnum, true) } }
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) } }
32
31
  # End date for the exemption validity period (YYYY-MM-DD format)
33
32
  field :end_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('end_date') } }
34
33
  # Unique identifier for the transaction, if applicable
@@ -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')