increase 1.363.0 → 1.365.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 (115) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/increase/client.rb +8 -0
  4. data/lib/increase/models/account_number.rb +51 -81
  5. data/lib/increase/models/account_number_create_params.rb +41 -75
  6. data/lib/increase/models/account_number_list_params.rb +39 -39
  7. data/lib/increase/models/account_number_update_params.rb +48 -79
  8. data/lib/increase/models/ach_transfer.rb +9 -2
  9. data/lib/increase/models/ach_transfer_create_params.rb +31 -50
  10. data/lib/increase/models/card_create_params.rb +10 -3
  11. data/lib/increase/models/card_payment.rb +6 -0
  12. data/lib/increase/models/card_update_params.rb +21 -11
  13. data/lib/increase/models/checkbook.rb +352 -0
  14. data/lib/increase/models/checkbook_check.rb +100 -0
  15. data/lib/increase/models/checkbook_check_list_params.rb +61 -0
  16. data/lib/increase/models/checkbook_check_retrieve_params.rb +22 -0
  17. data/lib/increase/models/checkbook_check_stop_params.rb +22 -0
  18. data/lib/increase/models/checkbook_create_params.rb +111 -0
  19. data/lib/increase/models/checkbook_list_params.rb +104 -0
  20. data/lib/increase/models/checkbook_retrieve_params.rb +22 -0
  21. data/lib/increase/models/checkbook_stop_params.rb +22 -0
  22. data/lib/increase/models/declined_transaction.rb +10 -1
  23. data/lib/increase/models/entity.rb +1 -65
  24. data/lib/increase/models/entity_create_params.rb +1 -65
  25. data/lib/increase/models/entity_update_params.rb +1 -57
  26. data/lib/increase/models/fednow_transfer.rb +10 -1
  27. data/lib/increase/models/inbound_ach_transfer.rb +6 -6
  28. data/lib/increase/models/inbound_check_deposit.rb +12 -1
  29. data/lib/increase/models/real_time_decision.rb +65 -1
  30. data/lib/increase/models/simulations/checkbook_mail_params.rb +24 -0
  31. data/lib/increase/models/transaction.rb +24 -2
  32. data/lib/increase/models.rb +18 -0
  33. data/lib/increase/resources/account_numbers.rb +19 -16
  34. data/lib/increase/resources/ach_transfers.rb +14 -22
  35. data/lib/increase/resources/cards.rb +7 -2
  36. data/lib/increase/resources/checkbook_checks.rb +90 -0
  37. data/lib/increase/resources/checkbooks.rb +127 -0
  38. data/lib/increase/resources/entities.rb +2 -12
  39. data/lib/increase/resources/simulations/checkbooks.rb +38 -0
  40. data/lib/increase/resources/simulations.rb +4 -0
  41. data/lib/increase/version.rb +1 -1
  42. data/lib/increase.rb +13 -0
  43. data/rbi/increase/client.rbi +6 -0
  44. data/rbi/increase/models/account_number.rbi +86 -173
  45. data/rbi/increase/models/account_number_create_params.rbi +87 -165
  46. data/rbi/increase/models/account_number_list_params.rbi +106 -105
  47. data/rbi/increase/models/account_number_update_params.rbi +105 -190
  48. data/rbi/increase/models/ach_transfer.rbi +8 -2
  49. data/rbi/increase/models/ach_transfer_create_params.rbi +30 -54
  50. data/rbi/increase/models/card_create_params.rbi +9 -3
  51. data/rbi/increase/models/card_payment.rbi +14 -0
  52. data/rbi/increase/models/card_update_params.rbi +26 -18
  53. data/rbi/increase/models/checkbook.rbi +507 -0
  54. data/rbi/increase/models/checkbook_check.rbi +142 -0
  55. data/rbi/increase/models/checkbook_check_list_params.rbi +96 -0
  56. data/rbi/increase/models/checkbook_check_retrieve_params.rbi +46 -0
  57. data/rbi/increase/models/checkbook_check_stop_params.rbi +43 -0
  58. data/rbi/increase/models/checkbook_create_params.rbi +178 -0
  59. data/rbi/increase/models/checkbook_list_params.rbi +198 -0
  60. data/rbi/increase/models/checkbook_retrieve_params.rbi +40 -0
  61. data/rbi/increase/models/checkbook_stop_params.rbi +40 -0
  62. data/rbi/increase/models/declined_transaction.rbi +8 -0
  63. data/rbi/increase/models/entity.rbi +0 -97
  64. data/rbi/increase/models/entity_create_params.rbi +0 -119
  65. data/rbi/increase/models/entity_update_params.rbi +0 -108
  66. data/rbi/increase/models/fednow_transfer.rbi +8 -0
  67. data/rbi/increase/models/inbound_ach_transfer.rbi +6 -6
  68. data/rbi/increase/models/inbound_check_deposit.rbi +10 -0
  69. data/rbi/increase/models/real_time_decision.rbi +134 -3
  70. data/rbi/increase/models/simulations/checkbook_mail_params.rbi +45 -0
  71. data/rbi/increase/models/transaction.rbi +30 -0
  72. data/rbi/increase/models.rbi +18 -0
  73. data/rbi/increase/resources/account_numbers.rbi +24 -19
  74. data/rbi/increase/resources/ach_transfers.rbi +14 -22
  75. data/rbi/increase/resources/cards.rbi +6 -2
  76. data/rbi/increase/resources/checkbook_checks.rbi +69 -0
  77. data/rbi/increase/resources/checkbooks.rbi +96 -0
  78. data/rbi/increase/resources/entities.rbi +0 -11
  79. data/rbi/increase/resources/simulations/checkbooks.rbi +30 -0
  80. data/rbi/increase/resources/simulations.rbi +3 -0
  81. data/sig/increase/client.rbs +4 -0
  82. data/sig/increase/models/account_number.rbs +34 -66
  83. data/sig/increase/models/account_number_create_params.rbs +30 -64
  84. data/sig/increase/models/account_number_list_params.rbs +44 -44
  85. data/sig/increase/models/account_number_update_params.rbs +39 -77
  86. data/sig/increase/models/ach_transfer_create_params.rbs +9 -18
  87. data/sig/increase/models/card_payment.rbs +8 -0
  88. data/sig/increase/models/card_update_params.rbs +7 -11
  89. data/sig/increase/models/checkbook.rbs +272 -0
  90. data/sig/increase/models/checkbook_check.rbs +76 -0
  91. data/sig/increase/models/checkbook_check_list_params.rbs +56 -0
  92. data/sig/increase/models/checkbook_check_retrieve_params.rbs +24 -0
  93. data/sig/increase/models/checkbook_check_stop_params.rbs +24 -0
  94. data/sig/increase/models/checkbook_create_params.rbs +90 -0
  95. data/sig/increase/models/checkbook_list_params.rbs +97 -0
  96. data/sig/increase/models/checkbook_retrieve_params.rbs +23 -0
  97. data/sig/increase/models/checkbook_stop_params.rbs +23 -0
  98. data/sig/increase/models/declined_transaction.rbs +5 -0
  99. data/sig/increase/models/entity.rbs +0 -46
  100. data/sig/increase/models/entity_create_params.rbs +0 -55
  101. data/sig/increase/models/entity_update_params.rbs +0 -48
  102. data/sig/increase/models/fednow_transfer.rbs +5 -0
  103. data/sig/increase/models/inbound_check_deposit.rbs +5 -0
  104. data/sig/increase/models/real_time_decision.rbs +69 -3
  105. data/sig/increase/models/simulations/checkbook_mail_params.rbs +25 -0
  106. data/sig/increase/models/transaction.rbs +22 -1
  107. data/sig/increase/models.rbs +18 -0
  108. data/sig/increase/resources/account_numbers.rbs +5 -5
  109. data/sig/increase/resources/ach_transfers.rbs +2 -3
  110. data/sig/increase/resources/checkbook_checks.rbs +26 -0
  111. data/sig/increase/resources/checkbooks.rbs +33 -0
  112. data/sig/increase/resources/entities.rbs +0 -3
  113. data/sig/increase/resources/simulations/checkbooks.rbs +14 -0
  114. data/sig/increase/resources/simulations.rbs +2 -0
  115. metadata +41 -2
@@ -223,7 +223,10 @@ module Increase
223
223
  required :standard_entry_class_code, enum: -> { Increase::ACHTransfer::StandardEntryClassCode }
224
224
 
225
225
  # @!attribute statement_descriptor
226
- # The descriptor that will show on the recipient's bank statement.
226
+ # A description you chose to give the transfer. If `individual_name` and
227
+ # `company_name` were not explicitly set, the `statement_descriptor` will be sent
228
+ # in those fields to the receiving bank to help the customer recognize the
229
+ # transfer.
227
230
  #
228
231
  # @return [String, nil]
229
232
  required :statement_descriptor, String, nil?: true
@@ -379,7 +382,11 @@ module Increase
379
382
  # [Standard Entry Class (SEC) code](/documentation/ach-standard-entry-class-codes)
380
383
  # to use for the transfer.
381
384
  #
382
- # @param statement_descriptor [String, nil] The descriptor that will show on the recipient's bank statement.
385
+ # @param statement_descriptor [String, nil]
386
+ # A description you chose to give the transfer. If `individual_name` and
387
+ # `company_name` were not explicitly set, the `statement_descriptor` will be sent
388
+ # in those fields to the receiving bank to help the customer recognize the
389
+ # transfer.
383
390
  #
384
391
  # @param status [Symbol, Increase::Models::ACHTransfer::Status] The lifecycle status of the transfer.
385
392
  #
@@ -26,16 +26,25 @@ module Increase
26
26
  # @return [Integer]
27
27
  required :amount, Integer
28
28
 
29
- # @!attribute statement_descriptor
30
- # A description you choose to give the transfer. This will be saved with the
31
- # transfer details, displayed in the dashboard, and returned by the API. If
32
- # `individual_name` and `company_name` are not explicitly set by this API, the
33
- # `statement_descriptor` will be sent in those fields to the receiving bank to
34
- # help the customer recognize the transfer. You are highly encouraged to pass
35
- # `individual_name` and `company_name` instead of relying on this fallback.
29
+ # @!attribute company_name
30
+ # The name by which the recipient knows the counterparty of this transaction. If
31
+ # you're processing payments on behalf of another party, use their name, not your
32
+ # own, so that it's more likely the recipient understands the context of the
33
+ # payment. This value is usually displayed to the recipient on their bank
34
+ # statement. We recommend setting this on every transfer; if you do not, we fall
35
+ # back to the `statement_descriptor`.
36
+ #
37
+ # @return [String]
38
+ required :company_name, String
39
+
40
+ # @!attribute individual_name
41
+ # The name of the transfer recipient. This value is informational and generally
42
+ # not verified by the recipient's bank. This value is usually displayed to the
43
+ # recipient on their bank statement. We recommend setting this on every transfer;
44
+ # if you do not, we fall back to the `statement_descriptor`.
36
45
  #
37
46
  # @return [String]
38
- required :statement_descriptor, String
47
+ required :individual_name, String
39
48
 
40
49
  # @!attribute account_number
41
50
  # The receiver's account number. For credit transfers (transfers with a positive
@@ -83,17 +92,6 @@ module Increase
83
92
  # @return [String, nil]
84
93
  optional :company_entry_description, String
85
94
 
86
- # @!attribute company_name
87
- # The name by which the recipient knows the counterparty of this transaction. If
88
- # you're processing payments on behalf of another party, use their name, not your
89
- # own, so that it's more likely the recipient understands the context of the
90
- # payment. This value is usually displayed to the recipient on their bank
91
- # statement. We recommend setting this on every transfer; if you do not, we fall
92
- # back to the `statement_descriptor`.
93
- #
94
- # @return [String, nil]
95
- optional :company_name, String
96
-
97
95
  # @!attribute destination_account_holder
98
96
  # The type of entity that owns the receiver's account.
99
97
  #
@@ -125,15 +123,6 @@ module Increase
125
123
  # @return [String, nil]
126
124
  optional :individual_id, String
127
125
 
128
- # @!attribute individual_name
129
- # The name of the transfer recipient. This value is informational and generally
130
- # not verified by the recipient's bank. This value is usually displayed to the
131
- # recipient on their bank statement. We recommend setting this on every transfer;
132
- # if you do not, we fall back to the `statement_descriptor`.
133
- #
134
- # @return [String, nil]
135
- optional :individual_name, String
136
-
137
126
  # @!attribute preferred_effective_date
138
127
  # Configuration for how the effective date of the transfer will be set. This
139
128
  # determines same-day vs future-dated settlement timing. If not set, defaults to a
@@ -166,7 +155,7 @@ module Increase
166
155
  optional :standard_entry_class_code,
167
156
  enum: -> { Increase::ACHTransferCreateParams::StandardEntryClassCode }
168
157
 
169
- # @!method initialize(account_id:, amount:, statement_descriptor:, account_number: nil, addenda: nil, company_descriptive_date: nil, company_discretionary_data: nil, company_entry_description: nil, company_name: nil, destination_account_holder: nil, external_account_id: nil, funding: nil, individual_id: nil, individual_name: nil, preferred_effective_date: nil, require_approval: nil, routing_number: nil, standard_entry_class_code: nil, request_options: {})
158
+ # @!method initialize(account_id:, amount:, company_name:, individual_name:, account_number: nil, addenda: nil, company_descriptive_date: nil, company_discretionary_data: nil, company_entry_description: nil, destination_account_holder: nil, external_account_id: nil, funding: nil, individual_id: nil, preferred_effective_date: nil, require_approval: nil, routing_number: nil, standard_entry_class_code: nil, request_options: {})
170
159
  # @param account_id [String]
171
160
  # The Increase identifier for the account that will originate the transfer. For
172
161
  # credit transfers (transfers with a positive `amount`), this is the account that
@@ -180,13 +169,19 @@ module Increase
180
169
  # into Increase. Debit transfers
181
170
  # [might result in a hold before funds are available](/documentation/sending-ach-debit-transfers).
182
171
  #
183
- # @param statement_descriptor [String]
184
- # A description you choose to give the transfer. This will be saved with the
185
- # transfer details, displayed in the dashboard, and returned by the API. If
186
- # `individual_name` and `company_name` are not explicitly set by this API, the
187
- # `statement_descriptor` will be sent in those fields to the receiving bank to
188
- # help the customer recognize the transfer. You are highly encouraged to pass
189
- # `individual_name` and `company_name` instead of relying on this fallback.
172
+ # @param company_name [String]
173
+ # The name by which the recipient knows the counterparty of this transaction. If
174
+ # you're processing payments on behalf of another party, use their name, not your
175
+ # own, so that it's more likely the recipient understands the context of the
176
+ # payment. This value is usually displayed to the recipient on their bank
177
+ # statement. We recommend setting this on every transfer; if you do not, we fall
178
+ # back to the `statement_descriptor`.
179
+ #
180
+ # @param individual_name [String]
181
+ # The name of the transfer recipient. This value is informational and generally
182
+ # not verified by the recipient's bank. This value is usually displayed to the
183
+ # recipient on their bank statement. We recommend setting this on every transfer;
184
+ # if you do not, we fall back to the `statement_descriptor`.
190
185
  #
191
186
  # @param account_number [String]
192
187
  # The receiver's account number. For credit transfers (transfers with a positive
@@ -219,14 +214,6 @@ module Increase
219
214
  # code and use case. For example, some use cases require constants like
220
215
  # `ACCTVERIFY`, `PURCHASE`, `PAYROLL`, or `REVERSAL`.
221
216
  #
222
- # @param company_name [String]
223
- # The name by which the recipient knows the counterparty of this transaction. If
224
- # you're processing payments on behalf of another party, use their name, not your
225
- # own, so that it's more likely the recipient understands the context of the
226
- # payment. This value is usually displayed to the recipient on their bank
227
- # statement. We recommend setting this on every transfer; if you do not, we fall
228
- # back to the `statement_descriptor`.
229
- #
230
217
  # @param destination_account_holder [Symbol, Increase::Models::ACHTransferCreateParams::DestinationAccountHolder]
231
218
  # The type of entity that owns the receiver's account.
232
219
  #
@@ -245,12 +232,6 @@ module Increase
245
232
  # unset. For the specific case of person-to-person credits with the WEB standard
246
233
  # entry class code, this must include the name of the payer.
247
234
  #
248
- # @param individual_name [String]
249
- # The name of the transfer recipient. This value is informational and generally
250
- # not verified by the recipient's bank. This value is usually displayed to the
251
- # recipient on their bank statement. We recommend setting this on every transfer;
252
- # if you do not, we fall back to the `statement_descriptor`.
253
- #
254
235
  # @param preferred_effective_date [Increase::Models::ACHTransferCreateParams::PreferredEffectiveDate]
255
236
  # Configuration for how the effective date of the transfer will be set. This
256
237
  # determines same-day vs future-dated settlement timing. If not set, defaults to a
@@ -20,7 +20,9 @@ module Increase
20
20
  optional :authorization_controls, -> { Increase::CardCreateParams::AuthorizationControls }
21
21
 
22
22
  # @!attribute billing_address
23
- # The card's billing address.
23
+ # The card's billing address. This is used in card authorizations to
24
+ # [validate the address provided by the acquirer](/documentation/address-verification-system-codes-and-overrides).
25
+ # If not provided, the address associated with the account's entity will be used.
24
26
  #
25
27
  # @return [Increase::Models::CardCreateParams::BillingAddress, nil]
26
28
  optional :billing_address, -> { Increase::CardCreateParams::BillingAddress }
@@ -68,7 +70,10 @@ module Increase
68
70
  # @param authorization_controls [Increase::Models::CardCreateParams::AuthorizationControls]
69
71
  # Controls that restrict how this card can be used.
70
72
  #
71
- # @param billing_address [Increase::Models::CardCreateParams::BillingAddress] The card's billing address.
73
+ # @param billing_address [Increase::Models::CardCreateParams::BillingAddress]
74
+ # The card's billing address. This is used in card authorizations to
75
+ # [validate the address provided by the acquirer](/documentation/address-verification-system-codes-and-overrides).
76
+ # If not provided, the address associated with the account's entity will be used.
72
77
  #
73
78
  # @param cardholder_name [Increase::Models::CardCreateParams::CardholderName]
74
79
  # The name of the cardholder. Used to respond to Account Name Inquiry requests
@@ -528,7 +533,9 @@ module Increase
528
533
  optional :line2, String
529
534
 
530
535
  # @!method initialize(city:, line1:, postal_code:, state:, line2: nil)
531
- # The card's billing address.
536
+ # The card's billing address. This is used in card authorizations to
537
+ # [validate the address provided by the acquirer](/documentation/address-verification-system-codes-and-overrides).
538
+ # If not provided, the address associated with the account's entity will be used.
532
539
  #
533
540
  # @param city [String] The city of the billing address.
534
541
  #
@@ -10120,6 +10120,9 @@ module Increase
10120
10120
  # Electric vehicle charging level 3 480 volt
10121
10121
  ELECTRIC_VEHICLE_CHARGING_LEVEL_3_480_VOLT = :electric_vehicle_charging_level_3_480_volt
10122
10122
 
10123
+ # Diesel 1 off-road non-taxable
10124
+ DIESEL_1_OFF_ROAD_NON_TAXABLE = :diesel_1_off_road_non_taxable
10125
+
10123
10126
  # Renewable diesel R95 or greater off-road non-taxable
10124
10127
  RENEWABLE_DIESEL_R95_OR_GREATER_OFF_ROAD_NON_TAXABLE =
10125
10128
  :renewable_diesel_r95_or_greater_off_road_non_taxable
@@ -12859,6 +12862,9 @@ module Increase
12859
12862
  # Electric vehicle charging level 3 480 volt
12860
12863
  ELECTRIC_VEHICLE_CHARGING_LEVEL_3_480_VOLT = :electric_vehicle_charging_level_3_480_volt
12861
12864
 
12865
+ # Diesel 1 off-road non-taxable
12866
+ DIESEL_1_OFF_ROAD_NON_TAXABLE = :diesel_1_off_road_non_taxable
12867
+
12862
12868
  # Renewable diesel R95 or greater off-road non-taxable
12863
12869
  RENEWABLE_DIESEL_R95_OR_GREATER_OFF_ROAD_NON_TAXABLE =
12864
12870
  :renewable_diesel_r95_or_greater_off_road_non_taxable
@@ -20,7 +20,9 @@ module Increase
20
20
  optional :authorization_controls, -> { Increase::CardUpdateParams::AuthorizationControls }
21
21
 
22
22
  # @!attribute billing_address
23
- # The card's updated billing address.
23
+ # The card's billing address. This is used in card authorizations to
24
+ # [validate the address provided by the acquirer](/documentation/address-verification-system-codes-and-overrides).
25
+ # If not provided, the address associated with the account's entity will be used.
24
26
  #
25
27
  # @return [Increase::Models::CardUpdateParams::BillingAddress, nil]
26
28
  optional :billing_address, -> { Increase::CardUpdateParams::BillingAddress }
@@ -59,7 +61,9 @@ module Increase
59
61
  # Controls that restrict how this card can be used.
60
62
  #
61
63
  # @param billing_address [Increase::Models::CardUpdateParams::BillingAddress]
62
- # The card's updated billing address.
64
+ # The card's billing address. This is used in card authorizations to
65
+ # [validate the address provided by the acquirer](/documentation/address-verification-system-codes-and-overrides).
66
+ # If not provided, the address associated with the account's entity will be used.
63
67
  #
64
68
  # @param description [String] The description you choose to give the card.
65
69
  #
@@ -511,7 +515,9 @@ module Increase
511
515
  optional :line2, String
512
516
 
513
517
  # @!method initialize(city:, line1:, postal_code:, state:, line2: nil)
514
- # The card's updated billing address.
518
+ # The card's billing address. This is used in card authorizations to
519
+ # [validate the address provided by the acquirer](/documentation/address-verification-system-codes-and-overrides).
520
+ # If not provided, the address associated with the account's entity will be used.
515
521
  #
516
522
  # @param city [String] The city of the billing address.
517
523
  #
@@ -533,18 +539,20 @@ module Increase
533
539
 
534
540
  # @!attribute email
535
541
  # An email address that can be used to verify the cardholder via one-time passcode
536
- # over email.
542
+ # over email. Send `null` to clear the email address. Omit this field to leave it
543
+ # unchanged.
537
544
  #
538
545
  # @return [String, nil]
539
- optional :email, String
546
+ optional :email, String, nil?: true
540
547
 
541
548
  # @!attribute phone
542
549
  # A phone number that can be used to verify the cardholder via one-time passcode
543
550
  # over SMS. Accepts formats like `+14155550123`, `4155550123`, `415-555-0123`, or
544
- # `(415) 555-0123`.
551
+ # `(415) 555-0123`. Send `null` to clear the phone number. Omit this field to
552
+ # leave it unchanged.
545
553
  #
546
554
  # @return [String, nil]
547
- optional :phone, String
555
+ optional :phone, String, nil?: true
548
556
 
549
557
  # @!method initialize(digital_card_profile_id: nil, email: nil, phone: nil)
550
558
  # The contact information used in the two-factor steps for digital wallet card
@@ -553,14 +561,16 @@ module Increase
553
561
  #
554
562
  # @param digital_card_profile_id [String] The digital card profile assigned to this digital card.
555
563
  #
556
- # @param email [String]
564
+ # @param email [String, nil]
557
565
  # An email address that can be used to verify the cardholder via one-time passcode
558
- # over email.
566
+ # over email. Send `null` to clear the email address. Omit this field to leave it
567
+ # unchanged.
559
568
  #
560
- # @param phone [String]
569
+ # @param phone [String, nil]
561
570
  # A phone number that can be used to verify the cardholder via one-time passcode
562
571
  # over SMS. Accepts formats like `+14155550123`, `4155550123`, `415-555-0123`, or
563
- # `(415) 555-0123`.
572
+ # `(415) 555-0123`. Send `null` to clear the phone number. Omit this field to
573
+ # leave it unchanged.
564
574
  end
565
575
 
566
576
  # The status to update the Card with.
@@ -0,0 +1,352 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Increase
4
+ module Models
5
+ # @see Increase::Resources::Checkbooks#create
6
+ class Checkbook < Increase::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The Checkbook's identifier.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute account_number_id
14
+ # The identifier of the Account Number the Checkbook is attached to.
15
+ #
16
+ # @return [String]
17
+ required :account_number_id, String
18
+
19
+ # @!attribute created_at
20
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
21
+ # the Checkbook was created.
22
+ #
23
+ # @return [Time]
24
+ required :created_at, Time
25
+
26
+ # @!attribute idempotency_key
27
+ # The idempotency key you chose for this object. This value is unique across
28
+ # Increase and is used to ensure that a request is only processed once. Learn more
29
+ # about [idempotency](https://increase.com/documentation/idempotency-keys).
30
+ #
31
+ # @return [String, nil]
32
+ required :idempotency_key, String, nil?: true
33
+
34
+ # @!attribute mailing_address
35
+ # The destination address that the Checkbook will be mailed to.
36
+ #
37
+ # @return [Increase::Models::Checkbook::MailingAddress]
38
+ required :mailing_address, -> { Increase::Checkbook::MailingAddress }
39
+
40
+ # @!attribute payer
41
+ # The payer information printed on the top-left corner of each check.
42
+ #
43
+ # @return [Array<Increase::Models::Checkbook::Payer>]
44
+ required :payer, -> { Increase::Internal::Type::ArrayOf[Increase::Checkbook::Payer] }
45
+
46
+ # @!attribute return_address
47
+ # The address the Checkbook will return to if there is a delivery issue.
48
+ #
49
+ # @return [Increase::Models::Checkbook::ReturnAddress]
50
+ required :return_address, -> { Increase::Checkbook::ReturnAddress }
51
+
52
+ # @!attribute status
53
+ # The lifecycle status of the Checkbook.
54
+ #
55
+ # @return [Symbol, Increase::Models::Checkbook::Status]
56
+ required :status, enum: -> { Increase::Checkbook::Status }
57
+
58
+ # @!attribute style
59
+ # The physical format of the Checkbook.
60
+ #
61
+ # @return [Symbol, Increase::Models::Checkbook::Style]
62
+ required :style, enum: -> { Increase::Checkbook::Style }
63
+
64
+ # @!attribute tracking_updates
65
+ # Tracking updates relating to the Checkbook's delivery.
66
+ #
67
+ # @return [Array<Increase::Models::Checkbook::TrackingUpdate>]
68
+ required :tracking_updates, -> { Increase::Internal::Type::ArrayOf[Increase::Checkbook::TrackingUpdate] }
69
+
70
+ # @!attribute type
71
+ # A constant representing the object's type. For this resource it will always be
72
+ # `checkbook`.
73
+ #
74
+ # @return [Symbol, Increase::Models::Checkbook::Type]
75
+ required :type, enum: -> { Increase::Checkbook::Type }
76
+
77
+ # @!method initialize(id:, account_number_id:, created_at:, idempotency_key:, mailing_address:, payer:, return_address:, status:, style:, tracking_updates:, type:)
78
+ # Checkbooks are sets of blank checks that Increase prints and mails on your
79
+ # behalf.
80
+ #
81
+ # @param id [String] The Checkbook's identifier.
82
+ #
83
+ # @param account_number_id [String] The identifier of the Account Number the Checkbook is attached to.
84
+ #
85
+ # @param created_at [Time]
86
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
87
+ # the Checkbook was created.
88
+ #
89
+ # @param idempotency_key [String, nil]
90
+ # The idempotency key you chose for this object. This value is unique across
91
+ # Increase and is used to ensure that a request is only processed once. Learn more
92
+ # about [idempotency](https://increase.com/documentation/idempotency-keys).
93
+ #
94
+ # @param mailing_address [Increase::Models::Checkbook::MailingAddress]
95
+ # The destination address that the Checkbook will be mailed to.
96
+ #
97
+ # @param payer [Array<Increase::Models::Checkbook::Payer>]
98
+ # The payer information printed on the top-left corner of each check.
99
+ #
100
+ # @param return_address [Increase::Models::Checkbook::ReturnAddress]
101
+ # The address the Checkbook will return to if there is a delivery issue.
102
+ #
103
+ # @param status [Symbol, Increase::Models::Checkbook::Status] The lifecycle status of the Checkbook.
104
+ #
105
+ # @param style [Symbol, Increase::Models::Checkbook::Style] The physical format of the Checkbook.
106
+ #
107
+ # @param tracking_updates [Array<Increase::Models::Checkbook::TrackingUpdate>]
108
+ # Tracking updates relating to the Checkbook's delivery.
109
+ #
110
+ # @param type [Symbol, Increase::Models::Checkbook::Type]
111
+ # A constant representing the object's type. For this resource it will always be
112
+ # `checkbook`.
113
+
114
+ # @see Increase::Models::Checkbook#mailing_address
115
+ class MailingAddress < Increase::Internal::Type::BaseModel
116
+ # @!attribute city
117
+ # The city of the destination address.
118
+ #
119
+ # @return [String]
120
+ required :city, String
121
+
122
+ # @!attribute line1
123
+ # The first line of the destination address.
124
+ #
125
+ # @return [String]
126
+ required :line1, String
127
+
128
+ # @!attribute line2
129
+ # The second line of the destination address.
130
+ #
131
+ # @return [String, nil]
132
+ required :line2, String, nil?: true
133
+
134
+ # @!attribute name
135
+ # The recipient at the destination address.
136
+ #
137
+ # @return [String]
138
+ required :name, String
139
+
140
+ # @!attribute postal_code
141
+ # The postal code of the destination address.
142
+ #
143
+ # @return [String]
144
+ required :postal_code, String
145
+
146
+ # @!attribute state
147
+ # The state of the destination address.
148
+ #
149
+ # @return [String]
150
+ required :state, String
151
+
152
+ # @!method initialize(city:, line1:, line2:, name:, postal_code:, state:)
153
+ # The destination address that the Checkbook will be mailed to.
154
+ #
155
+ # @param city [String] The city of the destination address.
156
+ #
157
+ # @param line1 [String] The first line of the destination address.
158
+ #
159
+ # @param line2 [String, nil] The second line of the destination address.
160
+ #
161
+ # @param name [String] The recipient at the destination address.
162
+ #
163
+ # @param postal_code [String] The postal code of the destination address.
164
+ #
165
+ # @param state [String] The state of the destination address.
166
+ end
167
+
168
+ class Payer < Increase::Internal::Type::BaseModel
169
+ # @!attribute contents
170
+ # The contents of the line.
171
+ #
172
+ # @return [String]
173
+ required :contents, String
174
+
175
+ # @!method initialize(contents:)
176
+ # @param contents [String] The contents of the line.
177
+ end
178
+
179
+ # @see Increase::Models::Checkbook#return_address
180
+ class ReturnAddress < Increase::Internal::Type::BaseModel
181
+ # @!attribute city
182
+ # The city of the return address.
183
+ #
184
+ # @return [String]
185
+ required :city, String
186
+
187
+ # @!attribute line1
188
+ # The first line of the return address.
189
+ #
190
+ # @return [String]
191
+ required :line1, String
192
+
193
+ # @!attribute line2
194
+ # The second line of the return address.
195
+ #
196
+ # @return [String, nil]
197
+ required :line2, String, nil?: true
198
+
199
+ # @!attribute name
200
+ # The recipient at the return address.
201
+ #
202
+ # @return [String]
203
+ required :name, String
204
+
205
+ # @!attribute postal_code
206
+ # The postal code of the return address.
207
+ #
208
+ # @return [String]
209
+ required :postal_code, String
210
+
211
+ # @!attribute state
212
+ # The state of the return address.
213
+ #
214
+ # @return [String]
215
+ required :state, String
216
+
217
+ # @!method initialize(city:, line1:, line2:, name:, postal_code:, state:)
218
+ # The address the Checkbook will return to if there is a delivery issue.
219
+ #
220
+ # @param city [String] The city of the return address.
221
+ #
222
+ # @param line1 [String] The first line of the return address.
223
+ #
224
+ # @param line2 [String, nil] The second line of the return address.
225
+ #
226
+ # @param name [String] The recipient at the return address.
227
+ #
228
+ # @param postal_code [String] The postal code of the return address.
229
+ #
230
+ # @param state [String] The state of the return address.
231
+ end
232
+
233
+ # The lifecycle status of the Checkbook.
234
+ #
235
+ # @see Increase::Models::Checkbook#status
236
+ module Status
237
+ extend Increase::Internal::Type::Enum
238
+
239
+ # The Checkbook is pending submission to the printer.
240
+ PENDING_SUBMISSION = :pending_submission
241
+
242
+ # The Checkbook has been submitted to the printer and is pending mailing.
243
+ PENDING_MAILING = :pending_mailing
244
+
245
+ # The Checkbook has been mailed.
246
+ MAILED = :mailed
247
+
248
+ # The Checkbook has been stopped and its checks can no longer be deposited.
249
+ STOPPED = :stopped
250
+
251
+ # @!method self.values
252
+ # @return [Array<Symbol>]
253
+ end
254
+
255
+ # The physical format of the Checkbook.
256
+ #
257
+ # @see Increase::Models::Checkbook#style
258
+ module Style
259
+ extend Increase::Internal::Type::Enum
260
+
261
+ # A half-inch three-ring binder holding 75 pages of checks with 3 checks per page.
262
+ THREE_RING_BINDER = :three_ring_binder
263
+
264
+ # A folder holding 15 pages of checks with 3 checks per page.
265
+ FOLDER = :folder
266
+
267
+ # @!method self.values
268
+ # @return [Array<Symbol>]
269
+ end
270
+
271
+ class TrackingUpdate < Increase::Internal::Type::BaseModel
272
+ # @!attribute category
273
+ # The type of tracking event.
274
+ #
275
+ # @return [Symbol, Increase::Models::Checkbook::TrackingUpdate::Category]
276
+ required :category, enum: -> { Increase::Checkbook::TrackingUpdate::Category }
277
+
278
+ # @!attribute country
279
+ # The ISO 3166-1 alpha-2 country code for the country where the event took place.
280
+ #
281
+ # @return [String]
282
+ required :country, String
283
+
284
+ # @!attribute created_at
285
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
286
+ # the tracking event took place.
287
+ #
288
+ # @return [Time]
289
+ required :created_at, Time
290
+
291
+ # @!attribute postal_code
292
+ # The postal code where the event took place.
293
+ #
294
+ # @return [String]
295
+ required :postal_code, String
296
+
297
+ # @!method initialize(category:, country:, created_at:, postal_code:)
298
+ # @param category [Symbol, Increase::Models::Checkbook::TrackingUpdate::Category]
299
+ # The type of tracking event.
300
+ #
301
+ # @param country [String] The ISO 3166-1 alpha-2 country code for the country where the event took place.
302
+ #
303
+ # @param created_at [Time]
304
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
305
+ # the tracking event took place.
306
+ #
307
+ # @param postal_code [String] The postal code where the event took place.
308
+
309
+ # The type of tracking event.
310
+ #
311
+ # @see Increase::Models::Checkbook::TrackingUpdate#category
312
+ module Category
313
+ extend Increase::Internal::Type::Enum
314
+
315
+ # The checkbook is in transit.
316
+ IN_TRANSIT = :in_transit
317
+
318
+ # The checkbook has been processed for delivery.
319
+ PROCESSED_FOR_DELIVERY = :processed_for_delivery
320
+
321
+ # The checkbook has been delivered. Note that some couriers track delivery status based on driver location data rather than an explicit scan. While uncommon, a single checkbook may have more than one delivered event.
322
+ DELIVERED = :delivered
323
+
324
+ # There is an issue preventing delivery. The delivery will be attempted again if possible. If the issue cannot be resolved, the checkbook will be rerouted to the return address.
325
+ DELIVERY_ISSUE = :delivery_issue
326
+
327
+ # The checkbook has been rerouted to the return address.
328
+ RETURNING_TO_SENDER = :returning_to_sender
329
+
330
+ # The checkbook has been delivered to the return address.
331
+ RETURNED_TO_SENDER = :returned_to_sender
332
+
333
+ # @!method self.values
334
+ # @return [Array<Symbol>]
335
+ end
336
+ end
337
+
338
+ # A constant representing the object's type. For this resource it will always be
339
+ # `checkbook`.
340
+ #
341
+ # @see Increase::Models::Checkbook#type
342
+ module Type
343
+ extend Increase::Internal::Type::Enum
344
+
345
+ CHECKBOOK = :checkbook
346
+
347
+ # @!method self.values
348
+ # @return [Array<Symbol>]
349
+ end
350
+ end
351
+ end
352
+ end