orb-billing 1.14.0 → 1.15.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/lib/orb/client.rb +14 -0
- data/lib/orb/internal/transport/base_client.rb +5 -0
- data/lib/orb/internal/type/union.rb +13 -27
- data/lib/orb/models/accounting_provider_config.rb +14 -3
- data/lib/orb/models/adjustment_interval.rb +185 -3
- data/lib/orb/models/alert.rb +105 -1
- data/lib/orb/models/alert_create_for_subscription_params.rb +120 -7
- data/lib/orb/models/alert_update_params.rb +113 -1
- data/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +2419 -17109
- data/lib/orb/models/beta_create_plan_version_params.rb +2361 -16947
- data/lib/orb/models/changed_subscription_resources.rb +200 -10
- data/lib/orb/models/conversion_rate_config.rb +18 -0
- data/lib/orb/models/credit_block_list_invoices_response.rb +155 -1
- data/lib/orb/models/credit_block_retrieve_response.rb +150 -1
- data/lib/orb/models/customer.rb +111 -4
- data/lib/orb/models/customer_create_params.rb +6 -1
- data/lib/orb/models/customer_tax_id.rb +15 -1
- data/lib/orb/models/customer_update_by_external_id_params.rb +16 -2
- data/lib/orb/models/customer_update_params.rb +16 -2
- data/lib/orb/models/customers/credit_list_by_external_id_response.rb +155 -1
- data/lib/orb/models/customers/credit_list_response.rb +152 -1
- data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +4 -4
- data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +4 -4
- data/lib/orb/models/dimensional_price_group.rb +1 -1
- data/lib/orb/models/discount.rb +145 -1
- data/lib/orb/models/event_ingest_params.rb +5 -2
- data/lib/orb/models/invoice.rb +198 -10
- data/lib/orb/models/invoice_create_params.rb +6 -5
- data/lib/orb/models/invoice_fetch_upcoming_response.rb +200 -10
- data/lib/orb/models/invoice_issue_summary_response.rb +9 -3
- data/lib/orb/models/invoice_level_discount.rb +145 -1
- data/lib/orb/models/invoice_line_item_create_response.rb +189 -5
- data/lib/orb/models/invoice_list_summary_response.rb +9 -3
- data/lib/orb/models/licenses/external_license_get_usage_params.rb +3 -3
- data/lib/orb/models/licenses/usage_get_all_usage_params.rb +3 -3
- data/lib/orb/models/licenses/usage_get_usage_params.rb +3 -3
- data/lib/orb/models/mutated_subscription.rb +169 -4
- data/lib/orb/models/new_allocation_price.rb +11 -1
- data/lib/orb/models/new_floating_bulk_price.rb +1 -3
- data/lib/orb/models/new_floating_bulk_with_proration_price.rb +1 -3
- data/lib/orb/models/new_floating_cumulative_grouped_bulk_price.rb +1 -3
- data/lib/orb/models/new_floating_grouped_allocation_price.rb +1 -3
- data/lib/orb/models/new_floating_grouped_tiered_package_price.rb +1 -3
- data/lib/orb/models/new_floating_grouped_tiered_price.rb +1 -3
- data/lib/orb/models/new_floating_grouped_with_metered_minimum_price.rb +1 -3
- data/lib/orb/models/new_floating_grouped_with_prorated_minimum_price.rb +1 -3
- data/lib/orb/models/new_floating_matrix_price.rb +1 -3
- data/lib/orb/models/new_floating_matrix_with_allocation_price.rb +1 -3
- data/lib/orb/models/new_floating_matrix_with_display_name_price.rb +1 -3
- data/lib/orb/models/new_floating_max_group_tiered_package_price.rb +1 -3
- data/lib/orb/models/new_floating_minimum_composite_price.rb +1 -3
- data/lib/orb/models/new_floating_package_price.rb +1 -3
- data/lib/orb/models/new_floating_package_with_allocation_price.rb +1 -3
- data/lib/orb/models/new_floating_scalable_matrix_with_tiered_pricing_price.rb +1 -3
- data/lib/orb/models/new_floating_scalable_matrix_with_unit_pricing_price.rb +1 -3
- data/lib/orb/models/new_floating_threshold_total_amount_price.rb +1 -3
- data/lib/orb/models/new_floating_tiered_package_price.rb +1 -3
- data/lib/orb/models/new_floating_tiered_package_with_minimum_price.rb +1 -3
- data/lib/orb/models/new_floating_tiered_price.rb +1 -3
- data/lib/orb/models/new_floating_tiered_with_minimum_price.rb +1 -3
- data/lib/orb/models/new_floating_tiered_with_proration_price.rb +1 -3
- data/lib/orb/models/new_floating_unit_price.rb +1 -3
- data/lib/orb/models/new_floating_unit_with_percent_price.rb +1 -3
- data/lib/orb/models/new_floating_unit_with_proration_price.rb +1 -3
- data/lib/orb/models/new_plan_bulk_price.rb +1 -1
- data/lib/orb/models/new_plan_bulk_with_proration_price.rb +1 -3
- data/lib/orb/models/new_plan_cumulative_grouped_bulk_price.rb +1 -3
- data/lib/orb/models/new_plan_grouped_allocation_price.rb +1 -3
- data/lib/orb/models/new_plan_grouped_tiered_package_price.rb +1 -3
- data/lib/orb/models/new_plan_grouped_tiered_price.rb +1 -3
- data/lib/orb/models/new_plan_grouped_with_metered_minimum_price.rb +1 -3
- data/lib/orb/models/new_plan_grouped_with_prorated_minimum_price.rb +1 -3
- data/lib/orb/models/new_plan_matrix_price.rb +1 -5
- data/lib/orb/models/new_plan_matrix_with_allocation_price.rb +1 -3
- data/lib/orb/models/new_plan_matrix_with_display_name_price.rb +1 -3
- data/lib/orb/models/new_plan_max_group_tiered_package_price.rb +1 -3
- data/lib/orb/models/new_plan_minimum_composite_price.rb +1 -3
- data/lib/orb/models/new_plan_package_price.rb +1 -5
- data/lib/orb/models/new_plan_package_with_allocation_price.rb +1 -3
- data/lib/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rb +1 -3
- data/lib/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rb +1 -3
- data/lib/orb/models/new_plan_threshold_total_amount_price.rb +1 -3
- data/lib/orb/models/new_plan_tiered_package_price.rb +1 -3
- data/lib/orb/models/new_plan_tiered_package_with_minimum_price.rb +1 -3
- data/lib/orb/models/new_plan_tiered_price.rb +1 -5
- data/lib/orb/models/new_plan_tiered_with_minimum_price.rb +1 -3
- data/lib/orb/models/new_plan_unit_price.rb +1 -1
- data/lib/orb/models/new_plan_unit_with_percent_price.rb +1 -3
- data/lib/orb/models/new_plan_unit_with_proration_price.rb +1 -3
- data/lib/orb/models/new_subscription_bulk_price.rb +1 -3
- data/lib/orb/models/new_subscription_bulk_with_proration_price.rb +1 -3
- data/lib/orb/models/new_subscription_cumulative_grouped_bulk_price.rb +1 -3
- data/lib/orb/models/new_subscription_grouped_allocation_price.rb +1 -3
- data/lib/orb/models/new_subscription_grouped_tiered_package_price.rb +1 -3
- data/lib/orb/models/new_subscription_grouped_tiered_price.rb +1 -3
- data/lib/orb/models/new_subscription_grouped_with_metered_minimum_price.rb +1 -3
- data/lib/orb/models/new_subscription_grouped_with_prorated_minimum_price.rb +1 -3
- data/lib/orb/models/new_subscription_matrix_price.rb +1 -3
- data/lib/orb/models/new_subscription_matrix_with_allocation_price.rb +1 -3
- data/lib/orb/models/new_subscription_matrix_with_display_name_price.rb +1 -3
- data/lib/orb/models/new_subscription_max_group_tiered_package_price.rb +1 -3
- data/lib/orb/models/new_subscription_minimum_composite_price.rb +1 -3
- data/lib/orb/models/new_subscription_package_price.rb +1 -3
- data/lib/orb/models/new_subscription_package_with_allocation_price.rb +1 -3
- data/lib/orb/models/new_subscription_scalable_matrix_with_tiered_pricing_price.rb +1 -3
- data/lib/orb/models/new_subscription_scalable_matrix_with_unit_pricing_price.rb +1 -3
- data/lib/orb/models/new_subscription_threshold_total_amount_price.rb +1 -3
- data/lib/orb/models/new_subscription_tiered_package_price.rb +1 -3
- data/lib/orb/models/new_subscription_tiered_package_with_minimum_price.rb +1 -3
- data/lib/orb/models/new_subscription_tiered_price.rb +1 -3
- data/lib/orb/models/new_subscription_tiered_with_minimum_price.rb +1 -3
- data/lib/orb/models/new_subscription_unit_price.rb +1 -3
- data/lib/orb/models/new_subscription_unit_with_percent_price.rb +1 -3
- data/lib/orb/models/new_subscription_unit_with_proration_price.rb +1 -3
- data/lib/orb/models/per_price_cost.rb +2 -2
- data/lib/orb/models/plan.rb +189 -9
- data/lib/orb/models/plan_create_params.rb +1047 -8228
- data/lib/orb/models/plan_update_params.rb +9 -1
- data/lib/orb/models/plan_version.rb +186 -5
- data/lib/orb/models/plans/external_plan_id_update_params.rb +9 -1
- data/lib/orb/models/plans/migration_cancel_response.rb +22 -4
- data/lib/orb/models/plans/migration_list_response.rb +22 -4
- data/lib/orb/models/plans/migration_retrieve_response.rb +22 -4
- data/lib/orb/models/price.rb +2614 -1268
- data/lib/orb/models/price_create_params.rb +866 -49
- data/lib/orb/models/price_evaluate_multiple_params.rb +889 -54
- data/lib/orb/models/price_evaluate_preview_events_params.rb +881 -46
- data/lib/orb/models/price_interval.rb +2 -2
- data/lib/orb/models/subscription.rb +168 -4
- data/lib/orb/models/subscription_create_params.rb +2818 -674
- data/lib/orb/models/subscription_price_intervals_params.rb +1098 -57
- data/lib/orb/models/subscription_schedule_plan_change_params.rb +2834 -687
- data/lib/orb/models/subscription_update_params.rb +12 -1
- data/lib/orb/models.rb +2 -0
- data/lib/orb/resources/alerts.rb +14 -3
- data/lib/orb/resources/customers/credits/ledger.rb +28 -14
- data/lib/orb/resources/customers.rb +6 -2
- data/lib/orb/resources/events.rb +7 -34
- data/lib/orb/resources/invoices.rb +6 -2
- data/lib/orb/resources/licenses/external_licenses.rb +1 -1
- data/lib/orb/resources/licenses/usage.rb +2 -2
- data/lib/orb/resources/metrics.rb +5 -5
- data/lib/orb/resources/plans/external_plan_id.rb +5 -3
- data/lib/orb/resources/plans.rb +9 -5
- data/lib/orb/resources/prices/external_price_id.rb +2 -2
- data/lib/orb/resources/prices.rb +5 -5
- data/lib/orb/resources/subscriptions.rb +20 -3
- data/lib/orb/version.rb +1 -1
- data/lib/orb.rb +1 -0
- data/rbi/orb/models/accounting_provider_config.rbi +38 -5
- data/rbi/orb/models/adjustment_interval.rbi +336 -0
- data/rbi/orb/models/alert.rbi +172 -3
- data/rbi/orb/models/alert_create_for_subscription_params.rbi +268 -9
- data/rbi/orb/models/alert_update_params.rbi +208 -0
- data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +3833 -28395
- data/rbi/orb/models/beta_create_plan_version_params.rbi +3833 -28363
- data/rbi/orb/models/changed_subscription_resources.rbi +360 -5
- data/rbi/orb/models/conversion_rate_config.rbi +18 -0
- data/rbi/orb/models/credit_block_list_invoices_response.rbi +346 -3
- data/rbi/orb/models/credit_block_retrieve_response.rbi +344 -3
- data/rbi/orb/models/customer.rbi +190 -10
- data/rbi/orb/models/customer_create_params.rbi +12 -2
- data/rbi/orb/models/customer_tax_id.rbi +15 -1
- data/rbi/orb/models/customer_update_by_external_id_params.rbi +22 -2
- data/rbi/orb/models/customer_update_params.rbi +22 -2
- data/rbi/orb/models/customers/credit_list_by_external_id_response.rbi +346 -3
- data/rbi/orb/models/customers/credit_list_response.rbi +347 -3
- data/rbi/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +6 -6
- data/rbi/orb/models/customers/credits/ledger_create_entry_params.rbi +6 -6
- data/rbi/orb/models/dimensional_price_group.rbi +1 -1
- data/rbi/orb/models/discount.rbi +269 -1
- data/rbi/orb/models/event_ingest_params.rbi +4 -2
- data/rbi/orb/models/invoice.rbi +360 -5
- data/rbi/orb/models/invoice_create_params.rbi +12 -7
- data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +360 -5
- data/rbi/orb/models/invoice_issue_summary_response.rbi +19 -4
- data/rbi/orb/models/invoice_level_discount.rbi +298 -1
- data/rbi/orb/models/invoice_line_item_create_response.rbi +339 -0
- data/rbi/orb/models/invoice_list_summary_response.rbi +19 -4
- data/rbi/orb/models/licenses/external_license_get_usage_params.rbi +3 -3
- data/rbi/orb/models/licenses/usage_get_all_usage_params.rbi +3 -3
- data/rbi/orb/models/licenses/usage_get_usage_params.rbi +3 -3
- data/rbi/orb/models/mutated_subscription.rbi +324 -2
- data/rbi/orb/models/new_allocation_price.rbi +12 -0
- data/rbi/orb/models/per_price_cost.rbi +3 -0
- data/rbi/orb/models/plan.rbi +339 -2
- data/rbi/orb/models/plan_create_params.rbi +1877 -14138
- data/rbi/orb/models/plan_update_params.rbi +8 -0
- data/rbi/orb/models/plan_version.rbi +339 -0
- data/rbi/orb/models/plans/external_plan_id_update_params.rbi +8 -0
- data/rbi/orb/models/plans/migration_cancel_response.rbi +22 -1
- data/rbi/orb/models/plans/migration_list_response.rbi +22 -1
- data/rbi/orb/models/plans/migration_retrieve_response.rbi +22 -1
- data/rbi/orb/models/price.rbi +4552 -2285
- data/rbi/orb/models/price_create_params.rbi +1540 -114
- data/rbi/orb/models/price_evaluate_multiple_params.rbi +1540 -114
- data/rbi/orb/models/price_evaluate_preview_events_params.rbi +1540 -114
- data/rbi/orb/models/price_interval.rbi +3 -0
- data/rbi/orb/models/subscription.rbi +324 -2
- data/rbi/orb/models/subscription_create_params.rbi +4998 -1186
- data/rbi/orb/models/subscription_price_intervals_params.rbi +2127 -264
- data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +4997 -1185
- data/rbi/orb/models/subscription_update_params.rbi +14 -0
- data/rbi/orb/models.rbi +2 -0
- data/rbi/orb/resources/alerts.rbi +39 -4
- data/rbi/orb/resources/customers/credits/ledger.rbi +28 -14
- data/rbi/orb/resources/customers.rbi +23 -0
- data/rbi/orb/resources/events.rbi +8 -35
- data/rbi/orb/resources/invoices.rbi +9 -3
- data/rbi/orb/resources/licenses/external_licenses.rbi +1 -1
- data/rbi/orb/resources/licenses/usage.rbi +2 -2
- data/rbi/orb/resources/metrics.rbi +5 -5
- data/rbi/orb/resources/plans/external_plan_id.rbi +5 -2
- data/rbi/orb/resources/plans.rbi +9 -3
- data/rbi/orb/resources/prices.rbi +3 -0
- data/rbi/orb/resources/subscriptions.rbi +29 -0
- data/sig/orb/models/accounting_provider_config.rbs +21 -4
- data/sig/orb/models/adjustment_interval.rbs +134 -0
- data/sig/orb/models/alert.rbs +85 -3
- data/sig/orb/models/alert_create_for_subscription_params.rbs +86 -4
- data/sig/orb/models/alert_update_params.rbs +86 -1
- data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +1803 -11601
- data/sig/orb/models/beta_create_plan_version_params.rbs +1747 -11541
- data/sig/orb/models/changed_subscription_resources.rbs +140 -1
- data/sig/orb/models/conversion_rate_config.rbs +12 -0
- data/sig/orb/models/credit_block_list_invoices_response.rbs +124 -3
- data/sig/orb/models/credit_block_retrieve_response.rbs +124 -3
- data/sig/orb/models/customer.rbs +70 -4
- data/sig/orb/models/customer_create_params.rbs +2 -2
- data/sig/orb/models/customer_tax_id.rbs +20 -2
- data/sig/orb/models/customer_update_by_external_id_params.rbs +7 -2
- data/sig/orb/models/customer_update_params.rbs +7 -2
- data/sig/orb/models/customers/credit_list_by_external_id_response.rbs +124 -3
- data/sig/orb/models/customers/credit_list_response.rbs +124 -3
- data/sig/orb/models/discount.rbs +114 -0
- data/sig/orb/models/invoice.rbs +140 -1
- data/sig/orb/models/invoice_fetch_upcoming_response.rbs +140 -1
- data/sig/orb/models/invoice_issue_summary_response.rbs +2 -1
- data/sig/orb/models/invoice_level_discount.rbs +117 -1
- data/sig/orb/models/invoice_line_item_create_response.rbs +134 -0
- data/sig/orb/models/invoice_list_summary_response.rbs +2 -1
- data/sig/orb/models/licenses/external_license_get_usage_params.rbs +4 -4
- data/sig/orb/models/licenses/usage_get_all_usage_params.rbs +4 -4
- data/sig/orb/models/licenses/usage_get_usage_params.rbs +4 -4
- data/sig/orb/models/mutated_subscription.rbs +124 -0
- data/sig/orb/models/new_allocation_price.rbs +5 -0
- data/sig/orb/models/new_floating_bulk_price.rbs +4 -4
- data/sig/orb/models/new_floating_bulk_with_proration_price.rbs +4 -4
- data/sig/orb/models/new_floating_cumulative_grouped_bulk_price.rbs +4 -4
- data/sig/orb/models/new_floating_grouped_allocation_price.rbs +4 -4
- data/sig/orb/models/new_floating_grouped_tiered_package_price.rbs +4 -4
- data/sig/orb/models/new_floating_grouped_tiered_price.rbs +4 -4
- data/sig/orb/models/new_floating_grouped_with_metered_minimum_price.rbs +4 -4
- data/sig/orb/models/new_floating_grouped_with_prorated_minimum_price.rbs +4 -4
- data/sig/orb/models/new_floating_matrix_price.rbs +4 -4
- data/sig/orb/models/new_floating_matrix_with_allocation_price.rbs +4 -4
- data/sig/orb/models/new_floating_matrix_with_display_name_price.rbs +4 -4
- data/sig/orb/models/new_floating_max_group_tiered_package_price.rbs +4 -4
- data/sig/orb/models/new_floating_minimum_composite_price.rbs +4 -4
- data/sig/orb/models/new_floating_package_price.rbs +4 -4
- data/sig/orb/models/new_floating_package_with_allocation_price.rbs +4 -4
- data/sig/orb/models/new_floating_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
- data/sig/orb/models/new_floating_scalable_matrix_with_unit_pricing_price.rbs +4 -4
- data/sig/orb/models/new_floating_threshold_total_amount_price.rbs +4 -4
- data/sig/orb/models/new_floating_tiered_package_price.rbs +4 -4
- data/sig/orb/models/new_floating_tiered_package_with_minimum_price.rbs +4 -4
- data/sig/orb/models/new_floating_tiered_price.rbs +4 -4
- data/sig/orb/models/new_floating_tiered_with_minimum_price.rbs +4 -4
- data/sig/orb/models/new_floating_tiered_with_proration_price.rbs +4 -4
- data/sig/orb/models/new_floating_unit_price.rbs +4 -4
- data/sig/orb/models/new_floating_unit_with_percent_price.rbs +4 -4
- data/sig/orb/models/new_floating_unit_with_proration_price.rbs +4 -4
- data/sig/orb/models/new_plan_bulk_price.rbs +4 -4
- data/sig/orb/models/new_plan_bulk_with_proration_price.rbs +4 -4
- data/sig/orb/models/new_plan_cumulative_grouped_bulk_price.rbs +4 -4
- data/sig/orb/models/new_plan_grouped_allocation_price.rbs +4 -4
- data/sig/orb/models/new_plan_grouped_tiered_package_price.rbs +4 -4
- data/sig/orb/models/new_plan_grouped_tiered_price.rbs +4 -4
- data/sig/orb/models/new_plan_grouped_with_metered_minimum_price.rbs +4 -4
- data/sig/orb/models/new_plan_grouped_with_prorated_minimum_price.rbs +4 -4
- data/sig/orb/models/new_plan_matrix_price.rbs +4 -4
- data/sig/orb/models/new_plan_matrix_with_allocation_price.rbs +4 -4
- data/sig/orb/models/new_plan_matrix_with_display_name_price.rbs +4 -4
- data/sig/orb/models/new_plan_max_group_tiered_package_price.rbs +4 -4
- data/sig/orb/models/new_plan_minimum_composite_price.rbs +4 -4
- data/sig/orb/models/new_plan_package_price.rbs +4 -4
- data/sig/orb/models/new_plan_package_with_allocation_price.rbs +4 -4
- data/sig/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
- data/sig/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rbs +4 -4
- data/sig/orb/models/new_plan_threshold_total_amount_price.rbs +4 -4
- data/sig/orb/models/new_plan_tiered_package_price.rbs +4 -4
- data/sig/orb/models/new_plan_tiered_package_with_minimum_price.rbs +4 -4
- data/sig/orb/models/new_plan_tiered_price.rbs +4 -4
- data/sig/orb/models/new_plan_tiered_with_minimum_price.rbs +4 -4
- data/sig/orb/models/new_plan_unit_price.rbs +4 -4
- data/sig/orb/models/new_plan_unit_with_percent_price.rbs +4 -4
- data/sig/orb/models/new_plan_unit_with_proration_price.rbs +4 -4
- data/sig/orb/models/new_subscription_bulk_price.rbs +4 -4
- data/sig/orb/models/new_subscription_bulk_with_proration_price.rbs +4 -4
- data/sig/orb/models/new_subscription_cumulative_grouped_bulk_price.rbs +4 -4
- data/sig/orb/models/new_subscription_grouped_allocation_price.rbs +4 -4
- data/sig/orb/models/new_subscription_grouped_tiered_package_price.rbs +4 -4
- data/sig/orb/models/new_subscription_grouped_tiered_price.rbs +4 -4
- data/sig/orb/models/new_subscription_grouped_with_metered_minimum_price.rbs +4 -4
- data/sig/orb/models/new_subscription_grouped_with_prorated_minimum_price.rbs +4 -4
- data/sig/orb/models/new_subscription_matrix_price.rbs +4 -4
- data/sig/orb/models/new_subscription_matrix_with_allocation_price.rbs +4 -4
- data/sig/orb/models/new_subscription_matrix_with_display_name_price.rbs +4 -4
- data/sig/orb/models/new_subscription_max_group_tiered_package_price.rbs +4 -4
- data/sig/orb/models/new_subscription_minimum_composite_price.rbs +4 -4
- data/sig/orb/models/new_subscription_package_price.rbs +4 -4
- data/sig/orb/models/new_subscription_package_with_allocation_price.rbs +4 -4
- data/sig/orb/models/new_subscription_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
- data/sig/orb/models/new_subscription_scalable_matrix_with_unit_pricing_price.rbs +4 -4
- data/sig/orb/models/new_subscription_threshold_total_amount_price.rbs +4 -4
- data/sig/orb/models/new_subscription_tiered_package_price.rbs +4 -4
- data/sig/orb/models/new_subscription_tiered_package_with_minimum_price.rbs +4 -4
- data/sig/orb/models/new_subscription_tiered_price.rbs +4 -4
- data/sig/orb/models/new_subscription_tiered_with_minimum_price.rbs +4 -4
- data/sig/orb/models/new_subscription_unit_price.rbs +4 -4
- data/sig/orb/models/new_subscription_unit_with_percent_price.rbs +4 -4
- data/sig/orb/models/new_subscription_unit_with_proration_price.rbs +4 -4
- data/sig/orb/models/plan.rbs +134 -0
- data/sig/orb/models/plan_create_params.rbs +836 -5728
- data/sig/orb/models/plan_update_params.rbs +5 -0
- data/sig/orb/models/plan_version.rbs +134 -0
- data/sig/orb/models/plans/external_plan_id_update_params.rbs +5 -0
- data/sig/orb/models/price.rbs +2200 -1150
- data/sig/orb/models/price_create_params.rbs +611 -23
- data/sig/orb/models/price_evaluate_multiple_params.rbs +626 -23
- data/sig/orb/models/price_evaluate_preview_events_params.rbs +626 -23
- data/sig/orb/models/subscription.rbs +124 -0
- data/sig/orb/models/subscription_create_params.rbs +2009 -430
- data/sig/orb/models/subscription_price_intervals_params.rbs +795 -23
- data/sig/orb/models/subscription_schedule_plan_change_params.rbs +2009 -430
- data/sig/orb/models/subscription_update_params.rbs +5 -0
- data/sig/orb/models.rbs +2 -0
- data/sig/orb/resources/alerts.rbs +5 -1
- data/sig/orb/resources/customers.rbs +2 -0
- data/sig/orb/resources/licenses/external_licenses.rbs +1 -1
- data/sig/orb/resources/licenses/usage.rbs +2 -2
- data/sig/orb/resources/plans/external_plan_id.rbs +1 -0
- data/sig/orb/resources/plans.rbs +2 -0
- data/sig/orb/resources/subscriptions.rbs +3 -0
- metadata +6 -7
|
@@ -10,10 +10,307 @@ module Orb
|
|
|
10
10
|
T.any(
|
|
11
11
|
Orb::PercentageDiscount,
|
|
12
12
|
Orb::AmountDiscount,
|
|
13
|
-
Orb::TrialDiscount
|
|
13
|
+
Orb::TrialDiscount,
|
|
14
|
+
Orb::InvoiceLevelDiscount::TieredPercentage
|
|
14
15
|
)
|
|
15
16
|
end
|
|
16
17
|
|
|
18
|
+
class TieredPercentage < Orb::Internal::Type::BaseModel
|
|
19
|
+
OrHash =
|
|
20
|
+
T.type_alias do
|
|
21
|
+
T.any(
|
|
22
|
+
Orb::InvoiceLevelDiscount::TieredPercentage,
|
|
23
|
+
Orb::Internal::AnyHash
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
sig { returns(Symbol) }
|
|
28
|
+
attr_accessor :discount_type
|
|
29
|
+
|
|
30
|
+
# Only available if discount_type is `tiered_percentage`. The ordered, contiguous
|
|
31
|
+
# bands of cumulative eligible spend, each discounted at its own percentage
|
|
32
|
+
# (progressive fill-a-tier).
|
|
33
|
+
sig do
|
|
34
|
+
returns(T::Array[Orb::InvoiceLevelDiscount::TieredPercentage::Tier])
|
|
35
|
+
end
|
|
36
|
+
attr_accessor :tiers
|
|
37
|
+
|
|
38
|
+
# List of price_ids that this discount applies to. For plan/plan phase discounts,
|
|
39
|
+
# this can be a subset of prices.
|
|
40
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
41
|
+
attr_accessor :applies_to_price_ids
|
|
42
|
+
|
|
43
|
+
# The filters that determine which prices to apply this discount to.
|
|
44
|
+
sig do
|
|
45
|
+
returns(
|
|
46
|
+
T.nilable(
|
|
47
|
+
T::Array[Orb::InvoiceLevelDiscount::TieredPercentage::Filter]
|
|
48
|
+
)
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
attr_accessor :filters
|
|
52
|
+
|
|
53
|
+
sig { returns(T.nilable(String)) }
|
|
54
|
+
attr_accessor :reason
|
|
55
|
+
|
|
56
|
+
sig do
|
|
57
|
+
params(
|
|
58
|
+
tiers:
|
|
59
|
+
T::Array[
|
|
60
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Tier::OrHash
|
|
61
|
+
],
|
|
62
|
+
applies_to_price_ids: T.nilable(T::Array[String]),
|
|
63
|
+
filters:
|
|
64
|
+
T.nilable(
|
|
65
|
+
T::Array[
|
|
66
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::OrHash
|
|
67
|
+
]
|
|
68
|
+
),
|
|
69
|
+
reason: T.nilable(String),
|
|
70
|
+
discount_type: Symbol
|
|
71
|
+
).returns(T.attached_class)
|
|
72
|
+
end
|
|
73
|
+
def self.new(
|
|
74
|
+
# Only available if discount_type is `tiered_percentage`. The ordered, contiguous
|
|
75
|
+
# bands of cumulative eligible spend, each discounted at its own percentage
|
|
76
|
+
# (progressive fill-a-tier).
|
|
77
|
+
tiers:,
|
|
78
|
+
# List of price_ids that this discount applies to. For plan/plan phase discounts,
|
|
79
|
+
# this can be a subset of prices.
|
|
80
|
+
applies_to_price_ids: nil,
|
|
81
|
+
# The filters that determine which prices to apply this discount to.
|
|
82
|
+
filters: nil,
|
|
83
|
+
reason: nil,
|
|
84
|
+
discount_type: :tiered_percentage
|
|
85
|
+
)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
sig do
|
|
89
|
+
override.returns(
|
|
90
|
+
{
|
|
91
|
+
discount_type: Symbol,
|
|
92
|
+
tiers:
|
|
93
|
+
T::Array[Orb::InvoiceLevelDiscount::TieredPercentage::Tier],
|
|
94
|
+
applies_to_price_ids: T.nilable(T::Array[String]),
|
|
95
|
+
filters:
|
|
96
|
+
T.nilable(
|
|
97
|
+
T::Array[Orb::InvoiceLevelDiscount::TieredPercentage::Filter]
|
|
98
|
+
),
|
|
99
|
+
reason: T.nilable(String)
|
|
100
|
+
}
|
|
101
|
+
)
|
|
102
|
+
end
|
|
103
|
+
def to_hash
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
class Tier < Orb::Internal::Type::BaseModel
|
|
107
|
+
OrHash =
|
|
108
|
+
T.type_alias do
|
|
109
|
+
T.any(
|
|
110
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Tier,
|
|
111
|
+
Orb::Internal::AnyHash
|
|
112
|
+
)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Exclusive lower bound of cumulative spend for this tier.
|
|
116
|
+
sig { returns(Float) }
|
|
117
|
+
attr_accessor :lower_bound
|
|
118
|
+
|
|
119
|
+
# The percentage (between 0 and 1) discounted from spend that falls within this
|
|
120
|
+
# tier.
|
|
121
|
+
sig { returns(Float) }
|
|
122
|
+
attr_accessor :percentage
|
|
123
|
+
|
|
124
|
+
# Inclusive upper bound of cumulative spend for this tier; null for the final
|
|
125
|
+
# open-ended tier.
|
|
126
|
+
sig { returns(T.nilable(Float)) }
|
|
127
|
+
attr_accessor :upper_bound
|
|
128
|
+
|
|
129
|
+
# One band of a tiered percentage discount. Bounds are denominated in the
|
|
130
|
+
# discount's currency. `lower_bound` is the exclusive start of the band and
|
|
131
|
+
# `upper_bound` is the inclusive end; `upper_bound` is null only for the
|
|
132
|
+
# open-ended final tier.
|
|
133
|
+
sig do
|
|
134
|
+
params(
|
|
135
|
+
lower_bound: Float,
|
|
136
|
+
percentage: Float,
|
|
137
|
+
upper_bound: T.nilable(Float)
|
|
138
|
+
).returns(T.attached_class)
|
|
139
|
+
end
|
|
140
|
+
def self.new(
|
|
141
|
+
# Exclusive lower bound of cumulative spend for this tier.
|
|
142
|
+
lower_bound:,
|
|
143
|
+
# The percentage (between 0 and 1) discounted from spend that falls within this
|
|
144
|
+
# tier.
|
|
145
|
+
percentage:,
|
|
146
|
+
# Inclusive upper bound of cumulative spend for this tier; null for the final
|
|
147
|
+
# open-ended tier.
|
|
148
|
+
upper_bound: nil
|
|
149
|
+
)
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
sig do
|
|
153
|
+
override.returns(
|
|
154
|
+
{
|
|
155
|
+
lower_bound: Float,
|
|
156
|
+
percentage: Float,
|
|
157
|
+
upper_bound: T.nilable(Float)
|
|
158
|
+
}
|
|
159
|
+
)
|
|
160
|
+
end
|
|
161
|
+
def to_hash
|
|
162
|
+
end
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
class Filter < Orb::Internal::Type::BaseModel
|
|
166
|
+
OrHash =
|
|
167
|
+
T.type_alias do
|
|
168
|
+
T.any(
|
|
169
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter,
|
|
170
|
+
Orb::Internal::AnyHash
|
|
171
|
+
)
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
# The property of the price to filter on.
|
|
175
|
+
sig do
|
|
176
|
+
returns(
|
|
177
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Field::TaggedSymbol
|
|
178
|
+
)
|
|
179
|
+
end
|
|
180
|
+
attr_accessor :field
|
|
181
|
+
|
|
182
|
+
# Should prices that match the filter be included or excluded.
|
|
183
|
+
sig do
|
|
184
|
+
returns(
|
|
185
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Operator::TaggedSymbol
|
|
186
|
+
)
|
|
187
|
+
end
|
|
188
|
+
attr_accessor :operator
|
|
189
|
+
|
|
190
|
+
# The IDs or values that match this filter.
|
|
191
|
+
sig { returns(T::Array[String]) }
|
|
192
|
+
attr_accessor :values
|
|
193
|
+
|
|
194
|
+
sig do
|
|
195
|
+
params(
|
|
196
|
+
field:
|
|
197
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Field::OrSymbol,
|
|
198
|
+
operator:
|
|
199
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Operator::OrSymbol,
|
|
200
|
+
values: T::Array[String]
|
|
201
|
+
).returns(T.attached_class)
|
|
202
|
+
end
|
|
203
|
+
def self.new(
|
|
204
|
+
# The property of the price to filter on.
|
|
205
|
+
field:,
|
|
206
|
+
# Should prices that match the filter be included or excluded.
|
|
207
|
+
operator:,
|
|
208
|
+
# The IDs or values that match this filter.
|
|
209
|
+
values:
|
|
210
|
+
)
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
sig do
|
|
214
|
+
override.returns(
|
|
215
|
+
{
|
|
216
|
+
field:
|
|
217
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Field::TaggedSymbol,
|
|
218
|
+
operator:
|
|
219
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Operator::TaggedSymbol,
|
|
220
|
+
values: T::Array[String]
|
|
221
|
+
}
|
|
222
|
+
)
|
|
223
|
+
end
|
|
224
|
+
def to_hash
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
# The property of the price to filter on.
|
|
228
|
+
module Field
|
|
229
|
+
extend Orb::Internal::Type::Enum
|
|
230
|
+
|
|
231
|
+
TaggedSymbol =
|
|
232
|
+
T.type_alias do
|
|
233
|
+
T.all(
|
|
234
|
+
Symbol,
|
|
235
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Field
|
|
236
|
+
)
|
|
237
|
+
end
|
|
238
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
239
|
+
|
|
240
|
+
PRICE_ID =
|
|
241
|
+
T.let(
|
|
242
|
+
:price_id,
|
|
243
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Field::TaggedSymbol
|
|
244
|
+
)
|
|
245
|
+
ITEM_ID =
|
|
246
|
+
T.let(
|
|
247
|
+
:item_id,
|
|
248
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Field::TaggedSymbol
|
|
249
|
+
)
|
|
250
|
+
PRICE_TYPE =
|
|
251
|
+
T.let(
|
|
252
|
+
:price_type,
|
|
253
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Field::TaggedSymbol
|
|
254
|
+
)
|
|
255
|
+
CURRENCY =
|
|
256
|
+
T.let(
|
|
257
|
+
:currency,
|
|
258
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Field::TaggedSymbol
|
|
259
|
+
)
|
|
260
|
+
PRICING_UNIT_ID =
|
|
261
|
+
T.let(
|
|
262
|
+
:pricing_unit_id,
|
|
263
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Field::TaggedSymbol
|
|
264
|
+
)
|
|
265
|
+
|
|
266
|
+
sig do
|
|
267
|
+
override.returns(
|
|
268
|
+
T::Array[
|
|
269
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Field::TaggedSymbol
|
|
270
|
+
]
|
|
271
|
+
)
|
|
272
|
+
end
|
|
273
|
+
def self.values
|
|
274
|
+
end
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
# Should prices that match the filter be included or excluded.
|
|
278
|
+
module Operator
|
|
279
|
+
extend Orb::Internal::Type::Enum
|
|
280
|
+
|
|
281
|
+
TaggedSymbol =
|
|
282
|
+
T.type_alias do
|
|
283
|
+
T.all(
|
|
284
|
+
Symbol,
|
|
285
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Operator
|
|
286
|
+
)
|
|
287
|
+
end
|
|
288
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
289
|
+
|
|
290
|
+
INCLUDES =
|
|
291
|
+
T.let(
|
|
292
|
+
:includes,
|
|
293
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Operator::TaggedSymbol
|
|
294
|
+
)
|
|
295
|
+
EXCLUDES =
|
|
296
|
+
T.let(
|
|
297
|
+
:excludes,
|
|
298
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Operator::TaggedSymbol
|
|
299
|
+
)
|
|
300
|
+
|
|
301
|
+
sig do
|
|
302
|
+
override.returns(
|
|
303
|
+
T::Array[
|
|
304
|
+
Orb::InvoiceLevelDiscount::TieredPercentage::Filter::Operator::TaggedSymbol
|
|
305
|
+
]
|
|
306
|
+
)
|
|
307
|
+
end
|
|
308
|
+
def self.values
|
|
309
|
+
end
|
|
310
|
+
end
|
|
311
|
+
end
|
|
312
|
+
end
|
|
313
|
+
|
|
17
314
|
sig { override.returns(T::Array[Orb::InvoiceLevelDiscount::Variants]) }
|
|
18
315
|
def self.variants
|
|
19
316
|
end
|
|
@@ -118,6 +118,7 @@ module Orb
|
|
|
118
118
|
Orb::MonetaryUsageDiscountAdjustment::OrHash,
|
|
119
119
|
Orb::MonetaryAmountDiscountAdjustment::OrHash,
|
|
120
120
|
Orb::MonetaryPercentageDiscountAdjustment::OrHash,
|
|
121
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::OrHash,
|
|
121
122
|
Orb::MonetaryMinimumAdjustment::OrHash,
|
|
122
123
|
Orb::MonetaryMaximumAdjustment::OrHash
|
|
123
124
|
)
|
|
@@ -145,6 +146,7 @@ module Orb
|
|
|
145
146
|
Orb::Price::PackageWithAllocation::OrHash,
|
|
146
147
|
Orb::Price::UnitWithPercent::OrHash,
|
|
147
148
|
Orb::Price::MatrixWithAllocation::OrHash,
|
|
149
|
+
Orb::Price::MatrixWithThresholdDiscounts::OrHash,
|
|
148
150
|
Orb::Price::TieredWithProration::OrHash,
|
|
149
151
|
Orb::Price::UnitWithProration::OrHash,
|
|
150
152
|
Orb::Price::GroupedAllocation::OrHash,
|
|
@@ -159,6 +161,8 @@ module Orb
|
|
|
159
161
|
Orb::Price::ScalableMatrixWithTieredPricing::OrHash,
|
|
160
162
|
Orb::Price::CumulativeGroupedBulk::OrHash,
|
|
161
163
|
Orb::Price::CumulativeGroupedAllocation::OrHash,
|
|
164
|
+
Orb::Price::DailyCreditAllowance::OrHash,
|
|
165
|
+
Orb::Price::MeteredAllowance::OrHash,
|
|
162
166
|
Orb::Price::MinimumComposite::OrHash,
|
|
163
167
|
Orb::Price::Percent::OrHash,
|
|
164
168
|
Orb::Price::EventOutput::OrHash
|
|
@@ -274,11 +278,346 @@ module Orb
|
|
|
274
278
|
Orb::MonetaryUsageDiscountAdjustment,
|
|
275
279
|
Orb::MonetaryAmountDiscountAdjustment,
|
|
276
280
|
Orb::MonetaryPercentageDiscountAdjustment,
|
|
281
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount,
|
|
277
282
|
Orb::MonetaryMinimumAdjustment,
|
|
278
283
|
Orb::MonetaryMaximumAdjustment
|
|
279
284
|
)
|
|
280
285
|
end
|
|
281
286
|
|
|
287
|
+
class TieredPercentageDiscount < Orb::Internal::Type::BaseModel
|
|
288
|
+
OrHash =
|
|
289
|
+
T.type_alias do
|
|
290
|
+
T.any(
|
|
291
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount,
|
|
292
|
+
Orb::Internal::AnyHash
|
|
293
|
+
)
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
sig { returns(String) }
|
|
297
|
+
attr_accessor :id
|
|
298
|
+
|
|
299
|
+
sig { returns(Symbol) }
|
|
300
|
+
attr_accessor :adjustment_type
|
|
301
|
+
|
|
302
|
+
# The value applied by an adjustment.
|
|
303
|
+
sig { returns(String) }
|
|
304
|
+
attr_accessor :amount
|
|
305
|
+
|
|
306
|
+
# The price IDs that this adjustment applies to.
|
|
307
|
+
sig { returns(T::Array[String]) }
|
|
308
|
+
attr_accessor :applies_to_price_ids
|
|
309
|
+
|
|
310
|
+
# The filters that determine which prices to apply this adjustment to.
|
|
311
|
+
sig do
|
|
312
|
+
returns(
|
|
313
|
+
T::Array[
|
|
314
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter
|
|
315
|
+
]
|
|
316
|
+
)
|
|
317
|
+
end
|
|
318
|
+
attr_accessor :filters
|
|
319
|
+
|
|
320
|
+
# True for adjustments that apply to an entire invoice, false for adjustments that
|
|
321
|
+
# apply to only one price.
|
|
322
|
+
sig { returns(T::Boolean) }
|
|
323
|
+
attr_accessor :is_invoice_level
|
|
324
|
+
|
|
325
|
+
# The reason for the adjustment.
|
|
326
|
+
sig { returns(T.nilable(String)) }
|
|
327
|
+
attr_accessor :reason
|
|
328
|
+
|
|
329
|
+
# The adjustment id this adjustment replaces. This adjustment will take the place
|
|
330
|
+
# of the replaced adjustment in plan version migrations.
|
|
331
|
+
sig { returns(T.nilable(String)) }
|
|
332
|
+
attr_accessor :replaces_adjustment_id
|
|
333
|
+
|
|
334
|
+
# The ordered, contiguous bands of cumulative eligible spend, each discounted at
|
|
335
|
+
# its own percentage (progressive fill-a-tier), applied to the prices this
|
|
336
|
+
# adjustment covers in a given billing period.
|
|
337
|
+
sig do
|
|
338
|
+
returns(
|
|
339
|
+
T::Array[
|
|
340
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Tier
|
|
341
|
+
]
|
|
342
|
+
)
|
|
343
|
+
end
|
|
344
|
+
attr_accessor :tiers
|
|
345
|
+
|
|
346
|
+
sig do
|
|
347
|
+
params(
|
|
348
|
+
id: String,
|
|
349
|
+
amount: String,
|
|
350
|
+
applies_to_price_ids: T::Array[String],
|
|
351
|
+
filters:
|
|
352
|
+
T::Array[
|
|
353
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::OrHash
|
|
354
|
+
],
|
|
355
|
+
is_invoice_level: T::Boolean,
|
|
356
|
+
reason: T.nilable(String),
|
|
357
|
+
replaces_adjustment_id: T.nilable(String),
|
|
358
|
+
tiers:
|
|
359
|
+
T::Array[
|
|
360
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Tier::OrHash
|
|
361
|
+
],
|
|
362
|
+
adjustment_type: Symbol
|
|
363
|
+
).returns(T.attached_class)
|
|
364
|
+
end
|
|
365
|
+
def self.new(
|
|
366
|
+
id:,
|
|
367
|
+
# The value applied by an adjustment.
|
|
368
|
+
amount:,
|
|
369
|
+
# The price IDs that this adjustment applies to.
|
|
370
|
+
applies_to_price_ids:,
|
|
371
|
+
# The filters that determine which prices to apply this adjustment to.
|
|
372
|
+
filters:,
|
|
373
|
+
# True for adjustments that apply to an entire invoice, false for adjustments that
|
|
374
|
+
# apply to only one price.
|
|
375
|
+
is_invoice_level:,
|
|
376
|
+
# The reason for the adjustment.
|
|
377
|
+
reason:,
|
|
378
|
+
# The adjustment id this adjustment replaces. This adjustment will take the place
|
|
379
|
+
# of the replaced adjustment in plan version migrations.
|
|
380
|
+
replaces_adjustment_id:,
|
|
381
|
+
# The ordered, contiguous bands of cumulative eligible spend, each discounted at
|
|
382
|
+
# its own percentage (progressive fill-a-tier), applied to the prices this
|
|
383
|
+
# adjustment covers in a given billing period.
|
|
384
|
+
tiers:,
|
|
385
|
+
adjustment_type: :tiered_percentage_discount
|
|
386
|
+
)
|
|
387
|
+
end
|
|
388
|
+
|
|
389
|
+
sig do
|
|
390
|
+
override.returns(
|
|
391
|
+
{
|
|
392
|
+
id: String,
|
|
393
|
+
adjustment_type: Symbol,
|
|
394
|
+
amount: String,
|
|
395
|
+
applies_to_price_ids: T::Array[String],
|
|
396
|
+
filters:
|
|
397
|
+
T::Array[
|
|
398
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter
|
|
399
|
+
],
|
|
400
|
+
is_invoice_level: T::Boolean,
|
|
401
|
+
reason: T.nilable(String),
|
|
402
|
+
replaces_adjustment_id: T.nilable(String),
|
|
403
|
+
tiers:
|
|
404
|
+
T::Array[
|
|
405
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Tier
|
|
406
|
+
]
|
|
407
|
+
}
|
|
408
|
+
)
|
|
409
|
+
end
|
|
410
|
+
def to_hash
|
|
411
|
+
end
|
|
412
|
+
|
|
413
|
+
class Filter < Orb::Internal::Type::BaseModel
|
|
414
|
+
OrHash =
|
|
415
|
+
T.type_alias do
|
|
416
|
+
T.any(
|
|
417
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter,
|
|
418
|
+
Orb::Internal::AnyHash
|
|
419
|
+
)
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
# The property of the price to filter on.
|
|
423
|
+
sig do
|
|
424
|
+
returns(
|
|
425
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
|
|
426
|
+
)
|
|
427
|
+
end
|
|
428
|
+
attr_accessor :field
|
|
429
|
+
|
|
430
|
+
# Should prices that match the filter be included or excluded.
|
|
431
|
+
sig do
|
|
432
|
+
returns(
|
|
433
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol
|
|
434
|
+
)
|
|
435
|
+
end
|
|
436
|
+
attr_accessor :operator
|
|
437
|
+
|
|
438
|
+
# The IDs or values that match this filter.
|
|
439
|
+
sig { returns(T::Array[String]) }
|
|
440
|
+
attr_accessor :values
|
|
441
|
+
|
|
442
|
+
sig do
|
|
443
|
+
params(
|
|
444
|
+
field:
|
|
445
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Field::OrSymbol,
|
|
446
|
+
operator:
|
|
447
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Operator::OrSymbol,
|
|
448
|
+
values: T::Array[String]
|
|
449
|
+
).returns(T.attached_class)
|
|
450
|
+
end
|
|
451
|
+
def self.new(
|
|
452
|
+
# The property of the price to filter on.
|
|
453
|
+
field:,
|
|
454
|
+
# Should prices that match the filter be included or excluded.
|
|
455
|
+
operator:,
|
|
456
|
+
# The IDs or values that match this filter.
|
|
457
|
+
values:
|
|
458
|
+
)
|
|
459
|
+
end
|
|
460
|
+
|
|
461
|
+
sig do
|
|
462
|
+
override.returns(
|
|
463
|
+
{
|
|
464
|
+
field:
|
|
465
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol,
|
|
466
|
+
operator:
|
|
467
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol,
|
|
468
|
+
values: T::Array[String]
|
|
469
|
+
}
|
|
470
|
+
)
|
|
471
|
+
end
|
|
472
|
+
def to_hash
|
|
473
|
+
end
|
|
474
|
+
|
|
475
|
+
# The property of the price to filter on.
|
|
476
|
+
module Field
|
|
477
|
+
extend Orb::Internal::Type::Enum
|
|
478
|
+
|
|
479
|
+
TaggedSymbol =
|
|
480
|
+
T.type_alias do
|
|
481
|
+
T.all(
|
|
482
|
+
Symbol,
|
|
483
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Field
|
|
484
|
+
)
|
|
485
|
+
end
|
|
486
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
487
|
+
|
|
488
|
+
PRICE_ID =
|
|
489
|
+
T.let(
|
|
490
|
+
:price_id,
|
|
491
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
|
|
492
|
+
)
|
|
493
|
+
ITEM_ID =
|
|
494
|
+
T.let(
|
|
495
|
+
:item_id,
|
|
496
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
|
|
497
|
+
)
|
|
498
|
+
PRICE_TYPE =
|
|
499
|
+
T.let(
|
|
500
|
+
:price_type,
|
|
501
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
|
|
502
|
+
)
|
|
503
|
+
CURRENCY =
|
|
504
|
+
T.let(
|
|
505
|
+
:currency,
|
|
506
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
|
|
507
|
+
)
|
|
508
|
+
PRICING_UNIT_ID =
|
|
509
|
+
T.let(
|
|
510
|
+
:pricing_unit_id,
|
|
511
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
|
|
512
|
+
)
|
|
513
|
+
|
|
514
|
+
sig do
|
|
515
|
+
override.returns(
|
|
516
|
+
T::Array[
|
|
517
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
|
|
518
|
+
]
|
|
519
|
+
)
|
|
520
|
+
end
|
|
521
|
+
def self.values
|
|
522
|
+
end
|
|
523
|
+
end
|
|
524
|
+
|
|
525
|
+
# Should prices that match the filter be included or excluded.
|
|
526
|
+
module Operator
|
|
527
|
+
extend Orb::Internal::Type::Enum
|
|
528
|
+
|
|
529
|
+
TaggedSymbol =
|
|
530
|
+
T.type_alias do
|
|
531
|
+
T.all(
|
|
532
|
+
Symbol,
|
|
533
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Operator
|
|
534
|
+
)
|
|
535
|
+
end
|
|
536
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
537
|
+
|
|
538
|
+
INCLUDES =
|
|
539
|
+
T.let(
|
|
540
|
+
:includes,
|
|
541
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol
|
|
542
|
+
)
|
|
543
|
+
EXCLUDES =
|
|
544
|
+
T.let(
|
|
545
|
+
:excludes,
|
|
546
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol
|
|
547
|
+
)
|
|
548
|
+
|
|
549
|
+
sig do
|
|
550
|
+
override.returns(
|
|
551
|
+
T::Array[
|
|
552
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol
|
|
553
|
+
]
|
|
554
|
+
)
|
|
555
|
+
end
|
|
556
|
+
def self.values
|
|
557
|
+
end
|
|
558
|
+
end
|
|
559
|
+
end
|
|
560
|
+
|
|
561
|
+
class Tier < Orb::Internal::Type::BaseModel
|
|
562
|
+
OrHash =
|
|
563
|
+
T.type_alias do
|
|
564
|
+
T.any(
|
|
565
|
+
Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Tier,
|
|
566
|
+
Orb::Internal::AnyHash
|
|
567
|
+
)
|
|
568
|
+
end
|
|
569
|
+
|
|
570
|
+
# Exclusive lower bound of cumulative spend for this tier.
|
|
571
|
+
sig { returns(Float) }
|
|
572
|
+
attr_accessor :lower_bound
|
|
573
|
+
|
|
574
|
+
# The percentage (between 0 and 1) discounted from spend that falls within this
|
|
575
|
+
# tier.
|
|
576
|
+
sig { returns(Float) }
|
|
577
|
+
attr_accessor :percentage
|
|
578
|
+
|
|
579
|
+
# Inclusive upper bound of cumulative spend for this tier; null for the final
|
|
580
|
+
# open-ended tier.
|
|
581
|
+
sig { returns(T.nilable(Float)) }
|
|
582
|
+
attr_accessor :upper_bound
|
|
583
|
+
|
|
584
|
+
# One band of a tiered percentage discount. Bounds are denominated in the
|
|
585
|
+
# discount's currency. `lower_bound` is the exclusive start of the band and
|
|
586
|
+
# `upper_bound` is the inclusive end; `upper_bound` is null only for the
|
|
587
|
+
# open-ended final tier.
|
|
588
|
+
sig do
|
|
589
|
+
params(
|
|
590
|
+
lower_bound: Float,
|
|
591
|
+
percentage: Float,
|
|
592
|
+
upper_bound: T.nilable(Float)
|
|
593
|
+
).returns(T.attached_class)
|
|
594
|
+
end
|
|
595
|
+
def self.new(
|
|
596
|
+
# Exclusive lower bound of cumulative spend for this tier.
|
|
597
|
+
lower_bound:,
|
|
598
|
+
# The percentage (between 0 and 1) discounted from spend that falls within this
|
|
599
|
+
# tier.
|
|
600
|
+
percentage:,
|
|
601
|
+
# Inclusive upper bound of cumulative spend for this tier; null for the final
|
|
602
|
+
# open-ended tier.
|
|
603
|
+
upper_bound: nil
|
|
604
|
+
)
|
|
605
|
+
end
|
|
606
|
+
|
|
607
|
+
sig do
|
|
608
|
+
override.returns(
|
|
609
|
+
{
|
|
610
|
+
lower_bound: Float,
|
|
611
|
+
percentage: Float,
|
|
612
|
+
upper_bound: T.nilable(Float)
|
|
613
|
+
}
|
|
614
|
+
)
|
|
615
|
+
end
|
|
616
|
+
def to_hash
|
|
617
|
+
end
|
|
618
|
+
end
|
|
619
|
+
end
|
|
620
|
+
|
|
282
621
|
sig do
|
|
283
622
|
override.returns(
|
|
284
623
|
T::Array[
|