orb-billing 1.48.0 → 1.50.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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/orb/models/changed_subscription_resources.rb +21 -1
  5. data/lib/orb/models/customers/credit_fetch_balance_by_external_id_params.rb +31 -0
  6. data/lib/orb/models/customers/credit_fetch_balance_by_external_id_response.rb +61 -0
  7. data/lib/orb/models/customers/credit_fetch_balance_params.rb +31 -0
  8. data/lib/orb/models/customers/credit_fetch_balance_response.rb +60 -0
  9. data/lib/orb/models/invoice.rb +21 -1
  10. data/lib/orb/models/invoice_fetch_upcoming_response.rb +21 -1
  11. data/lib/orb/models/invoice_issue_summary_response.rb +21 -1
  12. data/lib/orb/models/invoice_issued_summary_webhook_event.rb +21 -1
  13. data/lib/orb/models/invoice_list_summary_response.rb +21 -1
  14. data/lib/orb/models/subscription_list_summary_params.rb +108 -0
  15. data/lib/orb/models/subscription_list_summary_response.rb +130 -0
  16. data/lib/orb/models/webhooks/invoice_accounting_sync_failed_standard_webhook_event.rb +21 -1
  17. data/lib/orb/models/webhooks/invoice_accounting_sync_succeeded_standard_webhook_event.rb +21 -1
  18. data/lib/orb/models/webhooks/invoice_dunning_schedule_created_standard_webhook_event.rb +21 -1
  19. data/lib/orb/models/webhooks/invoice_dunning_schedule_ended_standard_webhook_event.rb +21 -1
  20. data/lib/orb/models/webhooks/invoice_dunning_schedule_reset_standard_webhook_event.rb +21 -1
  21. data/lib/orb/models/webhooks/invoice_dunning_schedule_step_executed_standard_webhook_event.rb +21 -1
  22. data/lib/orb/models/webhooks/invoice_edited_standard_webhook_event.rb +21 -1
  23. data/lib/orb/models/webhooks/invoice_issue_failed_standard_webhook_event.rb +21 -1
  24. data/lib/orb/models/webhooks/invoice_issued_standard_webhook_event.rb +21 -1
  25. data/lib/orb/models/webhooks/invoice_issued_summary_standard_webhook_event.rb +21 -1
  26. data/lib/orb/models/webhooks/invoice_manually_marked_as_paid_standard_webhook_event.rb +21 -1
  27. data/lib/orb/models/webhooks/invoice_manually_marked_as_void_standard_webhook_event.rb +21 -1
  28. data/lib/orb/models/webhooks/invoice_payment_failed_standard_webhook_event.rb +21 -1
  29. data/lib/orb/models/webhooks/invoice_payment_processing_standard_webhook_event.rb +21 -1
  30. data/lib/orb/models/webhooks/invoice_payment_succeeded_standard_webhook_event.rb +21 -1
  31. data/lib/orb/models/webhooks/invoice_sync_failed_standard_webhook_event.rb +21 -1
  32. data/lib/orb/models/webhooks/invoice_sync_succeeded_standard_webhook_event.rb +21 -1
  33. data/lib/orb/models/webhooks/invoice_undo_mark_as_paid_standard_webhook_event.rb +21 -1
  34. data/lib/orb/models/webhooks/sales_order_accounting_sync_failed_standard_webhook_event.rb +21 -1
  35. data/lib/orb/models/webhooks/sales_order_accounting_sync_succeeded_standard_webhook_event.rb +21 -1
  36. data/lib/orb/models.rb +2 -0
  37. data/lib/orb/resources/alerts.rb +7 -4
  38. data/lib/orb/resources/customers/credits.rb +76 -0
  39. data/lib/orb/resources/subscriptions.rb +60 -0
  40. data/lib/orb/version.rb +1 -1
  41. data/lib/orb.rb +6 -0
  42. data/rbi/orb/models/changed_subscription_resources.rbi +24 -0
  43. data/rbi/orb/models/customers/credit_fetch_balance_by_external_id_params.rbi +54 -0
  44. data/rbi/orb/models/customers/credit_fetch_balance_by_external_id_response.rbi +86 -0
  45. data/rbi/orb/models/customers/credit_fetch_balance_params.rbi +54 -0
  46. data/rbi/orb/models/customers/credit_fetch_balance_response.rbi +86 -0
  47. data/rbi/orb/models/invoice.rbi +24 -0
  48. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +24 -0
  49. data/rbi/orb/models/invoice_issue_summary_response.rbi +24 -0
  50. data/rbi/orb/models/invoice_issued_summary_webhook_event.rbi +24 -0
  51. data/rbi/orb/models/invoice_list_summary_response.rbi +24 -0
  52. data/rbi/orb/models/subscription_list_summary_params.rbi +148 -0
  53. data/rbi/orb/models/subscription_list_summary_response.rbi +214 -0
  54. data/rbi/orb/models/webhooks/invoice_accounting_sync_failed_standard_webhook_event.rbi +24 -0
  55. data/rbi/orb/models/webhooks/invoice_accounting_sync_succeeded_standard_webhook_event.rbi +24 -0
  56. data/rbi/orb/models/webhooks/invoice_dunning_schedule_created_standard_webhook_event.rbi +24 -0
  57. data/rbi/orb/models/webhooks/invoice_dunning_schedule_ended_standard_webhook_event.rbi +24 -0
  58. data/rbi/orb/models/webhooks/invoice_dunning_schedule_reset_standard_webhook_event.rbi +24 -0
  59. data/rbi/orb/models/webhooks/invoice_dunning_schedule_step_executed_standard_webhook_event.rbi +24 -0
  60. data/rbi/orb/models/webhooks/invoice_edited_standard_webhook_event.rbi +24 -0
  61. data/rbi/orb/models/webhooks/invoice_issue_failed_standard_webhook_event.rbi +24 -0
  62. data/rbi/orb/models/webhooks/invoice_issued_standard_webhook_event.rbi +24 -0
  63. data/rbi/orb/models/webhooks/invoice_issued_summary_standard_webhook_event.rbi +24 -0
  64. data/rbi/orb/models/webhooks/invoice_manually_marked_as_paid_standard_webhook_event.rbi +24 -0
  65. data/rbi/orb/models/webhooks/invoice_manually_marked_as_void_standard_webhook_event.rbi +24 -0
  66. data/rbi/orb/models/webhooks/invoice_payment_failed_standard_webhook_event.rbi +24 -0
  67. data/rbi/orb/models/webhooks/invoice_payment_processing_standard_webhook_event.rbi +24 -0
  68. data/rbi/orb/models/webhooks/invoice_payment_succeeded_standard_webhook_event.rbi +24 -0
  69. data/rbi/orb/models/webhooks/invoice_sync_failed_standard_webhook_event.rbi +24 -0
  70. data/rbi/orb/models/webhooks/invoice_sync_succeeded_standard_webhook_event.rbi +24 -0
  71. data/rbi/orb/models/webhooks/invoice_undo_mark_as_paid_standard_webhook_event.rbi +24 -0
  72. data/rbi/orb/models/webhooks/sales_order_accounting_sync_failed_standard_webhook_event.rbi +24 -0
  73. data/rbi/orb/models/webhooks/sales_order_accounting_sync_succeeded_standard_webhook_event.rbi +24 -0
  74. data/rbi/orb/models.rbi +2 -0
  75. data/rbi/orb/resources/alerts.rbi +7 -4
  76. data/rbi/orb/resources/customers/credits.rbi +60 -0
  77. data/rbi/orb/resources/subscriptions.rbi +47 -0
  78. data/sig/orb/models/changed_subscription_resources.rbs +10 -0
  79. data/sig/orb/models/customers/credit_fetch_balance_by_external_id_params.rbs +30 -0
  80. data/sig/orb/models/customers/credit_fetch_balance_by_external_id_response.rbs +42 -0
  81. data/sig/orb/models/customers/credit_fetch_balance_params.rbs +30 -0
  82. data/sig/orb/models/customers/credit_fetch_balance_response.rbs +42 -0
  83. data/sig/orb/models/invoice.rbs +10 -0
  84. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +10 -0
  85. data/sig/orb/models/invoice_issue_summary_response.rbs +10 -0
  86. data/sig/orb/models/invoice_issued_summary_webhook_event.rbs +10 -0
  87. data/sig/orb/models/invoice_list_summary_response.rbs +10 -0
  88. data/sig/orb/models/subscription_list_summary_params.rbs +90 -0
  89. data/sig/orb/models/subscription_list_summary_response.rbs +94 -0
  90. data/sig/orb/models/webhooks/invoice_accounting_sync_failed_standard_webhook_event.rbs +10 -0
  91. data/sig/orb/models/webhooks/invoice_accounting_sync_succeeded_standard_webhook_event.rbs +10 -0
  92. data/sig/orb/models/webhooks/invoice_dunning_schedule_created_standard_webhook_event.rbs +10 -0
  93. data/sig/orb/models/webhooks/invoice_dunning_schedule_ended_standard_webhook_event.rbs +10 -0
  94. data/sig/orb/models/webhooks/invoice_dunning_schedule_reset_standard_webhook_event.rbs +10 -0
  95. data/sig/orb/models/webhooks/invoice_dunning_schedule_step_executed_standard_webhook_event.rbs +10 -0
  96. data/sig/orb/models/webhooks/invoice_edited_standard_webhook_event.rbs +10 -0
  97. data/sig/orb/models/webhooks/invoice_issue_failed_standard_webhook_event.rbs +10 -0
  98. data/sig/orb/models/webhooks/invoice_issued_standard_webhook_event.rbs +10 -0
  99. data/sig/orb/models/webhooks/invoice_issued_summary_standard_webhook_event.rbs +10 -0
  100. data/sig/orb/models/webhooks/invoice_manually_marked_as_paid_standard_webhook_event.rbs +10 -0
  101. data/sig/orb/models/webhooks/invoice_manually_marked_as_void_standard_webhook_event.rbs +10 -0
  102. data/sig/orb/models/webhooks/invoice_payment_failed_standard_webhook_event.rbs +10 -0
  103. data/sig/orb/models/webhooks/invoice_payment_processing_standard_webhook_event.rbs +10 -0
  104. data/sig/orb/models/webhooks/invoice_payment_succeeded_standard_webhook_event.rbs +10 -0
  105. data/sig/orb/models/webhooks/invoice_sync_failed_standard_webhook_event.rbs +10 -0
  106. data/sig/orb/models/webhooks/invoice_sync_succeeded_standard_webhook_event.rbs +10 -0
  107. data/sig/orb/models/webhooks/invoice_undo_mark_as_paid_standard_webhook_event.rbs +10 -0
  108. data/sig/orb/models/webhooks/sales_order_accounting_sync_failed_standard_webhook_event.rbs +10 -0
  109. data/sig/orb/models/webhooks/sales_order_accounting_sync_succeeded_standard_webhook_event.rbs +10 -0
  110. data/sig/orb/models.rbs +2 -0
  111. data/sig/orb/resources/customers/credits.rbs +12 -0
  112. data/sig/orb/resources/subscriptions.rbs +15 -0
  113. metadata +19 -1
@@ -0,0 +1,148 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ class SubscriptionListSummaryParams < Orb::Internal::Type::BaseModel
6
+ extend Orb::Internal::Type::RequestParameters::Converter
7
+ include Orb::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Orb::SubscriptionListSummaryParams, Orb::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(T.nilable(Time)) }
15
+ attr_accessor :created_at_gt
16
+
17
+ sig { returns(T.nilable(Time)) }
18
+ attr_accessor :created_at_gte
19
+
20
+ sig { returns(T.nilable(Time)) }
21
+ attr_accessor :created_at_lt
22
+
23
+ sig { returns(T.nilable(Time)) }
24
+ attr_accessor :created_at_lte
25
+
26
+ # Cursor for pagination. This can be populated by the `next_cursor` value returned
27
+ # from the initial request.
28
+ sig { returns(T.nilable(String)) }
29
+ attr_accessor :cursor
30
+
31
+ sig { returns(T.nilable(String)) }
32
+ attr_accessor :customer_id
33
+
34
+ sig { returns(T.nilable(String)) }
35
+ attr_accessor :external_customer_id
36
+
37
+ sig { returns(T.nilable(String)) }
38
+ attr_accessor :external_plan_id
39
+
40
+ # The number of items to fetch. Defaults to 20.
41
+ sig { returns(T.nilable(Integer)) }
42
+ attr_reader :limit
43
+
44
+ sig { params(limit: Integer).void }
45
+ attr_writer :limit
46
+
47
+ sig { returns(T.nilable(String)) }
48
+ attr_accessor :plan_id
49
+
50
+ sig do
51
+ returns(T.nilable(Orb::SubscriptionListSummaryParams::Status::OrSymbol))
52
+ end
53
+ attr_accessor :status
54
+
55
+ sig do
56
+ params(
57
+ created_at_gt: T.nilable(Time),
58
+ created_at_gte: T.nilable(Time),
59
+ created_at_lt: T.nilable(Time),
60
+ created_at_lte: T.nilable(Time),
61
+ cursor: T.nilable(String),
62
+ customer_id: T.nilable(String),
63
+ external_customer_id: T.nilable(String),
64
+ external_plan_id: T.nilable(String),
65
+ limit: Integer,
66
+ plan_id: T.nilable(String),
67
+ status:
68
+ T.nilable(Orb::SubscriptionListSummaryParams::Status::OrSymbol),
69
+ request_options: Orb::RequestOptions::OrHash
70
+ ).returns(T.attached_class)
71
+ end
72
+ def self.new(
73
+ created_at_gt: nil,
74
+ created_at_gte: nil,
75
+ created_at_lt: nil,
76
+ created_at_lte: nil,
77
+ # Cursor for pagination. This can be populated by the `next_cursor` value returned
78
+ # from the initial request.
79
+ cursor: nil,
80
+ customer_id: nil,
81
+ external_customer_id: nil,
82
+ external_plan_id: nil,
83
+ # The number of items to fetch. Defaults to 20.
84
+ limit: nil,
85
+ plan_id: nil,
86
+ status: nil,
87
+ request_options: {}
88
+ )
89
+ end
90
+
91
+ sig do
92
+ override.returns(
93
+ {
94
+ created_at_gt: T.nilable(Time),
95
+ created_at_gte: T.nilable(Time),
96
+ created_at_lt: T.nilable(Time),
97
+ created_at_lte: T.nilable(Time),
98
+ cursor: T.nilable(String),
99
+ customer_id: T.nilable(String),
100
+ external_customer_id: T.nilable(String),
101
+ external_plan_id: T.nilable(String),
102
+ limit: Integer,
103
+ plan_id: T.nilable(String),
104
+ status:
105
+ T.nilable(Orb::SubscriptionListSummaryParams::Status::OrSymbol),
106
+ request_options: Orb::RequestOptions
107
+ }
108
+ )
109
+ end
110
+ def to_hash
111
+ end
112
+
113
+ module Status
114
+ extend Orb::Internal::Type::Enum
115
+
116
+ TaggedSymbol =
117
+ T.type_alias do
118
+ T.all(Symbol, Orb::SubscriptionListSummaryParams::Status)
119
+ end
120
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
121
+
122
+ ACTIVE =
123
+ T.let(
124
+ :active,
125
+ Orb::SubscriptionListSummaryParams::Status::TaggedSymbol
126
+ )
127
+ ENDED =
128
+ T.let(
129
+ :ended,
130
+ Orb::SubscriptionListSummaryParams::Status::TaggedSymbol
131
+ )
132
+ UPCOMING =
133
+ T.let(
134
+ :upcoming,
135
+ Orb::SubscriptionListSummaryParams::Status::TaggedSymbol
136
+ )
137
+
138
+ sig do
139
+ override.returns(
140
+ T::Array[Orb::SubscriptionListSummaryParams::Status::TaggedSymbol]
141
+ )
142
+ end
143
+ def self.values
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,214 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ class SubscriptionListSummaryResponse < Orb::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Orb::Models::SubscriptionListSummaryResponse,
10
+ Orb::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ sig { returns(Time) }
18
+ attr_accessor :created_at
19
+
20
+ sig { returns(Orb::CustomerMinified) }
21
+ attr_reader :customer
22
+
23
+ sig { params(customer: Orb::CustomerMinified::OrHash).void }
24
+ attr_writer :customer
25
+
26
+ # The date Orb stops billing for this subscription.
27
+ sig { returns(T.nilable(Time)) }
28
+ attr_accessor :end_date
29
+
30
+ # User specified key-value pairs for the resource. If not present, this defaults
31
+ # to an empty dictionary. Individual keys can be removed by setting the value to
32
+ # `null`, and the entire metadata mapping can be cleared by setting `metadata` to
33
+ # `null`.
34
+ sig { returns(T::Hash[Symbol, String]) }
35
+ attr_accessor :metadata
36
+
37
+ # The name of the subscription.
38
+ sig { returns(String) }
39
+ attr_accessor :name
40
+
41
+ sig do
42
+ returns(T.nilable(Orb::Models::SubscriptionListSummaryResponse::Plan))
43
+ end
44
+ attr_reader :plan
45
+
46
+ sig do
47
+ params(
48
+ plan:
49
+ T.nilable(
50
+ Orb::Models::SubscriptionListSummaryResponse::Plan::OrHash
51
+ )
52
+ ).void
53
+ end
54
+ attr_writer :plan
55
+
56
+ # The date Orb starts billing for this subscription.
57
+ sig { returns(Time) }
58
+ attr_accessor :start_date
59
+
60
+ sig do
61
+ returns(
62
+ Orb::Models::SubscriptionListSummaryResponse::Status::TaggedSymbol
63
+ )
64
+ end
65
+ attr_accessor :status
66
+
67
+ # A subscription's own fields, with its plan and customer as references, as listed
68
+ # by List subscription summaries and carried in standard webhook payloads. Fetch
69
+ # the subscription for its price intervals, billing periods, plan phases and other
70
+ # derived fields.
71
+ sig do
72
+ params(
73
+ id: String,
74
+ created_at: Time,
75
+ customer: Orb::CustomerMinified::OrHash,
76
+ end_date: T.nilable(Time),
77
+ metadata: T::Hash[Symbol, String],
78
+ name: String,
79
+ plan:
80
+ T.nilable(
81
+ Orb::Models::SubscriptionListSummaryResponse::Plan::OrHash
82
+ ),
83
+ start_date: Time,
84
+ status: Orb::Models::SubscriptionListSummaryResponse::Status::OrSymbol
85
+ ).returns(T.attached_class)
86
+ end
87
+ def self.new(
88
+ id:,
89
+ created_at:,
90
+ customer:,
91
+ # The date Orb stops billing for this subscription.
92
+ end_date:,
93
+ # User specified key-value pairs for the resource. If not present, this defaults
94
+ # to an empty dictionary. Individual keys can be removed by setting the value to
95
+ # `null`, and the entire metadata mapping can be cleared by setting `metadata` to
96
+ # `null`.
97
+ metadata:,
98
+ # The name of the subscription.
99
+ name:,
100
+ plan:,
101
+ # The date Orb starts billing for this subscription.
102
+ start_date:,
103
+ status:
104
+ )
105
+ end
106
+
107
+ sig do
108
+ override.returns(
109
+ {
110
+ id: String,
111
+ created_at: Time,
112
+ customer: Orb::CustomerMinified,
113
+ end_date: T.nilable(Time),
114
+ metadata: T::Hash[Symbol, String],
115
+ name: String,
116
+ plan: T.nilable(Orb::Models::SubscriptionListSummaryResponse::Plan),
117
+ start_date: Time,
118
+ status:
119
+ Orb::Models::SubscriptionListSummaryResponse::Status::TaggedSymbol
120
+ }
121
+ )
122
+ end
123
+ def to_hash
124
+ end
125
+
126
+ class Plan < Orb::Internal::Type::BaseModel
127
+ OrHash =
128
+ T.type_alias do
129
+ T.any(
130
+ Orb::Models::SubscriptionListSummaryResponse::Plan,
131
+ Orb::Internal::AnyHash
132
+ )
133
+ end
134
+
135
+ sig { returns(T.nilable(String)) }
136
+ attr_accessor :id
137
+
138
+ # An optional user-defined ID for this plan resource, used throughout the system
139
+ # as an alias for this Plan. Use this field to identify a plan by an existing
140
+ # identifier in your system.
141
+ sig { returns(T.nilable(String)) }
142
+ attr_accessor :external_plan_id
143
+
144
+ sig { returns(T.nilable(String)) }
145
+ attr_accessor :name
146
+
147
+ sig do
148
+ params(
149
+ id: T.nilable(String),
150
+ external_plan_id: T.nilable(String),
151
+ name: T.nilable(String)
152
+ ).returns(T.attached_class)
153
+ end
154
+ def self.new(
155
+ id:,
156
+ # An optional user-defined ID for this plan resource, used throughout the system
157
+ # as an alias for this Plan. Use this field to identify a plan by an existing
158
+ # identifier in your system.
159
+ external_plan_id:,
160
+ name:
161
+ )
162
+ end
163
+
164
+ sig do
165
+ override.returns(
166
+ {
167
+ id: T.nilable(String),
168
+ external_plan_id: T.nilable(String),
169
+ name: T.nilable(String)
170
+ }
171
+ )
172
+ end
173
+ def to_hash
174
+ end
175
+ end
176
+
177
+ module Status
178
+ extend Orb::Internal::Type::Enum
179
+
180
+ TaggedSymbol =
181
+ T.type_alias do
182
+ T.all(Symbol, Orb::Models::SubscriptionListSummaryResponse::Status)
183
+ end
184
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
185
+
186
+ ACTIVE =
187
+ T.let(
188
+ :active,
189
+ Orb::Models::SubscriptionListSummaryResponse::Status::TaggedSymbol
190
+ )
191
+ ENDED =
192
+ T.let(
193
+ :ended,
194
+ Orb::Models::SubscriptionListSummaryResponse::Status::TaggedSymbol
195
+ )
196
+ UPCOMING =
197
+ T.let(
198
+ :upcoming,
199
+ Orb::Models::SubscriptionListSummaryResponse::Status::TaggedSymbol
200
+ )
201
+
202
+ sig do
203
+ override.returns(
204
+ T::Array[
205
+ Orb::Models::SubscriptionListSummaryResponse::Status::TaggedSymbol
206
+ ]
207
+ )
208
+ end
209
+ def self.values
210
+ end
211
+ end
212
+ end
213
+ end
214
+ end
@@ -612,6 +612,18 @@ module Orb
612
612
  sig { returns(T.nilable(Time)) }
613
613
  attr_accessor :scheduled_issue_at
614
614
 
615
+ # The latest `end_date` of the invoice's line items, including any line items
616
+ # hidden because they have zero quantity. This is `null` when the invoice has no
617
+ # line items.
618
+ sig { returns(T.nilable(Time)) }
619
+ attr_accessor :service_period_end
620
+
621
+ # The earliest `start_date` of the invoice's line items, including any line items
622
+ # hidden because they have zero quantity. This is `null` when the invoice has no
623
+ # line items.
624
+ sig { returns(T.nilable(Time)) }
625
+ attr_accessor :service_period_start
626
+
615
627
  sig { returns(T.nilable(Orb::Address)) }
616
628
  attr_reader :shipping_address
617
629
 
@@ -697,6 +709,8 @@ module Orb
697
709
  payment_received_at: T.nilable(Time),
698
710
  payment_started_at: T.nilable(Time),
699
711
  scheduled_issue_at: T.nilable(Time),
712
+ service_period_end: T.nilable(Time),
713
+ service_period_start: T.nilable(Time),
700
714
  shipping_address: T.nilable(Orb::Address::OrHash),
701
715
  status:
702
716
  Orb::Webhooks::InvoiceAccountingSyncFailedStandardWebhookEvent::Invoice::Status::OrSymbol,
@@ -927,6 +941,14 @@ module Orb
927
941
  # If the invoice is in draft, this timestamp will reflect when the invoice is
928
942
  # scheduled to be issued.
929
943
  scheduled_issue_at:,
944
+ # The latest `end_date` of the invoice's line items, including any line items
945
+ # hidden because they have zero quantity. This is `null` when the invoice has no
946
+ # line items.
947
+ service_period_end:,
948
+ # The earliest `start_date` of the invoice's line items, including any line items
949
+ # hidden because they have zero quantity. This is `null` when the invoice has no
950
+ # line items.
951
+ service_period_start:,
930
952
  shipping_address:,
931
953
  status:,
932
954
  subscription:,
@@ -986,6 +1008,8 @@ module Orb
986
1008
  payment_received_at: T.nilable(Time),
987
1009
  payment_started_at: T.nilable(Time),
988
1010
  scheduled_issue_at: T.nilable(Time),
1011
+ service_period_end: T.nilable(Time),
1012
+ service_period_start: T.nilable(Time),
989
1013
  shipping_address: T.nilable(Orb::Address),
990
1014
  status:
991
1015
  Orb::Webhooks::InvoiceAccountingSyncFailedStandardWebhookEvent::Invoice::Status::TaggedSymbol,
@@ -612,6 +612,18 @@ module Orb
612
612
  sig { returns(T.nilable(Time)) }
613
613
  attr_accessor :scheduled_issue_at
614
614
 
615
+ # The latest `end_date` of the invoice's line items, including any line items
616
+ # hidden because they have zero quantity. This is `null` when the invoice has no
617
+ # line items.
618
+ sig { returns(T.nilable(Time)) }
619
+ attr_accessor :service_period_end
620
+
621
+ # The earliest `start_date` of the invoice's line items, including any line items
622
+ # hidden because they have zero quantity. This is `null` when the invoice has no
623
+ # line items.
624
+ sig { returns(T.nilable(Time)) }
625
+ attr_accessor :service_period_start
626
+
615
627
  sig { returns(T.nilable(Orb::Address)) }
616
628
  attr_reader :shipping_address
617
629
 
@@ -697,6 +709,8 @@ module Orb
697
709
  payment_received_at: T.nilable(Time),
698
710
  payment_started_at: T.nilable(Time),
699
711
  scheduled_issue_at: T.nilable(Time),
712
+ service_period_end: T.nilable(Time),
713
+ service_period_start: T.nilable(Time),
700
714
  shipping_address: T.nilable(Orb::Address::OrHash),
701
715
  status:
702
716
  Orb::Webhooks::InvoiceAccountingSyncSucceededStandardWebhookEvent::Invoice::Status::OrSymbol,
@@ -927,6 +941,14 @@ module Orb
927
941
  # If the invoice is in draft, this timestamp will reflect when the invoice is
928
942
  # scheduled to be issued.
929
943
  scheduled_issue_at:,
944
+ # The latest `end_date` of the invoice's line items, including any line items
945
+ # hidden because they have zero quantity. This is `null` when the invoice has no
946
+ # line items.
947
+ service_period_end:,
948
+ # The earliest `start_date` of the invoice's line items, including any line items
949
+ # hidden because they have zero quantity. This is `null` when the invoice has no
950
+ # line items.
951
+ service_period_start:,
930
952
  shipping_address:,
931
953
  status:,
932
954
  subscription:,
@@ -986,6 +1008,8 @@ module Orb
986
1008
  payment_received_at: T.nilable(Time),
987
1009
  payment_started_at: T.nilable(Time),
988
1010
  scheduled_issue_at: T.nilable(Time),
1011
+ service_period_end: T.nilable(Time),
1012
+ service_period_start: T.nilable(Time),
989
1013
  shipping_address: T.nilable(Orb::Address),
990
1014
  status:
991
1015
  Orb::Webhooks::InvoiceAccountingSyncSucceededStandardWebhookEvent::Invoice::Status::TaggedSymbol,
@@ -447,6 +447,18 @@ module Orb
447
447
  sig { returns(T.nilable(Time)) }
448
448
  attr_accessor :scheduled_issue_at
449
449
 
450
+ # The latest `end_date` of the invoice's line items, including any line items
451
+ # hidden because they have zero quantity. This is `null` when the invoice has no
452
+ # line items.
453
+ sig { returns(T.nilable(Time)) }
454
+ attr_accessor :service_period_end
455
+
456
+ # The earliest `start_date` of the invoice's line items, including any line items
457
+ # hidden because they have zero quantity. This is `null` when the invoice has no
458
+ # line items.
459
+ sig { returns(T.nilable(Time)) }
460
+ attr_accessor :service_period_start
461
+
450
462
  sig { returns(T.nilable(Orb::Address)) }
451
463
  attr_reader :shipping_address
452
464
 
@@ -532,6 +544,8 @@ module Orb
532
544
  payment_received_at: T.nilable(Time),
533
545
  payment_started_at: T.nilable(Time),
534
546
  scheduled_issue_at: T.nilable(Time),
547
+ service_period_end: T.nilable(Time),
548
+ service_period_start: T.nilable(Time),
535
549
  shipping_address: T.nilable(Orb::Address::OrHash),
536
550
  status:
537
551
  Orb::Webhooks::InvoiceDunningScheduleCreatedStandardWebhookEvent::Invoice::Status::OrSymbol,
@@ -762,6 +776,14 @@ module Orb
762
776
  # If the invoice is in draft, this timestamp will reflect when the invoice is
763
777
  # scheduled to be issued.
764
778
  scheduled_issue_at:,
779
+ # The latest `end_date` of the invoice's line items, including any line items
780
+ # hidden because they have zero quantity. This is `null` when the invoice has no
781
+ # line items.
782
+ service_period_end:,
783
+ # The earliest `start_date` of the invoice's line items, including any line items
784
+ # hidden because they have zero quantity. This is `null` when the invoice has no
785
+ # line items.
786
+ service_period_start:,
765
787
  shipping_address:,
766
788
  status:,
767
789
  subscription:,
@@ -821,6 +843,8 @@ module Orb
821
843
  payment_received_at: T.nilable(Time),
822
844
  payment_started_at: T.nilable(Time),
823
845
  scheduled_issue_at: T.nilable(Time),
846
+ service_period_end: T.nilable(Time),
847
+ service_period_start: T.nilable(Time),
824
848
  shipping_address: T.nilable(Orb::Address),
825
849
  status:
826
850
  Orb::Webhooks::InvoiceDunningScheduleCreatedStandardWebhookEvent::Invoice::Status::TaggedSymbol,
@@ -447,6 +447,18 @@ module Orb
447
447
  sig { returns(T.nilable(Time)) }
448
448
  attr_accessor :scheduled_issue_at
449
449
 
450
+ # The latest `end_date` of the invoice's line items, including any line items
451
+ # hidden because they have zero quantity. This is `null` when the invoice has no
452
+ # line items.
453
+ sig { returns(T.nilable(Time)) }
454
+ attr_accessor :service_period_end
455
+
456
+ # The earliest `start_date` of the invoice's line items, including any line items
457
+ # hidden because they have zero quantity. This is `null` when the invoice has no
458
+ # line items.
459
+ sig { returns(T.nilable(Time)) }
460
+ attr_accessor :service_period_start
461
+
450
462
  sig { returns(T.nilable(Orb::Address)) }
451
463
  attr_reader :shipping_address
452
464
 
@@ -532,6 +544,8 @@ module Orb
532
544
  payment_received_at: T.nilable(Time),
533
545
  payment_started_at: T.nilable(Time),
534
546
  scheduled_issue_at: T.nilable(Time),
547
+ service_period_end: T.nilable(Time),
548
+ service_period_start: T.nilable(Time),
535
549
  shipping_address: T.nilable(Orb::Address::OrHash),
536
550
  status:
537
551
  Orb::Webhooks::InvoiceDunningScheduleEndedStandardWebhookEvent::Invoice::Status::OrSymbol,
@@ -762,6 +776,14 @@ module Orb
762
776
  # If the invoice is in draft, this timestamp will reflect when the invoice is
763
777
  # scheduled to be issued.
764
778
  scheduled_issue_at:,
779
+ # The latest `end_date` of the invoice's line items, including any line items
780
+ # hidden because they have zero quantity. This is `null` when the invoice has no
781
+ # line items.
782
+ service_period_end:,
783
+ # The earliest `start_date` of the invoice's line items, including any line items
784
+ # hidden because they have zero quantity. This is `null` when the invoice has no
785
+ # line items.
786
+ service_period_start:,
765
787
  shipping_address:,
766
788
  status:,
767
789
  subscription:,
@@ -821,6 +843,8 @@ module Orb
821
843
  payment_received_at: T.nilable(Time),
822
844
  payment_started_at: T.nilable(Time),
823
845
  scheduled_issue_at: T.nilable(Time),
846
+ service_period_end: T.nilable(Time),
847
+ service_period_start: T.nilable(Time),
824
848
  shipping_address: T.nilable(Orb::Address),
825
849
  status:
826
850
  Orb::Webhooks::InvoiceDunningScheduleEndedStandardWebhookEvent::Invoice::Status::TaggedSymbol,
@@ -447,6 +447,18 @@ module Orb
447
447
  sig { returns(T.nilable(Time)) }
448
448
  attr_accessor :scheduled_issue_at
449
449
 
450
+ # The latest `end_date` of the invoice's line items, including any line items
451
+ # hidden because they have zero quantity. This is `null` when the invoice has no
452
+ # line items.
453
+ sig { returns(T.nilable(Time)) }
454
+ attr_accessor :service_period_end
455
+
456
+ # The earliest `start_date` of the invoice's line items, including any line items
457
+ # hidden because they have zero quantity. This is `null` when the invoice has no
458
+ # line items.
459
+ sig { returns(T.nilable(Time)) }
460
+ attr_accessor :service_period_start
461
+
450
462
  sig { returns(T.nilable(Orb::Address)) }
451
463
  attr_reader :shipping_address
452
464
 
@@ -532,6 +544,8 @@ module Orb
532
544
  payment_received_at: T.nilable(Time),
533
545
  payment_started_at: T.nilable(Time),
534
546
  scheduled_issue_at: T.nilable(Time),
547
+ service_period_end: T.nilable(Time),
548
+ service_period_start: T.nilable(Time),
535
549
  shipping_address: T.nilable(Orb::Address::OrHash),
536
550
  status:
537
551
  Orb::Webhooks::InvoiceDunningScheduleResetStandardWebhookEvent::Invoice::Status::OrSymbol,
@@ -762,6 +776,14 @@ module Orb
762
776
  # If the invoice is in draft, this timestamp will reflect when the invoice is
763
777
  # scheduled to be issued.
764
778
  scheduled_issue_at:,
779
+ # The latest `end_date` of the invoice's line items, including any line items
780
+ # hidden because they have zero quantity. This is `null` when the invoice has no
781
+ # line items.
782
+ service_period_end:,
783
+ # The earliest `start_date` of the invoice's line items, including any line items
784
+ # hidden because they have zero quantity. This is `null` when the invoice has no
785
+ # line items.
786
+ service_period_start:,
765
787
  shipping_address:,
766
788
  status:,
767
789
  subscription:,
@@ -821,6 +843,8 @@ module Orb
821
843
  payment_received_at: T.nilable(Time),
822
844
  payment_started_at: T.nilable(Time),
823
845
  scheduled_issue_at: T.nilable(Time),
846
+ service_period_end: T.nilable(Time),
847
+ service_period_start: T.nilable(Time),
824
848
  shipping_address: T.nilable(Orb::Address),
825
849
  status:
826
850
  Orb::Webhooks::InvoiceDunningScheduleResetStandardWebhookEvent::Invoice::Status::TaggedSymbol,
@@ -447,6 +447,18 @@ module Orb
447
447
  sig { returns(T.nilable(Time)) }
448
448
  attr_accessor :scheduled_issue_at
449
449
 
450
+ # The latest `end_date` of the invoice's line items, including any line items
451
+ # hidden because they have zero quantity. This is `null` when the invoice has no
452
+ # line items.
453
+ sig { returns(T.nilable(Time)) }
454
+ attr_accessor :service_period_end
455
+
456
+ # The earliest `start_date` of the invoice's line items, including any line items
457
+ # hidden because they have zero quantity. This is `null` when the invoice has no
458
+ # line items.
459
+ sig { returns(T.nilable(Time)) }
460
+ attr_accessor :service_period_start
461
+
450
462
  sig { returns(T.nilable(Orb::Address)) }
451
463
  attr_reader :shipping_address
452
464
 
@@ -532,6 +544,8 @@ module Orb
532
544
  payment_received_at: T.nilable(Time),
533
545
  payment_started_at: T.nilable(Time),
534
546
  scheduled_issue_at: T.nilable(Time),
547
+ service_period_end: T.nilable(Time),
548
+ service_period_start: T.nilable(Time),
535
549
  shipping_address: T.nilable(Orb::Address::OrHash),
536
550
  status:
537
551
  Orb::Webhooks::InvoiceDunningScheduleStepExecutedStandardWebhookEvent::Invoice::Status::OrSymbol,
@@ -762,6 +776,14 @@ module Orb
762
776
  # If the invoice is in draft, this timestamp will reflect when the invoice is
763
777
  # scheduled to be issued.
764
778
  scheduled_issue_at:,
779
+ # The latest `end_date` of the invoice's line items, including any line items
780
+ # hidden because they have zero quantity. This is `null` when the invoice has no
781
+ # line items.
782
+ service_period_end:,
783
+ # The earliest `start_date` of the invoice's line items, including any line items
784
+ # hidden because they have zero quantity. This is `null` when the invoice has no
785
+ # line items.
786
+ service_period_start:,
765
787
  shipping_address:,
766
788
  status:,
767
789
  subscription:,
@@ -821,6 +843,8 @@ module Orb
821
843
  payment_received_at: T.nilable(Time),
822
844
  payment_started_at: T.nilable(Time),
823
845
  scheduled_issue_at: T.nilable(Time),
846
+ service_period_end: T.nilable(Time),
847
+ service_period_start: T.nilable(Time),
824
848
  shipping_address: T.nilable(Orb::Address),
825
849
  status:
826
850
  Orb::Webhooks::InvoiceDunningScheduleStepExecutedStandardWebhookEvent::Invoice::Status::TaggedSymbol,