orb-billing 1.49.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 (99) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -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/webhooks/invoice_accounting_sync_failed_standard_webhook_event.rb +21 -1
  15. data/lib/orb/models/webhooks/invoice_accounting_sync_succeeded_standard_webhook_event.rb +21 -1
  16. data/lib/orb/models/webhooks/invoice_dunning_schedule_created_standard_webhook_event.rb +21 -1
  17. data/lib/orb/models/webhooks/invoice_dunning_schedule_ended_standard_webhook_event.rb +21 -1
  18. data/lib/orb/models/webhooks/invoice_dunning_schedule_reset_standard_webhook_event.rb +21 -1
  19. data/lib/orb/models/webhooks/invoice_dunning_schedule_step_executed_standard_webhook_event.rb +21 -1
  20. data/lib/orb/models/webhooks/invoice_edited_standard_webhook_event.rb +21 -1
  21. data/lib/orb/models/webhooks/invoice_issue_failed_standard_webhook_event.rb +21 -1
  22. data/lib/orb/models/webhooks/invoice_issued_standard_webhook_event.rb +21 -1
  23. data/lib/orb/models/webhooks/invoice_issued_summary_standard_webhook_event.rb +21 -1
  24. data/lib/orb/models/webhooks/invoice_manually_marked_as_paid_standard_webhook_event.rb +21 -1
  25. data/lib/orb/models/webhooks/invoice_manually_marked_as_void_standard_webhook_event.rb +21 -1
  26. data/lib/orb/models/webhooks/invoice_payment_failed_standard_webhook_event.rb +21 -1
  27. data/lib/orb/models/webhooks/invoice_payment_processing_standard_webhook_event.rb +21 -1
  28. data/lib/orb/models/webhooks/invoice_payment_succeeded_standard_webhook_event.rb +21 -1
  29. data/lib/orb/models/webhooks/invoice_sync_failed_standard_webhook_event.rb +21 -1
  30. data/lib/orb/models/webhooks/invoice_sync_succeeded_standard_webhook_event.rb +21 -1
  31. data/lib/orb/models/webhooks/invoice_undo_mark_as_paid_standard_webhook_event.rb +21 -1
  32. data/lib/orb/models/webhooks/sales_order_accounting_sync_failed_standard_webhook_event.rb +21 -1
  33. data/lib/orb/models/webhooks/sales_order_accounting_sync_succeeded_standard_webhook_event.rb +21 -1
  34. data/lib/orb/resources/customers/credits.rb +76 -0
  35. data/lib/orb/version.rb +1 -1
  36. data/lib/orb.rb +4 -0
  37. data/rbi/orb/models/changed_subscription_resources.rbi +24 -0
  38. data/rbi/orb/models/customers/credit_fetch_balance_by_external_id_params.rbi +54 -0
  39. data/rbi/orb/models/customers/credit_fetch_balance_by_external_id_response.rbi +86 -0
  40. data/rbi/orb/models/customers/credit_fetch_balance_params.rbi +54 -0
  41. data/rbi/orb/models/customers/credit_fetch_balance_response.rbi +86 -0
  42. data/rbi/orb/models/invoice.rbi +24 -0
  43. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +24 -0
  44. data/rbi/orb/models/invoice_issue_summary_response.rbi +24 -0
  45. data/rbi/orb/models/invoice_issued_summary_webhook_event.rbi +24 -0
  46. data/rbi/orb/models/invoice_list_summary_response.rbi +24 -0
  47. data/rbi/orb/models/webhooks/invoice_accounting_sync_failed_standard_webhook_event.rbi +24 -0
  48. data/rbi/orb/models/webhooks/invoice_accounting_sync_succeeded_standard_webhook_event.rbi +24 -0
  49. data/rbi/orb/models/webhooks/invoice_dunning_schedule_created_standard_webhook_event.rbi +24 -0
  50. data/rbi/orb/models/webhooks/invoice_dunning_schedule_ended_standard_webhook_event.rbi +24 -0
  51. data/rbi/orb/models/webhooks/invoice_dunning_schedule_reset_standard_webhook_event.rbi +24 -0
  52. data/rbi/orb/models/webhooks/invoice_dunning_schedule_step_executed_standard_webhook_event.rbi +24 -0
  53. data/rbi/orb/models/webhooks/invoice_edited_standard_webhook_event.rbi +24 -0
  54. data/rbi/orb/models/webhooks/invoice_issue_failed_standard_webhook_event.rbi +24 -0
  55. data/rbi/orb/models/webhooks/invoice_issued_standard_webhook_event.rbi +24 -0
  56. data/rbi/orb/models/webhooks/invoice_issued_summary_standard_webhook_event.rbi +24 -0
  57. data/rbi/orb/models/webhooks/invoice_manually_marked_as_paid_standard_webhook_event.rbi +24 -0
  58. data/rbi/orb/models/webhooks/invoice_manually_marked_as_void_standard_webhook_event.rbi +24 -0
  59. data/rbi/orb/models/webhooks/invoice_payment_failed_standard_webhook_event.rbi +24 -0
  60. data/rbi/orb/models/webhooks/invoice_payment_processing_standard_webhook_event.rbi +24 -0
  61. data/rbi/orb/models/webhooks/invoice_payment_succeeded_standard_webhook_event.rbi +24 -0
  62. data/rbi/orb/models/webhooks/invoice_sync_failed_standard_webhook_event.rbi +24 -0
  63. data/rbi/orb/models/webhooks/invoice_sync_succeeded_standard_webhook_event.rbi +24 -0
  64. data/rbi/orb/models/webhooks/invoice_undo_mark_as_paid_standard_webhook_event.rbi +24 -0
  65. data/rbi/orb/models/webhooks/sales_order_accounting_sync_failed_standard_webhook_event.rbi +24 -0
  66. data/rbi/orb/models/webhooks/sales_order_accounting_sync_succeeded_standard_webhook_event.rbi +24 -0
  67. data/rbi/orb/resources/customers/credits.rbi +60 -0
  68. data/sig/orb/models/changed_subscription_resources.rbs +10 -0
  69. data/sig/orb/models/customers/credit_fetch_balance_by_external_id_params.rbs +30 -0
  70. data/sig/orb/models/customers/credit_fetch_balance_by_external_id_response.rbs +42 -0
  71. data/sig/orb/models/customers/credit_fetch_balance_params.rbs +30 -0
  72. data/sig/orb/models/customers/credit_fetch_balance_response.rbs +42 -0
  73. data/sig/orb/models/invoice.rbs +10 -0
  74. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +10 -0
  75. data/sig/orb/models/invoice_issue_summary_response.rbs +10 -0
  76. data/sig/orb/models/invoice_issued_summary_webhook_event.rbs +10 -0
  77. data/sig/orb/models/invoice_list_summary_response.rbs +10 -0
  78. data/sig/orb/models/webhooks/invoice_accounting_sync_failed_standard_webhook_event.rbs +10 -0
  79. data/sig/orb/models/webhooks/invoice_accounting_sync_succeeded_standard_webhook_event.rbs +10 -0
  80. data/sig/orb/models/webhooks/invoice_dunning_schedule_created_standard_webhook_event.rbs +10 -0
  81. data/sig/orb/models/webhooks/invoice_dunning_schedule_ended_standard_webhook_event.rbs +10 -0
  82. data/sig/orb/models/webhooks/invoice_dunning_schedule_reset_standard_webhook_event.rbs +10 -0
  83. data/sig/orb/models/webhooks/invoice_dunning_schedule_step_executed_standard_webhook_event.rbs +10 -0
  84. data/sig/orb/models/webhooks/invoice_edited_standard_webhook_event.rbs +10 -0
  85. data/sig/orb/models/webhooks/invoice_issue_failed_standard_webhook_event.rbs +10 -0
  86. data/sig/orb/models/webhooks/invoice_issued_standard_webhook_event.rbs +10 -0
  87. data/sig/orb/models/webhooks/invoice_issued_summary_standard_webhook_event.rbs +10 -0
  88. data/sig/orb/models/webhooks/invoice_manually_marked_as_paid_standard_webhook_event.rbs +10 -0
  89. data/sig/orb/models/webhooks/invoice_manually_marked_as_void_standard_webhook_event.rbs +10 -0
  90. data/sig/orb/models/webhooks/invoice_payment_failed_standard_webhook_event.rbs +10 -0
  91. data/sig/orb/models/webhooks/invoice_payment_processing_standard_webhook_event.rbs +10 -0
  92. data/sig/orb/models/webhooks/invoice_payment_succeeded_standard_webhook_event.rbs +10 -0
  93. data/sig/orb/models/webhooks/invoice_sync_failed_standard_webhook_event.rbs +10 -0
  94. data/sig/orb/models/webhooks/invoice_sync_succeeded_standard_webhook_event.rbs +10 -0
  95. data/sig/orb/models/webhooks/invoice_undo_mark_as_paid_standard_webhook_event.rbs +10 -0
  96. data/sig/orb/models/webhooks/sales_order_accounting_sync_failed_standard_webhook_event.rbs +10 -0
  97. data/sig/orb/models/webhooks/sales_order_accounting_sync_succeeded_standard_webhook_event.rbs +10 -0
  98. data/sig/orb/resources/customers/credits.rbs +12 -0
  99. metadata +13 -1
@@ -395,6 +395,22 @@ module Orb
395
395
  # @return [Time, nil]
396
396
  required :scheduled_issue_at, Time, nil?: true
397
397
 
398
+ # @!attribute service_period_end
399
+ # The latest `end_date` of the invoice's line items, including any line items
400
+ # hidden because they have zero quantity. This is `null` when the invoice has no
401
+ # line items.
402
+ #
403
+ # @return [Time, nil]
404
+ required :service_period_end, Time, nil?: true
405
+
406
+ # @!attribute service_period_start
407
+ # The earliest `start_date` of the invoice's line items, including any line items
408
+ # hidden because they have zero quantity. This is `null` when the invoice has no
409
+ # line items.
410
+ #
411
+ # @return [Time, nil]
412
+ required :service_period_start, Time, nil?: true
413
+
398
414
  # @!attribute shipping_address
399
415
  #
400
416
  # @return [Orb::Models::Address, nil]
@@ -438,7 +454,7 @@ module Orb
438
454
  # @return [Boolean]
439
455
  required :will_auto_issue, Orb::Internal::Type::Boolean
440
456
 
441
- # @!method initialize(id:, amount_due:, auto_collection:, billing_address:, created_at:, credit_notes:, currency:, customer:, customer_balance_transactions:, customer_tax_id:, due_date:, eligible_to_issue_at:, hosted_invoice_url:, invoice_date:, invoice_number:, invoice_pdf:, invoice_source:, issue_failed_at:, issued_at:, memo:, metadata:, paid_at:, payment_attempts:, payment_failed_at:, payment_received_at:, payment_started_at:, scheduled_issue_at:, shipping_address:, status:, subscription:, sync_failed_at:, total:, voided_at:, will_auto_issue:)
457
+ # @!method initialize(id:, amount_due:, auto_collection:, billing_address:, created_at:, credit_notes:, currency:, customer:, customer_balance_transactions:, customer_tax_id:, due_date:, eligible_to_issue_at:, hosted_invoice_url:, invoice_date:, invoice_number:, invoice_pdf:, invoice_source:, issue_failed_at:, issued_at:, memo:, metadata:, paid_at:, payment_attempts:, payment_failed_at:, payment_received_at:, payment_started_at:, scheduled_issue_at:, service_period_end:, service_period_start:, shipping_address:, status:, subscription:, sync_failed_at:, total:, voided_at:, will_auto_issue:)
442
458
  # Some parameter documentations has been truncated, see
443
459
  # {Orb::Models::Webhooks::InvoiceUndoMarkAsPaidStandardWebhookEvent::Invoice} for
444
460
  # more details.
@@ -500,6 +516,10 @@ module Orb
500
516
  #
501
517
  # @param scheduled_issue_at [Time, nil] If the invoice is in draft, this timestamp will reflect when the invoice is sche
502
518
  #
519
+ # @param service_period_end [Time, nil] The latest `end_date` of the invoice's line items, including any line items hidd
520
+ #
521
+ # @param service_period_start [Time, nil] The earliest `start_date` of the invoice's line items, including any line items
522
+ #
503
523
  # @param shipping_address [Orb::Models::Address, nil]
504
524
  #
505
525
  # @param status [Symbol, Orb::Models::Webhooks::InvoiceUndoMarkAsPaidStandardWebhookEvent::Invoice::Status]
@@ -474,6 +474,22 @@ module Orb
474
474
  # @return [Time, nil]
475
475
  required :scheduled_issue_at, Time, nil?: true
476
476
 
477
+ # @!attribute service_period_end
478
+ # The latest `end_date` of the invoice's line items, including any line items
479
+ # hidden because they have zero quantity. This is `null` when the invoice has no
480
+ # line items.
481
+ #
482
+ # @return [Time, nil]
483
+ required :service_period_end, Time, nil?: true
484
+
485
+ # @!attribute service_period_start
486
+ # The earliest `start_date` of the invoice's line items, including any line items
487
+ # hidden because they have zero quantity. This is `null` when the invoice has no
488
+ # line items.
489
+ #
490
+ # @return [Time, nil]
491
+ required :service_period_start, Time, nil?: true
492
+
477
493
  # @!attribute shipping_address
478
494
  #
479
495
  # @return [Orb::Models::Address, nil]
@@ -518,7 +534,7 @@ module Orb
518
534
  # @return [Boolean]
519
535
  required :will_auto_issue, Orb::Internal::Type::Boolean
520
536
 
521
- # @!method initialize(id:, amount_due:, auto_collection:, billing_address:, created_at:, credit_notes:, currency:, customer:, customer_balance_transactions:, customer_tax_id:, due_date:, eligible_to_issue_at:, hosted_invoice_url:, invoice_date:, invoice_number:, invoice_pdf:, invoice_source:, issue_failed_at:, issued_at:, memo:, metadata:, paid_at:, payment_attempts:, payment_failed_at:, payment_received_at:, payment_started_at:, scheduled_issue_at:, shipping_address:, status:, subscription:, sync_failed_at:, total:, voided_at:, will_auto_issue:)
537
+ # @!method initialize(id:, amount_due:, auto_collection:, billing_address:, created_at:, credit_notes:, currency:, customer:, customer_balance_transactions:, customer_tax_id:, due_date:, eligible_to_issue_at:, hosted_invoice_url:, invoice_date:, invoice_number:, invoice_pdf:, invoice_source:, issue_failed_at:, issued_at:, memo:, metadata:, paid_at:, payment_attempts:, payment_failed_at:, payment_received_at:, payment_started_at:, scheduled_issue_at:, service_period_end:, service_period_start:, shipping_address:, status:, subscription:, sync_failed_at:, total:, voided_at:, will_auto_issue:)
522
538
  # Some parameter documentations has been truncated, see
523
539
  # {Orb::Models::Webhooks::SalesOrderAccountingSyncFailedStandardWebhookEvent::Invoice}
524
540
  # for more details.
@@ -580,6 +596,10 @@ module Orb
580
596
  #
581
597
  # @param scheduled_issue_at [Time, nil] If the invoice is in draft, this timestamp will reflect when the invoice is sche
582
598
  #
599
+ # @param service_period_end [Time, nil] The latest `end_date` of the invoice's line items, including any line items hidd
600
+ #
601
+ # @param service_period_start [Time, nil] The earliest `start_date` of the invoice's line items, including any line items
602
+ #
583
603
  # @param shipping_address [Orb::Models::Address, nil]
584
604
  #
585
605
  # @param status [Symbol, Orb::Models::Webhooks::SalesOrderAccountingSyncFailedStandardWebhookEvent::Invoice::Status]
@@ -475,6 +475,22 @@ module Orb
475
475
  # @return [Time, nil]
476
476
  required :scheduled_issue_at, Time, nil?: true
477
477
 
478
+ # @!attribute service_period_end
479
+ # The latest `end_date` of the invoice's line items, including any line items
480
+ # hidden because they have zero quantity. This is `null` when the invoice has no
481
+ # line items.
482
+ #
483
+ # @return [Time, nil]
484
+ required :service_period_end, Time, nil?: true
485
+
486
+ # @!attribute service_period_start
487
+ # The earliest `start_date` of the invoice's line items, including any line items
488
+ # hidden because they have zero quantity. This is `null` when the invoice has no
489
+ # line items.
490
+ #
491
+ # @return [Time, nil]
492
+ required :service_period_start, Time, nil?: true
493
+
478
494
  # @!attribute shipping_address
479
495
  #
480
496
  # @return [Orb::Models::Address, nil]
@@ -519,7 +535,7 @@ module Orb
519
535
  # @return [Boolean]
520
536
  required :will_auto_issue, Orb::Internal::Type::Boolean
521
537
 
522
- # @!method initialize(id:, amount_due:, auto_collection:, billing_address:, created_at:, credit_notes:, currency:, customer:, customer_balance_transactions:, customer_tax_id:, due_date:, eligible_to_issue_at:, hosted_invoice_url:, invoice_date:, invoice_number:, invoice_pdf:, invoice_source:, issue_failed_at:, issued_at:, memo:, metadata:, paid_at:, payment_attempts:, payment_failed_at:, payment_received_at:, payment_started_at:, scheduled_issue_at:, shipping_address:, status:, subscription:, sync_failed_at:, total:, voided_at:, will_auto_issue:)
538
+ # @!method initialize(id:, amount_due:, auto_collection:, billing_address:, created_at:, credit_notes:, currency:, customer:, customer_balance_transactions:, customer_tax_id:, due_date:, eligible_to_issue_at:, hosted_invoice_url:, invoice_date:, invoice_number:, invoice_pdf:, invoice_source:, issue_failed_at:, issued_at:, memo:, metadata:, paid_at:, payment_attempts:, payment_failed_at:, payment_received_at:, payment_started_at:, scheduled_issue_at:, service_period_end:, service_period_start:, shipping_address:, status:, subscription:, sync_failed_at:, total:, voided_at:, will_auto_issue:)
523
539
  # Some parameter documentations has been truncated, see
524
540
  # {Orb::Models::Webhooks::SalesOrderAccountingSyncSucceededStandardWebhookEvent::Invoice}
525
541
  # for more details.
@@ -581,6 +597,10 @@ module Orb
581
597
  #
582
598
  # @param scheduled_issue_at [Time, nil] If the invoice is in draft, this timestamp will reflect when the invoice is sche
583
599
  #
600
+ # @param service_period_end [Time, nil] The latest `end_date` of the invoice's line items, including any line items hidd
601
+ #
602
+ # @param service_period_start [Time, nil] The earliest `start_date` of the invoice's line items, including any line items
603
+ #
584
604
  # @param shipping_address [Orb::Models::Address, nil]
585
605
  #
586
606
  # @param status [Symbol, Orb::Models::Webhooks::SalesOrderAccountingSyncSucceededStandardWebhookEvent::Invoice::Status]
@@ -75,6 +75,82 @@ module Orb
75
75
  )
76
76
  end
77
77
 
78
+ # This endpoint returns a customer's credit balance in a single currency or custom
79
+ # pricing unit: the total available balance, the balance waiting on payment, and
80
+ # the next upcoming expiration.
81
+ #
82
+ # `balance` is the sum of `balance` across the customer's `active` credit blocks,
83
+ # as listed by
84
+ # [Fetch customer credit balance](/api-reference/credit/fetch-customer-credit-balance).
85
+ # Expired, depleted, and voided blocks are not included. Blocks in
86
+ # `pending_payment` status are totaled in `pending_payment_balance` instead, and
87
+ # become available once their invoice is paid.
88
+ #
89
+ # Note that `currency` defaults to credits if not specified. To use a real world
90
+ # currency, set `currency` to an ISO 4217 string. A customer with no credits in
91
+ # that currency returns a balance of `0`.
92
+ #
93
+ # @overload fetch_balance(customer_id, currency: nil, request_options: {})
94
+ #
95
+ # @param customer_id [String]
96
+ #
97
+ # @param currency [String, nil] The ledger currency or custom pricing unit to use.
98
+ #
99
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
100
+ #
101
+ # @return [Orb::Models::Customers::CreditFetchBalanceResponse]
102
+ #
103
+ # @see Orb::Models::Customers::CreditFetchBalanceParams
104
+ def fetch_balance(customer_id, params = {})
105
+ parsed, options = Orb::Customers::CreditFetchBalanceParams.dump_request(params)
106
+ query = Orb::Internal::Util.encode_query_params(parsed)
107
+ @client.request(
108
+ method: :get,
109
+ path: ["customers/%1$s/credits/balance", customer_id],
110
+ query: query,
111
+ model: Orb::Models::Customers::CreditFetchBalanceResponse,
112
+ options: options
113
+ )
114
+ end
115
+
116
+ # This endpoint returns a customer's credit balance in a single currency or custom
117
+ # pricing unit: the total available balance, the balance waiting on payment, and
118
+ # the next upcoming expiration.
119
+ #
120
+ # `balance` is the sum of `balance` across the customer's `active` credit blocks,
121
+ # as listed by
122
+ # [Fetch customer credit balance](/api-reference/credit/fetch-customer-credit-balance).
123
+ # Expired, depleted, and voided blocks are not included. Blocks in
124
+ # `pending_payment` status are totaled in `pending_payment_balance` instead, and
125
+ # become available once their invoice is paid.
126
+ #
127
+ # Note that `currency` defaults to credits if not specified. To use a real world
128
+ # currency, set `currency` to an ISO 4217 string. A customer with no credits in
129
+ # that currency returns a balance of `0`.
130
+ #
131
+ # @overload fetch_balance_by_external_id(external_customer_id, currency: nil, request_options: {})
132
+ #
133
+ # @param external_customer_id [String]
134
+ #
135
+ # @param currency [String, nil] The ledger currency or custom pricing unit to use.
136
+ #
137
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
138
+ #
139
+ # @return [Orb::Models::Customers::CreditFetchBalanceByExternalIDResponse]
140
+ #
141
+ # @see Orb::Models::Customers::CreditFetchBalanceByExternalIDParams
142
+ def fetch_balance_by_external_id(external_customer_id, params = {})
143
+ parsed, options = Orb::Customers::CreditFetchBalanceByExternalIDParams.dump_request(params)
144
+ query = Orb::Internal::Util.encode_query_params(parsed)
145
+ @client.request(
146
+ method: :get,
147
+ path: ["customers/external_customer_id/%1$s/credits/balance", external_customer_id],
148
+ query: query,
149
+ model: Orb::Models::Customers::CreditFetchBalanceByExternalIDResponse,
150
+ options: options
151
+ )
152
+ end
153
+
78
154
  # Some parameter documentations has been truncated, see
79
155
  # {Orb::Models::Customers::CreditListByExternalIDParams} for more details.
80
156
  #
data/lib/orb/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Orb
4
- VERSION = "1.49.0"
4
+ VERSION = "1.50.0"
5
5
  end
data/lib/orb.rb CHANGED
@@ -147,6 +147,10 @@ require_relative "orb/models/customers/cost_list_by_external_id_params"
147
147
  require_relative "orb/models/customers/cost_list_by_external_id_response"
148
148
  require_relative "orb/models/customers/cost_list_params"
149
149
  require_relative "orb/models/customers/cost_list_response"
150
+ require_relative "orb/models/customers/credit_fetch_balance_by_external_id_params"
151
+ require_relative "orb/models/customers/credit_fetch_balance_by_external_id_response"
152
+ require_relative "orb/models/customers/credit_fetch_balance_params"
153
+ require_relative "orb/models/customers/credit_fetch_balance_response"
150
154
  require_relative "orb/models/customers/credit_list_by_external_id_params"
151
155
  require_relative "orb/models/customers/credit_list_by_external_id_response"
152
156
  require_relative "orb/models/customers/credit_list_params"
@@ -436,6 +436,18 @@ module Orb
436
436
  sig { returns(T.nilable(Time)) }
437
437
  attr_accessor :scheduled_issue_at
438
438
 
439
+ # The latest `end_date` of the invoice's line items, including any line items
440
+ # hidden because they have zero quantity. This is `null` when the invoice has no
441
+ # line items.
442
+ sig { returns(T.nilable(Time)) }
443
+ attr_accessor :service_period_end
444
+
445
+ # The earliest `start_date` of the invoice's line items, including any line items
446
+ # hidden because they have zero quantity. This is `null` when the invoice has no
447
+ # line items.
448
+ sig { returns(T.nilable(Time)) }
449
+ attr_accessor :service_period_start
450
+
439
451
  sig { returns(T.nilable(Orb::Address)) }
440
452
  attr_reader :shipping_address
441
453
 
@@ -543,6 +555,8 @@ module Orb
543
555
  payment_received_at: T.nilable(Time),
544
556
  payment_started_at: T.nilable(Time),
545
557
  scheduled_issue_at: T.nilable(Time),
558
+ service_period_end: T.nilable(Time),
559
+ service_period_start: T.nilable(Time),
546
560
  shipping_address: T.nilable(Orb::Address::OrHash),
547
561
  status:
548
562
  Orb::ChangedSubscriptionResources::CreatedInvoice::Status::OrSymbol,
@@ -792,6 +806,14 @@ module Orb
792
806
  # If the invoice is in draft, this timestamp will reflect when the invoice is
793
807
  # scheduled to be issued.
794
808
  scheduled_issue_at:,
809
+ # The latest `end_date` of the invoice's line items, including any line items
810
+ # hidden because they have zero quantity. This is `null` when the invoice has no
811
+ # line items.
812
+ service_period_end:,
813
+ # The earliest `start_date` of the invoice's line items, including any line items
814
+ # hidden because they have zero quantity. This is `null` when the invoice has no
815
+ # line items.
816
+ service_period_start:,
795
817
  shipping_address:,
796
818
  status:,
797
819
  subscription:,
@@ -865,6 +887,8 @@ module Orb
865
887
  payment_received_at: T.nilable(Time),
866
888
  payment_started_at: T.nilable(Time),
867
889
  scheduled_issue_at: T.nilable(Time),
890
+ service_period_end: T.nilable(Time),
891
+ service_period_start: T.nilable(Time),
868
892
  shipping_address: T.nilable(Orb::Address),
869
893
  status:
870
894
  Orb::ChangedSubscriptionResources::CreatedInvoice::Status::TaggedSymbol,
@@ -0,0 +1,54 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ module Customers
6
+ class CreditFetchBalanceByExternalIDParams < Orb::Internal::Type::BaseModel
7
+ extend Orb::Internal::Type::RequestParameters::Converter
8
+ include Orb::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Orb::Customers::CreditFetchBalanceByExternalIDParams,
14
+ Orb::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :external_customer_id
20
+
21
+ # The ledger currency or custom pricing unit to use.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_accessor :currency
24
+
25
+ sig do
26
+ params(
27
+ external_customer_id: String,
28
+ currency: T.nilable(String),
29
+ request_options: Orb::RequestOptions::OrHash
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(
33
+ external_customer_id:,
34
+ # The ledger currency or custom pricing unit to use.
35
+ currency: nil,
36
+ request_options: {}
37
+ )
38
+ end
39
+
40
+ sig do
41
+ override.returns(
42
+ {
43
+ external_customer_id: String,
44
+ currency: T.nilable(String),
45
+ request_options: Orb::RequestOptions
46
+ }
47
+ )
48
+ end
49
+ def to_hash
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,86 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ module Customers
6
+ class CreditFetchBalanceByExternalIDResponse < Orb::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Orb::Models::Customers::CreditFetchBalanceByExternalIDResponse,
11
+ Orb::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The customer's available credit balance: the sum of `balance` across their
16
+ # `active` credit blocks.
17
+ sig { returns(Float) }
18
+ attr_accessor :balance
19
+
20
+ # The currency or custom pricing unit the balances are denominated in. Null when
21
+ # no `currency` is passed and the customer has no credit ledger, in which case
22
+ # every balance is `0`.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :currency
25
+
26
+ # The balance that expires on `next_expiry_date`. Null if `next_expiry_date` is
27
+ # null.
28
+ sig { returns(T.nilable(Float)) }
29
+ attr_accessor :next_expiry_balance
30
+
31
+ # The earliest `expiry_date` among active credit blocks. Null if none of them
32
+ # expire.
33
+ sig { returns(T.nilable(Time)) }
34
+ attr_accessor :next_expiry_date
35
+
36
+ # The total balance of credit blocks in `pending_payment` status. Not included in
37
+ # `balance` until the invoice that funds them is paid.
38
+ sig { returns(Float) }
39
+ attr_accessor :pending_payment_balance
40
+
41
+ sig do
42
+ params(
43
+ balance: Float,
44
+ currency: T.nilable(String),
45
+ next_expiry_balance: T.nilable(Float),
46
+ next_expiry_date: T.nilable(Time),
47
+ pending_payment_balance: Float
48
+ ).returns(T.attached_class)
49
+ end
50
+ def self.new(
51
+ # The customer's available credit balance: the sum of `balance` across their
52
+ # `active` credit blocks.
53
+ balance:,
54
+ # The currency or custom pricing unit the balances are denominated in. Null when
55
+ # no `currency` is passed and the customer has no credit ledger, in which case
56
+ # every balance is `0`.
57
+ currency:,
58
+ # The balance that expires on `next_expiry_date`. Null if `next_expiry_date` is
59
+ # null.
60
+ next_expiry_balance:,
61
+ # The earliest `expiry_date` among active credit blocks. Null if none of them
62
+ # expire.
63
+ next_expiry_date:,
64
+ # The total balance of credit blocks in `pending_payment` status. Not included in
65
+ # `balance` until the invoice that funds them is paid.
66
+ pending_payment_balance:
67
+ )
68
+ end
69
+
70
+ sig do
71
+ override.returns(
72
+ {
73
+ balance: Float,
74
+ currency: T.nilable(String),
75
+ next_expiry_balance: T.nilable(Float),
76
+ next_expiry_date: T.nilable(Time),
77
+ pending_payment_balance: Float
78
+ }
79
+ )
80
+ end
81
+ def to_hash
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,54 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ module Customers
6
+ class CreditFetchBalanceParams < Orb::Internal::Type::BaseModel
7
+ extend Orb::Internal::Type::RequestParameters::Converter
8
+ include Orb::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Orb::Customers::CreditFetchBalanceParams,
14
+ Orb::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :customer_id
20
+
21
+ # The ledger currency or custom pricing unit to use.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_accessor :currency
24
+
25
+ sig do
26
+ params(
27
+ customer_id: String,
28
+ currency: T.nilable(String),
29
+ request_options: Orb::RequestOptions::OrHash
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(
33
+ customer_id:,
34
+ # The ledger currency or custom pricing unit to use.
35
+ currency: nil,
36
+ request_options: {}
37
+ )
38
+ end
39
+
40
+ sig do
41
+ override.returns(
42
+ {
43
+ customer_id: String,
44
+ currency: T.nilable(String),
45
+ request_options: Orb::RequestOptions
46
+ }
47
+ )
48
+ end
49
+ def to_hash
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,86 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ module Customers
6
+ class CreditFetchBalanceResponse < Orb::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Orb::Models::Customers::CreditFetchBalanceResponse,
11
+ Orb::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The customer's available credit balance: the sum of `balance` across their
16
+ # `active` credit blocks.
17
+ sig { returns(Float) }
18
+ attr_accessor :balance
19
+
20
+ # The currency or custom pricing unit the balances are denominated in. Null when
21
+ # no `currency` is passed and the customer has no credit ledger, in which case
22
+ # every balance is `0`.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :currency
25
+
26
+ # The balance that expires on `next_expiry_date`. Null if `next_expiry_date` is
27
+ # null.
28
+ sig { returns(T.nilable(Float)) }
29
+ attr_accessor :next_expiry_balance
30
+
31
+ # The earliest `expiry_date` among active credit blocks. Null if none of them
32
+ # expire.
33
+ sig { returns(T.nilable(Time)) }
34
+ attr_accessor :next_expiry_date
35
+
36
+ # The total balance of credit blocks in `pending_payment` status. Not included in
37
+ # `balance` until the invoice that funds them is paid.
38
+ sig { returns(Float) }
39
+ attr_accessor :pending_payment_balance
40
+
41
+ sig do
42
+ params(
43
+ balance: Float,
44
+ currency: T.nilable(String),
45
+ next_expiry_balance: T.nilable(Float),
46
+ next_expiry_date: T.nilable(Time),
47
+ pending_payment_balance: Float
48
+ ).returns(T.attached_class)
49
+ end
50
+ def self.new(
51
+ # The customer's available credit balance: the sum of `balance` across their
52
+ # `active` credit blocks.
53
+ balance:,
54
+ # The currency or custom pricing unit the balances are denominated in. Null when
55
+ # no `currency` is passed and the customer has no credit ledger, in which case
56
+ # every balance is `0`.
57
+ currency:,
58
+ # The balance that expires on `next_expiry_date`. Null if `next_expiry_date` is
59
+ # null.
60
+ next_expiry_balance:,
61
+ # The earliest `expiry_date` among active credit blocks. Null if none of them
62
+ # expire.
63
+ next_expiry_date:,
64
+ # The total balance of credit blocks in `pending_payment` status. Not included in
65
+ # `balance` until the invoice that funds them is paid.
66
+ pending_payment_balance:
67
+ )
68
+ end
69
+
70
+ sig do
71
+ override.returns(
72
+ {
73
+ balance: Float,
74
+ currency: T.nilable(String),
75
+ next_expiry_balance: T.nilable(Float),
76
+ next_expiry_date: T.nilable(Time),
77
+ pending_payment_balance: Float
78
+ }
79
+ )
80
+ end
81
+ def to_hash
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -330,6 +330,18 @@ module Orb
330
330
  sig { returns(T.nilable(Time)) }
331
331
  attr_accessor :scheduled_issue_at
332
332
 
333
+ # The latest `end_date` of the invoice's line items, including any line items
334
+ # hidden because they have zero quantity. This is `null` when the invoice has no
335
+ # line items.
336
+ sig { returns(T.nilable(Time)) }
337
+ attr_accessor :service_period_end
338
+
339
+ # The earliest `start_date` of the invoice's line items, including any line items
340
+ # hidden because they have zero quantity. This is `null` when the invoice has no
341
+ # line items.
342
+ sig { returns(T.nilable(Time)) }
343
+ attr_accessor :service_period_start
344
+
333
345
  sig { returns(T.nilable(Orb::Address)) }
334
346
  attr_reader :shipping_address
335
347
 
@@ -422,6 +434,8 @@ module Orb
422
434
  payment_received_at: T.nilable(Time),
423
435
  payment_started_at: T.nilable(Time),
424
436
  scheduled_issue_at: T.nilable(Time),
437
+ service_period_end: T.nilable(Time),
438
+ service_period_start: T.nilable(Time),
425
439
  shipping_address: T.nilable(Orb::Address::OrHash),
426
440
  status: Orb::Invoice::Status::OrSymbol,
427
441
  subscription: T.nilable(Orb::SubscriptionMinified::OrHash),
@@ -668,6 +682,14 @@ module Orb
668
682
  # If the invoice is in draft, this timestamp will reflect when the invoice is
669
683
  # scheduled to be issued.
670
684
  scheduled_issue_at:,
685
+ # The latest `end_date` of the invoice's line items, including any line items
686
+ # hidden because they have zero quantity. This is `null` when the invoice has no
687
+ # line items.
688
+ service_period_end:,
689
+ # The earliest `start_date` of the invoice's line items, including any line items
690
+ # hidden because they have zero quantity. This is `null` when the invoice has no
691
+ # line items.
692
+ service_period_start:,
671
693
  shipping_address:,
672
694
  status:,
673
695
  subscription:,
@@ -727,6 +749,8 @@ module Orb
727
749
  payment_received_at: T.nilable(Time),
728
750
  payment_started_at: T.nilable(Time),
729
751
  scheduled_issue_at: T.nilable(Time),
752
+ service_period_end: T.nilable(Time),
753
+ service_period_start: T.nilable(Time),
730
754
  shipping_address: T.nilable(Orb::Address),
731
755
  status: Orb::Invoice::Status::TaggedSymbol,
732
756
  subscription: T.nilable(Orb::SubscriptionMinified),
@@ -355,6 +355,18 @@ module Orb
355
355
  sig { returns(T.nilable(Time)) }
356
356
  attr_accessor :scheduled_issue_at
357
357
 
358
+ # The latest `end_date` of the invoice's line items, including any line items
359
+ # hidden because they have zero quantity. This is `null` when the invoice has no
360
+ # line items.
361
+ sig { returns(T.nilable(Time)) }
362
+ attr_accessor :service_period_end
363
+
364
+ # The earliest `start_date` of the invoice's line items, including any line items
365
+ # hidden because they have zero quantity. This is `null` when the invoice has no
366
+ # line items.
367
+ sig { returns(T.nilable(Time)) }
368
+ attr_accessor :service_period_start
369
+
358
370
  sig { returns(T.nilable(Orb::Address)) }
359
371
  attr_reader :shipping_address
360
372
 
@@ -460,6 +472,8 @@ module Orb
460
472
  payment_received_at: T.nilable(Time),
461
473
  payment_started_at: T.nilable(Time),
462
474
  scheduled_issue_at: T.nilable(Time),
475
+ service_period_end: T.nilable(Time),
476
+ service_period_start: T.nilable(Time),
463
477
  shipping_address: T.nilable(Orb::Address::OrHash),
464
478
  status: Orb::Models::InvoiceFetchUpcomingResponse::Status::OrSymbol,
465
479
  subscription: T.nilable(Orb::SubscriptionMinified::OrHash),
@@ -705,6 +719,14 @@ module Orb
705
719
  # If the invoice is in draft, this timestamp will reflect when the invoice is
706
720
  # scheduled to be issued.
707
721
  scheduled_issue_at:,
722
+ # The latest `end_date` of the invoice's line items, including any line items
723
+ # hidden because they have zero quantity. This is `null` when the invoice has no
724
+ # line items.
725
+ service_period_end:,
726
+ # The earliest `start_date` of the invoice's line items, including any line items
727
+ # hidden because they have zero quantity. This is `null` when the invoice has no
728
+ # line items.
729
+ service_period_start:,
708
730
  shipping_address:,
709
731
  status:,
710
732
  subscription:,
@@ -774,6 +796,8 @@ module Orb
774
796
  payment_received_at: T.nilable(Time),
775
797
  payment_started_at: T.nilable(Time),
776
798
  scheduled_issue_at: T.nilable(Time),
799
+ service_period_end: T.nilable(Time),
800
+ service_period_start: T.nilable(Time),
777
801
  shipping_address: T.nilable(Orb::Address),
778
802
  status:
779
803
  Orb::Models::InvoiceFetchUpcomingResponse::Status::TaggedSymbol,