orb-billing 1.49.0 → 1.51.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 +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/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
@@ -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::InvoiceManuallyMarkedAsPaidStandardWebhookEvent::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::InvoiceManuallyMarkedAsPaidStandardWebhookEvent::Invoice::Status::TaggedSymbol,
@@ -433,6 +433,18 @@ module Orb
433
433
  sig { returns(T.nilable(Time)) }
434
434
  attr_accessor :scheduled_issue_at
435
435
 
436
+ # The latest `end_date` of the invoice's line items, including any line items
437
+ # hidden because they have zero quantity. This is `null` when the invoice has no
438
+ # line items.
439
+ sig { returns(T.nilable(Time)) }
440
+ attr_accessor :service_period_end
441
+
442
+ # The earliest `start_date` of the invoice's line items, including any line items
443
+ # hidden because they have zero quantity. This is `null` when the invoice has no
444
+ # line items.
445
+ sig { returns(T.nilable(Time)) }
446
+ attr_accessor :service_period_start
447
+
436
448
  sig { returns(T.nilable(Orb::Address)) }
437
449
  attr_reader :shipping_address
438
450
 
@@ -518,6 +530,8 @@ module Orb
518
530
  payment_received_at: T.nilable(Time),
519
531
  payment_started_at: T.nilable(Time),
520
532
  scheduled_issue_at: T.nilable(Time),
533
+ service_period_end: T.nilable(Time),
534
+ service_period_start: T.nilable(Time),
521
535
  shipping_address: T.nilable(Orb::Address::OrHash),
522
536
  status:
523
537
  Orb::Webhooks::InvoiceManuallyMarkedAsVoidStandardWebhookEvent::Invoice::Status::OrSymbol,
@@ -748,6 +762,14 @@ module Orb
748
762
  # If the invoice is in draft, this timestamp will reflect when the invoice is
749
763
  # scheduled to be issued.
750
764
  scheduled_issue_at:,
765
+ # The latest `end_date` of the invoice's line items, including any line items
766
+ # hidden because they have zero quantity. This is `null` when the invoice has no
767
+ # line items.
768
+ service_period_end:,
769
+ # The earliest `start_date` of the invoice's line items, including any line items
770
+ # hidden because they have zero quantity. This is `null` when the invoice has no
771
+ # line items.
772
+ service_period_start:,
751
773
  shipping_address:,
752
774
  status:,
753
775
  subscription:,
@@ -807,6 +829,8 @@ module Orb
807
829
  payment_received_at: T.nilable(Time),
808
830
  payment_started_at: T.nilable(Time),
809
831
  scheduled_issue_at: T.nilable(Time),
832
+ service_period_end: T.nilable(Time),
833
+ service_period_start: T.nilable(Time),
810
834
  shipping_address: T.nilable(Orb::Address),
811
835
  status:
812
836
  Orb::Webhooks::InvoiceManuallyMarkedAsVoidStandardWebhookEvent::Invoice::Status::TaggedSymbol,
@@ -448,6 +448,18 @@ module Orb
448
448
  sig { returns(T.nilable(Time)) }
449
449
  attr_accessor :scheduled_issue_at
450
450
 
451
+ # The latest `end_date` of the invoice's line items, including any line items
452
+ # hidden because they have zero quantity. This is `null` when the invoice has no
453
+ # line items.
454
+ sig { returns(T.nilable(Time)) }
455
+ attr_accessor :service_period_end
456
+
457
+ # The earliest `start_date` of the invoice's line items, including any line items
458
+ # hidden because they have zero quantity. This is `null` when the invoice has no
459
+ # line items.
460
+ sig { returns(T.nilable(Time)) }
461
+ attr_accessor :service_period_start
462
+
451
463
  sig { returns(T.nilable(Orb::Address)) }
452
464
  attr_reader :shipping_address
453
465
 
@@ -533,6 +545,8 @@ module Orb
533
545
  payment_received_at: T.nilable(Time),
534
546
  payment_started_at: T.nilable(Time),
535
547
  scheduled_issue_at: T.nilable(Time),
548
+ service_period_end: T.nilable(Time),
549
+ service_period_start: T.nilable(Time),
536
550
  shipping_address: T.nilable(Orb::Address::OrHash),
537
551
  status:
538
552
  Orb::Webhooks::InvoicePaymentFailedStandardWebhookEvent::Invoice::Status::OrSymbol,
@@ -763,6 +777,14 @@ module Orb
763
777
  # If the invoice is in draft, this timestamp will reflect when the invoice is
764
778
  # scheduled to be issued.
765
779
  scheduled_issue_at:,
780
+ # The latest `end_date` of the invoice's line items, including any line items
781
+ # hidden because they have zero quantity. This is `null` when the invoice has no
782
+ # line items.
783
+ service_period_end:,
784
+ # The earliest `start_date` of the invoice's line items, including any line items
785
+ # hidden because they have zero quantity. This is `null` when the invoice has no
786
+ # line items.
787
+ service_period_start:,
766
788
  shipping_address:,
767
789
  status:,
768
790
  subscription:,
@@ -822,6 +844,8 @@ module Orb
822
844
  payment_received_at: T.nilable(Time),
823
845
  payment_started_at: T.nilable(Time),
824
846
  scheduled_issue_at: T.nilable(Time),
847
+ service_period_end: T.nilable(Time),
848
+ service_period_start: T.nilable(Time),
825
849
  shipping_address: T.nilable(Orb::Address),
826
850
  status:
827
851
  Orb::Webhooks::InvoicePaymentFailedStandardWebhookEvent::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::InvoicePaymentProcessingStandardWebhookEvent::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::InvoicePaymentProcessingStandardWebhookEvent::Invoice::Status::TaggedSymbol,
@@ -450,6 +450,18 @@ module Orb
450
450
  sig { returns(T.nilable(Time)) }
451
451
  attr_accessor :scheduled_issue_at
452
452
 
453
+ # The latest `end_date` of the invoice's line items, including any line items
454
+ # hidden because they have zero quantity. This is `null` when the invoice has no
455
+ # line items.
456
+ sig { returns(T.nilable(Time)) }
457
+ attr_accessor :service_period_end
458
+
459
+ # The earliest `start_date` of the invoice's line items, including any line items
460
+ # hidden because they have zero quantity. This is `null` when the invoice has no
461
+ # line items.
462
+ sig { returns(T.nilable(Time)) }
463
+ attr_accessor :service_period_start
464
+
453
465
  sig { returns(T.nilable(Orb::Address)) }
454
466
  attr_reader :shipping_address
455
467
 
@@ -535,6 +547,8 @@ module Orb
535
547
  payment_received_at: T.nilable(Time),
536
548
  payment_started_at: T.nilable(Time),
537
549
  scheduled_issue_at: T.nilable(Time),
550
+ service_period_end: T.nilable(Time),
551
+ service_period_start: T.nilable(Time),
538
552
  shipping_address: T.nilable(Orb::Address::OrHash),
539
553
  status:
540
554
  Orb::Webhooks::InvoicePaymentSucceededStandardWebhookEvent::Invoice::Status::OrSymbol,
@@ -765,6 +779,14 @@ module Orb
765
779
  # If the invoice is in draft, this timestamp will reflect when the invoice is
766
780
  # scheduled to be issued.
767
781
  scheduled_issue_at:,
782
+ # The latest `end_date` of the invoice's line items, including any line items
783
+ # hidden because they have zero quantity. This is `null` when the invoice has no
784
+ # line items.
785
+ service_period_end:,
786
+ # The earliest `start_date` of the invoice's line items, including any line items
787
+ # hidden because they have zero quantity. This is `null` when the invoice has no
788
+ # line items.
789
+ service_period_start:,
768
790
  shipping_address:,
769
791
  status:,
770
792
  subscription:,
@@ -824,6 +846,8 @@ module Orb
824
846
  payment_received_at: T.nilable(Time),
825
847
  payment_started_at: T.nilable(Time),
826
848
  scheduled_issue_at: T.nilable(Time),
849
+ service_period_end: T.nilable(Time),
850
+ service_period_start: T.nilable(Time),
827
851
  shipping_address: T.nilable(Orb::Address),
828
852
  status:
829
853
  Orb::Webhooks::InvoicePaymentSucceededStandardWebhookEvent::Invoice::Status::TaggedSymbol,
@@ -445,6 +445,18 @@ module Orb
445
445
  sig { returns(T.nilable(Time)) }
446
446
  attr_accessor :scheduled_issue_at
447
447
 
448
+ # The latest `end_date` of the invoice's line items, including any line items
449
+ # hidden because they have zero quantity. This is `null` when the invoice has no
450
+ # line items.
451
+ sig { returns(T.nilable(Time)) }
452
+ attr_accessor :service_period_end
453
+
454
+ # The earliest `start_date` of the invoice's line items, including any line items
455
+ # hidden because they have zero quantity. This is `null` when the invoice has no
456
+ # line items.
457
+ sig { returns(T.nilable(Time)) }
458
+ attr_accessor :service_period_start
459
+
448
460
  sig { returns(T.nilable(Orb::Address)) }
449
461
  attr_reader :shipping_address
450
462
 
@@ -530,6 +542,8 @@ module Orb
530
542
  payment_received_at: T.nilable(Time),
531
543
  payment_started_at: T.nilable(Time),
532
544
  scheduled_issue_at: T.nilable(Time),
545
+ service_period_end: T.nilable(Time),
546
+ service_period_start: T.nilable(Time),
533
547
  shipping_address: T.nilable(Orb::Address::OrHash),
534
548
  status:
535
549
  Orb::Webhooks::InvoiceSyncFailedStandardWebhookEvent::Invoice::Status::OrSymbol,
@@ -760,6 +774,14 @@ module Orb
760
774
  # If the invoice is in draft, this timestamp will reflect when the invoice is
761
775
  # scheduled to be issued.
762
776
  scheduled_issue_at:,
777
+ # The latest `end_date` of the invoice's line items, including any line items
778
+ # hidden because they have zero quantity. This is `null` when the invoice has no
779
+ # line items.
780
+ service_period_end:,
781
+ # The earliest `start_date` of the invoice's line items, including any line items
782
+ # hidden because they have zero quantity. This is `null` when the invoice has no
783
+ # line items.
784
+ service_period_start:,
763
785
  shipping_address:,
764
786
  status:,
765
787
  subscription:,
@@ -819,6 +841,8 @@ module Orb
819
841
  payment_received_at: T.nilable(Time),
820
842
  payment_started_at: T.nilable(Time),
821
843
  scheduled_issue_at: T.nilable(Time),
844
+ service_period_end: T.nilable(Time),
845
+ service_period_start: T.nilable(Time),
822
846
  shipping_address: T.nilable(Orb::Address),
823
847
  status:
824
848
  Orb::Webhooks::InvoiceSyncFailedStandardWebhookEvent::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::InvoiceSyncSucceededStandardWebhookEvent::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::InvoiceSyncSucceededStandardWebhookEvent::Invoice::Status::TaggedSymbol,
@@ -433,6 +433,18 @@ module Orb
433
433
  sig { returns(T.nilable(Time)) }
434
434
  attr_accessor :scheduled_issue_at
435
435
 
436
+ # The latest `end_date` of the invoice's line items, including any line items
437
+ # hidden because they have zero quantity. This is `null` when the invoice has no
438
+ # line items.
439
+ sig { returns(T.nilable(Time)) }
440
+ attr_accessor :service_period_end
441
+
442
+ # The earliest `start_date` of the invoice's line items, including any line items
443
+ # hidden because they have zero quantity. This is `null` when the invoice has no
444
+ # line items.
445
+ sig { returns(T.nilable(Time)) }
446
+ attr_accessor :service_period_start
447
+
436
448
  sig { returns(T.nilable(Orb::Address)) }
437
449
  attr_reader :shipping_address
438
450
 
@@ -518,6 +530,8 @@ module Orb
518
530
  payment_received_at: T.nilable(Time),
519
531
  payment_started_at: T.nilable(Time),
520
532
  scheduled_issue_at: T.nilable(Time),
533
+ service_period_end: T.nilable(Time),
534
+ service_period_start: T.nilable(Time),
521
535
  shipping_address: T.nilable(Orb::Address::OrHash),
522
536
  status:
523
537
  Orb::Webhooks::InvoiceUndoMarkAsPaidStandardWebhookEvent::Invoice::Status::OrSymbol,
@@ -748,6 +762,14 @@ module Orb
748
762
  # If the invoice is in draft, this timestamp will reflect when the invoice is
749
763
  # scheduled to be issued.
750
764
  scheduled_issue_at:,
765
+ # The latest `end_date` of the invoice's line items, including any line items
766
+ # hidden because they have zero quantity. This is `null` when the invoice has no
767
+ # line items.
768
+ service_period_end:,
769
+ # The earliest `start_date` of the invoice's line items, including any line items
770
+ # hidden because they have zero quantity. This is `null` when the invoice has no
771
+ # line items.
772
+ service_period_start:,
751
773
  shipping_address:,
752
774
  status:,
753
775
  subscription:,
@@ -807,6 +829,8 @@ module Orb
807
829
  payment_received_at: T.nilable(Time),
808
830
  payment_started_at: T.nilable(Time),
809
831
  scheduled_issue_at: T.nilable(Time),
832
+ service_period_end: T.nilable(Time),
833
+ service_period_start: T.nilable(Time),
810
834
  shipping_address: T.nilable(Orb::Address),
811
835
  status:
812
836
  Orb::Webhooks::InvoiceUndoMarkAsPaidStandardWebhookEvent::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::SalesOrderAccountingSyncFailedStandardWebhookEvent::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::SalesOrderAccountingSyncFailedStandardWebhookEvent::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::SalesOrderAccountingSyncSucceededStandardWebhookEvent::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::SalesOrderAccountingSyncSucceededStandardWebhookEvent::Invoice::Status::TaggedSymbol,
@@ -64,6 +64,66 @@ module Orb
64
64
  )
65
65
  end
66
66
 
67
+ # This endpoint returns a customer's credit balance in a single currency or custom
68
+ # pricing unit: the total available balance, the balance waiting on payment, and
69
+ # the next upcoming expiration.
70
+ #
71
+ # `balance` is the sum of `balance` across the customer's `active` credit blocks,
72
+ # as listed by
73
+ # [Fetch customer credit balance](/api-reference/credit/fetch-customer-credit-balance).
74
+ # Expired, depleted, and voided blocks are not included. Blocks in
75
+ # `pending_payment` status are totaled in `pending_payment_balance` instead, and
76
+ # become available once their invoice is paid.
77
+ #
78
+ # Note that `currency` defaults to credits if not specified. To use a real world
79
+ # currency, set `currency` to an ISO 4217 string. A customer with no credits in
80
+ # that currency returns a balance of `0`.
81
+ sig do
82
+ params(
83
+ customer_id: String,
84
+ currency: T.nilable(String),
85
+ request_options: Orb::RequestOptions::OrHash
86
+ ).returns(Orb::Models::Customers::CreditFetchBalanceResponse)
87
+ end
88
+ def fetch_balance(
89
+ customer_id,
90
+ # The ledger currency or custom pricing unit to use.
91
+ currency: nil,
92
+ request_options: {}
93
+ )
94
+ end
95
+
96
+ # This endpoint returns a customer's credit balance in a single currency or custom
97
+ # pricing unit: the total available balance, the balance waiting on payment, and
98
+ # the next upcoming expiration.
99
+ #
100
+ # `balance` is the sum of `balance` across the customer's `active` credit blocks,
101
+ # as listed by
102
+ # [Fetch customer credit balance](/api-reference/credit/fetch-customer-credit-balance).
103
+ # Expired, depleted, and voided blocks are not included. Blocks in
104
+ # `pending_payment` status are totaled in `pending_payment_balance` instead, and
105
+ # become available once their invoice is paid.
106
+ #
107
+ # Note that `currency` defaults to credits if not specified. To use a real world
108
+ # currency, set `currency` to an ISO 4217 string. A customer with no credits in
109
+ # that currency returns a balance of `0`.
110
+ sig do
111
+ params(
112
+ external_customer_id: String,
113
+ currency: T.nilable(String),
114
+ request_options: Orb::RequestOptions::OrHash
115
+ ).returns(
116
+ Orb::Models::Customers::CreditFetchBalanceByExternalIDResponse
117
+ )
118
+ end
119
+ def fetch_balance_by_external_id(
120
+ external_customer_id,
121
+ # The ledger currency or custom pricing unit to use.
122
+ currency: nil,
123
+ request_options: {}
124
+ )
125
+ end
126
+
67
127
  # Returns a paginated list of unexpired, non-zero credit blocks for a customer.
68
128
  #
69
129
  # If `include_all_blocks` is set to `true`, all credit blocks (including expired
@@ -69,6 +69,8 @@ module Orb
69
69
  payment_received_at: Time?,
70
70
  payment_started_at: Time?,
71
71
  scheduled_issue_at: Time?,
72
+ service_period_end: Time?,
73
+ service_period_start: Time?,
72
74
  shipping_address: Orb::Address?,
73
75
  status: Orb::Models::ChangedSubscriptionResources::CreatedInvoice::status,
74
76
  subscription: Orb::SubscriptionMinified?,
@@ -152,6 +154,10 @@ module Orb
152
154
 
153
155
  attr_accessor scheduled_issue_at: Time?
154
156
 
157
+ attr_accessor service_period_end: Time?
158
+
159
+ attr_accessor service_period_start: Time?
160
+
155
161
  attr_accessor shipping_address: Orb::Address?
156
162
 
157
163
  attr_accessor status: Orb::Models::ChangedSubscriptionResources::CreatedInvoice::status
@@ -205,6 +211,8 @@ module Orb
205
211
  payment_received_at: Time?,
206
212
  payment_started_at: Time?,
207
213
  scheduled_issue_at: Time?,
214
+ service_period_end: Time?,
215
+ service_period_start: Time?,
208
216
  shipping_address: Orb::Address?,
209
217
  status: Orb::Models::ChangedSubscriptionResources::CreatedInvoice::status,
210
218
  subscription: Orb::SubscriptionMinified?,
@@ -252,6 +260,8 @@ module Orb
252
260
  payment_received_at: Time?,
253
261
  payment_started_at: Time?,
254
262
  scheduled_issue_at: Time?,
263
+ service_period_end: Time?,
264
+ service_period_start: Time?,
255
265
  shipping_address: Orb::Address?,
256
266
  status: Orb::Models::ChangedSubscriptionResources::CreatedInvoice::status,
257
267
  subscription: Orb::SubscriptionMinified?,
@@ -0,0 +1,30 @@
1
+ module Orb
2
+ module Models
3
+ module Customers
4
+ type credit_fetch_balance_by_external_id_params =
5
+ { external_customer_id: String, currency: String? }
6
+ & Orb::Internal::Type::request_parameters
7
+
8
+ class CreditFetchBalanceByExternalIDParams < Orb::Internal::Type::BaseModel
9
+ extend Orb::Internal::Type::RequestParameters::Converter
10
+ include Orb::Internal::Type::RequestParameters
11
+
12
+ attr_accessor external_customer_id: String
13
+
14
+ attr_accessor currency: String?
15
+
16
+ def initialize: (
17
+ external_customer_id: String,
18
+ ?currency: String?,
19
+ ?request_options: Orb::request_opts
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ external_customer_id: String,
24
+ currency: String?,
25
+ request_options: Orb::RequestOptions
26
+ }
27
+ end
28
+ end
29
+ end
30
+ end