moov_ruby 0.3.23 → 0.3.24

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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/models/components/createinvoice.rb +6 -6
  3. data/lib/moov/models/components/createinvoice.rbi +2 -2
  4. data/lib/moov/models/components/createinvoicepayment.rb +6 -2
  5. data/lib/moov/models/components/createinvoicepayment.rbi +2 -0
  6. data/lib/moov/models/components/createruntransfer.rb +58 -0
  7. data/lib/moov/models/components/createruntransfer.rbi +25 -0
  8. data/lib/moov/models/components/createscheduledtransferlineitem.rb +53 -0
  9. data/lib/moov/models/components/createscheduledtransferlineitem.rbi +23 -0
  10. data/lib/moov/models/components/createscheduledtransferlineitemoption.rb +49 -0
  11. data/lib/moov/models/components/createscheduledtransferlineitemoption.rbi +21 -0
  12. data/lib/moov/models/components/createscheduledtransferlineitems.rb +34 -0
  13. data/lib/moov/models/components/createscheduledtransferlineitems.rbi +13 -0
  14. data/lib/moov/models/components/incurredfee.rb +6 -2
  15. data/lib/moov/models/components/incurredfee.rbi +2 -0
  16. data/lib/moov/models/components/invoice.rb +9 -9
  17. data/lib/moov/models/components/invoice.rbi +4 -4
  18. data/lib/moov/models/components/invoiceexternalpayment.rb +3 -7
  19. data/lib/moov/models/components/invoiceexternalpayment.rbi +0 -2
  20. data/lib/moov/models/components/invoicepayment.rb +6 -2
  21. data/lib/moov/models/components/invoicepayment.rbi +2 -0
  22. data/lib/moov/models/components/occurrence.rb +2 -2
  23. data/lib/moov/models/components/occurrencesresponse.rb +1 -1
  24. data/lib/moov/models/components/recur.rb +2 -2
  25. data/lib/moov/models/components/recurresponse.rb +46 -0
  26. data/lib/moov/models/components/recurresponse.rbi +19 -0
  27. data/lib/moov/models/components/runtransfer.rb +2 -3
  28. data/lib/moov/models/components/scheduledtransferimagemetadata.rb +45 -0
  29. data/lib/moov/models/components/scheduledtransferimagemetadata.rbi +19 -0
  30. data/lib/moov/models/components/scheduledtransferlineitem.rb +6 -2
  31. data/lib/moov/models/components/scheduledtransferlineitem.rbi +2 -0
  32. data/lib/moov/models/components/scheduledtransferlineitemoption.rb +6 -2
  33. data/lib/moov/models/components/scheduledtransferlineitemoption.rbi +2 -0
  34. data/lib/moov/models/components/scheduledtransferlineitems.rb +1 -2
  35. data/lib/moov/models/components/schedulelistresponse.rb +3 -3
  36. data/lib/moov/models/components/scheduleresponse.rb +3 -3
  37. data/lib/moov/models/components.rb +6 -0
  38. data/lib/moov/models/errors/createinvoicepaymenterror.rb +6 -2
  39. data/lib/moov/models/errors/createinvoicepaymenterror.rbi +2 -0
  40. data/lib/moov/models/operations/listfeerevenue_request.rb +14 -2
  41. data/lib/moov/models/operations/listfeerevenue_request.rbi +6 -0
  42. data/lib/moov/models/operations/retrievefees_request.rb +6 -2
  43. data/lib/moov/models/operations/retrievefees_request.rbi +2 -0
  44. data/lib/moov/sdkconfiguration.rb +2 -2
  45. metadata +14 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b938c13ffea98d10ce59eafa2f3082b0ebdf4493466c3a96e1116ba693417ce3
4
- data.tar.gz: 8026d785fb2e95d93e8da13672b32e7057ba811a59cbca106c72a2069bdfaee9
3
+ metadata.gz: 6c892035311209655ef6c827e9b64a12a26a12020336d1ddfa0f91eabe093287
4
+ data.tar.gz: 0421aae6bbba0bb71c28239bdfd466c92c0e4fa63f0c8526e54d3f00d3005673
5
5
  SHA512:
6
- metadata.gz: 1f651e623ab43f490808d4ac1722f3b7ae19e6fe981ae51c13421e156a83159ec81dd5cf05ab1f9755eee89a2bbe223f447281b5489bd97a0fac052c29122b56
7
- data.tar.gz: 94ecf0b055ea098c1ec08b87ad7f3b4313f142647d423ca56c33c1362e776ec5ba1c1d56fb578166f623cc9c0f3309f7e3ff210d4ef7ee3ab63ed00d5f24ff44
6
+ metadata.gz: f2c0c1cb7f8238eed9ffe5c6dd86bdfd5db34230b79b9ba13b1af558b55874f7aa96d361d39db86d74c5113217de037b747b77540c918a945798b80a387eb501
7
+ data.tar.gz: 75c39dc18132b4943b4a8bc5fb5f7bed8af798ed48cc663ee95cb2cf4bc9cd054357c05f282343c7f3e6ee70fe6ad48950e7e966808f906eee7ddeec66bb4560
@@ -15,22 +15,22 @@ module Moov
15
15
 
16
16
 
17
17
  field :customer_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customerAccountID'), required: true } }
18
-
19
- field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
20
18
  # A collection of line items for an invoice.
21
19
  field :line_items, Models::Components::CreateInvoiceLineItems, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems'), required: true } }
22
20
 
21
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
22
+
23
23
  field :invoice_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceDate'), 'decoder': Utils.datetime_from_iso_format(true) } }
24
24
 
25
25
  field :due_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dueDate'), 'decoder': Utils.datetime_from_iso_format(true) } }
26
26
 
27
27
  field :tax_amount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('taxAmount') } }
28
28
 
29
- sig { params(customer_account_id: ::String, description: ::String, line_items: Models::Components::CreateInvoiceLineItems, invoice_date: T.nilable(::DateTime), due_date: T.nilable(::DateTime), tax_amount: T.nilable(Models::Components::AmountDecimal)).void }
30
- def initialize(customer_account_id:, description:, line_items:, invoice_date: nil, due_date: nil, tax_amount: nil)
29
+ sig { params(customer_account_id: ::String, line_items: Models::Components::CreateInvoiceLineItems, description: T.nilable(::String), invoice_date: T.nilable(::DateTime), due_date: T.nilable(::DateTime), tax_amount: T.nilable(Models::Components::AmountDecimal)).void }
30
+ def initialize(customer_account_id:, line_items:, description: nil, invoice_date: nil, due_date: nil, tax_amount: nil)
31
31
  @customer_account_id = customer_account_id
32
- @description = description
33
32
  @line_items = line_items
33
+ @description = description
34
34
  @invoice_date = invoice_date
35
35
  @due_date = due_date
36
36
  @tax_amount = tax_amount
@@ -40,8 +40,8 @@ module Moov
40
40
  def ==(other)
41
41
  return false unless other.is_a? self.class
42
42
  return false unless @customer_account_id == other.customer_account_id
43
- return false unless @description == other.description
44
43
  return false unless @line_items == other.line_items
44
+ return false unless @description == other.description
45
45
  return false unless @invoice_date == other.invoice_date
46
46
  return false unless @due_date == other.due_date
47
47
  return false unless @tax_amount == other.tax_amount
@@ -10,10 +10,10 @@ end
10
10
  class Moov::Models::Components::CreateInvoice
11
11
  def customer_account_id(); end
12
12
  def customer_account_id=(str_); end
13
- def description(); end
14
- def description=(str_); end
15
13
  def line_items(); end
16
14
  def line_items=(str_); end
15
+ def description(); end
16
+ def description=(str_); end
17
17
  def invoice_date(); end
18
18
  def invoice_date=(str_); end
19
19
  def due_date(); end
@@ -14,14 +14,17 @@ module Moov
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
+ field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
18
+
17
19
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
18
20
 
19
21
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
20
22
 
21
23
  field :payment_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentDate'), 'decoder': Utils.datetime_from_iso_format(true) } }
22
24
 
23
- sig { params(foreign_id: T.nilable(::String), description: T.nilable(::String), payment_date: T.nilable(::DateTime)).void }
24
- def initialize(foreign_id: nil, description: nil, payment_date: nil)
25
+ sig { params(amount: Models::Components::AmountDecimal, foreign_id: T.nilable(::String), description: T.nilable(::String), payment_date: T.nilable(::DateTime)).void }
26
+ def initialize(amount:, foreign_id: nil, description: nil, payment_date: nil)
27
+ @amount = amount
25
28
  @foreign_id = foreign_id
26
29
  @description = description
27
30
  @payment_date = payment_date
@@ -30,6 +33,7 @@ module Moov
30
33
  sig { params(other: T.untyped).returns(T::Boolean) }
31
34
  def ==(other)
32
35
  return false unless other.is_a? self.class
36
+ return false unless @amount == other.amount
33
37
  return false unless @foreign_id == other.foreign_id
34
38
  return false unless @description == other.description
35
39
  return false unless @payment_date == other.payment_date
@@ -8,6 +8,8 @@ end
8
8
 
9
9
 
10
10
  class Moov::Models::Components::CreateInvoicePayment
11
+ def amount(); end
12
+ def amount=(str_); end
11
13
  def foreign_id(); end
12
14
  def foreign_id=(str_); end
13
15
  def description(); end
@@ -0,0 +1,58 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ # Defines the attributes of a transfer.
12
+ class CreateRunTransfer
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
18
+
19
+ field :destination, Models::Components::SchedulePaymentMethod, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destination'), required: true } }
20
+
21
+ field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
22
+
23
+ field :source, Models::Components::SchedulePaymentMethod, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('source'), required: true } }
24
+ # Simple description to place on the transfer.
25
+ field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
26
+ # Optional sales tax amount. This amount is included in the total transfer amount.
27
+ field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
28
+ # An optional collection of line items for a scheduled transfer.
29
+ # When line items are provided their total must equal `amount` minus `salesTaxAmount`.
30
+ field :line_items, Crystalline::Nilable.new(Models::Components::CreateScheduledTransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
31
+
32
+ sig { params(amount: Models::Components::Amount, destination: Models::Components::SchedulePaymentMethod, partner_account_id: ::String, source: Models::Components::SchedulePaymentMethod, description: ::String, sales_tax_amount: T.nilable(Models::Components::Amount), line_items: T.nilable(Models::Components::CreateScheduledTransferLineItems)).void }
33
+ def initialize(amount:, destination:, partner_account_id:, source:, description:, sales_tax_amount: nil, line_items: nil)
34
+ @amount = amount
35
+ @destination = destination
36
+ @partner_account_id = partner_account_id
37
+ @source = source
38
+ @description = description
39
+ @sales_tax_amount = sales_tax_amount
40
+ @line_items = line_items
41
+ end
42
+
43
+ sig { params(other: T.untyped).returns(T::Boolean) }
44
+ def ==(other)
45
+ return false unless other.is_a? self.class
46
+ return false unless @amount == other.amount
47
+ return false unless @destination == other.destination
48
+ return false unless @partner_account_id == other.partner_account_id
49
+ return false unless @source == other.source
50
+ return false unless @description == other.description
51
+ return false unless @sales_tax_amount == other.sales_tax_amount
52
+ return false unless @line_items == other.line_items
53
+ true
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,25 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateRunTransfer
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateRunTransfer
11
+ def amount(); end
12
+ def amount=(str_); end
13
+ def destination(); end
14
+ def destination=(str_); end
15
+ def partner_account_id(); end
16
+ def partner_account_id=(str_); end
17
+ def source(); end
18
+ def source=(str_); end
19
+ def description(); end
20
+ def description=(str_); end
21
+ def sales_tax_amount(); end
22
+ def sales_tax_amount=(str_); end
23
+ def line_items(); end
24
+ def line_items=(str_); end
25
+ end
@@ -0,0 +1,53 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ # Represents a single item in a scheduled transfer, including optional modifiers and quantity.
12
+ class CreateScheduledTransferLineItem
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The name of the item.
17
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
18
+ # The base price of the item before applying option modifiers.
19
+ field :base_price, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice'), required: true } }
20
+ # The quantity of this item.
21
+ field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
22
+ # Optional list of modifiers applied to this item (e.g., toppings, upgrades, customizations).
23
+ field :options, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CreateScheduledTransferLineItemOption)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
24
+ # Optional unique identifier associating the line item with a product.
25
+ field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('productID') } }
26
+ # Optional list of images associated with this line item.
27
+ field :image_i_ds, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('imageIDs') } }
28
+
29
+ sig { params(name: ::String, base_price: Models::Components::AmountDecimal, quantity: ::Integer, options: T.nilable(T::Array[Models::Components::CreateScheduledTransferLineItemOption]), product_id: T.nilable(::String), image_i_ds: T.nilable(T::Array[::String])).void }
30
+ def initialize(name:, base_price:, quantity:, options: nil, product_id: nil, image_i_ds: nil)
31
+ @name = name
32
+ @base_price = base_price
33
+ @quantity = quantity
34
+ @options = options
35
+ @product_id = product_id
36
+ @image_i_ds = image_i_ds
37
+ end
38
+
39
+ sig { params(other: T.untyped).returns(T::Boolean) }
40
+ def ==(other)
41
+ return false unless other.is_a? self.class
42
+ return false unless @name == other.name
43
+ return false unless @base_price == other.base_price
44
+ return false unless @quantity == other.quantity
45
+ return false unless @options == other.options
46
+ return false unless @product_id == other.product_id
47
+ return false unless @image_i_ds == other.image_i_ds
48
+ true
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateScheduledTransferLineItem
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateScheduledTransferLineItem
11
+ def name(); end
12
+ def name=(str_); end
13
+ def base_price(); end
14
+ def base_price=(str_); end
15
+ def quantity(); end
16
+ def quantity=(str_); end
17
+ def options(); end
18
+ def options=(str_); end
19
+ def product_id(); end
20
+ def product_id=(str_); end
21
+ def image_i_ds(); end
22
+ def image_i_ds=(str_); end
23
+ end
@@ -0,0 +1,49 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ # Represents a modifier or option applied to a scheduled transfer line item.
12
+ class CreateScheduledTransferLineItemOption
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The name of the option or modifier.
17
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
18
+ # The quantity of this option.
19
+ field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
20
+ # Optional price modification applied by this option. Can be positive, negative, or zero.
21
+ field :price_modifier, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priceModifier') } }
22
+ # Optional group identifier to categorize related options (e.g., 'toppings').
23
+ field :group, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('group') } }
24
+ # Optional list of images associated with this line item.
25
+ field :image_i_ds, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('imageIDs') } }
26
+
27
+ sig { params(name: ::String, quantity: ::Integer, price_modifier: T.nilable(Models::Components::AmountDecimal), group: T.nilable(::String), image_i_ds: T.nilable(T::Array[::String])).void }
28
+ def initialize(name:, quantity:, price_modifier: nil, group: nil, image_i_ds: nil)
29
+ @name = name
30
+ @quantity = quantity
31
+ @price_modifier = price_modifier
32
+ @group = group
33
+ @image_i_ds = image_i_ds
34
+ end
35
+
36
+ sig { params(other: T.untyped).returns(T::Boolean) }
37
+ def ==(other)
38
+ return false unless other.is_a? self.class
39
+ return false unless @name == other.name
40
+ return false unless @quantity == other.quantity
41
+ return false unless @price_modifier == other.price_modifier
42
+ return false unless @group == other.group
43
+ return false unless @image_i_ds == other.image_i_ds
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateScheduledTransferLineItemOption
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateScheduledTransferLineItemOption
11
+ def name(); end
12
+ def name=(str_); end
13
+ def quantity(); end
14
+ def quantity=(str_); end
15
+ def price_modifier(); end
16
+ def price_modifier=(str_); end
17
+ def group(); end
18
+ def group=(str_); end
19
+ def image_i_ds(); end
20
+ def image_i_ds=(str_); end
21
+ end
@@ -0,0 +1,34 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ # An optional collection of line items for a scheduled transfer.
12
+ # When line items are provided their total must equal `amount` minus `salesTaxAmount`.
13
+ class CreateScheduledTransferLineItems
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # The list of line items.
18
+ field :items, Crystalline::Array.new(Models::Components::CreateScheduledTransferLineItem), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items'), required: true } }
19
+
20
+ sig { params(items: T::Array[Models::Components::CreateScheduledTransferLineItem]).void }
21
+ def initialize(items:)
22
+ @items = items
23
+ end
24
+
25
+ sig { params(other: T.untyped).returns(T::Boolean) }
26
+ def ==(other)
27
+ return false unless other.is_a? self.class
28
+ return false unless @items == other.items
29
+ true
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateScheduledTransferLineItems
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateScheduledTransferLineItems
11
+ def items(); end
12
+ def items=(str_); end
13
+ end
@@ -30,8 +30,10 @@ module Moov
30
30
 
31
31
  field :fee_group, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feeGroup') } }
32
32
 
33
- sig { params(fee_id: T.nilable(::String), account_id: T.nilable(::String), wallet_id: T.nilable(::String), created_on: T.nilable(::DateTime), fee_name: T.nilable(::String), amount: T.nilable(Models::Components::AmountDecimal), generated_by: T.nilable(Models::Components::GeneratedBy), fee_group: T.nilable(::String)).void }
34
- def initialize(fee_id: nil, account_id: nil, wallet_id: nil, created_on: nil, fee_name: nil, amount: nil, generated_by: nil, fee_group: nil)
33
+ field :residual_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('residualID') } }
34
+
35
+ sig { params(fee_id: T.nilable(::String), account_id: T.nilable(::String), wallet_id: T.nilable(::String), created_on: T.nilable(::DateTime), fee_name: T.nilable(::String), amount: T.nilable(Models::Components::AmountDecimal), generated_by: T.nilable(Models::Components::GeneratedBy), fee_group: T.nilable(::String), residual_id: T.nilable(::String)).void }
36
+ def initialize(fee_id: nil, account_id: nil, wallet_id: nil, created_on: nil, fee_name: nil, amount: nil, generated_by: nil, fee_group: nil, residual_id: nil)
35
37
  @fee_id = fee_id
36
38
  @account_id = account_id
37
39
  @wallet_id = wallet_id
@@ -40,6 +42,7 @@ module Moov
40
42
  @amount = amount
41
43
  @generated_by = generated_by
42
44
  @fee_group = fee_group
45
+ @residual_id = residual_id
43
46
  end
44
47
 
45
48
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -53,6 +56,7 @@ module Moov
53
56
  return false unless @amount == other.amount
54
57
  return false unless @generated_by == other.generated_by
55
58
  return false unless @fee_group == other.fee_group
59
+ return false unless @residual_id == other.residual_id
56
60
  true
57
61
  end
58
62
  end
@@ -24,4 +24,6 @@ class Moov::Models::Components::IncurredFee
24
24
  def generated_by=(str_); end
25
25
  def fee_group(); end
26
26
  def fee_group=(str_); end
27
+ def residual_id(); end
28
+ def residual_id=(str_); end
27
29
  end
@@ -18,8 +18,6 @@ module Moov
18
18
 
19
19
  field :invoice_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceNumber'), required: true } }
20
20
 
21
- field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
22
-
23
21
  field :customer_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customerAccountID'), required: true } }
24
22
 
25
23
  field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
@@ -44,9 +42,11 @@ module Moov
44
42
 
45
43
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
46
44
 
45
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
46
+
47
47
  field :payment_link_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkCode') } }
48
48
 
49
- field :payments, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::InvoicePayment)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payments') } }
49
+ field :invoice_payments, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::InvoicePayment)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePayments') } }
50
50
 
51
51
  field :invoice_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceDate'), 'decoder': Utils.datetime_from_iso_format(true) } }
52
52
 
@@ -58,11 +58,10 @@ module Moov
58
58
 
59
59
  field :canceled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('canceledOn'), 'decoder': Utils.datetime_from_iso_format(true) } }
60
60
 
61
- sig { params(invoice_id: ::String, invoice_number: ::String, description: ::String, customer_account_id: ::String, partner_account_id: ::String, status: Models::Components::InvoiceStatus, line_items: Models::Components::InvoiceLineItems, subtotal_amount: Models::Components::AmountDecimal, tax_amount: Models::Components::AmountDecimal, total_amount: Models::Components::AmountDecimal, pending_amount: Models::Components::AmountDecimal, paid_amount: Models::Components::AmountDecimal, refunded_amount: Models::Components::AmountDecimal, disputed_amount: Models::Components::AmountDecimal, created_on: ::DateTime, payment_link_code: T.nilable(::String), payments: T.nilable(T::Array[Models::Components::InvoicePayment]), invoice_date: T.nilable(::DateTime), due_date: T.nilable(::DateTime), sent_on: T.nilable(::DateTime), paid_on: T.nilable(::DateTime), canceled_on: T.nilable(::DateTime)).void }
62
- def initialize(invoice_id:, invoice_number:, description:, customer_account_id:, partner_account_id:, status:, line_items:, subtotal_amount:, tax_amount:, total_amount:, pending_amount:, paid_amount:, refunded_amount:, disputed_amount:, created_on:, payment_link_code: nil, payments: nil, invoice_date: nil, due_date: nil, sent_on: nil, paid_on: nil, canceled_on: nil)
61
+ sig { params(invoice_id: ::String, invoice_number: ::String, customer_account_id: ::String, partner_account_id: ::String, status: Models::Components::InvoiceStatus, line_items: Models::Components::InvoiceLineItems, subtotal_amount: Models::Components::AmountDecimal, tax_amount: Models::Components::AmountDecimal, total_amount: Models::Components::AmountDecimal, pending_amount: Models::Components::AmountDecimal, paid_amount: Models::Components::AmountDecimal, refunded_amount: Models::Components::AmountDecimal, disputed_amount: Models::Components::AmountDecimal, created_on: ::DateTime, description: T.nilable(::String), payment_link_code: T.nilable(::String), invoice_payments: T.nilable(T::Array[Models::Components::InvoicePayment]), invoice_date: T.nilable(::DateTime), due_date: T.nilable(::DateTime), sent_on: T.nilable(::DateTime), paid_on: T.nilable(::DateTime), canceled_on: T.nilable(::DateTime)).void }
62
+ def initialize(invoice_id:, invoice_number:, customer_account_id:, partner_account_id:, status:, line_items:, subtotal_amount:, tax_amount:, total_amount:, pending_amount:, paid_amount:, refunded_amount:, disputed_amount:, created_on:, description: nil, payment_link_code: nil, invoice_payments: nil, invoice_date: nil, due_date: nil, sent_on: nil, paid_on: nil, canceled_on: nil)
63
63
  @invoice_id = invoice_id
64
64
  @invoice_number = invoice_number
65
- @description = description
66
65
  @customer_account_id = customer_account_id
67
66
  @partner_account_id = partner_account_id
68
67
  @status = status
@@ -75,8 +74,9 @@ module Moov
75
74
  @refunded_amount = refunded_amount
76
75
  @disputed_amount = disputed_amount
77
76
  @created_on = created_on
77
+ @description = description
78
78
  @payment_link_code = payment_link_code
79
- @payments = payments
79
+ @invoice_payments = invoice_payments
80
80
  @invoice_date = invoice_date
81
81
  @due_date = due_date
82
82
  @sent_on = sent_on
@@ -89,7 +89,6 @@ module Moov
89
89
  return false unless other.is_a? self.class
90
90
  return false unless @invoice_id == other.invoice_id
91
91
  return false unless @invoice_number == other.invoice_number
92
- return false unless @description == other.description
93
92
  return false unless @customer_account_id == other.customer_account_id
94
93
  return false unless @partner_account_id == other.partner_account_id
95
94
  return false unless @status == other.status
@@ -102,8 +101,9 @@ module Moov
102
101
  return false unless @refunded_amount == other.refunded_amount
103
102
  return false unless @disputed_amount == other.disputed_amount
104
103
  return false unless @created_on == other.created_on
104
+ return false unless @description == other.description
105
105
  return false unless @payment_link_code == other.payment_link_code
106
- return false unless @payments == other.payments
106
+ return false unless @invoice_payments == other.invoice_payments
107
107
  return false unless @invoice_date == other.invoice_date
108
108
  return false unless @due_date == other.due_date
109
109
  return false unless @sent_on == other.sent_on
@@ -12,8 +12,6 @@ class Moov::Models::Components::Invoice
12
12
  def invoice_id=(str_); end
13
13
  def invoice_number(); end
14
14
  def invoice_number=(str_); end
15
- def description(); end
16
- def description=(str_); end
17
15
  def customer_account_id(); end
18
16
  def customer_account_id=(str_); end
19
17
  def partner_account_id(); end
@@ -38,10 +36,12 @@ class Moov::Models::Components::Invoice
38
36
  def disputed_amount=(str_); end
39
37
  def created_on(); end
40
38
  def created_on=(str_); end
39
+ def description(); end
40
+ def description=(str_); end
41
41
  def payment_link_code(); end
42
42
  def payment_link_code=(str_); end
43
- def payments(); end
44
- def payments=(str_); end
43
+ def invoice_payments(); end
44
+ def invoice_payments=(str_); end
45
45
  def invoice_date(); end
46
46
  def invoice_date=(str_); end
47
47
  def due_date(); end
@@ -14,18 +14,15 @@ module Moov
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
- field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
18
-
19
- field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
17
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
20
18
 
21
19
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
22
20
 
23
21
  field :payment_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentDate'), 'decoder': Utils.datetime_from_iso_format(true) } }
24
22
 
25
- sig { params(description: ::String, amount: Models::Components::AmountDecimal, foreign_id: T.nilable(::String), payment_date: T.nilable(::DateTime)).void }
26
- def initialize(description:, amount:, foreign_id: nil, payment_date: nil)
23
+ sig { params(description: T.nilable(::String), foreign_id: T.nilable(::String), payment_date: T.nilable(::DateTime)).void }
24
+ def initialize(description: nil, foreign_id: nil, payment_date: nil)
27
25
  @description = description
28
- @amount = amount
29
26
  @foreign_id = foreign_id
30
27
  @payment_date = payment_date
31
28
  end
@@ -34,7 +31,6 @@ module Moov
34
31
  def ==(other)
35
32
  return false unless other.is_a? self.class
36
33
  return false unless @description == other.description
37
- return false unless @amount == other.amount
38
34
  return false unless @foreign_id == other.foreign_id
39
35
  return false unless @payment_date == other.payment_date
40
36
  true
@@ -10,8 +10,6 @@ end
10
10
  class Moov::Models::Components::InvoiceExternalPayment
11
11
  def description(); end
12
12
  def description=(str_); end
13
- def amount(); end
14
- def amount=(str_); end
15
13
  def foreign_id(); end
16
14
  def foreign_id=(str_); end
17
15
  def payment_date(); end
@@ -18,14 +18,17 @@ module Moov
18
18
 
19
19
  field :invoice_payment_type, Models::Components::InvoicePaymentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePaymentType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::InvoicePaymentType, false) } }
20
20
 
21
+ field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
22
+
21
23
  field :transfer, Crystalline::Nilable.new(Models::Components::InvoiceTransferPayment), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transfer') } }
22
24
 
23
25
  field :external, Crystalline::Nilable.new(Models::Components::InvoiceExternalPayment), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('external') } }
24
26
 
25
- sig { params(invoice_payment_id: ::String, invoice_payment_type: Models::Components::InvoicePaymentType, transfer: T.nilable(Models::Components::InvoiceTransferPayment), external: T.nilable(Models::Components::InvoiceExternalPayment)).void }
26
- def initialize(invoice_payment_id:, invoice_payment_type:, transfer: nil, external: nil)
27
+ sig { params(invoice_payment_id: ::String, invoice_payment_type: Models::Components::InvoicePaymentType, amount: Models::Components::AmountDecimal, transfer: T.nilable(Models::Components::InvoiceTransferPayment), external: T.nilable(Models::Components::InvoiceExternalPayment)).void }
28
+ def initialize(invoice_payment_id:, invoice_payment_type:, amount:, transfer: nil, external: nil)
27
29
  @invoice_payment_id = invoice_payment_id
28
30
  @invoice_payment_type = invoice_payment_type
31
+ @amount = amount
29
32
  @transfer = transfer
30
33
  @external = external
31
34
  end
@@ -35,6 +38,7 @@ module Moov
35
38
  return false unless other.is_a? self.class
36
39
  return false unless @invoice_payment_id == other.invoice_payment_id
37
40
  return false unless @invoice_payment_type == other.invoice_payment_type
41
+ return false unless @amount == other.amount
38
42
  return false unless @transfer == other.transfer
39
43
  return false unless @external == other.external
40
44
  true
@@ -12,6 +12,8 @@ class Moov::Models::Components::InvoicePayment
12
12
  def invoice_payment_id=(str_); end
13
13
  def invoice_payment_type(); end
14
14
  def invoice_payment_type=(str_); end
15
+ def amount(); end
16
+ def amount=(str_); end
15
17
  def transfer(); end
16
18
  def transfer=(str_); end
17
19
  def external(); end
@@ -21,9 +21,9 @@ module Moov
21
21
  # Timestamp to run the transfer after. Value must be into the future.
22
22
  field :run_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('runOn'), 'decoder': Utils.datetime_from_iso_format(true) } }
23
23
  # Defines the attributes of a transfer.
24
- field :run_transfer, Crystalline::Nilable.new(Models::Components::RunTransfer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('runTransfer') } }
24
+ field :run_transfer, Crystalline::Nilable.new(Models::Components::CreateRunTransfer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('runTransfer') } }
25
25
 
26
- sig { params(canceled: T.nilable(T::Boolean), occurrence_id: T.nilable(::String), run_on: T.nilable(::DateTime), run_transfer: T.nilable(Models::Components::RunTransfer)).void }
26
+ sig { params(canceled: T.nilable(T::Boolean), occurrence_id: T.nilable(::String), run_on: T.nilable(::DateTime), run_transfer: T.nilable(Models::Components::CreateRunTransfer)).void }
27
27
  def initialize(canceled: nil, occurrence_id: nil, run_on: nil, run_transfer: nil)
28
28
  @canceled = canceled
29
29
  @occurrence_id = occurrence_id
@@ -15,7 +15,7 @@ module Moov
15
15
 
16
16
 
17
17
  field :run_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('runOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
18
- # Defines the attributes of a transfer.
18
+
19
19
  field :run_transfer, Models::Components::RunTransfer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('runTransfer'), required: true } }
20
20
 
21
21
  field :schedule_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('scheduleID') } }
@@ -17,13 +17,13 @@ module Moov
17
17
  # Generators available online at the following sites - https://freetools.textmagic.com/rrule-generator, https://jkbrzt.github.io/rrule/
18
18
  field :recurrence_rule, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recurrenceRule'), required: true } }
19
19
  # Defines the attributes of a transfer.
20
- field :run_transfer, Models::Components::RunTransfer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('runTransfer'), required: true } }
20
+ field :run_transfer, Models::Components::CreateRunTransfer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('runTransfer'), required: true } }
21
21
  # True if the RRule set runs indefinitely.
22
22
  field :indefinite, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('indefinite') } }
23
23
 
24
24
  field :start, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('start'), 'decoder': Utils.datetime_from_iso_format(true) } }
25
25
 
26
- sig { params(recurrence_rule: ::String, run_transfer: Models::Components::RunTransfer, indefinite: T.nilable(T::Boolean), start: T.nilable(::DateTime)).void }
26
+ sig { params(recurrence_rule: ::String, run_transfer: Models::Components::CreateRunTransfer, indefinite: T.nilable(T::Boolean), start: T.nilable(::DateTime)).void }
27
27
  def initialize(recurrence_rule:, run_transfer:, indefinite: nil, start: nil)
28
28
  @recurrence_rule = recurrence_rule
29
29
  @run_transfer = run_transfer
@@ -0,0 +1,46 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class RecurResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # RRule as defined by RFC 5545 (https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10).
17
+ # Generators available online at the following sites - https://freetools.textmagic.com/rrule-generator, https://jkbrzt.github.io/rrule/
18
+ field :recurrence_rule, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recurrenceRule'), required: true } }
19
+
20
+ field :run_transfer, Models::Components::RunTransfer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('runTransfer'), required: true } }
21
+ # True if the RRule set runs indefinitely.
22
+ field :indefinite, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('indefinite') } }
23
+
24
+ field :start, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('start'), 'decoder': Utils.datetime_from_iso_format(true) } }
25
+
26
+ sig { params(recurrence_rule: ::String, run_transfer: Models::Components::RunTransfer, indefinite: T.nilable(T::Boolean), start: T.nilable(::DateTime)).void }
27
+ def initialize(recurrence_rule:, run_transfer:, indefinite: nil, start: nil)
28
+ @recurrence_rule = recurrence_rule
29
+ @run_transfer = run_transfer
30
+ @indefinite = indefinite
31
+ @start = start
32
+ end
33
+
34
+ sig { params(other: T.untyped).returns(T::Boolean) }
35
+ def ==(other)
36
+ return false unless other.is_a? self.class
37
+ return false unless @recurrence_rule == other.recurrence_rule
38
+ return false unless @run_transfer == other.run_transfer
39
+ return false unless @indefinite == other.indefinite
40
+ return false unless @start == other.start
41
+ true
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::RecurResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::RecurResponse
11
+ def recurrence_rule(); end
12
+ def recurrence_rule=(str_); end
13
+ def run_transfer(); end
14
+ def run_transfer=(str_); end
15
+ def indefinite(); end
16
+ def indefinite=(str_); end
17
+ def start(); end
18
+ def start=(str_); end
19
+ end
@@ -8,7 +8,7 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- # Defines the attributes of a transfer.
11
+
12
12
  class RunTransfer
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
@@ -25,8 +25,7 @@ module Moov
25
25
  field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
26
26
  # Optional sales tax amount. This amount is included in the total transfer amount.
27
27
  field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
28
- # An optional collection of line items for a scheduled transfer.
29
- # When line items are provided their total must equal `amount` minus `salesTaxAmount`.
28
+ # Line items for a scheduled transfer.
30
29
  field :line_items, Crystalline::Nilable.new(Models::Components::ScheduledTransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
31
30
 
32
31
  sig { params(amount: Models::Components::Amount, destination: Models::Components::SchedulePaymentMethod, partner_account_id: ::String, source: Models::Components::SchedulePaymentMethod, description: ::String, sales_tax_amount: T.nilable(Models::Components::Amount), line_items: T.nilable(Models::Components::ScheduledTransferLineItems)).void }
@@ -0,0 +1,45 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class ScheduledTransferImageMetadata
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Unique identifier for a image resource.
17
+ field :image_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('imageID'), required: true } }
18
+ # The image's public URL.
19
+ field :link, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('link'), required: true } }
20
+ # A unique identifier for an image, used in public image links.
21
+ field :public_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('publicID'), required: true } }
22
+ # Alternative text for the image.
23
+ field :alt_text, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('altText') } }
24
+
25
+ sig { params(image_id: ::String, link: ::String, public_id: ::String, alt_text: T.nilable(::String)).void }
26
+ def initialize(image_id:, link:, public_id:, alt_text: nil)
27
+ @image_id = image_id
28
+ @link = link
29
+ @public_id = public_id
30
+ @alt_text = alt_text
31
+ end
32
+
33
+ sig { params(other: T.untyped).returns(T::Boolean) }
34
+ def ==(other)
35
+ return false unless other.is_a? self.class
36
+ return false unless @image_id == other.image_id
37
+ return false unless @link == other.link
38
+ return false unless @public_id == other.public_id
39
+ return false unless @alt_text == other.alt_text
40
+ true
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::ScheduledTransferImageMetadata
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ScheduledTransferImageMetadata
11
+ def image_id(); end
12
+ def image_id=(str_); end
13
+ def link(); end
14
+ def link=(str_); end
15
+ def public_id(); end
16
+ def public_id=(str_); end
17
+ def alt_text(); end
18
+ def alt_text=(str_); end
19
+ end
@@ -23,14 +23,17 @@ module Moov
23
23
  field :options, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ScheduledTransferLineItemOption)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
24
24
  # Optional unique identifier associating the line item with a product.
25
25
  field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('productID') } }
26
+ # Optional list of images associated with this line item.
27
+ field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ScheduledTransferImageMetadata)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
26
28
 
27
- sig { params(name: ::String, base_price: Models::Components::AmountDecimal, quantity: ::Integer, options: T.nilable(T::Array[Models::Components::ScheduledTransferLineItemOption]), product_id: T.nilable(::String)).void }
28
- def initialize(name:, base_price:, quantity:, options: nil, product_id: nil)
29
+ sig { params(name: ::String, base_price: Models::Components::AmountDecimal, quantity: ::Integer, options: T.nilable(T::Array[Models::Components::ScheduledTransferLineItemOption]), product_id: T.nilable(::String), images: T.nilable(T::Array[Models::Components::ScheduledTransferImageMetadata])).void }
30
+ def initialize(name:, base_price:, quantity:, options: nil, product_id: nil, images: nil)
29
31
  @name = name
30
32
  @base_price = base_price
31
33
  @quantity = quantity
32
34
  @options = options
33
35
  @product_id = product_id
36
+ @images = images
34
37
  end
35
38
 
36
39
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -41,6 +44,7 @@ module Moov
41
44
  return false unless @quantity == other.quantity
42
45
  return false unless @options == other.options
43
46
  return false unless @product_id == other.product_id
47
+ return false unless @images == other.images
44
48
  true
45
49
  end
46
50
  end
@@ -18,4 +18,6 @@ class Moov::Models::Components::ScheduledTransferLineItem
18
18
  def options=(str_); end
19
19
  def product_id(); end
20
20
  def product_id=(str_); end
21
+ def images(); end
22
+ def images=(str_); end
21
23
  end
@@ -21,13 +21,16 @@ module Moov
21
21
  field :price_modifier, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priceModifier') } }
22
22
  # Optional group identifier to categorize related options (e.g., 'toppings').
23
23
  field :group, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('group') } }
24
+ # Optional list of images associated with this line item.
25
+ field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ScheduledTransferImageMetadata)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
24
26
 
25
- sig { params(name: ::String, quantity: ::Integer, price_modifier: T.nilable(Models::Components::AmountDecimal), group: T.nilable(::String)).void }
26
- def initialize(name:, quantity:, price_modifier: nil, group: nil)
27
+ sig { params(name: ::String, quantity: ::Integer, price_modifier: T.nilable(Models::Components::AmountDecimal), group: T.nilable(::String), images: T.nilable(T::Array[Models::Components::ScheduledTransferImageMetadata])).void }
28
+ def initialize(name:, quantity:, price_modifier: nil, group: nil, images: nil)
27
29
  @name = name
28
30
  @quantity = quantity
29
31
  @price_modifier = price_modifier
30
32
  @group = group
33
+ @images = images
31
34
  end
32
35
 
33
36
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -37,6 +40,7 @@ module Moov
37
40
  return false unless @quantity == other.quantity
38
41
  return false unless @price_modifier == other.price_modifier
39
42
  return false unless @group == other.group
43
+ return false unless @images == other.images
40
44
  true
41
45
  end
42
46
  end
@@ -16,4 +16,6 @@ class Moov::Models::Components::ScheduledTransferLineItemOption
16
16
  def price_modifier=(str_); end
17
17
  def group(); end
18
18
  def group=(str_); end
19
+ def images(); end
20
+ def images=(str_); end
19
21
  end
@@ -8,8 +8,7 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- # An optional collection of line items for a scheduled transfer.
12
- # When line items are provided their total must equal `amount` minus `salesTaxAmount`.
11
+ # Line items for a scheduled transfer.
13
12
  class ScheduledTransferLineItems
14
13
  extend T::Sig
15
14
  include Crystalline::MetadataFields
@@ -33,8 +33,8 @@ module Moov
33
33
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
34
34
 
35
35
  field :occurrences, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::OccurrencesResponse)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('occurrences') } }
36
- # Defines configuration for recurring transfers.
37
- field :recur, Crystalline::Nilable.new(Models::Components::Recur), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recur') } }
36
+
37
+ field :recur, Crystalline::Nilable.new(Models::Components::RecurResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recur') } }
38
38
 
39
39
  field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': Utils.datetime_from_iso_format(true) } }
40
40
 
@@ -44,7 +44,7 @@ module Moov
44
44
 
45
45
  field :partner_account, Crystalline::Nilable.new(Models::Components::PartialScheduleAccount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccount') } }
46
46
 
47
- sig { params(destination_account_id: ::String, mode: Models::Components::Mode, owner_account_id: ::String, partner_account_id: ::String, schedule_id: ::String, source_account_id: ::String, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), occurrences: T.nilable(T::Array[Models::Components::OccurrencesResponse]), recur: T.nilable(Models::Components::Recur), disabled_on: T.nilable(::DateTime), source_account: T.nilable(Models::Components::PartialScheduleAccount), destination_account: T.nilable(Models::Components::PartialScheduleAccount), partner_account: T.nilable(Models::Components::PartialScheduleAccount)).void }
47
+ sig { params(destination_account_id: ::String, mode: Models::Components::Mode, owner_account_id: ::String, partner_account_id: ::String, schedule_id: ::String, source_account_id: ::String, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), occurrences: T.nilable(T::Array[Models::Components::OccurrencesResponse]), recur: T.nilable(Models::Components::RecurResponse), disabled_on: T.nilable(::DateTime), source_account: T.nilable(Models::Components::PartialScheduleAccount), destination_account: T.nilable(Models::Components::PartialScheduleAccount), partner_account: T.nilable(Models::Components::PartialScheduleAccount)).void }
48
48
  def initialize(destination_account_id:, mode:, owner_account_id:, partner_account_id:, schedule_id:, source_account_id:, created_on:, updated_on:, description: nil, occurrences: nil, recur: nil, disabled_on: nil, source_account: nil, destination_account: nil, partner_account: nil)
49
49
  @destination_account_id = destination_account_id
50
50
  @mode = mode
@@ -33,12 +33,12 @@ module Moov
33
33
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
34
34
 
35
35
  field :occurrences, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::OccurrencesResponse)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('occurrences') } }
36
- # Defines configuration for recurring transfers.
37
- field :recur, Crystalline::Nilable.new(Models::Components::Recur), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recur') } }
36
+
37
+ field :recur, Crystalline::Nilable.new(Models::Components::RecurResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recur') } }
38
38
 
39
39
  field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': Utils.datetime_from_iso_format(true) } }
40
40
 
41
- sig { params(destination_account_id: ::String, mode: Models::Components::Mode, owner_account_id: ::String, partner_account_id: ::String, schedule_id: ::String, source_account_id: ::String, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), occurrences: T.nilable(T::Array[Models::Components::OccurrencesResponse]), recur: T.nilable(Models::Components::Recur), disabled_on: T.nilable(::DateTime)).void }
41
+ sig { params(destination_account_id: ::String, mode: Models::Components::Mode, owner_account_id: ::String, partner_account_id: ::String, schedule_id: ::String, source_account_id: ::String, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), occurrences: T.nilable(T::Array[Models::Components::OccurrencesResponse]), recur: T.nilable(Models::Components::RecurResponse), disabled_on: T.nilable(::DateTime)).void }
42
42
  def initialize(destination_account_id:, mode:, owner_account_id:, partner_account_id:, schedule_id:, source_account_id:, created_on:, updated_on:, description: nil, occurrences: nil, recur: nil, disabled_on: nil)
43
43
  @destination_account_id = destination_account_id
44
44
  @mode = mode
@@ -188,6 +188,10 @@ module Moov
188
188
  autoload :CreateRefundResponse, 'moov/models/components/createrefundresponse.rb'
189
189
  autoload :CreateRepresentative, 'moov/models/components/createrepresentative.rb'
190
190
  autoload :CreateReversal, 'moov/models/components/createreversal.rb'
191
+ autoload :CreateRunTransfer, 'moov/models/components/createruntransfer.rb'
192
+ autoload :CreateScheduledTransferLineItem, 'moov/models/components/createscheduledtransferlineitem.rb'
193
+ autoload :CreateScheduledTransferLineItemOption, 'moov/models/components/createscheduledtransferlineitemoption.rb'
194
+ autoload :CreateScheduledTransferLineItems, 'moov/models/components/createscheduledtransferlineitems.rb'
191
195
  autoload :CreateSweepConfig, 'moov/models/components/createsweepconfig.rb'
192
196
  autoload :CreateTerminalApplication, 'moov/models/components/createterminalapplication.rb'
193
197
  autoload :CreateTicket, 'moov/models/components/createticket.rb'
@@ -422,6 +426,7 @@ module Moov
422
426
  autoload :ReceiptRequest, 'moov/models/components/receiptrequest.rb'
423
427
  autoload :ReceiptResponse, 'moov/models/components/receiptresponse.rb'
424
428
  autoload :Recur, 'moov/models/components/recur.rb'
429
+ autoload :RecurResponse, 'moov/models/components/recurresponse.rb'
425
430
  autoload :RefundCardDetails, 'moov/models/components/refundcarddetails.rb'
426
431
  autoload :RefundCardStatus, 'moov/models/components/refundcardstatus.rb'
427
432
  autoload :RefundPolicy, 'moov/models/components/refundpolicy.rb'
@@ -448,6 +453,7 @@ module Moov
448
453
  autoload :ScheduleListResponse, 'moov/models/components/schedulelistresponse.rb'
449
454
  autoload :SchedulePaymentMethod, 'moov/models/components/schedulepaymentmethod.rb'
450
455
  autoload :ScheduleResponse, 'moov/models/components/scheduleresponse.rb'
456
+ autoload :ScheduledTransferImageMetadata, 'moov/models/components/scheduledtransferimagemetadata.rb'
451
457
  autoload :ScheduledTransferLineItem, 'moov/models/components/scheduledtransferlineitem.rb'
452
458
  autoload :ScheduledTransferLineItemOption, 'moov/models/components/scheduledtransferlineitemoption.rb'
453
459
  autoload :ScheduledTransferLineItems, 'moov/models/components/scheduledtransferlineitems.rb'
@@ -14,6 +14,8 @@ module Moov
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
+ field :amount, Crystalline::Nilable.new(Models::Components::AmountDecimalValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
18
+
17
19
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
18
20
 
19
21
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
@@ -22,8 +24,9 @@ module Moov
22
24
  # Raw HTTP response; suitable for custom response parsing
23
25
  field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
24
26
 
25
- sig { params(foreign_id: T.nilable(::String), description: T.nilable(::String), payment_date: T.nilable(::String), raw_response: T.nilable(::Faraday::Response)).void }
26
- def initialize(foreign_id: nil, description: nil, payment_date: nil, raw_response: nil)
27
+ sig { params(amount: T.nilable(Models::Components::AmountDecimalValidationError), foreign_id: T.nilable(::String), description: T.nilable(::String), payment_date: T.nilable(::String), raw_response: T.nilable(::Faraday::Response)).void }
28
+ def initialize(amount: nil, foreign_id: nil, description: nil, payment_date: nil, raw_response: nil)
29
+ @amount = amount
27
30
  @foreign_id = foreign_id
28
31
  @description = description
29
32
  @payment_date = payment_date
@@ -33,6 +36,7 @@ module Moov
33
36
  sig { params(other: T.untyped).returns(T::Boolean) }
34
37
  def ==(other)
35
38
  return false unless other.is_a? self.class
39
+ return false unless @amount == other.amount
36
40
  return false unless @foreign_id == other.foreign_id
37
41
  return false unless @description == other.description
38
42
  return false unless @payment_date == other.payment_date
@@ -8,6 +8,8 @@ end
8
8
 
9
9
 
10
10
  class Moov::Models::Errors::CreateInvoicePaymentError
11
+ def amount(); end
12
+ def amount=(str_); end
11
13
  def foreign_id(); end
12
14
  def foreign_id=(str_); end
13
15
  def description(); end
@@ -30,17 +30,26 @@ module Moov
30
30
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
31
31
 
32
32
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
33
+ # Optional transfer ID to filter the results by.
34
+ field :transfer_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'transferID', 'style': 'form', 'explode': false } }
35
+ # Optional dispute ID to filter the results by.
36
+ field :dispute_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'disputeID', 'style': 'form', 'explode': false } }
37
+ # Optional residual ID to filter the results by.
38
+ field :residual_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'residualID', 'style': 'form', 'explode': false } }
33
39
  # Optional date-time to inclusively filter all fees created after this date-time.
34
40
  field :start_date_time, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'startDateTime', 'style': 'form', 'explode': false } }
35
41
  # Optional date-time to exclusively filter all fees created before this date-time.
36
42
  field :end_date_time, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'endDateTime', 'style': 'form', 'explode': false } }
37
43
 
38
- sig { params(account_id: ::String, x_moov_version: T.nilable(::String), skip: T.nilable(::Integer), count: T.nilable(::Integer), start_date_time: T.nilable(::String), end_date_time: T.nilable(::String)).void }
39
- def initialize(account_id:, x_moov_version: nil, skip: nil, count: nil, start_date_time: nil, end_date_time: nil)
44
+ sig { params(account_id: ::String, x_moov_version: T.nilable(::String), skip: T.nilable(::Integer), count: T.nilable(::Integer), transfer_id: T.nilable(::String), dispute_id: T.nilable(::String), residual_id: T.nilable(::String), start_date_time: T.nilable(::String), end_date_time: T.nilable(::String)).void }
45
+ def initialize(account_id:, x_moov_version: nil, skip: nil, count: nil, transfer_id: nil, dispute_id: nil, residual_id: nil, start_date_time: nil, end_date_time: nil)
40
46
  @account_id = account_id
41
47
  @x_moov_version = x_moov_version
42
48
  @skip = skip
43
49
  @count = count
50
+ @transfer_id = transfer_id
51
+ @dispute_id = dispute_id
52
+ @residual_id = residual_id
44
53
  @start_date_time = start_date_time
45
54
  @end_date_time = end_date_time
46
55
  end
@@ -52,6 +61,9 @@ module Moov
52
61
  return false unless @x_moov_version == other.x_moov_version
53
62
  return false unless @skip == other.skip
54
63
  return false unless @count == other.count
64
+ return false unless @transfer_id == other.transfer_id
65
+ return false unless @dispute_id == other.dispute_id
66
+ return false unless @residual_id == other.residual_id
55
67
  return false unless @start_date_time == other.start_date_time
56
68
  return false unless @end_date_time == other.end_date_time
57
69
  true
@@ -16,6 +16,12 @@ class Moov::Models::Operations::ListFeeRevenueRequest
16
16
  def skip=(str_); end
17
17
  def count(); end
18
18
  def count=(str_); end
19
+ def transfer_id(); end
20
+ def transfer_id=(str_); end
21
+ def dispute_id(); end
22
+ def dispute_id=(str_); end
23
+ def residual_id(); end
24
+ def residual_id=(str_); end
19
25
  def start_date_time(); end
20
26
  def start_date_time=(str_); end
21
27
  def end_date_time(); end
@@ -30,6 +30,8 @@ module Moov
30
30
  field :transfer_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'transferID', 'style': 'form', 'explode': false } }
31
31
  # Optional dispute ID to filter the results by.
32
32
  field :dispute_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'disputeID', 'style': 'form', 'explode': false } }
33
+ # Optional residual ID to filter the results by.
34
+ field :residual_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'residualID', 'style': 'form', 'explode': false } }
33
35
  # Optional date-time to inclusively filter all fees created after this date-time.
34
36
  field :start_date_time, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'startDateTime', 'style': 'form', 'explode': false } }
35
37
  # Optional date-time to exclusively filter all fees created before this date-time.
@@ -39,12 +41,13 @@ module Moov
39
41
 
40
42
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
41
43
 
42
- sig { params(account_id: ::String, x_moov_version: T.nilable(::String), transfer_id: T.nilable(::String), dispute_id: T.nilable(::String), start_date_time: T.nilable(::String), end_date_time: T.nilable(::String), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
43
- def initialize(account_id:, x_moov_version: nil, transfer_id: nil, dispute_id: nil, start_date_time: nil, end_date_time: nil, skip: nil, count: nil)
44
+ sig { params(account_id: ::String, x_moov_version: T.nilable(::String), transfer_id: T.nilable(::String), dispute_id: T.nilable(::String), residual_id: T.nilable(::String), start_date_time: T.nilable(::String), end_date_time: T.nilable(::String), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
45
+ def initialize(account_id:, x_moov_version: nil, transfer_id: nil, dispute_id: nil, residual_id: nil, start_date_time: nil, end_date_time: nil, skip: nil, count: nil)
44
46
  @account_id = account_id
45
47
  @x_moov_version = x_moov_version
46
48
  @transfer_id = transfer_id
47
49
  @dispute_id = dispute_id
50
+ @residual_id = residual_id
48
51
  @start_date_time = start_date_time
49
52
  @end_date_time = end_date_time
50
53
  @skip = skip
@@ -58,6 +61,7 @@ module Moov
58
61
  return false unless @x_moov_version == other.x_moov_version
59
62
  return false unless @transfer_id == other.transfer_id
60
63
  return false unless @dispute_id == other.dispute_id
64
+ return false unless @residual_id == other.residual_id
61
65
  return false unless @start_date_time == other.start_date_time
62
66
  return false unless @end_date_time == other.end_date_time
63
67
  return false unless @skip == other.skip
@@ -16,6 +16,8 @@ class Moov::Models::Operations::RetrieveFeesRequest
16
16
  def transfer_id=(str_); end
17
17
  def dispute_id(); end
18
18
  def dispute_id=(str_); end
19
+ def residual_id(); end
20
+ def residual_id=(str_); end
19
21
  def start_date_time(); end
20
22
  def start_date_time=(str_); end
21
23
  def end_date_time(); end
@@ -95,9 +95,9 @@ module Moov
95
95
  @globals = globals.nil? ? {} : globals
96
96
  @language = 'ruby'
97
97
  @openapi_doc_version = 'latest'
98
- @sdk_version = '0.3.23'
98
+ @sdk_version = '0.3.24'
99
99
  @gen_version = '2.788.7'
100
- @user_agent = 'speakeasy-sdk/ruby 0.3.23 2.788.7 latest moov_ruby'
100
+ @user_agent = 'speakeasy-sdk/ruby 0.3.24 2.788.7 latest moov_ruby'
101
101
  end
102
102
 
103
103
  sig { returns([String, T::Hash[Symbol, String]]) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moov_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.23
4
+ version: 0.3.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Speakeasy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-01-09 00:00:00.000000000 Z
11
+ date: 2026-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -598,6 +598,14 @@ files:
598
598
  - lib/moov/models/components/createrepresentative.rbi
599
599
  - lib/moov/models/components/createreversal.rb
600
600
  - lib/moov/models/components/createreversal.rbi
601
+ - lib/moov/models/components/createruntransfer.rb
602
+ - lib/moov/models/components/createruntransfer.rbi
603
+ - lib/moov/models/components/createscheduledtransferlineitem.rb
604
+ - lib/moov/models/components/createscheduledtransferlineitem.rbi
605
+ - lib/moov/models/components/createscheduledtransferlineitemoption.rb
606
+ - lib/moov/models/components/createscheduledtransferlineitemoption.rbi
607
+ - lib/moov/models/components/createscheduledtransferlineitems.rb
608
+ - lib/moov/models/components/createscheduledtransferlineitems.rbi
601
609
  - lib/moov/models/components/createsweepconfig.rb
602
610
  - lib/moov/models/components/createsweepconfig.rbi
603
611
  - lib/moov/models/components/createterminalapplication.rb
@@ -1064,6 +1072,8 @@ files:
1064
1072
  - lib/moov/models/components/receiptresponse.rbi
1065
1073
  - lib/moov/models/components/recur.rb
1066
1074
  - lib/moov/models/components/recur.rbi
1075
+ - lib/moov/models/components/recurresponse.rb
1076
+ - lib/moov/models/components/recurresponse.rbi
1067
1077
  - lib/moov/models/components/refundcarddetails.rb
1068
1078
  - lib/moov/models/components/refundcarddetails.rbi
1069
1079
  - lib/moov/models/components/refundcardstatus.rb
@@ -1122,6 +1132,8 @@ files:
1122
1132
  - lib/moov/models/components/rtptransactionstatus.rbi
1123
1133
  - lib/moov/models/components/runtransfer.rb
1124
1134
  - lib/moov/models/components/runtransfer.rbi
1135
+ - lib/moov/models/components/scheduledtransferimagemetadata.rb
1136
+ - lib/moov/models/components/scheduledtransferimagemetadata.rbi
1125
1137
  - lib/moov/models/components/scheduledtransferlineitem.rb
1126
1138
  - lib/moov/models/components/scheduledtransferlineitem.rbi
1127
1139
  - lib/moov/models/components/scheduledtransferlineitemoption.rb