UNPKG

chargebee

Version:

A library for integrating with Chargebee.

1,084 lines 76.7 kB
// Generated Zod schemas: Quote // Actions: createSubForCustomerQuote, editCreateSubForCustomerQuote, updateSubscriptionQuote, editUpdateSubscriptionQuote, createForOnetimeCharges, editOneTimeQuote, createSubItemsForCustomerQuote, editCreateSubCustomerQuoteForItems, updateSubscriptionQuoteForItems, editUpdateSubscriptionQuoteForItems, createForChargeItemsAndCharges, editForChargeItemsAndCharges, list, quoteLineGroupsForQuote, convert, updateStatus, extendExpiryDate, delete, pdf, updateSignatureStatus // Do not edit manually – regenerate via sdk-generator import { z } from 'zod'; //Quote.createSubForCustomerQuote const CreateSubForCustomerQuoteQuoteSubscriptionSchema = z.object({ id: z.string().max(50).optional(), po_number: z.string().max(100).optional(), plan_id: z.string().max(100), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price: z.number().int().min(0).optional(), plan_unit_price_in_decimal: z.string().max(39).optional(), setup_fee: z.number().int().min(0).optional(), trial_end: z.number().int().optional(), start_date: z.number().int().optional(), offline_payment_method: 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(), contract_term_billing_cycle_on_renewal: z .number() .int() .min(1) .max(100) .optional(), }); const CreateSubForCustomerQuoteQuoteShippingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const CreateSubForCustomerQuoteQuoteContractTermSchema = z.object({ action_at_term_end: z.enum(['renew', 'evergreen', 'cancel']).optional(), cancellation_cutoff_period: z.number().int().optional(), }); const CreateSubForCustomerQuoteQuoteAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), billing_cycles: z.array(z.number().int().min(0).optional()).optional(), trial_end: z.array(z.number().int().optional()).optional(), }); const CreateSubForCustomerQuoteQuoteEventBasedAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), service_period_in_days: z .array(z.number().int().min(1).max(4000).optional()) .optional(), on_event: z .array(z .enum([ 'subscription_creation', 'subscription_trial_start', 'plan_activation', 'subscription_activation', 'contract_termination', ]) .optional()) .optional(), charge_once: z.array(z.boolean().default(true).optional()).optional(), charge_on: z.array(z.enum(['immediately', 'on_event']).optional()).optional(), }); const CreateSubForCustomerQuoteQuoteBodySchema = z.looseObject({ name: z.string().max(100).optional(), notes: z.string().max(10000).optional(), expires_at: z.number().int().optional(), billing_cycles: z.number().int().min(0).optional(), mandatory_addons_to_remove: z .array(z.string().max(100).optional()) .optional(), terms_to_charge: z.number().int().min(1).optional(), billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), subscription: CreateSubForCustomerQuoteQuoteSubscriptionSchema.optional(), shipping_address: CreateSubForCustomerQuoteQuoteShippingAddressSchema.optional(), contract_term: CreateSubForCustomerQuoteQuoteContractTermSchema.optional(), addons: CreateSubForCustomerQuoteQuoteAddonsSchema.optional(), event_based_addons: CreateSubForCustomerQuoteQuoteEventBasedAddonsSchema.optional(), }); export { CreateSubForCustomerQuoteQuoteBodySchema }; //Quote.editCreateSubForCustomerQuote const EditCreateSubForCustomerQuoteQuoteSubscriptionSchema = z.object({ id: z.string().max(50).optional(), po_number: z.string().max(100).optional(), plan_id: z.string().max(100), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price: z.number().int().min(0).optional(), plan_unit_price_in_decimal: z.string().max(39).optional(), setup_fee: z.number().int().min(0).optional(), trial_end: z.number().int().optional(), start_date: z.number().int().optional(), offline_payment_method: 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(), contract_term_billing_cycle_on_renewal: z .number() .int() .min(1) .max(100) .optional(), }); const EditCreateSubForCustomerQuoteQuoteShippingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const EditCreateSubForCustomerQuoteQuoteContractTermSchema = z.object({ action_at_term_end: z.enum(['renew', 'evergreen', 'cancel']).optional(), cancellation_cutoff_period: z.number().int().optional(), }); const EditCreateSubForCustomerQuoteQuoteAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), billing_cycles: z.array(z.number().int().min(0).optional()).optional(), trial_end: z.array(z.number().int().optional()).optional(), }); const EditCreateSubForCustomerQuoteQuoteEventBasedAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), service_period_in_days: z .array(z.number().int().min(1).max(4000).optional()) .optional(), on_event: z .array(z .enum([ 'subscription_creation', 'subscription_trial_start', 'plan_activation', 'subscription_activation', 'contract_termination', ]) .optional()) .optional(), charge_once: z.array(z.boolean().default(true).optional()).optional(), charge_on: z.array(z.enum(['immediately', 'on_event']).optional()).optional(), }); const EditCreateSubForCustomerQuoteQuoteBodySchema = z.looseObject({ notes: z.string().max(10000).optional(), expires_at: z.number().int().optional(), billing_cycles: z.number().int().min(0).optional(), mandatory_addons_to_remove: z .array(z.string().max(100).optional()) .optional(), terms_to_charge: z.number().int().min(1).optional(), billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), subscription: EditCreateSubForCustomerQuoteQuoteSubscriptionSchema.optional(), shipping_address: EditCreateSubForCustomerQuoteQuoteShippingAddressSchema.optional(), contract_term: EditCreateSubForCustomerQuoteQuoteContractTermSchema.optional(), addons: EditCreateSubForCustomerQuoteQuoteAddonsSchema.optional(), event_based_addons: EditCreateSubForCustomerQuoteQuoteEventBasedAddonsSchema.optional(), }); export { EditCreateSubForCustomerQuoteQuoteBodySchema }; //Quote.updateSubscriptionQuote const UpdateSubscriptionQuoteQuoteSubscriptionSchema = z.object({ id: z.string().max(50), plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_unit_price: z.number().int().min(0).optional(), setup_fee: z.number().int().min(0).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price_in_decimal: z.string().max(39).optional(), start_date: z.number().int().optional(), trial_end: z.number().int().optional(), coupon: z.string().max(100).optional(), auto_collection: z.enum(['on', 'off']).optional(), offline_payment_method: 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(), contract_term_billing_cycle_on_renewal: z .number() .int() .min(1) .max(100) .optional(), }); const UpdateSubscriptionQuoteQuoteBillingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const UpdateSubscriptionQuoteQuoteShippingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const UpdateSubscriptionQuoteQuoteCustomerSchema = z.object({ vat_number: z.string().max(20).optional(), vat_number_prefix: z.string().max(10).optional(), registered_for_gst: z.boolean().optional(), }); const UpdateSubscriptionQuoteQuoteContractTermSchema = z.object({ action_at_term_end: z .enum(['renew', 'evergreen', 'cancel', 'renew_once']) .optional(), cancellation_cutoff_period: z.number().int().optional(), }); const UpdateSubscriptionQuoteQuoteAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), billing_cycles: z.array(z.number().int().min(0).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), trial_end: z.array(z.number().int().optional()).optional(), }); const UpdateSubscriptionQuoteQuoteEventBasedAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), service_period_in_days: z .array(z.number().int().min(1).max(4000).optional()) .optional(), charge_on: z.array(z.enum(['immediately', 'on_event']).optional()).optional(), on_event: z .array(z .enum([ 'subscription_creation', 'subscription_trial_start', 'plan_activation', 'subscription_activation', 'contract_termination', ]) .optional()) .optional(), charge_once: z.array(z.boolean().default(true).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), }); const UpdateSubscriptionQuoteQuoteBodySchema = z.looseObject({ name: z.string().max(100).optional(), notes: z.string().max(10000).optional(), expires_at: z.number().int().optional(), replace_addon_list: z.boolean().default(false).optional(), mandatory_addons_to_remove: z .array(z.string().max(100).optional()) .optional(), billing_cycles: z.number().int().min(0).optional(), terms_to_charge: z.number().int().min(1).optional(), reactivate_from: z.number().int().optional(), billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), replace_coupon_list: z.boolean().default(false).optional(), change_option: z.enum(['immediately', 'specific_date']).optional(), changes_scheduled_at: z.number().int().optional(), force_term_reset: z.boolean().default(false).optional(), reactivate: z.boolean().optional(), subscription: UpdateSubscriptionQuoteQuoteSubscriptionSchema.optional(), billing_address: UpdateSubscriptionQuoteQuoteBillingAddressSchema.optional(), shipping_address: UpdateSubscriptionQuoteQuoteShippingAddressSchema.optional(), customer: UpdateSubscriptionQuoteQuoteCustomerSchema.optional(), contract_term: UpdateSubscriptionQuoteQuoteContractTermSchema.optional(), addons: UpdateSubscriptionQuoteQuoteAddonsSchema.optional(), event_based_addons: UpdateSubscriptionQuoteQuoteEventBasedAddonsSchema.optional(), }); export { UpdateSubscriptionQuoteQuoteBodySchema }; //Quote.editUpdateSubscriptionQuote const EditUpdateSubscriptionQuoteQuoteSubscriptionSchema = z.object({ plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_unit_price: z.number().int().min(0).optional(), setup_fee: z.number().int().min(0).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price_in_decimal: z.string().max(39).optional(), start_date: z.number().int().optional(), trial_end: z.number().int().optional(), coupon: z.string().max(100).optional(), auto_collection: z.enum(['on', 'off']).optional(), offline_payment_method: 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(), contract_term_billing_cycle_on_renewal: z .number() .int() .min(1) .max(100) .optional(), }); const EditUpdateSubscriptionQuoteQuoteBillingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const EditUpdateSubscriptionQuoteQuoteShippingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const EditUpdateSubscriptionQuoteQuoteCustomerSchema = z.object({ vat_number: z.string().max(20).optional(), vat_number_prefix: z.string().max(10).optional(), registered_for_gst: z.boolean().optional(), }); const EditUpdateSubscriptionQuoteQuoteContractTermSchema = z.object({ action_at_term_end: z .enum(['renew', 'evergreen', 'cancel', 'renew_once']) .optional(), cancellation_cutoff_period: z.number().int().optional(), }); const EditUpdateSubscriptionQuoteQuoteAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), billing_cycles: z.array(z.number().int().min(0).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), trial_end: z.array(z.number().int().optional()).optional(), }); const EditUpdateSubscriptionQuoteQuoteEventBasedAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), service_period_in_days: z .array(z.number().int().min(1).max(4000).optional()) .optional(), charge_on: z.array(z.enum(['immediately', 'on_event']).optional()).optional(), on_event: z .array(z .enum([ 'subscription_creation', 'subscription_trial_start', 'plan_activation', 'subscription_activation', 'contract_termination', ]) .optional()) .optional(), charge_once: z.array(z.boolean().default(true).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), }); const EditUpdateSubscriptionQuoteQuoteBodySchema = z.looseObject({ notes: z.string().max(10000).optional(), expires_at: z.number().int().optional(), replace_addon_list: z.boolean().default(false).optional(), mandatory_addons_to_remove: z .array(z.string().max(100).optional()) .optional(), billing_cycles: z.number().int().min(0).optional(), terms_to_charge: z.number().int().min(1).optional(), reactivate_from: z.number().int().optional(), billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), replace_coupon_list: z.boolean().default(false).optional(), change_option: z.enum(['immediately', 'specific_date']).optional(), changes_scheduled_at: z.number().int().optional(), force_term_reset: z.boolean().default(false).optional(), reactivate: z.boolean().optional(), subscription: EditUpdateSubscriptionQuoteQuoteSubscriptionSchema.optional(), billing_address: EditUpdateSubscriptionQuoteQuoteBillingAddressSchema.optional(), shipping_address: EditUpdateSubscriptionQuoteQuoteShippingAddressSchema.optional(), customer: EditUpdateSubscriptionQuoteQuoteCustomerSchema.optional(), contract_term: EditUpdateSubscriptionQuoteQuoteContractTermSchema.optional(), addons: EditUpdateSubscriptionQuoteQuoteAddonsSchema.optional(), event_based_addons: EditUpdateSubscriptionQuoteQuoteEventBasedAddonsSchema.optional(), }); export { EditUpdateSubscriptionQuoteQuoteBodySchema }; //Quote.createForOnetimeCharges const CreateForOnetimeChargesQuoteShippingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const CreateForOnetimeChargesQuoteAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), service_period: z.array(z.number().int().optional()).optional(), }); const CreateForOnetimeChargesQuoteChargesSchema = z.object({ amount: z.array(z.number().int().min(1).optional()).optional(), amount_in_decimal: z.array(z.string().max(39).optional()).optional(), description: z.array(z.string().max(250).optional()).optional(), avalara_sale_type: z .array(z.enum(['wholesale', 'retail', 'consumed', 'vendor_use']).optional()) .optional(), avalara_transaction_type: z.array(z.number().int().optional()).optional(), avalara_service_type: z.array(z.number().int().optional()).optional(), service_period: z.array(z.number().int().optional()).optional(), }); const CreateForOnetimeChargesQuoteTaxProvidersFieldsSchema = z.object({ provider_name: z.array(z.string().max(50).optional()).optional(), field_id: z.array(z.string().max(50).optional()).optional(), field_value: z.array(z.string().max(50).optional()).optional(), }); const CreateForOnetimeChargesQuoteBodySchema = z.looseObject({ name: z.string().max(100).optional(), customer_id: z.string().max(50), po_number: z.string().max(100).optional(), notes: z.string().max(10000).optional(), expires_at: z.number().int().optional(), currency_code: z.string().max(3).optional(), coupon: z.string().max(100).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), shipping_address: CreateForOnetimeChargesQuoteShippingAddressSchema.optional(), addons: CreateForOnetimeChargesQuoteAddonsSchema.optional(), charges: CreateForOnetimeChargesQuoteChargesSchema.optional(), tax_providers_fields: CreateForOnetimeChargesQuoteTaxProvidersFieldsSchema.optional(), }); export { CreateForOnetimeChargesQuoteBodySchema }; //Quote.editOneTimeQuote const EditOneTimeQuoteQuoteShippingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const EditOneTimeQuoteQuoteAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), service_period: z.array(z.number().int().optional()).optional(), }); const EditOneTimeQuoteQuoteChargesSchema = z.object({ amount: z.array(z.number().int().min(1).optional()).optional(), amount_in_decimal: z.array(z.string().max(39).optional()).optional(), description: z.array(z.string().max(250).optional()).optional(), avalara_sale_type: z .array(z.enum(['wholesale', 'retail', 'consumed', 'vendor_use']).optional()) .optional(), avalara_transaction_type: z.array(z.number().int().optional()).optional(), avalara_service_type: z.array(z.number().int().optional()).optional(), service_period: z.array(z.number().int().optional()).optional(), }); const EditOneTimeQuoteQuoteTaxProvidersFieldsSchema = z.object({ provider_name: z.array(z.string().max(50).optional()).optional(), field_id: z.array(z.string().max(50).optional()).optional(), field_value: z.array(z.string().max(50).optional()).optional(), }); const EditOneTimeQuoteQuoteBodySchema = z.looseObject({ po_number: z.string().max(100).optional(), notes: z.string().max(10000).optional(), expires_at: z.number().int().optional(), currency_code: z.string().max(3).optional(), coupon: z.string().max(100).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), shipping_address: EditOneTimeQuoteQuoteShippingAddressSchema.optional(), addons: EditOneTimeQuoteQuoteAddonsSchema.optional(), charges: EditOneTimeQuoteQuoteChargesSchema.optional(), tax_providers_fields: EditOneTimeQuoteQuoteTaxProvidersFieldsSchema.optional(), }); export { EditOneTimeQuoteQuoteBodySchema }; //Quote.createSubItemsForCustomerQuote const CreateSubItemsForCustomerQuoteQuoteSubscriptionSchema = z.looseObject({ id: z.string().max(50).optional(), po_number: z.string().max(100).optional(), trial_end: z.number().int().optional(), setup_fee: z.number().int().min(0).optional(), start_date: z.number().int().optional(), offline_payment_method: 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(), contract_term_billing_cycle_on_renewal: z .number() .int() .min(1) .max(100) .optional(), free_period: z.number().int().min(1).optional(), free_period_unit: z.enum(['day', 'week', 'month', 'year']).optional(), }); const CreateSubItemsForCustomerQuoteQuoteShippingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const CreateSubItemsForCustomerQuoteQuoteContractTermSchema = z.object({ action_at_term_end: z.enum(['renew', 'evergreen', 'cancel']).optional(), cancellation_cutoff_period: z.number().int().optional(), }); const CreateSubItemsForCustomerQuoteQuoteBillingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const CreateSubItemsForCustomerQuoteQuoteSubscriptionItemsSchema = z.object({ item_price_id: z.array(z.string().max(100).optional()), quantity: z.array(z.number().int().min(1).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), billing_cycles: z.array(z.number().int().min(0).optional()).optional(), trial_end: z.array(z.number().int().optional()).optional(), service_period_days: z .array(z.number().int().min(1).max(730).optional()) .optional(), charge_on_event: z .array(z .enum([ 'subscription_creation', 'subscription_trial_start', 'plan_activation', 'subscription_activation', 'contract_termination', ]) .optional()) .optional(), charge_once: z.array(z.boolean().optional()).optional(), item_type: z.array(z.enum(['plan', 'addon', 'charge']).optional()).optional(), charge_on_option: z .array(z.enum(['immediately', 'on_event']).optional()) .optional(), start_date: z.array(z.number().int().optional()).optional(), end_date: z.array(z.number().int().optional()).optional(), ramp_tier_id: z.array(z.string().max(105).optional()).optional(), }); const CreateSubItemsForCustomerQuoteQuoteDiscountsSchema = z.object({ apply_on: z .array(z.enum(['invoice_amount', 'specific_item_price']).optional()) .optional(), duration_type: z.array(z.enum(['one_time', 'forever', 'limited_period']).optional()), percentage: z.array(z.number().min(0.01).max(100).optional()).optional(), amount: z.array(z.number().int().min(0).optional()).optional(), period: z.array(z.number().int().min(1).optional()).optional(), period_unit: z .array(z.enum(['day', 'week', 'month', 'year']).optional()) .optional(), included_in_mrr: z.array(z.boolean().optional()).optional(), item_price_id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), start_date: z.array(z.number().int().optional()).optional(), end_date: z.array(z.number().int().optional()).optional(), }); const CreateSubItemsForCustomerQuoteQuoteItemTiersSchema = z.object({ item_price_id: z.array(z.string().max(100).optional()).optional(), starting_unit: z.array(z.number().int().min(1).optional()).optional(), ending_unit: z.array(z.number().int().optional()).optional(), price: z.array(z.number().int().min(0).optional()).optional(), starting_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), ending_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), price_in_decimal: z.array(z.string().max(39).optional()).optional(), pricing_type: z .array(z.enum(['per_unit', 'flat_fee', 'package']).optional()) .optional(), package_size: z.array(z.number().int().min(1).optional()).optional(), ramp_tier_id: z.array(z.string().max(105).optional()).optional(), }); const CreateSubItemsForCustomerQuoteQuoteCouponsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), start_date: z.array(z.number().int().optional()).optional(), end_date: z.array(z.number().int().optional()).optional(), }); const CreateSubItemsForCustomerQuoteQuoteBodySchema = z.looseObject({ name: z.string().max(100).optional(), notes: z.string().max(10000).optional(), expires_at: z.number().int().optional(), billing_cycles: z.number().int().min(0).optional(), mandatory_items_to_remove: z.array(z.string().max(100).optional()).optional(), terms_to_charge: z.number().int().min(1).optional(), billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), billing_start_option: z.enum(['immediately', 'on_specific_date']).optional(), net_term_days: z.number().int().optional(), subscription: CreateSubItemsForCustomerQuoteQuoteSubscriptionSchema.optional(), shipping_address: CreateSubItemsForCustomerQuoteQuoteShippingAddressSchema.optional(), contract_term: CreateSubItemsForCustomerQuoteQuoteContractTermSchema.optional(), billing_address: CreateSubItemsForCustomerQuoteQuoteBillingAddressSchema.optional(), subscription_items: CreateSubItemsForCustomerQuoteQuoteSubscriptionItemsSchema.optional(), discounts: CreateSubItemsForCustomerQuoteQuoteDiscountsSchema.optional(), item_tiers: CreateSubItemsForCustomerQuoteQuoteItemTiersSchema.optional(), coupons: CreateSubItemsForCustomerQuoteQuoteCouponsSchema.optional(), }); export { CreateSubItemsForCustomerQuoteQuoteBodySchema }; //Quote.editCreateSubCustomerQuoteForItems const EditCreateSubCustomerQuoteForItemsQuoteSubscriptionSchema = z.looseObject({ id: z.string().max(50).optional(), po_number: z.string().max(100).optional(), trial_end: z.number().int().optional(), setup_fee: z.number().int().min(0).optional(), start_date: z.number().int().optional(), offline_payment_method: 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(), contract_term_billing_cycle_on_renewal: z .number() .int() .min(1) .max(100) .optional(), free_period: z.number().int().min(1).optional(), free_period_unit: z.enum(['day', 'week', 'month', 'year']).optional(), }); const EditCreateSubCustomerQuoteForItemsQuoteShippingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const EditCreateSubCustomerQuoteForItemsQuoteContractTermSchema = z.object({ action_at_term_end: z.enum(['renew', 'evergreen', 'cancel']).optional(), cancellation_cutoff_period: z.number().int().optional(), }); const EditCreateSubCustomerQuoteForItemsQuoteBillingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const EditCreateSubCustomerQuoteForItemsQuoteSubscriptionItemsSchema = z.object({ item_price_id: z.array(z.string().max(100).optional()), quantity: z.array(z.number().int().min(1).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), billing_cycles: z.array(z.number().int().min(0).optional()).optional(), trial_end: z.array(z.number().int().optional()).optional(), service_period_days: z .array(z.number().int().min(1).max(730).optional()) .optional(), charge_on_event: z .array(z .enum([ 'subscription_creation', 'subscription_trial_start', 'plan_activation', 'subscription_activation', 'contract_termination', ]) .optional()) .optional(), charge_once: z.array(z.boolean().optional()).optional(), item_type: z .array(z.enum(['plan', 'addon', 'charge']).optional()) .optional(), charge_on_option: z .array(z.enum(['immediately', 'on_event']).optional()) .optional(), start_date: z.array(z.number().int().optional()).optional(), end_date: z.array(z.number().int().optional()).optional(), ramp_tier_id: z.array(z.string().max(105).optional()).optional(), }); const EditCreateSubCustomerQuoteForItemsQuoteDiscountsSchema = z.object({ apply_on: z .array(z.enum(['invoice_amount', 'specific_item_price']).optional()) .optional(), duration_type: z.array(z.enum(['one_time', 'forever', 'limited_period']).optional()), percentage: z.array(z.number().min(0.01).max(100).optional()).optional(), amount: z.array(z.number().int().min(0).optional()).optional(), period: z.array(z.number().int().min(1).optional()).optional(), period_unit: z .array(z.enum(['day', 'week', 'month', 'year']).optional()) .optional(), included_in_mrr: z.array(z.boolean().optional()).optional(), item_price_id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), start_date: z.array(z.number().int().optional()).optional(), end_date: z.array(z.number().int().optional()).optional(), }); const EditCreateSubCustomerQuoteForItemsQuoteItemTiersSchema = z.object({ item_price_id: z.array(z.string().max(100).optional()).optional(), starting_unit: z.array(z.number().int().min(1).optional()).optional(), ending_unit: z.array(z.number().int().optional()).optional(), price: z.array(z.number().int().min(0).optional()).optional(), starting_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), ending_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), price_in_decimal: z.array(z.string().max(39).optional()).optional(), pricing_type: z .array(z.enum(['per_unit', 'flat_fee', 'package']).optional()) .optional(), package_size: z.array(z.number().int().min(1).optional()).optional(), ramp_tier_id: z.array(z.string().max(105).optional()).optional(), }); const EditCreateSubCustomerQuoteForItemsQuoteCouponsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), start_date: z.array(z.number().int().optional()).optional(), end_date: z.array(z.number().int().optional()).optional(), }); const EditCreateSubCustomerQuoteForItemsQuoteBodySchema = z.looseObject({ notes: z.string().max(10000).optional(), expires_at: z.number().int().optional(), billing_cycles: z.number().int().min(0).optional(), mandatory_items_to_remove: z.array(z.string().max(100).optional()).optional(), terms_to_charge: z.number().int().min(1).optional(), billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), billing_start_option: z.enum(['immediately', 'on_specific_date']).optional(), net_term_days: z.number().int().optional(), subscription: EditCreateSubCustomerQuoteForItemsQuoteSubscriptionSchema.optional(), shipping_address: EditCreateSubCustomerQuoteForItemsQuoteShippingAddressSchema.optional(), contract_term: EditCreateSubCustomerQuoteForItemsQuoteContractTermSchema.optional(), billing_address: EditCreateSubCustomerQuoteForItemsQuoteBillingAddressSchema.optional(), subscription_items: EditCreateSubCustomerQuoteForItemsQuoteSubscriptionItemsSchema.optional(), discounts: EditCreateSubCustomerQuoteForItemsQuoteDiscountsSchema.optional(), item_tiers: EditCreateSubCustomerQuoteForItemsQuoteItemTiersSchema.optional(), coupons: EditCreateSubCustomerQuoteForItemsQuoteCouponsSchema.optional(), }); export { EditCreateSubCustomerQuoteForItemsQuoteBodySchema }; //Quote.updateSubscriptionQuoteForItems const UpdateSubscriptionQuoteForItemsQuoteSubscriptionSchema = z.looseObject({ id: z.string().max(50), setup_fee: z.number().int().min(0).optional(), start_date: z.number().int().optional(), trial_end: z.number().int().optional(), coupon: z.string().max(100).optional(), auto_collection: z.enum(['on', 'off']).optional(), offline_payment_method: 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(), contract_term_billing_cycle_on_renewal: z .number() .int() .min(1) .max(100) .optional(), }); const UpdateSubscriptionQuoteForItemsQuoteBillingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const UpdateSubscriptionQuoteForItemsQuoteShippingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const UpdateSubscriptionQuoteForItemsQuoteCustomerSchema = z.object({ vat_number: z.string().max(20).optional(), vat_number_prefix: z.string().max(10).optional(), registered_for_gst: z.boolean().optional(), }); const UpdateSubscriptionQuoteForItemsQuoteContractTermSchema = z.object({ action_at_term_end: z .enum(['renew', 'evergreen', 'cancel', 'renew_once']) .optional(), cancellation_cutoff_period: z.number().int().optional(), }); const UpdateSubscriptionQuoteForItemsQuoteSubscriptionItemsSchema = z.object({ item_price_id: z.array(z.string().max(100).optional()), quantity: z.array(z.number().int().min(1).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), billing_cycles: z.array(z.number().int().min(0).optional()).optional(), trial_end: z.array(z.number().int().optional()).optional(), service_period_days: z .array(z.number().int().min(1).max(730).optional()) .optional(), charge_on_event: z .array(z .enum([ 'subscription_creation', 'subscription_trial_start', 'plan_activation', 'subscription_activation', 'contract_termination', ]) .optional()) .optional(), charge_once: z.array(z.boolean().optional()).optional(), charge_on_option: z .array(z.enum(['immediately', 'on_event']).optional()) .optional(), item_type: z.array(z.enum(['plan', 'addon', 'charge']).optional()).optional(), start_date: z.array(z.number().int().optional()).optional(), end_date: z.array(z.number().int().optional()).optional(), ramp_tier_id: z.array(z.string().max(105).optional()).optional(), }); const UpdateSubscriptionQuoteForItemsQuoteDiscountsSchema = z.object({ apply_on: z .array(z.enum(['invoice_amount', 'specific_item_price']).optional()) .optional(), duration_type: z.array(z.enum(['one_time', 'forever', 'limited_period']).optional()), percentage: z.array(z.number().min(0.01).max(100).optional()).optional(), amount: z.array(z.number().int().min(0).optional()).optional(), period: z.array(z.number().int().min(1).optional()).optional(), period_unit: z .array(z.enum(['day', 'week', 'month', 'year']).optional()) .optional(), included_in_mrr: z.array(z.boolean().optional()).optional(), item_price_id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), operation_type: z.array(z.enum(['add', 'remove']).optional()), id: z.array(z.string().max(50).optional()).optional(), start_date: z.array(z.number().int().optional()).optional(), end_date: z.array(z.number().int().optional()).optional(), }); const UpdateSubscriptionQuoteForItemsQuoteItemTiersSchema = z.object({ item_price_id: z.array(z.string().max(100).optional()).optional(), starting_unit: z.array(z.number().int().min(1).optional()).optional(), ending_unit: z.array(z.number().int().optional()).optional(), price: z.array(z.number().int().min(0).optional()).optional(), starting_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), ending_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), price_in_decimal: z.array(z.string().max(39).optional()).optional(), pricing_type: z .array(z.enum(['per_unit', 'flat_fee', 'package']).optional()) .optional(), package_size: z.array(z.number().int().min(1).optional()).optional(), ramp_tier_id: z.array(z.string().max(105).optional()).optional(), }); const UpdateSubscriptionQuoteForItemsQuoteCoupons