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,16 +7,17 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class TransactionItemBuilder
13
12
  extend T::Sig
14
13
  include Crystalline::MetadataFields
15
14
 
16
- # Organization identifier.
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
  # Date/time of item.
19
- field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
20
+ field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
20
21
  # External product identifier.
21
22
  field :external_product_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_product_id'), required: true } }
22
23
  # External item identifier.
@@ -32,9 +33,9 @@ module KintsugiSDK
32
33
  # Product description
33
34
  field :product_description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_description') } }
34
35
 
35
- field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
36
+ field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
36
37
 
37
- field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
38
+ field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
38
39
  # Converted item amount.
39
40
  field :converted_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_amount') } }
40
41
  # Converted taxable amount.
@@ -48,7 +49,7 @@ module KintsugiSDK
48
49
  # Converted subtotal amount.
49
50
  field :converted_subtotal, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_subtotal') } }
50
51
  # This enum is used to determine if a transaction is exempt from tax.
51
- field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
52
+ field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
52
53
 
53
54
  field :tax_items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TaxItemBuilder)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_items') } }
54
55
 
@@ -71,7 +72,7 @@ module KintsugiSDK
71
72
  field :exempt, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt') } }
72
73
 
73
74
  sig { params(organization_id: ::String, date: ::DateTime, external_product_id: ::String, external_id: T.nilable(::String), description: T.nilable(::String), product: T.nilable(::String), product_id: T.nilable(::String), product_name: T.nilable(::String), product_description: T.nilable(::String), original_currency: T.nilable(Models::Shared::CurrencyEnum), destination_currency: T.nilable(Models::Shared::CurrencyEnum), converted_amount: T.nilable(::Float), converted_taxable_amount: T.nilable(::Float), converted_tax_amount_imported: T.nilable(::Float), converted_tax_amount_calculated: T.nilable(::Float), converted_total_discount: T.nilable(::Float), converted_subtotal: T.nilable(::Float), tax_exemption: T.nilable(Models::Shared::TaxExemptionEnum), tax_items: T.nilable(T::Array[Models::Shared::TaxItemBuilder]), discount_builder: T.nilable(Models::Shared::DiscountBuilder), quantity: T.nilable(::Float), amount: T.nilable(::Float), tax_amount_imported: T.nilable(::Float), tax_rate_imported: T.nilable(::Float), tax_amount_calculated: T.nilable(::Float), tax_rate_calculated: T.nilable(::Float), taxable_amount: T.nilable(::Float), exempt: T.nilable(T::Boolean)).void }
74
- def initialize(organization_id:, date:, external_product_id:, external_id: nil, description: nil, product: nil, product_id: nil, product_name: nil, product_description: nil, original_currency: nil, destination_currency: nil, converted_amount: nil, converted_taxable_amount: nil, converted_tax_amount_imported: nil, converted_tax_amount_calculated: nil, converted_total_discount: nil, converted_subtotal: nil, tax_exemption: nil, tax_items: nil, discount_builder: nil, quantity: 1.0, amount: 0.00, tax_amount_imported: 0.00, tax_rate_imported: 0.00, tax_amount_calculated: 0.00, tax_rate_calculated: 0.00, taxable_amount: 0.00, exempt: false)
75
+ def initialize(organization_id:, date:, external_product_id:, external_id: nil, description: nil, product: nil, product_id: nil, product_name: nil, product_description: nil, original_currency: nil, destination_currency: nil, converted_amount: nil, converted_taxable_amount: nil, converted_tax_amount_imported: nil, converted_tax_amount_calculated: nil, converted_total_discount: nil, converted_subtotal: nil, tax_exemption: nil, tax_items: nil, discount_builder: nil, quantity: 1.0, amount: 0.0, tax_amount_imported: 0.0, tax_rate_imported: 0.0, tax_amount_calculated: 0.0, tax_rate_calculated: 0.0, taxable_amount: 0.0, exempt: false)
75
76
  @organization_id = organization_id
76
77
  @date = date
77
78
  @external_product_id = external_product_id
@@ -7,16 +7,17 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class TransactionItemCreateUpdate
13
12
  extend T::Sig
14
13
  include Crystalline::MetadataFields
15
14
 
16
- # Organization identifier.
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
  # Date/time of item.
19
- field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
20
+ field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
20
21
  # External product identifier.
21
22
  field :external_product_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_product_id'), required: true } }
22
23
  # External item identifier.
@@ -32,9 +33,9 @@ module KintsugiSDK
32
33
  # Product description
33
34
  field :product_description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_description') } }
34
35
 
35
- field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
36
+ field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
36
37
 
37
- field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
38
+ field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
38
39
  # Converted item amount.
39
40
  field :converted_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_amount') } }
40
41
  # Converted taxable amount.
@@ -48,7 +49,7 @@ module KintsugiSDK
48
49
  # Converted subtotal amount.
49
50
  field :converted_subtotal, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_subtotal') } }
50
51
  # This enum is used to determine if a transaction is exempt from tax.
51
- field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
52
+ field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
52
53
 
53
54
  field :tax_items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TaxItemBuilder)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_items') } }
54
55
 
@@ -71,7 +72,7 @@ module KintsugiSDK
71
72
  field :exempt, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt') } }
72
73
 
73
74
  sig { params(organization_id: ::String, date: ::DateTime, external_product_id: ::String, external_id: T.nilable(::String), description: T.nilable(::String), product: T.nilable(::String), product_id: T.nilable(::String), product_name: T.nilable(::String), product_description: T.nilable(::String), original_currency: T.nilable(Models::Shared::CurrencyEnum), destination_currency: T.nilable(Models::Shared::CurrencyEnum), converted_amount: T.nilable(::Float), converted_taxable_amount: T.nilable(::Float), converted_tax_amount_imported: T.nilable(::Float), converted_tax_amount_calculated: T.nilable(::Float), converted_total_discount: T.nilable(::Float), converted_subtotal: T.nilable(::Float), tax_exemption: T.nilable(Models::Shared::TaxExemptionEnum), tax_items: T.nilable(T::Array[Models::Shared::TaxItemBuilder]), discount_builder: T.nilable(Models::Shared::DiscountBuilder), quantity: T.nilable(::Float), amount: T.nilable(::Float), tax_amount_imported: T.nilable(::Float), tax_rate_imported: T.nilable(::Float), tax_amount_calculated: T.nilable(::Float), tax_rate_calculated: T.nilable(::Float), taxable_amount: T.nilable(::Float), exempt: T.nilable(T::Boolean)).void }
74
- def initialize(organization_id:, date:, external_product_id:, external_id: nil, description: nil, product: nil, product_id: nil, product_name: nil, product_description: nil, original_currency: nil, destination_currency: nil, converted_amount: nil, converted_taxable_amount: nil, converted_tax_amount_imported: nil, converted_tax_amount_calculated: nil, converted_total_discount: nil, converted_subtotal: nil, tax_exemption: nil, tax_items: nil, discount_builder: nil, quantity: 1.0, amount: 0.00, tax_amount_imported: 0.00, tax_rate_imported: 0.00, tax_amount_calculated: 0.00, tax_rate_calculated: 0.00, taxable_amount: 0.00, exempt: false)
75
+ def initialize(organization_id:, date:, external_product_id:, external_id: nil, description: nil, product: nil, product_id: nil, product_name: nil, product_description: nil, original_currency: nil, destination_currency: nil, converted_amount: nil, converted_taxable_amount: nil, converted_tax_amount_imported: nil, converted_tax_amount_calculated: nil, converted_total_discount: nil, converted_subtotal: nil, tax_exemption: nil, tax_items: nil, discount_builder: nil, quantity: 1.0, amount: 0.0, tax_amount_imported: 0.0, tax_rate_imported: 0.0, tax_amount_calculated: 0.0, tax_rate_calculated: 0.0, taxable_amount: 0.0, exempt: false)
75
76
  @organization_id = organization_id
76
77
  @date = date
77
78
  @external_product_id = external_product_id
@@ -7,14 +7,13 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class TransactionItemEstimateBase
13
12
  extend T::Sig
14
13
  include Crystalline::MetadataFields
15
14
 
16
15
  # The date of the transaction item.
17
- field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
16
+ field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
18
17
  # The total amount of the item.
19
18
  field :amount, ::Float, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('amount'), required: true } }
20
19
  # A unique identifier for the transaction item.
@@ -29,7 +28,7 @@ module KintsugiSDK
29
28
  # Description of the product. Used if creating a new product.
30
29
  field :product_description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_description') } }
31
30
 
32
- field :product_source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
31
+ field :product_source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
33
32
  # Subcategory of the product. Required if product_category is used
34
33
  # in place of external_product_id.
35
34
  field :product_subcategory, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_subcategory') } }
@@ -7,14 +7,13 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class TransactionItemEstimateResponse
13
12
  extend T::Sig
14
13
  include Crystalline::MetadataFields
15
14
 
16
15
  # The date of the transaction item.
17
- field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
16
+ field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
18
17
  # The total amount of the item.
19
18
  field :amount, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('amount'), required: true } }
20
19
  # A unique identifier for the transaction item.
@@ -29,7 +28,7 @@ module KintsugiSDK
29
28
  # Description of the product. Used if creating a new product.
30
29
  field :product_description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_description') } }
31
30
 
32
- field :product_source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_source'), 'decoder': Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
31
+ field :product_source, Crystalline::Nilable.new(Models::Shared::SourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::SourceEnum, true) } }
33
32
  # Subcategory of the product. Required if product_category is used
34
33
  # in place of external_product_id.
35
34
  field :product_subcategory, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_subcategory') } }
@@ -37,7 +36,7 @@ module KintsugiSDK
37
36
  # in place of external_product_id.
38
37
  field :product_category, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_category') } }
39
38
  # This enum is used to determine if a transaction is exempt from tax.
40
- field :exempt_reason, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt_reason'), 'decoder': Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
39
+ field :exempt_reason, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt_reason'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
41
40
  # List of tax items applied to the transaction item.
42
41
  field :tax_items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TaxItemEstimate)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_items') } }
43
42
  # Defaults to 1.0. The quantity of the item.
@@ -7,16 +7,17 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class TransactionItemRead
13
12
  extend T::Sig
14
13
  include Crystalline::MetadataFields
15
14
 
16
- # Organization identifier.
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
  # Date/time of item.
19
- field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
20
+ field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
20
21
  # External product identifier.
21
22
  field :external_product_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_product_id'), required: true } }
22
23
  # The unique transaction item identifier.
@@ -36,9 +37,9 @@ module KintsugiSDK
36
37
  # Product description
37
38
  field :product_description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('product_description') } }
38
39
 
39
- field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
40
+ field :original_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('original_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
40
41
 
41
- field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
42
+ field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
42
43
  # Converted item amount.
43
44
  field :converted_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_amount') } }
44
45
  # Converted taxable amount.
@@ -52,7 +53,7 @@ module KintsugiSDK
52
53
  # Converted subtotal amount.
53
54
  field :converted_subtotal, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_subtotal') } }
54
55
  # This enum is used to determine if a transaction is exempt from tax.
55
- field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
56
+ field :tax_exemption, Crystalline::Nilable.new(Models::Shared::TaxExemptionEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_exemption'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxExemptionEnum, true) } }
56
57
  # Total discount amount applied to this transaction item.
57
58
  field :total_discount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('total_discount') } }
58
59
  # Subtotal amount before any discount is applied.
@@ -7,18 +7,19 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class TransactionPublicRequest
13
12
  extend T::Sig
14
13
  include Crystalline::MetadataFields
15
14
 
16
- # Unique identifier of the organization.
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
  # External identifier of the transaction.
19
20
  field :external_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id'), required: true } }
20
21
  # Transaction date and time
21
- field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
22
+ field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
22
23
 
23
24
  field :addresses, Crystalline::Array.new(Models::Shared::TransactionAddressPublic), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('addresses'), required: true } }
24
25
 
@@ -26,28 +27,27 @@ module KintsugiSDK
26
27
 
27
28
  field :customer, Models::Shared::CustomerBaseBase, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer'), required: true } }
28
29
 
29
- field :type, Models::Shared::TransactionTypeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::TransactionTypeEnum, false) } }
30
+ field :type, Models::Shared::TransactionTypeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionTypeEnum, false) } }
30
31
 
31
32
  field :requires_exemption, Crystalline::Nilable.new(Models::Shared::ExemptionRequired), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('requires_exemption') } }
32
33
  # Transaction date in the shop's local timezone
33
34
  field :shop_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('shop_date') } }
34
35
  # Timezone of the shop
35
36
  field :shop_date_tz, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('shop_date_tz') } }
36
-
37
- field :status, Crystalline::Nilable.new(Models::Shared::TransactionStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::TransactionStatusEnum, true) } }
38
37
  # Description of the transaction.
39
38
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('description') } }
40
39
  # Shopify has 2 order statuses for refund case: refunded and partially_refunded
41
40
  # If the given order has different status from these 2, we will set the
42
41
  # transaction's refund_status to PARTIALLY_REFUNDED by default.
43
- field :refund_status, Crystalline::Nilable.new(Models::Shared::TransactionRefundStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('refund_status'), 'decoder': Utils.enum_from_string(Models::Shared::TransactionRefundStatus, true) } }
42
+ field :refund_status, Crystalline::Nilable.new(Models::Shared::TransactionRefundStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('refund_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionRefundStatus, true) } }
44
43
  # Unique identifier of the customer.
45
44
  field :customer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer_id') } }
46
45
  # Based on transaction item exempt status.
47
46
  # NOT EXEMPT: None of the items are NOT EXEMPT
48
47
  # PARTIALLY EXEMPT: At least some of the items are NOT EXEMPT
49
48
  # FULLY_EXEMPT: All items sold in the transaction are EXEMPT
50
- field :exempt, Crystalline::Nilable.new(Models::Shared::TransactionExemptStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt'), 'decoder': Utils.enum_from_string(Models::Shared::TransactionExemptStatusEnum, true) } }
49
+ # ZERO_RATE_NOT_EXEMPT: All items sold in the transaction are zero-rated
50
+ field :exempt, Crystalline::Nilable.new(Models::Shared::TransactionExemptStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionExemptStatusEnum, true) } }
51
51
  # List of exemptions applied (if any).
52
52
  field :exemptions, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::Exemption)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exemptions') } }
53
53
  # Related transaction identifier.
@@ -59,11 +59,11 @@ module KintsugiSDK
59
59
  # Friendly identifier of the original item.
60
60
  field :external_friendly_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_friendly_id') } }
61
61
 
62
- field :tax_liability_source, Crystalline::Nilable.new(Models::Shared::TaxLiabilitySourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_liability_source'), 'decoder': Utils.enum_from_string(Models::Shared::TaxLiabilitySourceEnum, true) } }
62
+ field :tax_liability_source, Crystalline::Nilable.new(Models::Shared::TaxLiabilitySourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_liability_source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxLiabilitySourceEnum, true) } }
63
63
 
64
- 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) } }
64
+ 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) } }
65
65
 
66
- 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) } }
66
+ 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) } }
67
67
  # Connection Identifier
68
68
  field :connection_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('connection_id') } }
69
69
  # Filing identifier.
@@ -75,11 +75,15 @@ module KintsugiSDK
75
75
  # State of the transaction address.
76
76
  field :state, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('state') } }
77
77
 
78
- 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) } }
78
+ 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) } }
79
79
  # Postal code of the transaction.
80
80
  field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
81
- # Tax ID associated with the transaction
81
+ # Tax ID associated with the transaction. DEPRECATED: This field is only populated for QuickBooks integrations and will be removed in a future version.
82
+ #
83
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
82
84
  field :tax_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_id') } }
85
+
86
+ field :status, Crystalline::Nilable.new(Models::Shared::TransactionStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionStatusEnum, true) } }
83
87
  # Total amount of the transaction.
84
88
  field :total_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('total_amount') } }
85
89
  # Indicates if transaction is marketplace-based.
@@ -99,8 +103,8 @@ module KintsugiSDK
99
103
  # Transaction lock status.
100
104
  field :locked, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('locked') } }
101
105
 
102
- sig { params(organization_id: ::String, external_id: ::String, date: ::DateTime, addresses: T::Array[Models::Shared::TransactionAddressPublic], transaction_items: T::Array[Models::Shared::TransactionItemBuilder], customer: Models::Shared::CustomerBaseBase, type: Models::Shared::TransactionTypeEnum, requires_exemption: T.nilable(Models::Shared::ExemptionRequired), shop_date: T.nilable(::String), shop_date_tz: T.nilable(::String), status: T.nilable(Models::Shared::TransactionStatusEnum), description: T.nilable(::String), refund_status: T.nilable(Models::Shared::TransactionRefundStatus), customer_id: T.nilable(::String), exempt: T.nilable(Models::Shared::TransactionExemptStatusEnum), exemptions: T.nilable(T::Array[Models::Shared::Exemption]), related_to: T.nilable(::String), secondary_external_id: T.nilable(::String), secondary_source: T.nilable(::String), external_friendly_id: T.nilable(::String), tax_liability_source: T.nilable(Models::Shared::TaxLiabilitySourceEnum), currency: T.nilable(Models::Shared::CurrencyEnum), source: T.nilable(Models::Shared::SourceEnum), connection_id: T.nilable(::String), filing_id: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), state: T.nilable(::String), country: T.nilable(Models::Shared::CountryCodeEnum), postal_code: T.nilable(::String), tax_id: T.nilable(::String), total_amount: T.nilable(::Float), marketplace: T.nilable(T::Boolean), total_tax_amount_imported: T.nilable(::Float), tax_rate_imported: T.nilable(::Float), total_tax_amount_calculated: T.nilable(::Float), tax_rate_calculated: T.nilable(::Float), total_tax_liability_amount: T.nilable(::Float), taxable_amount: T.nilable(::Float), locked: T.nilable(T::Boolean)).void }
103
- def initialize(organization_id:, external_id:, date:, addresses:, transaction_items:, customer:, type:, requires_exemption: nil, shop_date: nil, shop_date_tz: nil, status: nil, description: nil, refund_status: nil, customer_id: nil, exempt: nil, exemptions: nil, related_to: nil, secondary_external_id: nil, secondary_source: nil, external_friendly_id: nil, tax_liability_source: nil, currency: nil, source: nil, connection_id: nil, filing_id: nil, city: nil, county: nil, state: nil, country: nil, postal_code: nil, tax_id: nil, total_amount: 0.00, marketplace: false, total_tax_amount_imported: 0.00, tax_rate_imported: 0.00, total_tax_amount_calculated: 0.00, tax_rate_calculated: 0.00, total_tax_liability_amount: 0.00, taxable_amount: 0.00, locked: false)
106
+ sig { params(organization_id: ::String, external_id: ::String, date: ::DateTime, addresses: T::Array[Models::Shared::TransactionAddressPublic], transaction_items: T::Array[Models::Shared::TransactionItemBuilder], customer: Models::Shared::CustomerBaseBase, type: Models::Shared::TransactionTypeEnum, requires_exemption: T.nilable(Models::Shared::ExemptionRequired), shop_date: T.nilable(::String), shop_date_tz: T.nilable(::String), description: T.nilable(::String), refund_status: T.nilable(Models::Shared::TransactionRefundStatus), customer_id: T.nilable(::String), exempt: T.nilable(Models::Shared::TransactionExemptStatusEnum), exemptions: T.nilable(T::Array[Models::Shared::Exemption]), related_to: T.nilable(::String), secondary_external_id: T.nilable(::String), secondary_source: T.nilable(::String), external_friendly_id: T.nilable(::String), tax_liability_source: T.nilable(Models::Shared::TaxLiabilitySourceEnum), currency: T.nilable(Models::Shared::CurrencyEnum), source: T.nilable(Models::Shared::SourceEnum), connection_id: T.nilable(::String), filing_id: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), state: T.nilable(::String), country: T.nilable(Models::Shared::CountryCodeEnum), postal_code: T.nilable(::String), tax_id: T.nilable(::String), status: T.nilable(Models::Shared::TransactionStatusEnum), total_amount: T.nilable(::Float), marketplace: T.nilable(T::Boolean), total_tax_amount_imported: T.nilable(::Float), tax_rate_imported: T.nilable(::Float), total_tax_amount_calculated: T.nilable(::Float), tax_rate_calculated: T.nilable(::Float), total_tax_liability_amount: T.nilable(::Float), taxable_amount: T.nilable(::Float), locked: T.nilable(T::Boolean)).void }
107
+ def initialize(organization_id:, external_id:, date:, addresses:, transaction_items:, customer:, type:, requires_exemption: nil, shop_date: nil, shop_date_tz: nil, description: nil, refund_status: nil, customer_id: nil, exempt: nil, exemptions: nil, related_to: nil, secondary_external_id: nil, secondary_source: nil, external_friendly_id: nil, tax_liability_source: nil, currency: nil, source: nil, connection_id: nil, filing_id: nil, city: nil, county: nil, state: nil, country: nil, postal_code: nil, tax_id: nil, status: nil, total_amount: 0.0, marketplace: false, total_tax_amount_imported: 0.0, tax_rate_imported: 0.0, total_tax_amount_calculated: 0.0, tax_rate_calculated: 0.0, total_tax_liability_amount: 0.0, taxable_amount: 0.0, locked: false)
104
108
  @organization_id = organization_id
105
109
  @external_id = external_id
106
110
  @date = date
@@ -111,7 +115,6 @@ module KintsugiSDK
111
115
  @requires_exemption = requires_exemption
112
116
  @shop_date = shop_date
113
117
  @shop_date_tz = shop_date_tz
114
- @status = status
115
118
  @description = description
116
119
  @refund_status = refund_status
117
120
  @customer_id = customer_id
@@ -132,6 +135,7 @@ module KintsugiSDK
132
135
  @country = country
133
136
  @postal_code = postal_code
134
137
  @tax_id = tax_id
138
+ @status = status
135
139
  @total_amount = total_amount
136
140
  @marketplace = marketplace
137
141
  @total_tax_amount_imported = total_tax_amount_imported
@@ -156,7 +160,6 @@ module KintsugiSDK
156
160
  return false unless @requires_exemption == other.requires_exemption
157
161
  return false unless @shop_date == other.shop_date
158
162
  return false unless @shop_date_tz == other.shop_date_tz
159
- return false unless @status == other.status
160
163
  return false unless @description == other.description
161
164
  return false unless @refund_status == other.refund_status
162
165
  return false unless @customer_id == other.customer_id
@@ -177,6 +180,7 @@ module KintsugiSDK
177
180
  return false unless @country == other.country
178
181
  return false unless @postal_code == other.postal_code
179
182
  return false unless @tax_id == other.tax_id
183
+ return false unless @status == other.status
180
184
  return false unless @total_amount == other.total_amount
181
185
  return false unless @marketplace == other.marketplace
182
186
  return false unless @total_tax_amount_imported == other.total_tax_amount_imported
@@ -28,8 +28,6 @@ class KintsugiSDK::Models::Shared::TransactionPublicRequest
28
28
  def shop_date=(str_); end
29
29
  def shop_date_tz(); end
30
30
  def shop_date_tz=(str_); end
31
- def status(); end
32
- def status=(str_); end
33
31
  def description(); end
34
32
  def description=(str_); end
35
33
  def refund_status(); end
@@ -70,6 +68,8 @@ class KintsugiSDK::Models::Shared::TransactionPublicRequest
70
68
  def postal_code=(str_); end
71
69
  def tax_id(); end
72
70
  def tax_id=(str_); end
71
+ def status(); end
72
+ def status=(str_); end
73
73
  def total_amount(); end
74
74
  def total_amount=(str_); end
75
75
  def marketplace(); end
@@ -7,18 +7,19 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class TransactionRead
13
12
  extend T::Sig
14
13
  include Crystalline::MetadataFields
15
14
 
16
- # Unique identifier of the organization.
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
  # External identifier of the transaction.
19
20
  field :external_id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_id'), required: true } }
20
21
  # Transaction date and time
21
- field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
22
+ field :date, ::DateTime, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('date'), required: true, 'decoder': ::KintsugiSDK::Utils.datetime_from_iso_format(false) } }
22
23
  # The unique transaction identifier.
23
24
  field :id, ::String, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('id'), required: true } }
24
25
  # List of addresses associated.
@@ -26,28 +27,27 @@ module KintsugiSDK
26
27
  # List of items in the transaction.
27
28
  field :transaction_items, Crystalline::Array.new(Models::Shared::TransactionItemRead), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('transaction_items'), required: true } }
28
29
 
29
- field :type, Models::Shared::TransactionTypeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::TransactionTypeEnum, false) } }
30
+ field :type, Models::Shared::TransactionTypeEnum, { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('type'), required: true, 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionTypeEnum, false) } }
30
31
 
31
32
  field :requires_exemption, Crystalline::Nilable.new(Models::Shared::ExemptionRequired), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('requires_exemption') } }
32
33
  # Transaction date in the shop's local timezone
33
34
  field :shop_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('shop_date') } }
34
35
  # Timezone of the shop
35
36
  field :shop_date_tz, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('shop_date_tz') } }
36
-
37
- field :status, Crystalline::Nilable.new(Models::Shared::TransactionStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::TransactionStatusEnum, true) } }
38
37
  # Description of the transaction.
39
38
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('description') } }
40
39
  # Shopify has 2 order statuses for refund case: refunded and partially_refunded
41
40
  # If the given order has different status from these 2, we will set the
42
41
  # transaction's refund_status to PARTIALLY_REFUNDED by default.
43
- field :refund_status, Crystalline::Nilable.new(Models::Shared::TransactionRefundStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('refund_status'), 'decoder': Utils.enum_from_string(Models::Shared::TransactionRefundStatus, true) } }
42
+ field :refund_status, Crystalline::Nilable.new(Models::Shared::TransactionRefundStatus), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('refund_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionRefundStatus, true) } }
44
43
  # Unique identifier of the customer.
45
44
  field :customer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('customer_id') } }
46
45
  # Based on transaction item exempt status.
47
46
  # NOT EXEMPT: None of the items are NOT EXEMPT
48
47
  # PARTIALLY EXEMPT: At least some of the items are NOT EXEMPT
49
48
  # FULLY_EXEMPT: All items sold in the transaction are EXEMPT
50
- field :exempt, Crystalline::Nilable.new(Models::Shared::TransactionExemptStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt'), 'decoder': Utils.enum_from_string(Models::Shared::TransactionExemptStatusEnum, true) } }
49
+ # ZERO_RATE_NOT_EXEMPT: All items sold in the transaction are zero-rated
50
+ field :exempt, Crystalline::Nilable.new(Models::Shared::TransactionExemptStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exempt'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionExemptStatusEnum, true) } }
51
51
  # List of exemptions applied (if any).
52
52
  field :exemptions, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::Exemption)), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('exemptions') } }
53
53
  # Related transaction identifier.
@@ -59,11 +59,11 @@ module KintsugiSDK
59
59
  # Friendly identifier of the original item.
60
60
  field :external_friendly_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('external_friendly_id') } }
61
61
 
62
- field :tax_liability_source, Crystalline::Nilable.new(Models::Shared::TaxLiabilitySourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_liability_source'), 'decoder': Utils.enum_from_string(Models::Shared::TaxLiabilitySourceEnum, true) } }
62
+ field :tax_liability_source, Crystalline::Nilable.new(Models::Shared::TaxLiabilitySourceEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_liability_source'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TaxLiabilitySourceEnum, true) } }
63
63
 
64
- 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) } }
64
+ 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) } }
65
65
 
66
- 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) } }
66
+ 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) } }
67
67
  # Connection Identifier
68
68
  field :connection_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('connection_id') } }
69
69
  # Filing identifier.
@@ -75,18 +75,22 @@ module KintsugiSDK
75
75
  # State of the transaction address.
76
76
  field :state, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('state') } }
77
77
 
78
- 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) } }
78
+ 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) } }
79
79
  # Postal code of the transaction.
80
80
  field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('postal_code') } }
81
- # Tax ID associated with the transaction
81
+ # Tax ID associated with the transaction. DEPRECATED: This field is only populated for QuickBooks integrations and will be removed in a future version.
82
+ #
83
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
82
84
  field :tax_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('tax_id') } }
83
85
 
84
- 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) } }
86
+ field :status, Crystalline::Nilable.new(Models::Shared::TransactionStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::TransactionStatusEnum, true) } }
87
+
88
+ 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) } }
85
89
  # Our transaction state, used to determine when/if a transaction needs additional
86
90
  # processing.
87
- field :processing_status, Crystalline::Nilable.new(Models::Shared::ProcessingStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('processing_status'), 'decoder': Utils.enum_from_string(Models::Shared::ProcessingStatusEnum, true) } }
91
+ field :processing_status, Crystalline::Nilable.new(Models::Shared::ProcessingStatusEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('processing_status'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::ProcessingStatusEnum, true) } }
88
92
 
89
- field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
93
+ field :destination_currency, Crystalline::Nilable.new(Models::Shared::CurrencyEnum), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('destination_currency'), 'decoder': ::KintsugiSDK::Utils.enum_from_string(Models::Shared::CurrencyEnum, true) } }
90
94
  # Converted total amount.
91
95
  field :converted_total_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('converted_total_amount') } }
92
96
  # Converted imported tax amount.
@@ -132,8 +136,8 @@ module KintsugiSDK
132
136
  # Transaction lock status.
133
137
  field :locked, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::KintsugiSDK::Utils.field_name('locked') } }
134
138
 
135
- sig { params(organization_id: ::String, external_id: ::String, date: ::DateTime, id: ::String, addresses: T::Array[Models::Shared::TransactionAddressReadOutput], transaction_items: T::Array[Models::Shared::TransactionItemRead], type: Models::Shared::TransactionTypeEnum, requires_exemption: T.nilable(Models::Shared::ExemptionRequired), shop_date: T.nilable(::String), shop_date_tz: T.nilable(::String), status: T.nilable(Models::Shared::TransactionStatusEnum), description: T.nilable(::String), refund_status: T.nilable(Models::Shared::TransactionRefundStatus), customer_id: T.nilable(::String), exempt: T.nilable(Models::Shared::TransactionExemptStatusEnum), exemptions: T.nilable(T::Array[Models::Shared::Exemption]), related_to: T.nilable(::String), secondary_external_id: T.nilable(::String), secondary_source: T.nilable(::String), external_friendly_id: T.nilable(::String), tax_liability_source: T.nilable(Models::Shared::TaxLiabilitySourceEnum), currency: T.nilable(Models::Shared::CurrencyEnum), source: T.nilable(Models::Shared::SourceEnum), connection_id: T.nilable(::String), filing_id: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), state: T.nilable(::String), country: T.nilable(Models::Shared::CountryCodeEnum), postal_code: T.nilable(::String), tax_id: T.nilable(::String), address_status: T.nilable(Models::Shared::AddressStatus), processing_status: T.nilable(Models::Shared::ProcessingStatusEnum), destination_currency: T.nilable(Models::Shared::CurrencyEnum), converted_total_amount: T.nilable(::String), converted_total_tax_amount_imported: T.nilable(::String), converted_total_tax_amount_calculated: T.nilable(::String), conversion_rate: T.nilable(::String), converted_taxable_amount: T.nilable(::String), converted_total_discount: T.nilable(::String), converted_subtotal: T.nilable(::String), converted_total_tax_liability_amount: T.nilable(::String), customer: T.nilable(Models::Shared::CustomerRead), total_discount: T.nilable(::String), subtotal: T.nilable(::String), final_total_amount: T.nilable(::String), converted_final_total_amount: T.nilable(::String), total_amount: T.nilable(::String), marketplace: T.nilable(T::Boolean), total_tax_amount_imported: T.nilable(::String), tax_rate_imported: T.nilable(::String), total_tax_amount_calculated: T.nilable(::String), tax_rate_calculated: T.nilable(::String), total_tax_liability_amount: T.nilable(::String), taxable_amount: T.nilable(::String), locked: T.nilable(T::Boolean)).void }
136
- def initialize(organization_id:, external_id:, date:, id:, addresses:, transaction_items:, type:, requires_exemption: nil, shop_date: nil, shop_date_tz: nil, status: nil, description: nil, refund_status: nil, customer_id: nil, exempt: nil, exemptions: nil, related_to: nil, secondary_external_id: nil, secondary_source: nil, external_friendly_id: nil, tax_liability_source: nil, currency: nil, source: nil, connection_id: nil, filing_id: nil, city: nil, county: nil, state: nil, country: nil, postal_code: nil, tax_id: nil, address_status: nil, processing_status: nil, destination_currency: nil, converted_total_amount: nil, converted_total_tax_amount_imported: nil, converted_total_tax_amount_calculated: nil, conversion_rate: nil, converted_taxable_amount: nil, converted_total_discount: nil, converted_subtotal: nil, converted_total_tax_liability_amount: nil, customer: nil, total_discount: nil, subtotal: nil, final_total_amount: nil, converted_final_total_amount: nil, total_amount: '0.00', marketplace: false, total_tax_amount_imported: '0.00', tax_rate_imported: '0.00', total_tax_amount_calculated: '0.00', tax_rate_calculated: '0.00', total_tax_liability_amount: '0.00', taxable_amount: '0.00', locked: false)
139
+ sig { params(organization_id: ::String, external_id: ::String, date: ::DateTime, id: ::String, addresses: T::Array[Models::Shared::TransactionAddressReadOutput], transaction_items: T::Array[Models::Shared::TransactionItemRead], type: Models::Shared::TransactionTypeEnum, requires_exemption: T.nilable(Models::Shared::ExemptionRequired), shop_date: T.nilable(::String), shop_date_tz: T.nilable(::String), description: T.nilable(::String), refund_status: T.nilable(Models::Shared::TransactionRefundStatus), customer_id: T.nilable(::String), exempt: T.nilable(Models::Shared::TransactionExemptStatusEnum), exemptions: T.nilable(T::Array[Models::Shared::Exemption]), related_to: T.nilable(::String), secondary_external_id: T.nilable(::String), secondary_source: T.nilable(::String), external_friendly_id: T.nilable(::String), tax_liability_source: T.nilable(Models::Shared::TaxLiabilitySourceEnum), currency: T.nilable(Models::Shared::CurrencyEnum), source: T.nilable(Models::Shared::SourceEnum), connection_id: T.nilable(::String), filing_id: T.nilable(::String), city: T.nilable(::String), county: T.nilable(::String), state: T.nilable(::String), country: T.nilable(Models::Shared::CountryCodeEnum), postal_code: T.nilable(::String), tax_id: T.nilable(::String), status: T.nilable(Models::Shared::TransactionStatusEnum), address_status: T.nilable(Models::Shared::AddressStatus), processing_status: T.nilable(Models::Shared::ProcessingStatusEnum), destination_currency: T.nilable(Models::Shared::CurrencyEnum), converted_total_amount: T.nilable(::String), converted_total_tax_amount_imported: T.nilable(::String), converted_total_tax_amount_calculated: T.nilable(::String), conversion_rate: T.nilable(::String), converted_taxable_amount: T.nilable(::String), converted_total_discount: T.nilable(::String), converted_subtotal: T.nilable(::String), converted_total_tax_liability_amount: T.nilable(::String), customer: T.nilable(Models::Shared::CustomerRead), total_discount: T.nilable(::String), subtotal: T.nilable(::String), final_total_amount: T.nilable(::String), converted_final_total_amount: T.nilable(::String), total_amount: T.nilable(::String), marketplace: T.nilable(T::Boolean), total_tax_amount_imported: T.nilable(::String), tax_rate_imported: T.nilable(::String), total_tax_amount_calculated: T.nilable(::String), tax_rate_calculated: T.nilable(::String), total_tax_liability_amount: T.nilable(::String), taxable_amount: T.nilable(::String), locked: T.nilable(T::Boolean)).void }
140
+ def initialize(organization_id:, external_id:, date:, id:, addresses:, transaction_items:, type:, requires_exemption: nil, shop_date: nil, shop_date_tz: nil, description: nil, refund_status: nil, customer_id: nil, exempt: nil, exemptions: nil, related_to: nil, secondary_external_id: nil, secondary_source: nil, external_friendly_id: nil, tax_liability_source: nil, currency: nil, source: nil, connection_id: nil, filing_id: nil, city: nil, county: nil, state: nil, country: nil, postal_code: nil, tax_id: nil, status: nil, address_status: nil, processing_status: nil, destination_currency: nil, converted_total_amount: nil, converted_total_tax_amount_imported: nil, converted_total_tax_amount_calculated: nil, conversion_rate: nil, converted_taxable_amount: nil, converted_total_discount: nil, converted_subtotal: nil, converted_total_tax_liability_amount: nil, customer: nil, total_discount: nil, subtotal: nil, final_total_amount: nil, converted_final_total_amount: nil, total_amount: '0.00', marketplace: false, total_tax_amount_imported: '0.00', tax_rate_imported: '0.00', total_tax_amount_calculated: '0.00', tax_rate_calculated: '0.00', total_tax_liability_amount: '0.00', taxable_amount: '0.00', locked: false)
137
141
  @organization_id = organization_id
138
142
  @external_id = external_id
139
143
  @date = date
@@ -144,7 +148,6 @@ module KintsugiSDK
144
148
  @requires_exemption = requires_exemption
145
149
  @shop_date = shop_date
146
150
  @shop_date_tz = shop_date_tz
147
- @status = status
148
151
  @description = description
149
152
  @refund_status = refund_status
150
153
  @customer_id = customer_id
@@ -165,6 +168,7 @@ module KintsugiSDK
165
168
  @country = country
166
169
  @postal_code = postal_code
167
170
  @tax_id = tax_id
171
+ @status = status
168
172
  @address_status = address_status
169
173
  @processing_status = processing_status
170
174
  @destination_currency = destination_currency
@@ -205,7 +209,6 @@ module KintsugiSDK
205
209
  return false unless @requires_exemption == other.requires_exemption
206
210
  return false unless @shop_date == other.shop_date
207
211
  return false unless @shop_date_tz == other.shop_date_tz
208
- return false unless @status == other.status
209
212
  return false unless @description == other.description
210
213
  return false unless @refund_status == other.refund_status
211
214
  return false unless @customer_id == other.customer_id
@@ -226,6 +229,7 @@ module KintsugiSDK
226
229
  return false unless @country == other.country
227
230
  return false unless @postal_code == other.postal_code
228
231
  return false unless @tax_id == other.tax_id
232
+ return false unless @status == other.status
229
233
  return false unless @address_status == other.address_status
230
234
  return false unless @processing_status == other.processing_status
231
235
  return false unless @destination_currency == other.destination_currency
@@ -28,8 +28,6 @@ class KintsugiSDK::Models::Shared::TransactionRead
28
28
  def shop_date=(str_); end
29
29
  def shop_date_tz(); end
30
30
  def shop_date_tz=(str_); end
31
- def status(); end
32
- def status=(str_); end
33
31
  def description(); end
34
32
  def description=(str_); end
35
33
  def refund_status(); end
@@ -70,6 +68,8 @@ class KintsugiSDK::Models::Shared::TransactionRead
70
68
  def postal_code=(str_); end
71
69
  def tax_id(); end
72
70
  def tax_id=(str_); end
71
+ def status(); end
72
+ def status=(str_); end
73
73
  def address_status(); end
74
74
  def address_status=(str_); end
75
75
  def processing_status(); end
@@ -7,13 +7,10 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
  # TransactionRefundStatus - Shopify has 2 order statuses for refund case: refunded and partially_refunded
12
11
  # If the given order has different status from these 2, we will set the
13
12
  # transaction's refund_status to PARTIALLY_REFUNDED by default.
14
13
  class TransactionRefundStatus < T::Enum
15
-
16
-
17
14
  enums do
18
15
  FULLY_REFUNDED = new('FULLY_REFUNDED')
19
16
  PARTIALLY_REFUNDED = new('PARTIALLY_REFUNDED')
@@ -7,11 +7,8 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class TransactionStatusEnum < T::Enum
13
-
14
-
15
12
  enums do
16
13
  PENDING = new('PENDING')
17
14
  COMMITTED = new('COMMITTED')
@@ -7,11 +7,8 @@
7
7
  module KintsugiSDK
8
8
  module Models
9
9
  module Shared
10
-
11
10
 
12
11
  class TransactionTypeEnum < T::Enum
13
-
14
-
15
12
  enums do
16
13
  SALE = new('SALE')
17
14
  FULL_CREDIT_NOTE = new('FULL_CREDIT_NOTE')