metronome-sdk 1.0.0 → 2.0.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 (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +55 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +25 -11
  5. data/lib/metronome_sdk/file_part.rb +10 -7
  6. data/lib/metronome_sdk/internal/body_cursor_page.rb +1 -1
  7. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  8. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +1 -1
  9. data/lib/metronome_sdk/internal/transport/base_client.rb +11 -7
  10. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +7 -10
  11. data/lib/metronome_sdk/internal/type/base_page.rb +1 -1
  12. data/lib/metronome_sdk/internal/type/enum.rb +25 -0
  13. data/lib/metronome_sdk/internal/type/file_input.rb +7 -4
  14. data/lib/metronome_sdk/internal/util.rb +8 -7
  15. data/lib/metronome_sdk/models/contract_v2.rb +256 -6
  16. data/lib/metronome_sdk/models/contract_without_amendments.rb +2 -2
  17. data/lib/metronome_sdk/models/hierarchy_configuration.rb +99 -2
  18. data/lib/metronome_sdk/models/payment_gate_config.rb +1 -0
  19. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +1 -0
  20. data/lib/metronome_sdk/models/subscription.rb +85 -1
  21. data/lib/metronome_sdk/models/v1/alert_archive_params.rb +8 -4
  22. data/lib/metronome_sdk/models/v1/alert_create_params.rb +38 -36
  23. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +1 -0
  24. data/lib/metronome_sdk/models/v1/contract_create_params.rb +101 -3
  25. data/lib/metronome_sdk/models/v1/customer_detail.rb +9 -1
  26. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +5 -15
  27. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +3 -3
  28. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +3 -3
  29. data/lib/metronome_sdk/models/v1/customers/alert_reset_params.rb +2 -2
  30. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +12 -12
  31. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +40 -38
  32. data/lib/metronome_sdk/models/v1/customers/invoice.rb +136 -18
  33. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rb +30 -0
  34. data/lib/metronome_sdk/models/v1/payment.rb +151 -0
  35. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +28 -0
  36. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +18 -0
  37. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +28 -0
  38. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +18 -0
  39. data/lib/metronome_sdk/models/v1/payment_list_params.rb +53 -0
  40. data/lib/metronome_sdk/models/v1/payment_status.rb +19 -0
  41. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +9 -1
  42. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +9 -1
  43. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +186 -3
  44. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +195 -8
  45. data/lib/metronome_sdk/resources/v1/alerts.rb +57 -53
  46. data/lib/metronome_sdk/resources/v1/contracts.rb +4 -3
  47. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +70 -51
  48. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +55 -0
  49. data/lib/metronome_sdk/resources/v1/customers.rb +7 -4
  50. data/lib/metronome_sdk/resources/v1/payments.rb +102 -0
  51. data/lib/metronome_sdk/resources/v1/usage.rb +4 -2
  52. data/lib/metronome_sdk/resources/v1.rb +4 -0
  53. data/lib/metronome_sdk/resources/v2/contracts.rb +9 -3
  54. data/lib/metronome_sdk/version.rb +1 -1
  55. data/lib/metronome_sdk.rb +9 -0
  56. data/rbi/metronome_sdk/errors.rbi +29 -2
  57. data/rbi/metronome_sdk/file_part.rbi +1 -1
  58. data/rbi/metronome_sdk/internal/transport/base_client.rbi +4 -5
  59. data/rbi/metronome_sdk/internal/type/base_page.rbi +1 -1
  60. data/rbi/metronome_sdk/internal/util.rbi +1 -1
  61. data/rbi/metronome_sdk/models/contract_v2.rbi +603 -10
  62. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +2 -2
  63. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +250 -6
  64. data/rbi/metronome_sdk/models/payment_gate_config.rbi +5 -0
  65. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +5 -0
  66. data/rbi/metronome_sdk/models/subscription.rbi +175 -0
  67. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +6 -4
  68. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +51 -47
  69. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +5 -0
  70. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +257 -4
  71. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +8 -0
  72. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +6 -21
  73. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +10 -9
  74. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +4 -4
  75. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +2 -2
  76. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +14 -14
  77. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +48 -44
  78. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +246 -58
  79. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbi +50 -0
  80. data/rbi/metronome_sdk/models/v1/payment.rbi +316 -0
  81. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +48 -0
  82. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +35 -0
  83. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +48 -0
  84. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +35 -0
  85. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +91 -0
  86. data/rbi/metronome_sdk/models/v1/payment_status.rbi +33 -0
  87. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +18 -0
  88. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +18 -0
  89. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +498 -6
  90. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +462 -14
  91. data/rbi/metronome_sdk/resources/v1/alerts.rbi +68 -64
  92. data/rbi/metronome_sdk/resources/v1/contracts.rbi +4 -3
  93. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +73 -54
  94. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +36 -0
  95. data/rbi/metronome_sdk/resources/v1/customers.rbi +7 -4
  96. data/rbi/metronome_sdk/resources/v1/payments.rbi +72 -0
  97. data/rbi/metronome_sdk/resources/v1/usage.rbi +4 -2
  98. data/rbi/metronome_sdk/resources/v1.rbi +3 -0
  99. data/rbi/metronome_sdk/resources/v2/contracts.rbi +14 -0
  100. data/sig/metronome_sdk/errors.rbs +7 -0
  101. data/sig/metronome_sdk/file_part.rbs +1 -1
  102. data/sig/metronome_sdk/models/contract_v2.rbs +239 -12
  103. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +87 -6
  104. data/sig/metronome_sdk/models/payment_gate_config.rbs +2 -1
  105. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +2 -1
  106. data/sig/metronome_sdk/models/subscription.rbs +80 -0
  107. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +2 -1
  108. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +91 -5
  109. data/sig/metronome_sdk/models/v1/customer_detail.rbs +5 -0
  110. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +0 -7
  111. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +6 -4
  112. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +137 -24
  113. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbs +32 -0
  114. data/sig/metronome_sdk/models/v1/payment.rbs +191 -0
  115. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +30 -0
  116. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +15 -0
  117. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +30 -0
  118. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +15 -0
  119. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +56 -0
  120. data/sig/metronome_sdk/models/v1/payment_status.rbs +19 -0
  121. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +9 -0
  122. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +9 -0
  123. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +182 -7
  124. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +221 -18
  125. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +6 -0
  126. data/sig/metronome_sdk/resources/v1/payments.rbs +30 -0
  127. data/sig/metronome_sdk/resources/v1.rbs +2 -0
  128. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -0
  129. metadata +29 -2
@@ -46,21 +46,10 @@ module MetronomeSDK
46
46
  attr_writer :amendment_id
47
47
 
48
48
  # This field's availability is dependent on your client's configuration.
49
- sig do
50
- returns(
51
- T.nilable(
52
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol
53
- )
54
- )
55
- end
49
+ sig { returns(T.nilable(T.anything)) }
56
50
  attr_reader :billable_status
57
51
 
58
- sig do
59
- params(
60
- billable_status:
61
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::OrSymbol
62
- ).void
63
- end
52
+ sig { params(billable_status: T.anything).void }
64
53
  attr_writer :billable_status
65
54
 
66
55
  # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
@@ -245,8 +234,7 @@ module MetronomeSDK
245
234
  total: Float,
246
235
  type: String,
247
236
  amendment_id: String,
248
- billable_status:
249
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::OrSymbol,
237
+ billable_status: T.anything,
250
238
  contract_custom_fields: T::Hash[Symbol, String],
251
239
  contract_id: String,
252
240
  correction_record:
@@ -332,8 +320,7 @@ module MetronomeSDK
332
320
  total: Float,
333
321
  type: String,
334
322
  amendment_id: String,
335
- billable_status:
336
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol,
323
+ billable_status: T.anything,
337
324
  contract_custom_fields: T::Hash[Symbol, String],
338
325
  contract_id: String,
339
326
  correction_record:
@@ -1400,41 +1387,6 @@ module MetronomeSDK
1400
1387
  end
1401
1388
  end
1402
1389
 
1403
- # This field's availability is dependent on your client's configuration.
1404
- module BillableStatus
1405
- extend MetronomeSDK::Internal::Type::Enum
1406
-
1407
- TaggedSymbol =
1408
- T.type_alias do
1409
- T.all(
1410
- Symbol,
1411
- MetronomeSDK::V1::Customers::Invoice::BillableStatus
1412
- )
1413
- end
1414
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1415
-
1416
- BILLABLE =
1417
- T.let(
1418
- :billable,
1419
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol
1420
- )
1421
- UNBILLABLE =
1422
- T.let(
1423
- :unbillable,
1424
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol
1425
- )
1426
-
1427
- sig do
1428
- override.returns(
1429
- T::Array[
1430
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol
1431
- ]
1432
- )
1433
- end
1434
- def self.values
1435
- end
1436
- end
1437
-
1438
1390
  class CorrectionRecord < MetronomeSDK::Internal::Type::BaseModel
1439
1391
  OrHash =
1440
1392
  T.type_alias do
@@ -1540,12 +1492,51 @@ module MetronomeSDK
1540
1492
  sig { params(invoice_id: String).void }
1541
1493
  attr_writer :invoice_id
1542
1494
 
1495
+ # The subtotal amount invoiced, if available from the billing provider.
1496
+ sig { returns(T.nilable(Float)) }
1497
+ attr_reader :invoiced_sub_total
1498
+
1499
+ sig { params(invoiced_sub_total: Float).void }
1500
+ attr_writer :invoiced_sub_total
1501
+
1502
+ # The total amount invoiced, if available from the billing provider.
1503
+ sig { returns(T.nilable(Float)) }
1504
+ attr_reader :invoiced_total
1505
+
1506
+ sig { params(invoiced_total: Float).void }
1507
+ attr_writer :invoiced_total
1508
+
1543
1509
  sig { returns(T.nilable(Time)) }
1544
1510
  attr_reader :issued_at_timestamp
1545
1511
 
1546
1512
  sig { params(issued_at_timestamp: Time).void }
1547
1513
  attr_writer :issued_at_timestamp
1548
1514
 
1515
+ # A URL to the PDF of the invoice, if available from the billing provider.
1516
+ sig { returns(T.nilable(String)) }
1517
+ attr_reader :pdf_url
1518
+
1519
+ sig { params(pdf_url: String).void }
1520
+ attr_writer :pdf_url
1521
+
1522
+ # Tax details for the invoice, if available from the billing provider.
1523
+ sig do
1524
+ returns(
1525
+ T.nilable(
1526
+ MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax
1527
+ )
1528
+ )
1529
+ end
1530
+ attr_reader :tax
1531
+
1532
+ sig do
1533
+ params(
1534
+ tax:
1535
+ MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax::OrHash
1536
+ ).void
1537
+ end
1538
+ attr_writer :tax
1539
+
1549
1540
  sig do
1550
1541
  params(
1551
1542
  billing_provider_type:
@@ -1553,14 +1544,27 @@ module MetronomeSDK
1553
1544
  external_status:
1554
1545
  MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::OrSymbol,
1555
1546
  invoice_id: String,
1556
- issued_at_timestamp: Time
1547
+ invoiced_sub_total: Float,
1548
+ invoiced_total: Float,
1549
+ issued_at_timestamp: Time,
1550
+ pdf_url: String,
1551
+ tax:
1552
+ MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax::OrHash
1557
1553
  ).returns(T.attached_class)
1558
1554
  end
1559
1555
  def self.new(
1560
1556
  billing_provider_type:,
1561
1557
  external_status: nil,
1562
1558
  invoice_id: nil,
1563
- issued_at_timestamp: nil
1559
+ # The subtotal amount invoiced, if available from the billing provider.
1560
+ invoiced_sub_total: nil,
1561
+ # The total amount invoiced, if available from the billing provider.
1562
+ invoiced_total: nil,
1563
+ issued_at_timestamp: nil,
1564
+ # A URL to the PDF of the invoice, if available from the billing provider.
1565
+ pdf_url: nil,
1566
+ # Tax details for the invoice, if available from the billing provider.
1567
+ tax: nil
1564
1568
  )
1565
1569
  end
1566
1570
 
@@ -1572,7 +1576,12 @@ module MetronomeSDK
1572
1576
  external_status:
1573
1577
  MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol,
1574
1578
  invoice_id: String,
1575
- issued_at_timestamp: Time
1579
+ invoiced_sub_total: Float,
1580
+ invoiced_total: Float,
1581
+ issued_at_timestamp: Time,
1582
+ pdf_url: String,
1583
+ tax:
1584
+ MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax
1576
1585
  }
1577
1586
  )
1578
1587
  end
@@ -1721,6 +1730,67 @@ module MetronomeSDK
1721
1730
  def self.values
1722
1731
  end
1723
1732
  end
1733
+
1734
+ class Tax < MetronomeSDK::Internal::Type::BaseModel
1735
+ OrHash =
1736
+ T.type_alias do
1737
+ T.any(
1738
+ MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax,
1739
+ MetronomeSDK::Internal::AnyHash
1740
+ )
1741
+ end
1742
+
1743
+ # The total tax amount applied to the invoice.
1744
+ sig { returns(T.nilable(Float)) }
1745
+ attr_reader :total_tax_amount
1746
+
1747
+ sig { params(total_tax_amount: Float).void }
1748
+ attr_writer :total_tax_amount
1749
+
1750
+ # The total taxable amount of the invoice.
1751
+ sig { returns(T.nilable(Float)) }
1752
+ attr_reader :total_taxable_amount
1753
+
1754
+ sig { params(total_taxable_amount: Float).void }
1755
+ attr_writer :total_taxable_amount
1756
+
1757
+ # The transaction ID associated with the tax calculation.
1758
+ sig { returns(T.nilable(String)) }
1759
+ attr_reader :transaction_id
1760
+
1761
+ sig { params(transaction_id: String).void }
1762
+ attr_writer :transaction_id
1763
+
1764
+ # Tax details for the invoice, if available from the billing provider.
1765
+ sig do
1766
+ params(
1767
+ total_tax_amount: Float,
1768
+ total_taxable_amount: Float,
1769
+ transaction_id: String
1770
+ ).returns(T.attached_class)
1771
+ end
1772
+ def self.new(
1773
+ # The total tax amount applied to the invoice.
1774
+ total_tax_amount: nil,
1775
+ # The total taxable amount of the invoice.
1776
+ total_taxable_amount: nil,
1777
+ # The transaction ID associated with the tax calculation.
1778
+ transaction_id: nil
1779
+ )
1780
+ end
1781
+
1782
+ sig do
1783
+ override.returns(
1784
+ {
1785
+ total_tax_amount: Float,
1786
+ total_taxable_amount: Float,
1787
+ transaction_id: String
1788
+ }
1789
+ )
1790
+ end
1791
+ def to_hash
1792
+ end
1793
+ end
1724
1794
  end
1725
1795
  end
1726
1796
 
@@ -1763,12 +1833,51 @@ module MetronomeSDK
1763
1833
  sig { params(invoice_id: String).void }
1764
1834
  attr_writer :invoice_id
1765
1835
 
1836
+ # The subtotal amount invoiced, if available from the billing provider.
1837
+ sig { returns(T.nilable(Float)) }
1838
+ attr_reader :invoiced_sub_total
1839
+
1840
+ sig { params(invoiced_sub_total: Float).void }
1841
+ attr_writer :invoiced_sub_total
1842
+
1843
+ # The total amount invoiced, if available from the billing provider.
1844
+ sig { returns(T.nilable(Float)) }
1845
+ attr_reader :invoiced_total
1846
+
1847
+ sig { params(invoiced_total: Float).void }
1848
+ attr_writer :invoiced_total
1849
+
1766
1850
  sig { returns(T.nilable(Time)) }
1767
1851
  attr_reader :issued_at_timestamp
1768
1852
 
1769
1853
  sig { params(issued_at_timestamp: Time).void }
1770
1854
  attr_writer :issued_at_timestamp
1771
1855
 
1856
+ # A URL to the PDF of the invoice, if available from the billing provider.
1857
+ sig { returns(T.nilable(String)) }
1858
+ attr_reader :pdf_url
1859
+
1860
+ sig { params(pdf_url: String).void }
1861
+ attr_writer :pdf_url
1862
+
1863
+ # Tax details for the invoice, if available from the billing provider.
1864
+ sig do
1865
+ returns(
1866
+ T.nilable(
1867
+ MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax
1868
+ )
1869
+ )
1870
+ end
1871
+ attr_reader :tax
1872
+
1873
+ sig do
1874
+ params(
1875
+ tax:
1876
+ MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax::OrHash
1877
+ ).void
1878
+ end
1879
+ attr_writer :tax
1880
+
1772
1881
  sig do
1773
1882
  params(
1774
1883
  billing_provider_type:
@@ -1776,14 +1885,27 @@ module MetronomeSDK
1776
1885
  external_status:
1777
1886
  MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::ExternalStatus::OrSymbol,
1778
1887
  invoice_id: String,
1779
- issued_at_timestamp: Time
1888
+ invoiced_sub_total: Float,
1889
+ invoiced_total: Float,
1890
+ issued_at_timestamp: Time,
1891
+ pdf_url: String,
1892
+ tax:
1893
+ MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax::OrHash
1780
1894
  ).returns(T.attached_class)
1781
1895
  end
1782
1896
  def self.new(
1783
1897
  billing_provider_type:,
1784
1898
  external_status: nil,
1785
1899
  invoice_id: nil,
1786
- issued_at_timestamp: nil
1900
+ # The subtotal amount invoiced, if available from the billing provider.
1901
+ invoiced_sub_total: nil,
1902
+ # The total amount invoiced, if available from the billing provider.
1903
+ invoiced_total: nil,
1904
+ issued_at_timestamp: nil,
1905
+ # A URL to the PDF of the invoice, if available from the billing provider.
1906
+ pdf_url: nil,
1907
+ # Tax details for the invoice, if available from the billing provider.
1908
+ tax: nil
1787
1909
  )
1788
1910
  end
1789
1911
 
@@ -1795,7 +1917,12 @@ module MetronomeSDK
1795
1917
  external_status:
1796
1918
  MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::ExternalStatus::TaggedSymbol,
1797
1919
  invoice_id: String,
1798
- issued_at_timestamp: Time
1920
+ invoiced_sub_total: Float,
1921
+ invoiced_total: Float,
1922
+ issued_at_timestamp: Time,
1923
+ pdf_url: String,
1924
+ tax:
1925
+ MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax
1799
1926
  }
1800
1927
  )
1801
1928
  end
@@ -1944,6 +2071,67 @@ module MetronomeSDK
1944
2071
  def self.values
1945
2072
  end
1946
2073
  end
2074
+
2075
+ class Tax < MetronomeSDK::Internal::Type::BaseModel
2076
+ OrHash =
2077
+ T.type_alias do
2078
+ T.any(
2079
+ MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax,
2080
+ MetronomeSDK::Internal::AnyHash
2081
+ )
2082
+ end
2083
+
2084
+ # The total tax amount applied to the invoice.
2085
+ sig { returns(T.nilable(Float)) }
2086
+ attr_reader :total_tax_amount
2087
+
2088
+ sig { params(total_tax_amount: Float).void }
2089
+ attr_writer :total_tax_amount
2090
+
2091
+ # The total taxable amount of the invoice.
2092
+ sig { returns(T.nilable(Float)) }
2093
+ attr_reader :total_taxable_amount
2094
+
2095
+ sig { params(total_taxable_amount: Float).void }
2096
+ attr_writer :total_taxable_amount
2097
+
2098
+ # The transaction ID associated with the tax calculation.
2099
+ sig { returns(T.nilable(String)) }
2100
+ attr_reader :transaction_id
2101
+
2102
+ sig { params(transaction_id: String).void }
2103
+ attr_writer :transaction_id
2104
+
2105
+ # Tax details for the invoice, if available from the billing provider.
2106
+ sig do
2107
+ params(
2108
+ total_tax_amount: Float,
2109
+ total_taxable_amount: Float,
2110
+ transaction_id: String
2111
+ ).returns(T.attached_class)
2112
+ end
2113
+ def self.new(
2114
+ # The total tax amount applied to the invoice.
2115
+ total_tax_amount: nil,
2116
+ # The total taxable amount of the invoice.
2117
+ total_taxable_amount: nil,
2118
+ # The transaction ID associated with the tax calculation.
2119
+ transaction_id: nil
2120
+ )
2121
+ end
2122
+
2123
+ sig do
2124
+ override.returns(
2125
+ {
2126
+ total_tax_amount: Float,
2127
+ total_taxable_amount: Float,
2128
+ transaction_id: String
2129
+ }
2130
+ )
2131
+ end
2132
+ def to_hash
2133
+ end
2134
+ end
1947
2135
  end
1948
2136
 
1949
2137
  class InvoiceAdjustment < MetronomeSDK::Internal::Type::BaseModel
@@ -0,0 +1,50 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Customers
7
+ class InvoiceRetrievePdfParams < MetronomeSDK::Internal::Type::BaseModel
8
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
+ include MetronomeSDK::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ MetronomeSDK::V1::Customers::InvoiceRetrievePdfParams,
15
+ MetronomeSDK::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :customer_id
21
+
22
+ sig { returns(String) }
23
+ attr_accessor :invoice_id
24
+
25
+ sig do
26
+ params(
27
+ customer_id: String,
28
+ invoice_id: String,
29
+ request_options: MetronomeSDK::RequestOptions::OrHash
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(customer_id:, invoice_id:, request_options: {})
33
+ end
34
+
35
+ sig do
36
+ override.returns(
37
+ {
38
+ customer_id: String,
39
+ invoice_id: String,
40
+ request_options: MetronomeSDK::RequestOptions
41
+ }
42
+ )
43
+ end
44
+ def to_hash
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end