stigg 0.1.0.pre.alpha.1

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 (230) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +45 -0
  4. data/README.md +233 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/stigg/client.rb +72 -0
  7. data/lib/stigg/errors.rb +228 -0
  8. data/lib/stigg/file_part.rb +58 -0
  9. data/lib/stigg/internal/my_cursor_id_page.rb +82 -0
  10. data/lib/stigg/internal/transport/base_client.rb +570 -0
  11. data/lib/stigg/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/stigg/internal/type/array_of.rb +168 -0
  13. data/lib/stigg/internal/type/base_model.rb +529 -0
  14. data/lib/stigg/internal/type/base_page.rb +55 -0
  15. data/lib/stigg/internal/type/boolean.rb +77 -0
  16. data/lib/stigg/internal/type/converter.rb +327 -0
  17. data/lib/stigg/internal/type/enum.rb +131 -0
  18. data/lib/stigg/internal/type/file_input.rb +110 -0
  19. data/lib/stigg/internal/type/hash_of.rb +188 -0
  20. data/lib/stigg/internal/type/request_parameters.rb +42 -0
  21. data/lib/stigg/internal/type/union.rb +237 -0
  22. data/lib/stigg/internal/type/unknown.rb +81 -0
  23. data/lib/stigg/internal/util.rb +920 -0
  24. data/lib/stigg/internal.rb +20 -0
  25. data/lib/stigg/models/v1/coupon_create_params.rb +221 -0
  26. data/lib/stigg/models/v1/coupon_create_response.rb +317 -0
  27. data/lib/stigg/models/v1/coupon_list_params.rb +40 -0
  28. data/lib/stigg/models/v1/coupon_list_response.rb +324 -0
  29. data/lib/stigg/models/v1/coupon_retrieve_params.rb +16 -0
  30. data/lib/stigg/models/v1/coupon_retrieve_response.rb +317 -0
  31. data/lib/stigg/models/v1/customer_archive_params.rb +16 -0
  32. data/lib/stigg/models/v1/customer_create_params.rb +185 -0
  33. data/lib/stigg/models/v1/customer_list_params.rb +40 -0
  34. data/lib/stigg/models/v1/customer_list_response.rb +223 -0
  35. data/lib/stigg/models/v1/customer_response.rb +216 -0
  36. data/lib/stigg/models/v1/customer_retrieve_params.rb +16 -0
  37. data/lib/stigg/models/v1/customer_unarchive_params.rb +16 -0
  38. data/lib/stigg/models/v1/customer_update_params.rb +107 -0
  39. data/lib/stigg/models/v1/customers/payment_method_attach_params.rb +197 -0
  40. data/lib/stigg/models/v1/customers/payment_method_detach_params.rb +18 -0
  41. data/lib/stigg/models/v1/customers/promotional_create_params.rb +294 -0
  42. data/lib/stigg/models/v1/customers/promotional_create_response.rb +268 -0
  43. data/lib/stigg/models/v1/customers/promotional_revoke_params.rb +24 -0
  44. data/lib/stigg/models/v1/customers/promotional_revoke_response.rb +268 -0
  45. data/lib/stigg/models/v1/customers/usage_retrieve_params.rb +56 -0
  46. data/lib/stigg/models/v1/customers/usage_retrieve_response.rb +145 -0
  47. data/lib/stigg/models/v1/subscription_create_params.rb +214 -0
  48. data/lib/stigg/models/v1/subscription_create_response.rb +338 -0
  49. data/lib/stigg/models/v1/subscription_delegate_params.rb +24 -0
  50. data/lib/stigg/models/v1/subscription_delegate_response.rb +274 -0
  51. data/lib/stigg/models/v1/subscription_list_params.rb +60 -0
  52. data/lib/stigg/models/v1/subscription_list_response.rb +281 -0
  53. data/lib/stigg/models/v1/subscription_migrate_params.rb +37 -0
  54. data/lib/stigg/models/v1/subscription_migrate_response.rb +274 -0
  55. data/lib/stigg/models/v1/subscription_preview_params.rb +644 -0
  56. data/lib/stigg/models/v1/subscription_preview_response.rb +431 -0
  57. data/lib/stigg/models/v1/subscription_retrieve_params.rb +16 -0
  58. data/lib/stigg/models/v1/subscription_retrieve_response.rb +274 -0
  59. data/lib/stigg/models/v1/subscription_transfer_params.rb +28 -0
  60. data/lib/stigg/models/v1/subscription_transfer_response.rb +274 -0
  61. data/lib/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_params.rb +18 -0
  62. data/lib/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rb +32 -0
  63. data/lib/stigg/models/v1/subscriptions/future_update_cancel_schedule_params.rb +18 -0
  64. data/lib/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rb +32 -0
  65. data/lib/stigg/models/v1_create_event_params.rb +87 -0
  66. data/lib/stigg/models/v1_create_event_response.rb +16 -0
  67. data/lib/stigg/models/v1_create_usage_params.rb +96 -0
  68. data/lib/stigg/models/v1_create_usage_response.rb +112 -0
  69. data/lib/stigg/models.rb +47 -0
  70. data/lib/stigg/request_options.rb +77 -0
  71. data/lib/stigg/resources/v1/coupons.rb +95 -0
  72. data/lib/stigg/resources/v1/customers/payment_method.rb +67 -0
  73. data/lib/stigg/resources/v1/customers/promotional.rb +69 -0
  74. data/lib/stigg/resources/v1/customers/usage.rb +59 -0
  75. data/lib/stigg/resources/v1/customers.rb +177 -0
  76. data/lib/stigg/resources/v1/subscriptions/future_update.rb +56 -0
  77. data/lib/stigg/resources/v1/subscriptions.rb +241 -0
  78. data/lib/stigg/resources/v1.rb +70 -0
  79. data/lib/stigg/version.rb +5 -0
  80. data/lib/stigg.rb +108 -0
  81. data/manifest.yaml +17 -0
  82. data/rbi/stigg/client.rbi +49 -0
  83. data/rbi/stigg/errors.rbi +205 -0
  84. data/rbi/stigg/file_part.rbi +37 -0
  85. data/rbi/stigg/internal/my_cursor_id_page.rbi +19 -0
  86. data/rbi/stigg/internal/transport/base_client.rbi +297 -0
  87. data/rbi/stigg/internal/transport/pooled_net_requester.rbi +82 -0
  88. data/rbi/stigg/internal/type/array_of.rbi +104 -0
  89. data/rbi/stigg/internal/type/base_model.rbi +299 -0
  90. data/rbi/stigg/internal/type/base_page.rbi +42 -0
  91. data/rbi/stigg/internal/type/boolean.rbi +58 -0
  92. data/rbi/stigg/internal/type/converter.rbi +204 -0
  93. data/rbi/stigg/internal/type/enum.rbi +82 -0
  94. data/rbi/stigg/internal/type/file_input.rbi +58 -0
  95. data/rbi/stigg/internal/type/hash_of.rbi +104 -0
  96. data/rbi/stigg/internal/type/request_parameters.rbi +29 -0
  97. data/rbi/stigg/internal/type/union.rbi +126 -0
  98. data/rbi/stigg/internal/type/unknown.rbi +58 -0
  99. data/rbi/stigg/internal/util.rbi +478 -0
  100. data/rbi/stigg/internal.rbi +16 -0
  101. data/rbi/stigg/models/v1/coupon_create_params.rbi +758 -0
  102. data/rbi/stigg/models/v1/coupon_create_response.rbi +986 -0
  103. data/rbi/stigg/models/v1/coupon_list_params.rbi +70 -0
  104. data/rbi/stigg/models/v1/coupon_list_response.rbi +983 -0
  105. data/rbi/stigg/models/v1/coupon_retrieve_params.rbi +29 -0
  106. data/rbi/stigg/models/v1/coupon_retrieve_response.rbi +986 -0
  107. data/rbi/stigg/models/v1/customer_archive_params.rbi +29 -0
  108. data/rbi/stigg/models/v1/customer_create_params.rbi +376 -0
  109. data/rbi/stigg/models/v1/customer_list_params.rbi +70 -0
  110. data/rbi/stigg/models/v1/customer_list_response.rbi +447 -0
  111. data/rbi/stigg/models/v1/customer_response.rbi +423 -0
  112. data/rbi/stigg/models/v1/customer_retrieve_params.rbi +29 -0
  113. data/rbi/stigg/models/v1/customer_unarchive_params.rbi +29 -0
  114. data/rbi/stigg/models/v1/customer_update_params.rbi +226 -0
  115. data/rbi/stigg/models/v1/customers/payment_method_attach_params.rbi +769 -0
  116. data/rbi/stigg/models/v1/customers/payment_method_detach_params.rbi +34 -0
  117. data/rbi/stigg/models/v1/customers/promotional_create_params.rbi +639 -0
  118. data/rbi/stigg/models/v1/customers/promotional_create_response.rbi +495 -0
  119. data/rbi/stigg/models/v1/customers/promotional_revoke_params.rbi +42 -0
  120. data/rbi/stigg/models/v1/customers/promotional_revoke_response.rbi +497 -0
  121. data/rbi/stigg/models/v1/customers/usage_retrieve_params.rbi +84 -0
  122. data/rbi/stigg/models/v1/customers/usage_retrieve_response.rbi +353 -0
  123. data/rbi/stigg/models/v1/subscription_create_params.rbi +394 -0
  124. data/rbi/stigg/models/v1/subscription_create_response.rbi +668 -0
  125. data/rbi/stigg/models/v1/subscription_delegate_params.rbi +48 -0
  126. data/rbi/stigg/models/v1/subscription_delegate_response.rbi +535 -0
  127. data/rbi/stigg/models/v1/subscription_list_params.rbi +94 -0
  128. data/rbi/stigg/models/v1/subscription_list_response.rbi +543 -0
  129. data/rbi/stigg/models/v1/subscription_migrate_params.rbi +99 -0
  130. data/rbi/stigg/models/v1/subscription_migrate_response.rbi +535 -0
  131. data/rbi/stigg/models/v1/subscription_preview_params.rbi +1786 -0
  132. data/rbi/stigg/models/v1/subscription_preview_response.rbi +929 -0
  133. data/rbi/stigg/models/v1/subscription_retrieve_params.rbi +32 -0
  134. data/rbi/stigg/models/v1/subscription_retrieve_response.rbi +535 -0
  135. data/rbi/stigg/models/v1/subscription_transfer_params.rbi +50 -0
  136. data/rbi/stigg/models/v1/subscription_transfer_response.rbi +535 -0
  137. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_params.rbi +34 -0
  138. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rbi +79 -0
  139. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_schedule_params.rbi +34 -0
  140. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rbi +79 -0
  141. data/rbi/stigg/models/v1_create_event_params.rbi +160 -0
  142. data/rbi/stigg/models/v1_create_event_response.rbi +23 -0
  143. data/rbi/stigg/models/v1_create_usage_params.rbi +177 -0
  144. data/rbi/stigg/models/v1_create_usage_response.rbi +150 -0
  145. data/rbi/stigg/models.rbi +9 -0
  146. data/rbi/stigg/request_options.rbi +55 -0
  147. data/rbi/stigg/resources/v1/coupons.rbi +79 -0
  148. data/rbi/stigg/resources/v1/customers/payment_method.rbi +54 -0
  149. data/rbi/stigg/resources/v1/customers/promotional.rbi +53 -0
  150. data/rbi/stigg/resources/v1/customers/usage.rbi +45 -0
  151. data/rbi/stigg/resources/v1/customers.rbi +138 -0
  152. data/rbi/stigg/resources/v1/subscriptions/future_update.rbi +40 -0
  153. data/rbi/stigg/resources/v1/subscriptions.rbi +199 -0
  154. data/rbi/stigg/resources/v1.rbi +49 -0
  155. data/rbi/stigg/version.rbi +5 -0
  156. data/sig/stigg/client.rbs +26 -0
  157. data/sig/stigg/errors.rbs +117 -0
  158. data/sig/stigg/file_part.rbs +21 -0
  159. data/sig/stigg/internal/my_cursor_id_page.rbs +11 -0
  160. data/sig/stigg/internal/transport/base_client.rbs +133 -0
  161. data/sig/stigg/internal/transport/pooled_net_requester.rbs +48 -0
  162. data/sig/stigg/internal/type/array_of.rbs +48 -0
  163. data/sig/stigg/internal/type/base_model.rbs +102 -0
  164. data/sig/stigg/internal/type/base_page.rbs +24 -0
  165. data/sig/stigg/internal/type/boolean.rbs +26 -0
  166. data/sig/stigg/internal/type/converter.rbs +79 -0
  167. data/sig/stigg/internal/type/enum.rbs +32 -0
  168. data/sig/stigg/internal/type/file_input.rbs +25 -0
  169. data/sig/stigg/internal/type/hash_of.rbs +48 -0
  170. data/sig/stigg/internal/type/request_parameters.rbs +17 -0
  171. data/sig/stigg/internal/type/union.rbs +52 -0
  172. data/sig/stigg/internal/type/unknown.rbs +26 -0
  173. data/sig/stigg/internal/util.rbs +185 -0
  174. data/sig/stigg/internal.rbs +9 -0
  175. data/sig/stigg/models/v1/coupon_create_params.rbs +323 -0
  176. data/sig/stigg/models/v1/coupon_create_response.rbs +392 -0
  177. data/sig/stigg/models/v1/coupon_list_params.rbs +40 -0
  178. data/sig/stigg/models/v1/coupon_list_response.rbs +399 -0
  179. data/sig/stigg/models/v1/coupon_retrieve_params.rbs +17 -0
  180. data/sig/stigg/models/v1/coupon_retrieve_response.rbs +394 -0
  181. data/sig/stigg/models/v1/customer_archive_params.rbs +17 -0
  182. data/sig/stigg/models/v1/customer_create_params.rbs +169 -0
  183. data/sig/stigg/models/v1/customer_list_params.rbs +40 -0
  184. data/sig/stigg/models/v1/customer_list_response.rbs +198 -0
  185. data/sig/stigg/models/v1/customer_response.rbs +188 -0
  186. data/sig/stigg/models/v1/customer_retrieve_params.rbs +17 -0
  187. data/sig/stigg/models/v1/customer_unarchive_params.rbs +17 -0
  188. data/sig/stigg/models/v1/customer_update_params.rbs +110 -0
  189. data/sig/stigg/models/v1/customers/payment_method_attach_params.rbs +315 -0
  190. data/sig/stigg/models/v1/customers/payment_method_detach_params.rbs +19 -0
  191. data/sig/stigg/models/v1/customers/promotional_create_params.rbs +234 -0
  192. data/sig/stigg/models/v1/customers/promotional_create_response.rbs +209 -0
  193. data/sig/stigg/models/v1/customers/promotional_revoke_params.rbs +27 -0
  194. data/sig/stigg/models/v1/customers/promotional_revoke_response.rbs +209 -0
  195. data/sig/stigg/models/v1/customers/usage_retrieve_params.rbs +54 -0
  196. data/sig/stigg/models/v1/customers/usage_retrieve_response.rbs +134 -0
  197. data/sig/stigg/models/v1/subscription_create_params.rbs +199 -0
  198. data/sig/stigg/models/v1/subscription_create_response.rbs +283 -0
  199. data/sig/stigg/models/v1/subscription_delegate_params.rbs +26 -0
  200. data/sig/stigg/models/v1/subscription_delegate_response.rbs +224 -0
  201. data/sig/stigg/models/v1/subscription_list_params.rbs +58 -0
  202. data/sig/stigg/models/v1/subscription_list_response.rbs +229 -0
  203. data/sig/stigg/models/v1/subscription_migrate_params.rbs +43 -0
  204. data/sig/stigg/models/v1/subscription_migrate_response.rbs +224 -0
  205. data/sig/stigg/models/v1/subscription_preview_params.rbs +821 -0
  206. data/sig/stigg/models/v1/subscription_preview_response.rbs +466 -0
  207. data/sig/stigg/models/v1/subscription_retrieve_params.rbs +17 -0
  208. data/sig/stigg/models/v1/subscription_retrieve_response.rbs +224 -0
  209. data/sig/stigg/models/v1/subscription_transfer_params.rbs +26 -0
  210. data/sig/stigg/models/v1/subscription_transfer_response.rbs +224 -0
  211. data/sig/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_params.rbs +19 -0
  212. data/sig/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rbs +34 -0
  213. data/sig/stigg/models/v1/subscriptions/future_update_cancel_schedule_params.rbs +19 -0
  214. data/sig/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rbs +34 -0
  215. data/sig/stigg/models/v1_create_event_params.rbs +80 -0
  216. data/sig/stigg/models/v1_create_event_response.rbs +13 -0
  217. data/sig/stigg/models/v1_create_usage_params.rbs +90 -0
  218. data/sig/stigg/models/v1_create_usage_response.rbs +85 -0
  219. data/sig/stigg/models.rbs +7 -0
  220. data/sig/stigg/request_options.rbs +34 -0
  221. data/sig/stigg/resources/v1/coupons.rbs +32 -0
  222. data/sig/stigg/resources/v1/customers/payment_method.rbs +25 -0
  223. data/sig/stigg/resources/v1/customers/promotional.rbs +23 -0
  224. data/sig/stigg/resources/v1/customers/usage.rbs +21 -0
  225. data/sig/stigg/resources/v1/customers.rbs +58 -0
  226. data/sig/stigg/resources/v1/subscriptions/future_update.rbs +21 -0
  227. data/sig/stigg/resources/v1/subscriptions.rbs +76 -0
  228. data/sig/stigg/resources/v1.rbs +23 -0
  229. data/sig/stigg/version.rbs +3 -0
  230. metadata +301 -0
@@ -0,0 +1,1786 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Models
5
+ module V1
6
+ class SubscriptionPreviewParams < Stigg::Internal::Type::BaseModel
7
+ extend Stigg::Internal::Type::RequestParameters::Converter
8
+ include Stigg::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Stigg::V1::SubscriptionPreviewParams,
14
+ Stigg::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # Customer ID
19
+ sig { returns(String) }
20
+ attr_accessor :customer_id
21
+
22
+ # Plan ID
23
+ sig { returns(String) }
24
+ attr_accessor :plan_id
25
+
26
+ sig do
27
+ returns(
28
+ T.nilable(T::Array[Stigg::V1::SubscriptionPreviewParams::Addon])
29
+ )
30
+ end
31
+ attr_reader :addons
32
+
33
+ sig do
34
+ params(
35
+ addons:
36
+ T::Array[Stigg::V1::SubscriptionPreviewParams::Addon::OrHash]
37
+ ).void
38
+ end
39
+ attr_writer :addons
40
+
41
+ sig do
42
+ returns(
43
+ T.nilable(Stigg::V1::SubscriptionPreviewParams::AppliedCoupon)
44
+ )
45
+ end
46
+ attr_reader :applied_coupon
47
+
48
+ sig do
49
+ params(
50
+ applied_coupon:
51
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::OrHash
52
+ ).void
53
+ end
54
+ attr_writer :applied_coupon
55
+
56
+ sig do
57
+ returns(
58
+ T.nilable(
59
+ T::Array[Stigg::V1::SubscriptionPreviewParams::BillableFeature]
60
+ )
61
+ )
62
+ end
63
+ attr_reader :billable_features
64
+
65
+ sig do
66
+ params(
67
+ billable_features:
68
+ T::Array[
69
+ Stigg::V1::SubscriptionPreviewParams::BillableFeature::OrHash
70
+ ]
71
+ ).void
72
+ end
73
+ attr_writer :billable_features
74
+
75
+ sig { returns(T.nilable(String)) }
76
+ attr_reader :billing_country_code
77
+
78
+ sig { params(billing_country_code: String).void }
79
+ attr_writer :billing_country_code
80
+
81
+ sig do
82
+ returns(
83
+ T.nilable(Stigg::V1::SubscriptionPreviewParams::BillingInformation)
84
+ )
85
+ end
86
+ attr_reader :billing_information
87
+
88
+ sig do
89
+ params(
90
+ billing_information:
91
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::OrHash
92
+ ).void
93
+ end
94
+ attr_writer :billing_information
95
+
96
+ sig do
97
+ returns(
98
+ T.nilable(
99
+ Stigg::V1::SubscriptionPreviewParams::BillingPeriod::OrSymbol
100
+ )
101
+ )
102
+ end
103
+ attr_reader :billing_period
104
+
105
+ sig do
106
+ params(
107
+ billing_period:
108
+ Stigg::V1::SubscriptionPreviewParams::BillingPeriod::OrSymbol
109
+ ).void
110
+ end
111
+ attr_writer :billing_period
112
+
113
+ sig do
114
+ returns(
115
+ T.nilable(T::Array[Stigg::V1::SubscriptionPreviewParams::Charge])
116
+ )
117
+ end
118
+ attr_reader :charges
119
+
120
+ sig do
121
+ params(
122
+ charges:
123
+ T::Array[Stigg::V1::SubscriptionPreviewParams::Charge::OrHash]
124
+ ).void
125
+ end
126
+ attr_writer :charges
127
+
128
+ sig { returns(T.nilable(String)) }
129
+ attr_reader :paying_customer_id
130
+
131
+ sig { params(paying_customer_id: String).void }
132
+ attr_writer :paying_customer_id
133
+
134
+ sig { returns(T.nilable(String)) }
135
+ attr_reader :resource_id
136
+
137
+ sig { params(resource_id: String).void }
138
+ attr_writer :resource_id
139
+
140
+ sig do
141
+ returns(
142
+ T.nilable(
143
+ Stigg::V1::SubscriptionPreviewParams::ScheduleStrategy::OrSymbol
144
+ )
145
+ )
146
+ end
147
+ attr_reader :schedule_strategy
148
+
149
+ sig do
150
+ params(
151
+ schedule_strategy:
152
+ Stigg::V1::SubscriptionPreviewParams::ScheduleStrategy::OrSymbol
153
+ ).void
154
+ end
155
+ attr_writer :schedule_strategy
156
+
157
+ # Subscription start date
158
+ sig { returns(T.nilable(Time)) }
159
+ attr_reader :start_date
160
+
161
+ sig { params(start_date: Time).void }
162
+ attr_writer :start_date
163
+
164
+ sig do
165
+ returns(
166
+ T.nilable(
167
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration
168
+ )
169
+ )
170
+ end
171
+ attr_reader :trial_override_configuration
172
+
173
+ sig do
174
+ params(
175
+ trial_override_configuration:
176
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::OrHash
177
+ ).void
178
+ end
179
+ attr_writer :trial_override_configuration
180
+
181
+ sig { returns(T.nilable(Float)) }
182
+ attr_reader :unit_quantity
183
+
184
+ sig { params(unit_quantity: Float).void }
185
+ attr_writer :unit_quantity
186
+
187
+ sig do
188
+ params(
189
+ customer_id: String,
190
+ plan_id: String,
191
+ addons:
192
+ T::Array[Stigg::V1::SubscriptionPreviewParams::Addon::OrHash],
193
+ applied_coupon:
194
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::OrHash,
195
+ billable_features:
196
+ T::Array[
197
+ Stigg::V1::SubscriptionPreviewParams::BillableFeature::OrHash
198
+ ],
199
+ billing_country_code: String,
200
+ billing_information:
201
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::OrHash,
202
+ billing_period:
203
+ Stigg::V1::SubscriptionPreviewParams::BillingPeriod::OrSymbol,
204
+ charges:
205
+ T::Array[Stigg::V1::SubscriptionPreviewParams::Charge::OrHash],
206
+ paying_customer_id: String,
207
+ resource_id: String,
208
+ schedule_strategy:
209
+ Stigg::V1::SubscriptionPreviewParams::ScheduleStrategy::OrSymbol,
210
+ start_date: Time,
211
+ trial_override_configuration:
212
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::OrHash,
213
+ unit_quantity: Float,
214
+ request_options: Stigg::RequestOptions::OrHash
215
+ ).returns(T.attached_class)
216
+ end
217
+ def self.new(
218
+ # Customer ID
219
+ customer_id:,
220
+ # Plan ID
221
+ plan_id:,
222
+ addons: nil,
223
+ applied_coupon: nil,
224
+ billable_features: nil,
225
+ billing_country_code: nil,
226
+ billing_information: nil,
227
+ billing_period: nil,
228
+ charges: nil,
229
+ paying_customer_id: nil,
230
+ resource_id: nil,
231
+ schedule_strategy: nil,
232
+ # Subscription start date
233
+ start_date: nil,
234
+ trial_override_configuration: nil,
235
+ unit_quantity: nil,
236
+ request_options: {}
237
+ )
238
+ end
239
+
240
+ sig do
241
+ override.returns(
242
+ {
243
+ customer_id: String,
244
+ plan_id: String,
245
+ addons: T::Array[Stigg::V1::SubscriptionPreviewParams::Addon],
246
+ applied_coupon:
247
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon,
248
+ billable_features:
249
+ T::Array[Stigg::V1::SubscriptionPreviewParams::BillableFeature],
250
+ billing_country_code: String,
251
+ billing_information:
252
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation,
253
+ billing_period:
254
+ Stigg::V1::SubscriptionPreviewParams::BillingPeriod::OrSymbol,
255
+ charges: T::Array[Stigg::V1::SubscriptionPreviewParams::Charge],
256
+ paying_customer_id: String,
257
+ resource_id: String,
258
+ schedule_strategy:
259
+ Stigg::V1::SubscriptionPreviewParams::ScheduleStrategy::OrSymbol,
260
+ start_date: Time,
261
+ trial_override_configuration:
262
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration,
263
+ unit_quantity: Float,
264
+ request_options: Stigg::RequestOptions
265
+ }
266
+ )
267
+ end
268
+ def to_hash
269
+ end
270
+
271
+ class Addon < Stigg::Internal::Type::BaseModel
272
+ OrHash =
273
+ T.type_alias do
274
+ T.any(
275
+ Stigg::V1::SubscriptionPreviewParams::Addon,
276
+ Stigg::Internal::AnyHash
277
+ )
278
+ end
279
+
280
+ # Addon ID
281
+ sig { returns(String) }
282
+ attr_accessor :addon_id
283
+
284
+ sig { returns(T.nilable(Integer)) }
285
+ attr_reader :quantity
286
+
287
+ sig { params(quantity: Integer).void }
288
+ attr_writer :quantity
289
+
290
+ sig do
291
+ params(addon_id: String, quantity: Integer).returns(
292
+ T.attached_class
293
+ )
294
+ end
295
+ def self.new(
296
+ # Addon ID
297
+ addon_id:,
298
+ quantity: nil
299
+ )
300
+ end
301
+
302
+ sig { override.returns({ addon_id: String, quantity: Integer }) }
303
+ def to_hash
304
+ end
305
+ end
306
+
307
+ class AppliedCoupon < Stigg::Internal::Type::BaseModel
308
+ OrHash =
309
+ T.type_alias do
310
+ T.any(
311
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon,
312
+ Stigg::Internal::AnyHash
313
+ )
314
+ end
315
+
316
+ sig { returns(T.nilable(String)) }
317
+ attr_reader :billing_coupon_id
318
+
319
+ sig { params(billing_coupon_id: String).void }
320
+ attr_writer :billing_coupon_id
321
+
322
+ sig do
323
+ returns(
324
+ T.nilable(
325
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Configuration
326
+ )
327
+ )
328
+ end
329
+ attr_reader :configuration
330
+
331
+ sig do
332
+ params(
333
+ configuration:
334
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Configuration::OrHash
335
+ ).void
336
+ end
337
+ attr_writer :configuration
338
+
339
+ sig { returns(T.nilable(String)) }
340
+ attr_reader :coupon_id
341
+
342
+ sig { params(coupon_id: String).void }
343
+ attr_writer :coupon_id
344
+
345
+ sig do
346
+ returns(
347
+ T.nilable(
348
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount
349
+ )
350
+ )
351
+ end
352
+ attr_reader :discount
353
+
354
+ sig do
355
+ params(
356
+ discount:
357
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::OrHash
358
+ ).void
359
+ end
360
+ attr_writer :discount
361
+
362
+ sig { returns(T.nilable(String)) }
363
+ attr_reader :promotion_code
364
+
365
+ sig { params(promotion_code: String).void }
366
+ attr_writer :promotion_code
367
+
368
+ sig do
369
+ params(
370
+ billing_coupon_id: String,
371
+ configuration:
372
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Configuration::OrHash,
373
+ coupon_id: String,
374
+ discount:
375
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::OrHash,
376
+ promotion_code: String
377
+ ).returns(T.attached_class)
378
+ end
379
+ def self.new(
380
+ billing_coupon_id: nil,
381
+ configuration: nil,
382
+ coupon_id: nil,
383
+ discount: nil,
384
+ promotion_code: nil
385
+ )
386
+ end
387
+
388
+ sig do
389
+ override.returns(
390
+ {
391
+ billing_coupon_id: String,
392
+ configuration:
393
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Configuration,
394
+ coupon_id: String,
395
+ discount:
396
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount,
397
+ promotion_code: String
398
+ }
399
+ )
400
+ end
401
+ def to_hash
402
+ end
403
+
404
+ class Configuration < Stigg::Internal::Type::BaseModel
405
+ OrHash =
406
+ T.type_alias do
407
+ T.any(
408
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Configuration,
409
+ Stigg::Internal::AnyHash
410
+ )
411
+ end
412
+
413
+ # Coupon start date
414
+ sig { returns(T.nilable(Time)) }
415
+ attr_reader :start_date
416
+
417
+ sig { params(start_date: Time).void }
418
+ attr_writer :start_date
419
+
420
+ sig { params(start_date: Time).returns(T.attached_class) }
421
+ def self.new(
422
+ # Coupon start date
423
+ start_date: nil
424
+ )
425
+ end
426
+
427
+ sig { override.returns({ start_date: Time }) }
428
+ def to_hash
429
+ end
430
+ end
431
+
432
+ class Discount < Stigg::Internal::Type::BaseModel
433
+ OrHash =
434
+ T.type_alias do
435
+ T.any(
436
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount,
437
+ Stigg::Internal::AnyHash
438
+ )
439
+ end
440
+
441
+ sig do
442
+ returns(
443
+ T.nilable(
444
+ T::Array[
445
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff
446
+ ]
447
+ )
448
+ )
449
+ end
450
+ attr_accessor :amounts_off
451
+
452
+ sig { returns(T.nilable(String)) }
453
+ attr_reader :description
454
+
455
+ sig { params(description: String).void }
456
+ attr_writer :description
457
+
458
+ sig { returns(T.nilable(Float)) }
459
+ attr_reader :duration_in_months
460
+
461
+ sig { params(duration_in_months: Float).void }
462
+ attr_writer :duration_in_months
463
+
464
+ sig { returns(T.nilable(String)) }
465
+ attr_reader :name
466
+
467
+ sig { params(name: String).void }
468
+ attr_writer :name
469
+
470
+ sig { returns(T.nilable(Float)) }
471
+ attr_reader :percent_off
472
+
473
+ sig { params(percent_off: Float).void }
474
+ attr_writer :percent_off
475
+
476
+ sig do
477
+ params(
478
+ amounts_off:
479
+ T.nilable(
480
+ T::Array[
481
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::OrHash
482
+ ]
483
+ ),
484
+ description: String,
485
+ duration_in_months: Float,
486
+ name: String,
487
+ percent_off: Float
488
+ ).returns(T.attached_class)
489
+ end
490
+ def self.new(
491
+ amounts_off: nil,
492
+ description: nil,
493
+ duration_in_months: nil,
494
+ name: nil,
495
+ percent_off: nil
496
+ )
497
+ end
498
+
499
+ sig do
500
+ override.returns(
501
+ {
502
+ amounts_off:
503
+ T.nilable(
504
+ T::Array[
505
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff
506
+ ]
507
+ ),
508
+ description: String,
509
+ duration_in_months: Float,
510
+ name: String,
511
+ percent_off: Float
512
+ }
513
+ )
514
+ end
515
+ def to_hash
516
+ end
517
+
518
+ class AmountsOff < Stigg::Internal::Type::BaseModel
519
+ OrHash =
520
+ T.type_alias do
521
+ T.any(
522
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff,
523
+ Stigg::Internal::AnyHash
524
+ )
525
+ end
526
+
527
+ sig { returns(Float) }
528
+ attr_accessor :amount
529
+
530
+ sig do
531
+ returns(
532
+ T.nilable(
533
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::OrSymbol
534
+ )
535
+ )
536
+ end
537
+ attr_reader :currency
538
+
539
+ sig do
540
+ params(
541
+ currency:
542
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::OrSymbol
543
+ ).void
544
+ end
545
+ attr_writer :currency
546
+
547
+ sig do
548
+ params(
549
+ amount: Float,
550
+ currency:
551
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::OrSymbol
552
+ ).returns(T.attached_class)
553
+ end
554
+ def self.new(amount:, currency: nil)
555
+ end
556
+
557
+ sig do
558
+ override.returns(
559
+ {
560
+ amount: Float,
561
+ currency:
562
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::OrSymbol
563
+ }
564
+ )
565
+ end
566
+ def to_hash
567
+ end
568
+
569
+ module Currency
570
+ extend Stigg::Internal::Type::Enum
571
+
572
+ TaggedSymbol =
573
+ T.type_alias do
574
+ T.all(
575
+ Symbol,
576
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency
577
+ )
578
+ end
579
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
580
+
581
+ USD =
582
+ T.let(
583
+ :usd,
584
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
585
+ )
586
+ AED =
587
+ T.let(
588
+ :aed,
589
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
590
+ )
591
+ ALL =
592
+ T.let(
593
+ :all,
594
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
595
+ )
596
+ AMD =
597
+ T.let(
598
+ :amd,
599
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
600
+ )
601
+ ANG =
602
+ T.let(
603
+ :ang,
604
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
605
+ )
606
+ AUD =
607
+ T.let(
608
+ :aud,
609
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
610
+ )
611
+ AWG =
612
+ T.let(
613
+ :awg,
614
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
615
+ )
616
+ AZN =
617
+ T.let(
618
+ :azn,
619
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
620
+ )
621
+ BAM =
622
+ T.let(
623
+ :bam,
624
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
625
+ )
626
+ BBD =
627
+ T.let(
628
+ :bbd,
629
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
630
+ )
631
+ BDT =
632
+ T.let(
633
+ :bdt,
634
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
635
+ )
636
+ BGN =
637
+ T.let(
638
+ :bgn,
639
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
640
+ )
641
+ BIF =
642
+ T.let(
643
+ :bif,
644
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
645
+ )
646
+ BMD =
647
+ T.let(
648
+ :bmd,
649
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
650
+ )
651
+ BND =
652
+ T.let(
653
+ :bnd,
654
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
655
+ )
656
+ BSD =
657
+ T.let(
658
+ :bsd,
659
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
660
+ )
661
+ BWP =
662
+ T.let(
663
+ :bwp,
664
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
665
+ )
666
+ BYN =
667
+ T.let(
668
+ :byn,
669
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
670
+ )
671
+ BZD =
672
+ T.let(
673
+ :bzd,
674
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
675
+ )
676
+ BRL =
677
+ T.let(
678
+ :brl,
679
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
680
+ )
681
+ CAD =
682
+ T.let(
683
+ :cad,
684
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
685
+ )
686
+ CDF =
687
+ T.let(
688
+ :cdf,
689
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
690
+ )
691
+ CHF =
692
+ T.let(
693
+ :chf,
694
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
695
+ )
696
+ CNY =
697
+ T.let(
698
+ :cny,
699
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
700
+ )
701
+ CZK =
702
+ T.let(
703
+ :czk,
704
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
705
+ )
706
+ DKK =
707
+ T.let(
708
+ :dkk,
709
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
710
+ )
711
+ DOP =
712
+ T.let(
713
+ :dop,
714
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
715
+ )
716
+ DZD =
717
+ T.let(
718
+ :dzd,
719
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
720
+ )
721
+ EGP =
722
+ T.let(
723
+ :egp,
724
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
725
+ )
726
+ ETB =
727
+ T.let(
728
+ :etb,
729
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
730
+ )
731
+ EUR =
732
+ T.let(
733
+ :eur,
734
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
735
+ )
736
+ FJD =
737
+ T.let(
738
+ :fjd,
739
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
740
+ )
741
+ GBP =
742
+ T.let(
743
+ :gbp,
744
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
745
+ )
746
+ GEL =
747
+ T.let(
748
+ :gel,
749
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
750
+ )
751
+ GIP =
752
+ T.let(
753
+ :gip,
754
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
755
+ )
756
+ GMD =
757
+ T.let(
758
+ :gmd,
759
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
760
+ )
761
+ GYD =
762
+ T.let(
763
+ :gyd,
764
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
765
+ )
766
+ HKD =
767
+ T.let(
768
+ :hkd,
769
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
770
+ )
771
+ HRK =
772
+ T.let(
773
+ :hrk,
774
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
775
+ )
776
+ HTG =
777
+ T.let(
778
+ :htg,
779
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
780
+ )
781
+ IDR =
782
+ T.let(
783
+ :idr,
784
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
785
+ )
786
+ ILS =
787
+ T.let(
788
+ :ils,
789
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
790
+ )
791
+ INR =
792
+ T.let(
793
+ :inr,
794
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
795
+ )
796
+ ISK =
797
+ T.let(
798
+ :isk,
799
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
800
+ )
801
+ JMD =
802
+ T.let(
803
+ :jmd,
804
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
805
+ )
806
+ JPY =
807
+ T.let(
808
+ :jpy,
809
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
810
+ )
811
+ KES =
812
+ T.let(
813
+ :kes,
814
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
815
+ )
816
+ KGS =
817
+ T.let(
818
+ :kgs,
819
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
820
+ )
821
+ KHR =
822
+ T.let(
823
+ :khr,
824
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
825
+ )
826
+ KMF =
827
+ T.let(
828
+ :kmf,
829
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
830
+ )
831
+ KRW =
832
+ T.let(
833
+ :krw,
834
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
835
+ )
836
+ KYD =
837
+ T.let(
838
+ :kyd,
839
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
840
+ )
841
+ KZT =
842
+ T.let(
843
+ :kzt,
844
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
845
+ )
846
+ LBP =
847
+ T.let(
848
+ :lbp,
849
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
850
+ )
851
+ LKR =
852
+ T.let(
853
+ :lkr,
854
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
855
+ )
856
+ LRD =
857
+ T.let(
858
+ :lrd,
859
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
860
+ )
861
+ LSL =
862
+ T.let(
863
+ :lsl,
864
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
865
+ )
866
+ MAD =
867
+ T.let(
868
+ :mad,
869
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
870
+ )
871
+ MDL =
872
+ T.let(
873
+ :mdl,
874
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
875
+ )
876
+ MGA =
877
+ T.let(
878
+ :mga,
879
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
880
+ )
881
+ MKD =
882
+ T.let(
883
+ :mkd,
884
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
885
+ )
886
+ MMK =
887
+ T.let(
888
+ :mmk,
889
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
890
+ )
891
+ MNT =
892
+ T.let(
893
+ :mnt,
894
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
895
+ )
896
+ MOP =
897
+ T.let(
898
+ :mop,
899
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
900
+ )
901
+ MRO =
902
+ T.let(
903
+ :mro,
904
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
905
+ )
906
+ MVR =
907
+ T.let(
908
+ :mvr,
909
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
910
+ )
911
+ MWK =
912
+ T.let(
913
+ :mwk,
914
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
915
+ )
916
+ MXN =
917
+ T.let(
918
+ :mxn,
919
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
920
+ )
921
+ MYR =
922
+ T.let(
923
+ :myr,
924
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
925
+ )
926
+ MZN =
927
+ T.let(
928
+ :mzn,
929
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
930
+ )
931
+ NAD =
932
+ T.let(
933
+ :nad,
934
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
935
+ )
936
+ NGN =
937
+ T.let(
938
+ :ngn,
939
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
940
+ )
941
+ NOK =
942
+ T.let(
943
+ :nok,
944
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
945
+ )
946
+ NPR =
947
+ T.let(
948
+ :npr,
949
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
950
+ )
951
+ NZD =
952
+ T.let(
953
+ :nzd,
954
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
955
+ )
956
+ PGK =
957
+ T.let(
958
+ :pgk,
959
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
960
+ )
961
+ PHP =
962
+ T.let(
963
+ :php,
964
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
965
+ )
966
+ PKR =
967
+ T.let(
968
+ :pkr,
969
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
970
+ )
971
+ PLN =
972
+ T.let(
973
+ :pln,
974
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
975
+ )
976
+ QAR =
977
+ T.let(
978
+ :qar,
979
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
980
+ )
981
+ RON =
982
+ T.let(
983
+ :ron,
984
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
985
+ )
986
+ RSD =
987
+ T.let(
988
+ :rsd,
989
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
990
+ )
991
+ RUB =
992
+ T.let(
993
+ :rub,
994
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
995
+ )
996
+ RWF =
997
+ T.let(
998
+ :rwf,
999
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1000
+ )
1001
+ SAR =
1002
+ T.let(
1003
+ :sar,
1004
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1005
+ )
1006
+ SBD =
1007
+ T.let(
1008
+ :sbd,
1009
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1010
+ )
1011
+ SCR =
1012
+ T.let(
1013
+ :scr,
1014
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1015
+ )
1016
+ SEK =
1017
+ T.let(
1018
+ :sek,
1019
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1020
+ )
1021
+ SGD =
1022
+ T.let(
1023
+ :sgd,
1024
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1025
+ )
1026
+ SLE =
1027
+ T.let(
1028
+ :sle,
1029
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1030
+ )
1031
+ SLL =
1032
+ T.let(
1033
+ :sll,
1034
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1035
+ )
1036
+ SOS =
1037
+ T.let(
1038
+ :sos,
1039
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1040
+ )
1041
+ SZL =
1042
+ T.let(
1043
+ :szl,
1044
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1045
+ )
1046
+ THB =
1047
+ T.let(
1048
+ :thb,
1049
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1050
+ )
1051
+ TJS =
1052
+ T.let(
1053
+ :tjs,
1054
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1055
+ )
1056
+ TOP =
1057
+ T.let(
1058
+ :top,
1059
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1060
+ )
1061
+ TRY =
1062
+ T.let(
1063
+ :try,
1064
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1065
+ )
1066
+ TTD =
1067
+ T.let(
1068
+ :ttd,
1069
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1070
+ )
1071
+ TZS =
1072
+ T.let(
1073
+ :tzs,
1074
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1075
+ )
1076
+ UAH =
1077
+ T.let(
1078
+ :uah,
1079
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1080
+ )
1081
+ UZS =
1082
+ T.let(
1083
+ :uzs,
1084
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1085
+ )
1086
+ VND =
1087
+ T.let(
1088
+ :vnd,
1089
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1090
+ )
1091
+ VUV =
1092
+ T.let(
1093
+ :vuv,
1094
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1095
+ )
1096
+ WST =
1097
+ T.let(
1098
+ :wst,
1099
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1100
+ )
1101
+ XAF =
1102
+ T.let(
1103
+ :xaf,
1104
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1105
+ )
1106
+ XCD =
1107
+ T.let(
1108
+ :xcd,
1109
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1110
+ )
1111
+ YER =
1112
+ T.let(
1113
+ :yer,
1114
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1115
+ )
1116
+ ZAR =
1117
+ T.let(
1118
+ :zar,
1119
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1120
+ )
1121
+ ZMW =
1122
+ T.let(
1123
+ :zmw,
1124
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1125
+ )
1126
+ CLP =
1127
+ T.let(
1128
+ :clp,
1129
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1130
+ )
1131
+ DJF =
1132
+ T.let(
1133
+ :djf,
1134
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1135
+ )
1136
+ GNF =
1137
+ T.let(
1138
+ :gnf,
1139
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1140
+ )
1141
+ UGX =
1142
+ T.let(
1143
+ :ugx,
1144
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1145
+ )
1146
+ PYG =
1147
+ T.let(
1148
+ :pyg,
1149
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1150
+ )
1151
+ XOF =
1152
+ T.let(
1153
+ :xof,
1154
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1155
+ )
1156
+ XPF =
1157
+ T.let(
1158
+ :xpf,
1159
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1160
+ )
1161
+
1162
+ sig do
1163
+ override.returns(
1164
+ T::Array[
1165
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency::TaggedSymbol
1166
+ ]
1167
+ )
1168
+ end
1169
+ def self.values
1170
+ end
1171
+ end
1172
+ end
1173
+ end
1174
+ end
1175
+
1176
+ class BillableFeature < Stigg::Internal::Type::BaseModel
1177
+ OrHash =
1178
+ T.type_alias do
1179
+ T.any(
1180
+ Stigg::V1::SubscriptionPreviewParams::BillableFeature,
1181
+ Stigg::Internal::AnyHash
1182
+ )
1183
+ end
1184
+
1185
+ # Feature ID
1186
+ sig { returns(String) }
1187
+ attr_accessor :feature_id
1188
+
1189
+ sig { returns(Float) }
1190
+ attr_accessor :quantity
1191
+
1192
+ sig do
1193
+ params(feature_id: String, quantity: Float).returns(
1194
+ T.attached_class
1195
+ )
1196
+ end
1197
+ def self.new(
1198
+ # Feature ID
1199
+ feature_id:,
1200
+ quantity:
1201
+ )
1202
+ end
1203
+
1204
+ sig { override.returns({ feature_id: String, quantity: Float }) }
1205
+ def to_hash
1206
+ end
1207
+ end
1208
+
1209
+ class BillingInformation < Stigg::Internal::Type::BaseModel
1210
+ OrHash =
1211
+ T.type_alias do
1212
+ T.any(
1213
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation,
1214
+ Stigg::Internal::AnyHash
1215
+ )
1216
+ end
1217
+
1218
+ sig do
1219
+ returns(
1220
+ T.nilable(
1221
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::BillingAddress
1222
+ )
1223
+ )
1224
+ end
1225
+ attr_reader :billing_address
1226
+
1227
+ sig do
1228
+ params(
1229
+ billing_address:
1230
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::BillingAddress::OrHash
1231
+ ).void
1232
+ end
1233
+ attr_writer :billing_address
1234
+
1235
+ sig { returns(T.nilable(String)) }
1236
+ attr_reader :charge_on_behalf_of_account
1237
+
1238
+ sig { params(charge_on_behalf_of_account: String).void }
1239
+ attr_writer :charge_on_behalf_of_account
1240
+
1241
+ sig { returns(T.nilable(String)) }
1242
+ attr_reader :integration_id
1243
+
1244
+ sig { params(integration_id: String).void }
1245
+ attr_writer :integration_id
1246
+
1247
+ sig { returns(T.nilable(Float)) }
1248
+ attr_reader :invoice_days_until_due
1249
+
1250
+ sig { params(invoice_days_until_due: Float).void }
1251
+ attr_writer :invoice_days_until_due
1252
+
1253
+ sig { returns(T.nilable(T::Boolean)) }
1254
+ attr_reader :is_backdated
1255
+
1256
+ sig { params(is_backdated: T::Boolean).void }
1257
+ attr_writer :is_backdated
1258
+
1259
+ sig { returns(T.nilable(T::Boolean)) }
1260
+ attr_reader :is_invoice_paid
1261
+
1262
+ sig { params(is_invoice_paid: T::Boolean).void }
1263
+ attr_writer :is_invoice_paid
1264
+
1265
+ sig { returns(T.nilable(T.anything)) }
1266
+ attr_reader :metadata
1267
+
1268
+ sig { params(metadata: T.anything).void }
1269
+ attr_writer :metadata
1270
+
1271
+ sig do
1272
+ returns(
1273
+ T.nilable(
1274
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::ProrationBehavior::OrSymbol
1275
+ )
1276
+ )
1277
+ end
1278
+ attr_reader :proration_behavior
1279
+
1280
+ sig do
1281
+ params(
1282
+ proration_behavior:
1283
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::ProrationBehavior::OrSymbol
1284
+ ).void
1285
+ end
1286
+ attr_writer :proration_behavior
1287
+
1288
+ sig do
1289
+ returns(
1290
+ T.nilable(
1291
+ T::Array[
1292
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::TaxID
1293
+ ]
1294
+ )
1295
+ )
1296
+ end
1297
+ attr_reader :tax_ids
1298
+
1299
+ sig do
1300
+ params(
1301
+ tax_ids:
1302
+ T::Array[
1303
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::TaxID::OrHash
1304
+ ]
1305
+ ).void
1306
+ end
1307
+ attr_writer :tax_ids
1308
+
1309
+ sig { returns(T.nilable(Float)) }
1310
+ attr_reader :tax_percentage
1311
+
1312
+ sig { params(tax_percentage: Float).void }
1313
+ attr_writer :tax_percentage
1314
+
1315
+ sig { returns(T.nilable(T::Array[String])) }
1316
+ attr_reader :tax_rate_ids
1317
+
1318
+ sig { params(tax_rate_ids: T::Array[String]).void }
1319
+ attr_writer :tax_rate_ids
1320
+
1321
+ sig do
1322
+ params(
1323
+ billing_address:
1324
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::BillingAddress::OrHash,
1325
+ charge_on_behalf_of_account: String,
1326
+ integration_id: String,
1327
+ invoice_days_until_due: Float,
1328
+ is_backdated: T::Boolean,
1329
+ is_invoice_paid: T::Boolean,
1330
+ metadata: T.anything,
1331
+ proration_behavior:
1332
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::ProrationBehavior::OrSymbol,
1333
+ tax_ids:
1334
+ T::Array[
1335
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::TaxID::OrHash
1336
+ ],
1337
+ tax_percentage: Float,
1338
+ tax_rate_ids: T::Array[String]
1339
+ ).returns(T.attached_class)
1340
+ end
1341
+ def self.new(
1342
+ billing_address: nil,
1343
+ charge_on_behalf_of_account: nil,
1344
+ integration_id: nil,
1345
+ invoice_days_until_due: nil,
1346
+ is_backdated: nil,
1347
+ is_invoice_paid: nil,
1348
+ metadata: nil,
1349
+ proration_behavior: nil,
1350
+ tax_ids: nil,
1351
+ tax_percentage: nil,
1352
+ tax_rate_ids: nil
1353
+ )
1354
+ end
1355
+
1356
+ sig do
1357
+ override.returns(
1358
+ {
1359
+ billing_address:
1360
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::BillingAddress,
1361
+ charge_on_behalf_of_account: String,
1362
+ integration_id: String,
1363
+ invoice_days_until_due: Float,
1364
+ is_backdated: T::Boolean,
1365
+ is_invoice_paid: T::Boolean,
1366
+ metadata: T.anything,
1367
+ proration_behavior:
1368
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::ProrationBehavior::OrSymbol,
1369
+ tax_ids:
1370
+ T::Array[
1371
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::TaxID
1372
+ ],
1373
+ tax_percentage: Float,
1374
+ tax_rate_ids: T::Array[String]
1375
+ }
1376
+ )
1377
+ end
1378
+ def to_hash
1379
+ end
1380
+
1381
+ class BillingAddress < Stigg::Internal::Type::BaseModel
1382
+ OrHash =
1383
+ T.type_alias do
1384
+ T.any(
1385
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::BillingAddress,
1386
+ Stigg::Internal::AnyHash
1387
+ )
1388
+ end
1389
+
1390
+ sig { returns(T.nilable(String)) }
1391
+ attr_reader :city
1392
+
1393
+ sig { params(city: String).void }
1394
+ attr_writer :city
1395
+
1396
+ sig { returns(T.nilable(String)) }
1397
+ attr_reader :country
1398
+
1399
+ sig { params(country: String).void }
1400
+ attr_writer :country
1401
+
1402
+ sig { returns(T.nilable(String)) }
1403
+ attr_reader :line1
1404
+
1405
+ sig { params(line1: String).void }
1406
+ attr_writer :line1
1407
+
1408
+ sig { returns(T.nilable(String)) }
1409
+ attr_reader :line2
1410
+
1411
+ sig { params(line2: String).void }
1412
+ attr_writer :line2
1413
+
1414
+ sig { returns(T.nilable(String)) }
1415
+ attr_reader :postal_code
1416
+
1417
+ sig { params(postal_code: String).void }
1418
+ attr_writer :postal_code
1419
+
1420
+ sig { returns(T.nilable(String)) }
1421
+ attr_reader :state
1422
+
1423
+ sig { params(state: String).void }
1424
+ attr_writer :state
1425
+
1426
+ sig do
1427
+ params(
1428
+ city: String,
1429
+ country: String,
1430
+ line1: String,
1431
+ line2: String,
1432
+ postal_code: String,
1433
+ state: String
1434
+ ).returns(T.attached_class)
1435
+ end
1436
+ def self.new(
1437
+ city: nil,
1438
+ country: nil,
1439
+ line1: nil,
1440
+ line2: nil,
1441
+ postal_code: nil,
1442
+ state: nil
1443
+ )
1444
+ end
1445
+
1446
+ sig do
1447
+ override.returns(
1448
+ {
1449
+ city: String,
1450
+ country: String,
1451
+ line1: String,
1452
+ line2: String,
1453
+ postal_code: String,
1454
+ state: String
1455
+ }
1456
+ )
1457
+ end
1458
+ def to_hash
1459
+ end
1460
+ end
1461
+
1462
+ module ProrationBehavior
1463
+ extend Stigg::Internal::Type::Enum
1464
+
1465
+ TaggedSymbol =
1466
+ T.type_alias do
1467
+ T.all(
1468
+ Symbol,
1469
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::ProrationBehavior
1470
+ )
1471
+ end
1472
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1473
+
1474
+ INVOICE_IMMEDIATELY =
1475
+ T.let(
1476
+ :INVOICE_IMMEDIATELY,
1477
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::ProrationBehavior::TaggedSymbol
1478
+ )
1479
+ CREATE_PRORATIONS =
1480
+ T.let(
1481
+ :CREATE_PRORATIONS,
1482
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::ProrationBehavior::TaggedSymbol
1483
+ )
1484
+ NONE =
1485
+ T.let(
1486
+ :NONE,
1487
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::ProrationBehavior::TaggedSymbol
1488
+ )
1489
+
1490
+ sig do
1491
+ override.returns(
1492
+ T::Array[
1493
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::ProrationBehavior::TaggedSymbol
1494
+ ]
1495
+ )
1496
+ end
1497
+ def self.values
1498
+ end
1499
+ end
1500
+
1501
+ class TaxID < Stigg::Internal::Type::BaseModel
1502
+ OrHash =
1503
+ T.type_alias do
1504
+ T.any(
1505
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::TaxID,
1506
+ Stigg::Internal::AnyHash
1507
+ )
1508
+ end
1509
+
1510
+ sig { returns(String) }
1511
+ attr_accessor :type
1512
+
1513
+ sig { returns(String) }
1514
+ attr_accessor :value
1515
+
1516
+ sig do
1517
+ params(type: String, value: String).returns(T.attached_class)
1518
+ end
1519
+ def self.new(type:, value:)
1520
+ end
1521
+
1522
+ sig { override.returns({ type: String, value: String }) }
1523
+ def to_hash
1524
+ end
1525
+ end
1526
+ end
1527
+
1528
+ module BillingPeriod
1529
+ extend Stigg::Internal::Type::Enum
1530
+
1531
+ TaggedSymbol =
1532
+ T.type_alias do
1533
+ T.all(Symbol, Stigg::V1::SubscriptionPreviewParams::BillingPeriod)
1534
+ end
1535
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1536
+
1537
+ MONTHLY =
1538
+ T.let(
1539
+ :MONTHLY,
1540
+ Stigg::V1::SubscriptionPreviewParams::BillingPeriod::TaggedSymbol
1541
+ )
1542
+ ANNUALLY =
1543
+ T.let(
1544
+ :ANNUALLY,
1545
+ Stigg::V1::SubscriptionPreviewParams::BillingPeriod::TaggedSymbol
1546
+ )
1547
+
1548
+ sig do
1549
+ override.returns(
1550
+ T::Array[
1551
+ Stigg::V1::SubscriptionPreviewParams::BillingPeriod::TaggedSymbol
1552
+ ]
1553
+ )
1554
+ end
1555
+ def self.values
1556
+ end
1557
+ end
1558
+
1559
+ class Charge < Stigg::Internal::Type::BaseModel
1560
+ OrHash =
1561
+ T.type_alias do
1562
+ T.any(
1563
+ Stigg::V1::SubscriptionPreviewParams::Charge,
1564
+ Stigg::Internal::AnyHash
1565
+ )
1566
+ end
1567
+
1568
+ # Charge ID
1569
+ sig { returns(String) }
1570
+ attr_accessor :id
1571
+
1572
+ sig { returns(Float) }
1573
+ attr_accessor :quantity
1574
+
1575
+ sig do
1576
+ returns(
1577
+ Stigg::V1::SubscriptionPreviewParams::Charge::Type::OrSymbol
1578
+ )
1579
+ end
1580
+ attr_accessor :type
1581
+
1582
+ sig do
1583
+ params(
1584
+ id: String,
1585
+ quantity: Float,
1586
+ type: Stigg::V1::SubscriptionPreviewParams::Charge::Type::OrSymbol
1587
+ ).returns(T.attached_class)
1588
+ end
1589
+ def self.new(
1590
+ # Charge ID
1591
+ id:,
1592
+ quantity:,
1593
+ type:
1594
+ )
1595
+ end
1596
+
1597
+ sig do
1598
+ override.returns(
1599
+ {
1600
+ id: String,
1601
+ quantity: Float,
1602
+ type:
1603
+ Stigg::V1::SubscriptionPreviewParams::Charge::Type::OrSymbol
1604
+ }
1605
+ )
1606
+ end
1607
+ def to_hash
1608
+ end
1609
+
1610
+ module Type
1611
+ extend Stigg::Internal::Type::Enum
1612
+
1613
+ TaggedSymbol =
1614
+ T.type_alias do
1615
+ T.all(
1616
+ Symbol,
1617
+ Stigg::V1::SubscriptionPreviewParams::Charge::Type
1618
+ )
1619
+ end
1620
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1621
+
1622
+ FEATURE =
1623
+ T.let(
1624
+ :FEATURE,
1625
+ Stigg::V1::SubscriptionPreviewParams::Charge::Type::TaggedSymbol
1626
+ )
1627
+ CREDIT =
1628
+ T.let(
1629
+ :CREDIT,
1630
+ Stigg::V1::SubscriptionPreviewParams::Charge::Type::TaggedSymbol
1631
+ )
1632
+
1633
+ sig do
1634
+ override.returns(
1635
+ T::Array[
1636
+ Stigg::V1::SubscriptionPreviewParams::Charge::Type::TaggedSymbol
1637
+ ]
1638
+ )
1639
+ end
1640
+ def self.values
1641
+ end
1642
+ end
1643
+ end
1644
+
1645
+ module ScheduleStrategy
1646
+ extend Stigg::Internal::Type::Enum
1647
+
1648
+ TaggedSymbol =
1649
+ T.type_alias do
1650
+ T.all(
1651
+ Symbol,
1652
+ Stigg::V1::SubscriptionPreviewParams::ScheduleStrategy
1653
+ )
1654
+ end
1655
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1656
+
1657
+ END_OF_BILLING_PERIOD =
1658
+ T.let(
1659
+ :END_OF_BILLING_PERIOD,
1660
+ Stigg::V1::SubscriptionPreviewParams::ScheduleStrategy::TaggedSymbol
1661
+ )
1662
+ END_OF_BILLING_MONTH =
1663
+ T.let(
1664
+ :END_OF_BILLING_MONTH,
1665
+ Stigg::V1::SubscriptionPreviewParams::ScheduleStrategy::TaggedSymbol
1666
+ )
1667
+ IMMEDIATE =
1668
+ T.let(
1669
+ :IMMEDIATE,
1670
+ Stigg::V1::SubscriptionPreviewParams::ScheduleStrategy::TaggedSymbol
1671
+ )
1672
+
1673
+ sig do
1674
+ override.returns(
1675
+ T::Array[
1676
+ Stigg::V1::SubscriptionPreviewParams::ScheduleStrategy::TaggedSymbol
1677
+ ]
1678
+ )
1679
+ end
1680
+ def self.values
1681
+ end
1682
+ end
1683
+
1684
+ class TrialOverrideConfiguration < Stigg::Internal::Type::BaseModel
1685
+ OrHash =
1686
+ T.type_alias do
1687
+ T.any(
1688
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration,
1689
+ Stigg::Internal::AnyHash
1690
+ )
1691
+ end
1692
+
1693
+ sig { returns(T::Boolean) }
1694
+ attr_accessor :is_trial
1695
+
1696
+ sig do
1697
+ returns(
1698
+ T.nilable(
1699
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::TrialEndBehavior::OrSymbol
1700
+ )
1701
+ )
1702
+ end
1703
+ attr_reader :trial_end_behavior
1704
+
1705
+ sig do
1706
+ params(
1707
+ trial_end_behavior:
1708
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::TrialEndBehavior::OrSymbol
1709
+ ).void
1710
+ end
1711
+ attr_writer :trial_end_behavior
1712
+
1713
+ # Trial end date
1714
+ sig { returns(T.nilable(Time)) }
1715
+ attr_reader :trial_end_date
1716
+
1717
+ sig { params(trial_end_date: Time).void }
1718
+ attr_writer :trial_end_date
1719
+
1720
+ sig do
1721
+ params(
1722
+ is_trial: T::Boolean,
1723
+ trial_end_behavior:
1724
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::TrialEndBehavior::OrSymbol,
1725
+ trial_end_date: Time
1726
+ ).returns(T.attached_class)
1727
+ end
1728
+ def self.new(
1729
+ is_trial:,
1730
+ trial_end_behavior: nil,
1731
+ # Trial end date
1732
+ trial_end_date: nil
1733
+ )
1734
+ end
1735
+
1736
+ sig do
1737
+ override.returns(
1738
+ {
1739
+ is_trial: T::Boolean,
1740
+ trial_end_behavior:
1741
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::TrialEndBehavior::OrSymbol,
1742
+ trial_end_date: Time
1743
+ }
1744
+ )
1745
+ end
1746
+ def to_hash
1747
+ end
1748
+
1749
+ module TrialEndBehavior
1750
+ extend Stigg::Internal::Type::Enum
1751
+
1752
+ TaggedSymbol =
1753
+ T.type_alias do
1754
+ T.all(
1755
+ Symbol,
1756
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::TrialEndBehavior
1757
+ )
1758
+ end
1759
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1760
+
1761
+ CONVERT_TO_PAID =
1762
+ T.let(
1763
+ :CONVERT_TO_PAID,
1764
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::TrialEndBehavior::TaggedSymbol
1765
+ )
1766
+ CANCEL_SUBSCRIPTION =
1767
+ T.let(
1768
+ :CANCEL_SUBSCRIPTION,
1769
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::TrialEndBehavior::TaggedSymbol
1770
+ )
1771
+
1772
+ sig do
1773
+ override.returns(
1774
+ T::Array[
1775
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::TrialEndBehavior::TaggedSymbol
1776
+ ]
1777
+ )
1778
+ end
1779
+ def self.values
1780
+ end
1781
+ end
1782
+ end
1783
+ end
1784
+ end
1785
+ end
1786
+ end