chargebee
Version:
A library for integrating with Chargebee.
1,020 lines • 74.9 kB
JavaScript
"use strict";
// Generated Zod schemas: Estimate
// Actions: createSubscription, createSubItemEstimate, createSubForCustomerEstimate, createSubItemForCustomerEstimate, updateSubscription, updateSubscriptionForItems, renewalEstimate, advanceInvoiceEstimate, regenerateInvoiceEstimate, upcomingInvoicesEstimate, changeTermEnd, cancelSubscription, cancelSubscriptionForItems, pauseSubscription, resumeSubscription, giftSubscription, giftSubscriptionForItems, createInvoice, createInvoiceForItems, paymentSchedules
// Do not edit manually – regenerate via sdk-generator
Object.defineProperty(exports, "__esModule", { value: true });
exports.PaymentSchedulesEstimateBodySchema = exports.CreateInvoiceForItemsEstimateBodySchema = exports.CreateInvoiceEstimateBodySchema = exports.GiftSubscriptionForItemsEstimateBodySchema = exports.GiftSubscriptionEstimateBodySchema = exports.ResumeSubscriptionEstimateBodySchema = exports.PauseSubscriptionEstimateBodySchema = exports.CancelSubscriptionForItemsEstimateBodySchema = exports.CancelSubscriptionEstimateBodySchema = exports.ChangeTermEndEstimateBodySchema = exports.UpcomingInvoicesEstimateEstimateBodySchema = exports.RegenerateInvoiceEstimateEstimateBodySchema = exports.AdvanceInvoiceEstimateEstimateBodySchema = exports.RenewalEstimateEstimateBodySchema = exports.UpdateSubscriptionForItemsEstimateBodySchema = exports.UpdateSubscriptionEstimateBodySchema = exports.CreateSubItemForCustomerEstimateEstimateBodySchema = exports.CreateSubForCustomerEstimateEstimateBodySchema = exports.CreateSubItemEstimateEstimateBodySchema = exports.CreateSubscriptionEstimateBodySchema = void 0;
const zod_1 = require("zod");
//Estimate.createSubscription
const CreateSubscriptionEstimateSubscriptionSchema = zod_1.z.object({
id: zod_1.z.string().max(50).optional(),
plan_id: zod_1.z.string().max(100),
plan_quantity: zod_1.z.number().int().min(1).optional(),
plan_quantity_in_decimal: zod_1.z.string().max(33).optional(),
plan_unit_price: zod_1.z.number().int().min(0).optional(),
plan_unit_price_in_decimal: zod_1.z.string().max(39).optional(),
setup_fee: zod_1.z.number().int().min(0).optional(),
trial_end: zod_1.z.number().int().optional(),
start_date: zod_1.z.number().int().optional(),
coupon: zod_1.z.string().max(100).optional(),
offline_payment_method: zod_1.z
.enum([
'no_preference',
'cash',
'check',
'bank_transfer',
'ach_credit',
'sepa_credit',
'boleto',
'us_automated_bank_transfer',
'eu_automated_bank_transfer',
'uk_automated_bank_transfer',
'jp_automated_bank_transfer',
'mx_automated_bank_transfer',
'custom',
])
.optional(),
free_period: zod_1.z.number().int().min(1).optional(),
free_period_unit: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(),
contract_term_billing_cycle_on_renewal: zod_1.z
.number()
.int()
.min(1)
.max(100)
.optional(),
trial_end_action: zod_1.z
.enum([
'site_default',
'plan_default',
'activate_subscription',
'cancel_subscription',
])
.optional(),
});
const CreateSubscriptionEstimateBillingAddressSchema = zod_1.z.object({
line1: zod_1.z.string().max(150).optional(),
line2: zod_1.z.string().max(150).optional(),
line3: zod_1.z.string().max(150).optional(),
city: zod_1.z.string().max(50).optional(),
state_code: zod_1.z.string().max(50).optional(),
zip: zod_1.z.string().max(20).optional(),
country: zod_1.z.string().max(50).optional(),
validation_status: zod_1.z
.enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
.optional(),
});
const CreateSubscriptionEstimateShippingAddressSchema = zod_1.z.object({
line1: zod_1.z.string().max(150).optional(),
line2: zod_1.z.string().max(150).optional(),
line3: zod_1.z.string().max(150).optional(),
city: zod_1.z.string().max(50).optional(),
state_code: zod_1.z.string().max(50).optional(),
zip: zod_1.z.string().max(20).optional(),
country: zod_1.z.string().max(50).optional(),
validation_status: zod_1.z
.enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
.optional(),
});
const CreateSubscriptionEstimateCustomerSchema = zod_1.z.object({
vat_number: zod_1.z.string().max(20).optional(),
vat_number_prefix: zod_1.z.string().max(10).optional(),
registered_for_gst: zod_1.z.boolean().optional(),
taxability: zod_1.z.enum(['taxable', 'exempt']).optional(),
entity_code: zod_1.z
.enum([
'a',
'b',
'c',
'd',
'e',
'f',
'g',
'h',
'i',
'j',
'k',
'l',
'm',
'n',
'p',
'q',
'r',
'med1',
'med2',
])
.optional(),
exempt_number: zod_1.z.string().max(100).optional(),
exemption_details: zod_1.z.array(zod_1.z.string().optional()).optional(),
customer_type: zod_1.z
.enum(['residential', 'business', 'senior_citizen', 'industrial'])
.optional(),
});
const CreateSubscriptionEstimateContractTermSchema = zod_1.z.object({
action_at_term_end: zod_1.z.enum(['renew', 'evergreen', 'cancel']).optional(),
cancellation_cutoff_period: zod_1.z.number().int().optional(),
});
const CreateSubscriptionEstimateAddonsSchema = zod_1.z.object({
id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
unit_price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
billing_cycles: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
trial_end: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
});
const CreateSubscriptionEstimateEventBasedAddonsSchema = zod_1.z.object({
id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
unit_price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
service_period_in_days: zod_1.z
.array(zod_1.z.number().int().min(1).max(4000).optional())
.optional(),
on_event: zod_1.z
.array(zod_1.z
.enum([
'subscription_creation',
'subscription_trial_start',
'plan_activation',
'subscription_activation',
'contract_termination',
])
.optional())
.optional(),
charge_once: zod_1.z.array(zod_1.z.boolean().default(true).optional()).optional(),
charge_on: zod_1.z.array(zod_1.z.enum(['immediately', 'on_event']).optional()).optional(),
});
const CreateSubscriptionEstimateTaxProvidersFieldsSchema = zod_1.z.object({
provider_name: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
field_id: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
field_value: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
});
const CreateSubscriptionEstimateBodySchema = zod_1.z.looseObject({
billing_cycles: zod_1.z.number().int().min(0).optional(),
mandatory_addons_to_remove: zod_1.z
.array(zod_1.z.string().max(100).optional())
.optional(),
terms_to_charge: zod_1.z.number().int().min(1).optional(),
billing_alignment_mode: zod_1.z.enum(['immediate', 'delayed']).optional(),
coupon_ids: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
invoice_immediately: zod_1.z.boolean().optional(),
invoice_date: zod_1.z.number().int().optional(),
client_profile_id: zod_1.z.string().max(50).optional(),
subscription: CreateSubscriptionEstimateSubscriptionSchema.optional(),
billing_address: CreateSubscriptionEstimateBillingAddressSchema.optional(),
shipping_address: CreateSubscriptionEstimateShippingAddressSchema.optional(),
customer: CreateSubscriptionEstimateCustomerSchema.optional(),
contract_term: CreateSubscriptionEstimateContractTermSchema.optional(),
addons: CreateSubscriptionEstimateAddonsSchema.optional(),
event_based_addons: CreateSubscriptionEstimateEventBasedAddonsSchema.optional(),
tax_providers_fields: CreateSubscriptionEstimateTaxProvidersFieldsSchema.optional(),
});
exports.CreateSubscriptionEstimateBodySchema = CreateSubscriptionEstimateBodySchema;
//Estimate.createSubItemEstimate
const CreateSubItemEstimateEstimateSubscriptionSchema = zod_1.z.object({
id: zod_1.z.string().max(50).optional(),
trial_end: zod_1.z.number().int().optional(),
setup_fee: zod_1.z.number().int().min(0).optional(),
start_date: zod_1.z.number().int().optional(),
coupon: zod_1.z.string().max(100).optional(),
offline_payment_method: zod_1.z
.enum([
'no_preference',
'cash',
'check',
'bank_transfer',
'ach_credit',
'sepa_credit',
'boleto',
'us_automated_bank_transfer',
'eu_automated_bank_transfer',
'uk_automated_bank_transfer',
'jp_automated_bank_transfer',
'mx_automated_bank_transfer',
'custom',
])
.optional(),
free_period: zod_1.z.number().int().min(1).optional(),
free_period_unit: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(),
contract_term_billing_cycle_on_renewal: zod_1.z
.number()
.int()
.min(1)
.max(100)
.optional(),
trial_end_action: zod_1.z
.enum([
'site_default',
'plan_default',
'activate_subscription',
'cancel_subscription',
])
.optional(),
});
const CreateSubItemEstimateEstimateBillingAddressSchema = zod_1.z.object({
line1: zod_1.z.string().max(150).optional(),
line2: zod_1.z.string().max(150).optional(),
line3: zod_1.z.string().max(150).optional(),
city: zod_1.z.string().max(50).optional(),
state_code: zod_1.z.string().max(50).optional(),
zip: zod_1.z.string().max(20).optional(),
country: zod_1.z.string().max(50).optional(),
validation_status: zod_1.z
.enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
.optional(),
});
const CreateSubItemEstimateEstimateShippingAddressSchema = zod_1.z.object({
line1: zod_1.z.string().max(150).optional(),
line2: zod_1.z.string().max(150).optional(),
line3: zod_1.z.string().max(150).optional(),
city: zod_1.z.string().max(50).optional(),
state_code: zod_1.z.string().max(50).optional(),
zip: zod_1.z.string().max(20).optional(),
country: zod_1.z.string().max(50).optional(),
validation_status: zod_1.z
.enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
.optional(),
});
const CreateSubItemEstimateEstimateCustomerSchema = zod_1.z.object({
vat_number: zod_1.z.string().max(20).optional(),
vat_number_prefix: zod_1.z.string().max(10).optional(),
registered_for_gst: zod_1.z.boolean().optional(),
taxability: zod_1.z.enum(['taxable', 'exempt']).optional(),
entity_code: zod_1.z
.enum([
'a',
'b',
'c',
'd',
'e',
'f',
'g',
'h',
'i',
'j',
'k',
'l',
'm',
'n',
'p',
'q',
'r',
'med1',
'med2',
])
.optional(),
exempt_number: zod_1.z.string().max(100).optional(),
exemption_details: zod_1.z.array(zod_1.z.string().optional()).optional(),
customer_type: zod_1.z
.enum(['residential', 'business', 'senior_citizen', 'industrial'])
.optional(),
});
const CreateSubItemEstimateEstimateContractTermSchema = zod_1.z.object({
action_at_term_end: zod_1.z.enum(['renew', 'evergreen', 'cancel']).optional(),
contract_start: zod_1.z.number().int().optional(),
cancellation_cutoff_period: zod_1.z.number().int().optional(),
});
const CreateSubItemEstimateEstimateSubscriptionItemsSchema = zod_1.z.object({
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
unit_price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
billing_cycles: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
trial_end: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
service_period_days: zod_1.z
.array(zod_1.z.number().int().min(1).max(730).optional())
.optional(),
charge_on_event: zod_1.z
.array(zod_1.z
.enum([
'subscription_creation',
'subscription_trial_start',
'plan_activation',
'subscription_activation',
'contract_termination',
])
.optional())
.optional(),
charge_once: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
item_type: zod_1.z.array(zod_1.z.enum(['plan', 'addon', 'charge']).optional()).optional(),
charge_on_option: zod_1.z
.array(zod_1.z.enum(['immediately', 'on_event']).optional())
.optional(),
});
const CreateSubItemEstimateEstimateDiscountsSchema = zod_1.z.object({
apply_on: zod_1.z
.array(zod_1.z.enum(['invoice_amount', 'specific_item_price']).optional())
.optional(),
duration_type: zod_1.z.array(zod_1.z.enum(['one_time', 'forever', 'limited_period']).optional()),
percentage: zod_1.z.array(zod_1.z.number().min(0.01).max(100).optional()).optional(),
amount: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
period: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
period_unit: zod_1.z
.array(zod_1.z.enum(['day', 'week', 'month', 'year']).optional())
.optional(),
included_in_mrr: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
});
const CreateSubItemEstimateEstimateItemTiersSchema = zod_1.z.object({
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
starting_unit: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
ending_unit: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
starting_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
ending_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
pricing_type: zod_1.z
.array(zod_1.z.enum(['per_unit', 'flat_fee', 'package']).optional())
.optional(),
package_size: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
});
const CreateSubItemEstimateEstimateTaxProvidersFieldsSchema = zod_1.z.object({
provider_name: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
field_id: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
field_value: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
});
const CreateSubItemEstimateEstimateBodySchema = zod_1.z.looseObject({
billing_cycles: zod_1.z.number().int().min(0).optional(),
mandatory_items_to_remove: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
terms_to_charge: zod_1.z.number().int().min(1).optional(),
billing_alignment_mode: zod_1.z.enum(['immediate', 'delayed']).optional(),
coupon_ids: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
invoice_immediately: zod_1.z.boolean().optional(),
invoice_date: zod_1.z.number().int().optional(),
client_profile_id: zod_1.z.string().max(50).optional(),
subscription: CreateSubItemEstimateEstimateSubscriptionSchema.optional(),
billing_address: CreateSubItemEstimateEstimateBillingAddressSchema.optional(),
shipping_address: CreateSubItemEstimateEstimateShippingAddressSchema.optional(),
customer: CreateSubItemEstimateEstimateCustomerSchema.optional(),
contract_term: CreateSubItemEstimateEstimateContractTermSchema.optional(),
subscription_items: CreateSubItemEstimateEstimateSubscriptionItemsSchema.optional(),
discounts: CreateSubItemEstimateEstimateDiscountsSchema.optional(),
item_tiers: CreateSubItemEstimateEstimateItemTiersSchema.optional(),
tax_providers_fields: CreateSubItemEstimateEstimateTaxProvidersFieldsSchema.optional(),
});
exports.CreateSubItemEstimateEstimateBodySchema = CreateSubItemEstimateEstimateBodySchema;
//Estimate.createSubForCustomerEstimate
const CreateSubForCustomerEstimateEstimateSubscriptionSchema = zod_1.z.object({
id: zod_1.z.string().max(50).optional(),
plan_id: zod_1.z.string().max(100),
plan_quantity: zod_1.z.number().int().min(1).optional(),
plan_quantity_in_decimal: zod_1.z.string().max(33).optional(),
plan_unit_price: zod_1.z.number().int().min(0).optional(),
plan_unit_price_in_decimal: zod_1.z.string().max(39).optional(),
setup_fee: zod_1.z.number().int().min(0).optional(),
trial_end: zod_1.z.number().int().optional(),
start_date: zod_1.z.number().int().optional(),
offline_payment_method: zod_1.z
.enum([
'no_preference',
'cash',
'check',
'bank_transfer',
'ach_credit',
'sepa_credit',
'boleto',
'us_automated_bank_transfer',
'eu_automated_bank_transfer',
'uk_automated_bank_transfer',
'jp_automated_bank_transfer',
'mx_automated_bank_transfer',
'custom',
])
.optional(),
free_period: zod_1.z.number().int().min(1).optional(),
free_period_unit: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(),
contract_term_billing_cycle_on_renewal: zod_1.z
.number()
.int()
.min(1)
.max(100)
.optional(),
trial_end_action: zod_1.z
.enum([
'site_default',
'plan_default',
'activate_subscription',
'cancel_subscription',
])
.optional(),
});
const CreateSubForCustomerEstimateEstimateShippingAddressSchema = zod_1.z.object({
line1: zod_1.z.string().max(150).optional(),
line2: zod_1.z.string().max(150).optional(),
line3: zod_1.z.string().max(150).optional(),
city: zod_1.z.string().max(50).optional(),
state_code: zod_1.z.string().max(50).optional(),
zip: zod_1.z.string().max(20).optional(),
country: zod_1.z.string().max(50).optional(),
validation_status: zod_1.z
.enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
.optional(),
});
const CreateSubForCustomerEstimateEstimateContractTermSchema = zod_1.z.object({
action_at_term_end: zod_1.z.enum(['renew', 'evergreen', 'cancel']).optional(),
cancellation_cutoff_period: zod_1.z.number().int().optional(),
});
const CreateSubForCustomerEstimateEstimateAddonsSchema = zod_1.z.object({
id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
unit_price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
billing_cycles: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
trial_end: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
});
const CreateSubForCustomerEstimateEstimateEventBasedAddonsSchema = zod_1.z.object({
id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
unit_price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
service_period_in_days: zod_1.z
.array(zod_1.z.number().int().min(1).max(4000).optional())
.optional(),
on_event: zod_1.z
.array(zod_1.z
.enum([
'subscription_creation',
'subscription_trial_start',
'plan_activation',
'subscription_activation',
'contract_termination',
])
.optional())
.optional(),
charge_once: zod_1.z.array(zod_1.z.boolean().default(true).optional()).optional(),
charge_on: zod_1.z.array(zod_1.z.enum(['immediately', 'on_event']).optional()).optional(),
});
const CreateSubForCustomerEstimateEstimateBodySchema = zod_1.z.looseObject({
use_existing_balances: zod_1.z.boolean().default(true).optional(),
invoice_immediately: zod_1.z.boolean().optional(),
billing_cycles: zod_1.z.number().int().min(0).optional(),
mandatory_addons_to_remove: zod_1.z
.array(zod_1.z.string().max(100).optional())
.optional(),
terms_to_charge: zod_1.z.number().int().min(1).optional(),
billing_alignment_mode: zod_1.z.enum(['immediate', 'delayed']).optional(),
invoice_date: zod_1.z.number().int().optional(),
coupon_ids: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
subscription: CreateSubForCustomerEstimateEstimateSubscriptionSchema.optional(),
shipping_address: CreateSubForCustomerEstimateEstimateShippingAddressSchema.optional(),
contract_term: CreateSubForCustomerEstimateEstimateContractTermSchema.optional(),
addons: CreateSubForCustomerEstimateEstimateAddonsSchema.optional(),
event_based_addons: CreateSubForCustomerEstimateEstimateEventBasedAddonsSchema.optional(),
});
exports.CreateSubForCustomerEstimateEstimateBodySchema = CreateSubForCustomerEstimateEstimateBodySchema;
//Estimate.createSubItemForCustomerEstimate
const CreateSubItemForCustomerEstimateEstimateSubscriptionSchema = zod_1.z.object({
id: zod_1.z.string().max(50).optional(),
trial_end: zod_1.z.number().int().optional(),
setup_fee: zod_1.z.number().int().min(0).optional(),
start_date: zod_1.z.number().int().optional(),
offline_payment_method: zod_1.z
.enum([
'no_preference',
'cash',
'check',
'bank_transfer',
'ach_credit',
'sepa_credit',
'boleto',
'us_automated_bank_transfer',
'eu_automated_bank_transfer',
'uk_automated_bank_transfer',
'jp_automated_bank_transfer',
'mx_automated_bank_transfer',
'custom',
])
.optional(),
free_period: zod_1.z.number().int().min(1).optional(),
free_period_unit: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(),
contract_term_billing_cycle_on_renewal: zod_1.z
.number()
.int()
.min(1)
.max(100)
.optional(),
trial_end_action: zod_1.z
.enum([
'site_default',
'plan_default',
'activate_subscription',
'cancel_subscription',
])
.optional(),
});
const CreateSubItemForCustomerEstimateEstimateShippingAddressSchema = zod_1.z.object({
line1: zod_1.z.string().max(150).optional(),
line2: zod_1.z.string().max(150).optional(),
line3: zod_1.z.string().max(150).optional(),
city: zod_1.z.string().max(50).optional(),
state_code: zod_1.z.string().max(50).optional(),
zip: zod_1.z.string().max(20).optional(),
country: zod_1.z.string().max(50).optional(),
validation_status: zod_1.z
.enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
.optional(),
});
const CreateSubItemForCustomerEstimateEstimateBillingAddressSchema = zod_1.z.object({
line1: zod_1.z.string().max(150).optional(),
line2: zod_1.z.string().max(150).optional(),
line3: zod_1.z.string().max(150).optional(),
city: zod_1.z.string().max(50).optional(),
state_code: zod_1.z.string().max(50).optional(),
zip: zod_1.z.string().max(20).optional(),
country: zod_1.z.string().max(50).optional(),
validation_status: zod_1.z
.enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
.optional(),
});
const CreateSubItemForCustomerEstimateEstimateContractTermSchema = zod_1.z.object({
action_at_term_end: zod_1.z.enum(['renew', 'evergreen', 'cancel']).optional(),
contract_start: zod_1.z.number().int().optional(),
cancellation_cutoff_period: zod_1.z.number().int().optional(),
});
const CreateSubItemForCustomerEstimateEstimateBillingOverrideSchema = zod_1.z.object({
max_excess_payment_usage: zod_1.z.number().int().min(-1).optional(),
max_refundable_credits_usage: zod_1.z.number().int().min(-1).optional(),
});
const CreateSubItemForCustomerEstimateEstimateSubscriptionItemsSchema = zod_1.z.object({
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
unit_price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
billing_cycles: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
trial_end: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
service_period_days: zod_1.z
.array(zod_1.z.number().int().min(1).max(730).optional())
.optional(),
charge_on_event: zod_1.z
.array(zod_1.z
.enum([
'subscription_creation',
'subscription_trial_start',
'plan_activation',
'subscription_activation',
'contract_termination',
])
.optional())
.optional(),
charge_once: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
item_type: zod_1.z
.array(zod_1.z.enum(['plan', 'addon', 'charge']).optional())
.optional(),
charge_on_option: zod_1.z
.array(zod_1.z.enum(['immediately', 'on_event']).optional())
.optional(),
});
const CreateSubItemForCustomerEstimateEstimateDiscountsSchema = zod_1.z.object({
apply_on: zod_1.z
.array(zod_1.z.enum(['invoice_amount', 'specific_item_price']).optional())
.optional(),
duration_type: zod_1.z.array(zod_1.z.enum(['one_time', 'forever', 'limited_period']).optional()),
percentage: zod_1.z.array(zod_1.z.number().min(0.01).max(100).optional()).optional(),
amount: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
period: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
period_unit: zod_1.z
.array(zod_1.z.enum(['day', 'week', 'month', 'year']).optional())
.optional(),
included_in_mrr: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
});
const CreateSubItemForCustomerEstimateEstimateItemTiersSchema = zod_1.z.object({
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
starting_unit: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
ending_unit: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
starting_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
ending_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
pricing_type: zod_1.z
.array(zod_1.z.enum(['per_unit', 'flat_fee', 'package']).optional())
.optional(),
package_size: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
});
const CreateSubItemForCustomerEstimateEstimateBodySchema = zod_1.z.looseObject({
use_existing_balances: zod_1.z.boolean().default(true).optional(),
invoice_immediately: zod_1.z.boolean().optional(),
billing_cycles: zod_1.z.number().int().min(0).optional(),
mandatory_items_to_remove: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
terms_to_charge: zod_1.z.number().int().min(1).optional(),
billing_alignment_mode: zod_1.z.enum(['immediate', 'delayed']).optional(),
invoice_date: zod_1.z.number().int().optional(),
coupon_ids: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
subscription: CreateSubItemForCustomerEstimateEstimateSubscriptionSchema.optional(),
shipping_address: CreateSubItemForCustomerEstimateEstimateShippingAddressSchema.optional(),
billing_address: CreateSubItemForCustomerEstimateEstimateBillingAddressSchema.optional(),
contract_term: CreateSubItemForCustomerEstimateEstimateContractTermSchema.optional(),
billing_override: CreateSubItemForCustomerEstimateEstimateBillingOverrideSchema.optional(),
subscription_items: CreateSubItemForCustomerEstimateEstimateSubscriptionItemsSchema.optional(),
discounts: CreateSubItemForCustomerEstimateEstimateDiscountsSchema.optional(),
item_tiers: CreateSubItemForCustomerEstimateEstimateItemTiersSchema.optional(),
});
exports.CreateSubItemForCustomerEstimateEstimateBodySchema = CreateSubItemForCustomerEstimateEstimateBodySchema;
//Estimate.updateSubscription
const UpdateSubscriptionEstimateSubscriptionSchema = zod_1.z.object({
id: zod_1.z.string().max(50),
plan_id: zod_1.z.string().max(100).optional(),
plan_quantity: zod_1.z.number().int().min(1).optional(),
plan_unit_price: zod_1.z.number().int().min(0).optional(),
setup_fee: zod_1.z.number().int().min(0).optional(),
plan_quantity_in_decimal: zod_1.z.string().max(33).optional(),
plan_unit_price_in_decimal: zod_1.z.string().max(39).optional(),
start_date: zod_1.z.number().int().optional(),
trial_end: zod_1.z.number().int().optional(),
coupon: zod_1.z.string().max(100).optional(),
auto_collection: zod_1.z.enum(['on', 'off']).optional(),
offline_payment_method: zod_1.z
.enum([
'no_preference',
'cash',
'check',
'bank_transfer',
'ach_credit',
'sepa_credit',
'boleto',
'us_automated_bank_transfer',
'eu_automated_bank_transfer',
'uk_automated_bank_transfer',
'jp_automated_bank_transfer',
'mx_automated_bank_transfer',
'custom',
])
.optional(),
free_period: zod_1.z.number().int().min(1).optional(),
free_period_unit: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(),
trial_end_action: zod_1.z
.enum([
'site_default',
'plan_default',
'activate_subscription',
'cancel_subscription',
])
.optional(),
});
const UpdateSubscriptionEstimateBillingAddressSchema = zod_1.z.object({
line1: zod_1.z.string().max(150).optional(),
line2: zod_1.z.string().max(150).optional(),
line3: zod_1.z.string().max(150).optional(),
city: zod_1.z.string().max(50).optional(),
state_code: zod_1.z.string().max(50).optional(),
zip: zod_1.z.string().max(20).optional(),
country: zod_1.z.string().max(50).optional(),
validation_status: zod_1.z
.enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
.optional(),
});
const UpdateSubscriptionEstimateShippingAddressSchema = zod_1.z.object({
line1: zod_1.z.string().max(150).optional(),
line2: zod_1.z.string().max(150).optional(),
line3: zod_1.z.string().max(150).optional(),
city: zod_1.z.string().max(50).optional(),
state_code: zod_1.z.string().max(50).optional(),
zip: zod_1.z.string().max(20).optional(),
country: zod_1.z.string().max(50).optional(),
validation_status: zod_1.z
.enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
.optional(),
});
const UpdateSubscriptionEstimateCustomerSchema = zod_1.z.object({
vat_number: zod_1.z.string().max(20).optional(),
vat_number_prefix: zod_1.z.string().max(10).optional(),
registered_for_gst: zod_1.z.boolean().optional(),
taxability: zod_1.z.enum(['taxable', 'exempt']).optional(),
});
const UpdateSubscriptionEstimateAddonsSchema = zod_1.z.object({
id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
billing_cycles: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
unit_price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
trial_end: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
proration_type: zod_1.z
.array(zod_1.z.enum(['full_term', 'partial_term', 'none']).optional())
.optional(),
});
const UpdateSubscriptionEstimateEventBasedAddonsSchema = zod_1.z.object({
id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
service_period_in_days: zod_1.z
.array(zod_1.z.number().int().min(1).max(4000).optional())
.optional(),
charge_on: zod_1.z.array(zod_1.z.enum(['immediately', 'on_event']).optional()).optional(),
on_event: zod_1.z
.array(zod_1.z
.enum([
'subscription_creation',
'subscription_trial_start',
'plan_activation',
'subscription_activation',
'contract_termination',
])
.optional())
.optional(),
charge_once: zod_1.z.array(zod_1.z.boolean().default(true).optional()).optional(),
quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
unit_price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
});
const UpdateSubscriptionEstimateBodySchema = zod_1.z.looseObject({
changes_scheduled_at: zod_1.z.number().int().optional(),
change_option: zod_1.z
.enum(['immediately', 'end_of_term', 'specific_date'])
.optional(),
replace_addon_list: zod_1.z.boolean().default(false).optional(),
mandatory_addons_to_remove: zod_1.z
.array(zod_1.z.string().max(100).optional())
.optional(),
invoice_date: zod_1.z.number().int().optional(),
billing_cycles: zod_1.z.number().int().min(0).optional(),
terms_to_charge: zod_1.z.number().int().min(1).optional(),
reactivate_from: zod_1.z.number().int().optional(),
billing_alignment_mode: zod_1.z.enum(['immediate', 'delayed']).optional(),
coupon_ids: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
replace_coupon_list: zod_1.z.boolean().default(false).optional(),
prorate: zod_1.z.boolean().optional(),
end_of_term: zod_1.z.boolean().default(false).optional(),
force_term_reset: zod_1.z.boolean().default(false).optional(),
reactivate: zod_1.z.boolean().optional(),
include_delayed_charges: zod_1.z.boolean().default(false).optional(),
use_existing_balances: zod_1.z.boolean().default(true).optional(),
invoice_immediately: zod_1.z.boolean().optional(),
subscription: UpdateSubscriptionEstimateSubscriptionSchema.optional(),
billing_address: UpdateSubscriptionEstimateBillingAddressSchema.optional(),
shipping_address: UpdateSubscriptionEstimateShippingAddressSchema.optional(),
customer: UpdateSubscriptionEstimateCustomerSchema.optional(),
addons: UpdateSubscriptionEstimateAddonsSchema.optional(),
event_based_addons: UpdateSubscriptionEstimateEventBasedAddonsSchema.optional(),
});
exports.UpdateSubscriptionEstimateBodySchema = UpdateSubscriptionEstimateBodySchema;
//Estimate.updateSubscriptionForItems
const UpdateSubscriptionForItemsEstimateSubscriptionSchema = zod_1.z.object({
id: zod_1.z.string().max(50),
setup_fee: zod_1.z.number().int().min(0).optional(),
start_date: zod_1.z.number().int().optional(),
trial_end: zod_1.z.number().int().optional(),
coupon: zod_1.z.string().max(100).optional(),
auto_collection: zod_1.z.enum(['on', 'off']).optional(),
offline_payment_method: zod_1.z
.enum([
'no_preference',
'cash',
'check',
'bank_transfer',
'ach_credit',
'sepa_credit',
'boleto',
'us_automated_bank_transfer',
'eu_automated_bank_transfer',
'uk_automated_bank_transfer',
'jp_automated_bank_transfer',
'mx_automated_bank_transfer',
'custom',
])
.optional(),
free_period: zod_1.z.number().int().min(1).optional(),
free_period_unit: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(),
trial_end_action: zod_1.z
.enum([
'site_default',
'plan_default',
'activate_subscription',
'cancel_subscription',
])
.optional(),
});
const UpdateSubscriptionForItemsEstimateBillingAddressSchema = zod_1.z.object({
line1: zod_1.z.string().max(150).optional(),
line2: zod_1.z.string().max(150).optional(),
line3: zod_1.z.string().max(150).optional(),
city: zod_1.z.string().max(50).optional(),
state_code: zod_1.z.string().max(50).optional(),
zip: zod_1.z.string().max(20).optional(),
country: zod_1.z.string().max(50).optional(),
validation_status: zod_1.z
.enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
.optional(),
});
const UpdateSubscriptionForItemsEstimateShippingAddressSchema = zod_1.z.object({
line1: zod_1.z.string().max(150).optional(),
line2: zod_1.z.string().max(150).optional(),
line3: zod_1.z.string().max(150).optional(),
city: zod_1.z.string().max(50).optional(),
state_code: zod_1.z.string().max(50).optional(),
zip: zod_1.z.string().max(20).optional(),
country: zod_1.z.string().max(50).optional(),
validation_status: zod_1.z
.enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
.optional(),
});
const UpdateSubscriptionForItemsEstimateCustomerSchema = zod_1.z.object({
vat_number: zod_1.z.string().max(20).optional(),
vat_number_prefix: zod_1.z.string().max(10).optional(),
registered_for_gst: zod_1.z.boolean().optional(),
taxability: zod_1.z.enum(['taxable', 'exempt']).optional(),
});
const UpdateSubscriptionForItemsEstimateBillingOverrideSchema = zod_1.z.object({
max_excess_payment_usage: zod_1.z.number().int().min(-1).optional(),
max_refundable_credits_usage: zod_1.z.number().int().min(-1).optional(),
});
const UpdateSubscriptionForItemsEstimateSubscriptionItemsSchema = zod_1.z.object({
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
unit_price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
billing_cycles: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
trial_end: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
service_period_days: zod_1.z
.array(zod_1.z.number().int().min(1).max(730).optional())
.optional(),
charge_on_event: zod_1.z
.array(zod_1.z
.enum([
'subscription_creation',
'subscription_trial_start',
'plan_activation',
'subscription_activation',
'contract_termination',
])
.optional())
.optional(),
charge_once: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
charge_on_option: zod_1.z
.array(zod_1.z.enum(['immediately', 'on_event']).optional())
.optional(),
item_type: zod_1.z.array(zod_1.z.enum(['plan', 'addon', 'charge']).optional()).optional(),
proration_type: zod_1.z
.array(zod_1.z.enum(['full_term', 'partial_term', 'none']).optional())
.optional(),
});
const UpdateSubscriptionForItemsEstimateDiscountsSchema = zod_1.z.object({
apply_on: zod_1.z
.array(zod_1.z.enum(['invoice_amount', 'specific_item_price']).optional())
.optional(),
duration_type: zod_1.z.array(zod_1.z.enum(['one_time', 'forever', 'limited_period']).optional()),
percentage: zod_1.z.array(zod_1.z.number().min(0.01).max(100).optional()).optional(),
amount: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
period: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
period_unit: zod_1.z
.array(zod_1.z.enum(['day', 'week', 'month', 'year']).optional())
.optional(),
included_in_mrr: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
operation_type: zod_1.z.array(zod_1.z.enum(['add', 'remove']).optional()),
id: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
});
const UpdateSubscriptionForItemsEstimateItemTiersSchema = zod_1.z.object({
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
starting_unit: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
ending_unit: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
starting_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
ending_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
pricing_type: zod_1.z
.array(zod_1.z.enum(['per_unit', 'flat_fee', 'package']).optional())
.optional(),
package_size: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
});
const UpdateSubscriptionForItemsEstimateBodySchema = zod_1.z.looseObject({
changes_scheduled_at: zod_1.z.number().int().optional(),
change_option: zod_1.z
.enum(['immediately', 'end_of_term', 'specific_date'])
.optional(),
mandatory_items_to_remove: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
replace_items_list: zod_1.z.boolean().default(false).optional(),
invoice_date: zod_1.z.number().int().optional(),
billing_cycles: zod_1.z.number().int().min(0).optional(),
terms_to_charge: zod_1.z.number().int().min(1).optional(),
reactivate_from: zod_1.z.number().int().optional(),
billing_alignment_mode: zod_1.z.enum(['immediate', 'delayed']).optional(),
coupon_ids: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
replace_coupon_list: zod_1.z.boolean().default(false).optional(),
prorate: zod_1.z.boolean().optional(),
end_of_term: zod_1.z.boolean().default(false).optional(),
force_term_reset: zod_1.z.boolean().default(false).optional(),
reactivate: zod_1.z.boolean().optional(),
include_delayed_charges: zod_1.z.boolean().default(false).optional(),
use_existing_balances: zod_1.z.boolean().default(true).optional(),
invoice_immediately: zod_1.z.boolean().optional(),
invoice_usages: zod_1.z.boolean().default(false).optional(),
subscription: UpdateSubscriptionForItemsEstimateSubscriptionSchema.optional(),
billing_address: UpdateSubscriptionForItemsEstimateBillingAddressSchema.optional(),
shipping_address: UpdateSubscriptionForItemsEstimateShippingAddressSchema.optional(),
customer: UpdateSubscriptionForItemsEstimateCustomerSchema.optional(),
billing_override: UpdateSubscriptionForItemsEstimateBillingOverrideSchema.optional(),
subscription_items: UpdateSubscriptionForItemsEstimateSubscriptionItemsSchema.optional(),
discounts: UpdateSubscriptionForItemsEstimateDiscountsSchema.optional(),
item_tiers: UpdateSubscriptionForItemsEstimateItemTiersSchema.optional(),
});
exports.UpdateSubscriptionForItemsEstimateBodySchema = UpdateSubscriptionForItemsEstimateBodySchema;
//Estimate.renewalEstimate
const RenewalEstimateEstimateBodySchema = zod_1.z.looseObject({
include_delayed_charges: zod_1.z.boolean().default(true).optional(),
use_existing_balances: zod_1.z.boolean().default(true).optional(),
ignore_scheduled_cancellation: zod_1.z.boolean().default(false).optional(),
ignore_scheduled_changes: zod_1.z.boolean().default(false).optional(),
exclude_tax_type: zod_1.z.enum(['exclusive', 'none']).optional(),
});
exports.RenewalEstimateEstimateBodySchema = RenewalEstimateEstimateBodySchema;
//Estimate.advanceInvoiceEstimate
const AdvanceInvoiceEstimateEstimateFixedIntervalScheduleSchema = zod_1.z.object({
number_of_occurrences: zod_1.z.number().int().min(1).optional(),
days_before_renewal: zod_1.z.number().int().min(1).optional(),
end_schedule_on: zod_1.z
.enum(['after_number_of_intervals', 'specific_date', 'subscription_end'])
.optional(),
end_date: zod_1.z.number().int().optional(),
});
const AdvanceInvoiceEstimateEstimateSpecificDatesScheduleSchema = zod_1.z.object({
terms_to_charge: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
date: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
});
const AdvanceInvoiceEstimateEstimateBodySchema = zod_1.z.looseObject({
terms_to_charge: zod_1.z.number().int().min(1).optional(),
invoice_immediately: zod_1.z.boolean().optional(),
schedule_type: zod_1.z
.enum(['immediate', 'specific_dates', 'fixed_intervals'])
.optional(),
fixed_interval_schedule: AdvanceInvoiceEstimateEstimateFixedIntervalScheduleSchema.optional(),
specific_dates_schedule: AdvanceInvoiceEstimateEstimateSpecificDatesScheduleSchema.optional(),
});
exports.AdvanceInvoiceEstimateEstimateBodySchema = AdvanceInvoiceEstimateEstimateBodySchema;
//Estimate.regenerateInvoiceEstimate
const RegenerateInvoiceEstimateEstimateBodySchema = zod_1.z.looseObject({
date_from: zod_1.z.number().int().optional(),
date_to: zod_1.z.number().int().optional(),
prorate: zod_1.z.boolean().optional(),
invoice_immediately: zod_1.z.boolean().optional(),
});
exports.RegenerateInvoiceEstimateEstimateBodySchema = RegenerateInvoiceEstimateEstimateBodySchema;
//Estimate.upcomingInvoicesEstimate
const UpcomingInvoicesEstimateEstimateBodySchema = zod_1.z.looseObject({
include_usage_charges: zod_1.z.boolean().default(false).optional(),
});
exports.UpcomingInvoicesEstimateEstimateBodySchema = UpcomingInvoicesEstimateEstimateBodySchema;
//Estimate.changeTermEnd
const ChangeTermEndEstimateBodySchema = zod_1.z.looseObject({
term_ends_at: zod_1.z.number().int(),
prorate: zod_1.z.boolean().optional(),
invoice_immediately: zod_1.z.boolean().optional(),
});
exports.ChangeTermEndEstimateBodySchema = ChangeTermEndEstimateBodySchema;
//Estimate.cancelSubscription
const CancelSubscriptionEstimateEventBasedAddonsSchema = zod_1.z.object({
id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
service_period_in_days: zod_1.z
.array(zod_1.z.number().int().min(1).max(4000).optional())
.optional(),
});
const CancelSubscriptionEstimateBodySchema = zod_1.z.looseObject({
cancel_option: zod_1.z
.enum([
'immediately',
'end_of_term',
'specific_date',
'end_of_billing_term',
])
.optional(),
end_of_term: zod_1.z.boolean().default(false).optional(),
cancel_at: zod_1.z.number().int().optional(),
credit_option_for_current_term_charges: zod_1.z
.enum(['none', 'prorate', 'full'])
.optional(),
unbilled_charges_option: zod_1.z.enum(['invoice', 'delete']).optional(),
account_receivables_handling: zod_1.z
.enum(['no_action', 'schedule_payment_collection', 'write_off'])
.optional(),
refundable_credits_handling: zod_1.z
.enum(['no_action', 'schedule_refund'])
.optional(),
contract_term_cancel_option: zod_1.z
.enum([
'terminate_immediately',
'end_of_contract_term',
'specific_date',
'end_of_subscription_billing_term',
])
.optional(),
invoice_date: zod_1.z.number().int().optional(),
cancel_reason_code: zod_1.z.string().max(100).optional(),
event_based_addons: CancelSubscriptionEstimateEventBasedAddonsSchema.optional(),
});
exports.CancelSubscriptionEstimateBodySchema = CancelSubscriptionEstimateBodySchema;
//Estimate.cancelSubscriptionForItems
const CancelSubscriptionForItemsEstimateSubscriptionItemsSchema = zod_1.z.object({
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
unit_price: zod_1.z.array(zod_1.z.number().int().