chargebee 3.26.0 → 3.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +39 -0
  3. package/cjs/RequestWrapper.js +27 -0
  4. package/cjs/chargebee.cjs.js +3 -0
  5. package/cjs/chargebee.cjs.worker.js +2 -0
  6. package/cjs/chargebeeZodValidationError.js +18 -0
  7. package/cjs/createChargebee.js +5 -0
  8. package/cjs/environment.js +1 -1
  9. package/cjs/schema/addon.schema.js +269 -0
  10. package/cjs/schema/address.schema.js +35 -0
  11. package/cjs/schema/alert.schema.js +74 -0
  12. package/cjs/schema/alert_status.schema.js +31 -0
  13. package/cjs/schema/attached_item.schema.js +144 -0
  14. package/cjs/schema/business_entity.schema.js +46 -0
  15. package/cjs/schema/card.schema.js +165 -0
  16. package/cjs/schema/comment.schema.js +69 -0
  17. package/cjs/schema/coupon.schema.js +323 -0
  18. package/cjs/schema/coupon_code.schema.js +49 -0
  19. package/cjs/schema/coupon_set.schema.js +88 -0
  20. package/cjs/schema/credit_note.schema.js +502 -0
  21. package/cjs/schema/currency.schema.js +32 -0
  22. package/cjs/schema/customer.schema.js +1201 -0
  23. package/cjs/schema/customer_entitlement.schema.js +14 -0
  24. package/cjs/schema/differential_price.schema.js +106 -0
  25. package/cjs/schema/entitlement.schema.js +54 -0
  26. package/cjs/schema/entitlement_override.schema.js +35 -0
  27. package/cjs/schema/estimate.schema.js +1535 -0
  28. package/cjs/schema/event.schema.js +1060 -0
  29. package/cjs/schema/export.schema.js +3385 -0
  30. package/cjs/schema/feature.schema.js +78 -0
  31. package/cjs/schema/gift.schema.js +293 -0
  32. package/cjs/schema/grant_block.schema.js +47 -0
  33. package/cjs/schema/hosted_page.schema.js +1777 -0
  34. package/cjs/schema/in_app_subscription.schema.js +68 -0
  35. package/cjs/schema/index.js +88 -0
  36. package/cjs/schema/invoice.schema.js +1685 -0
  37. package/cjs/schema/item.schema.js +195 -0
  38. package/cjs/schema/item_entitlement.schema.js +45 -0
  39. package/cjs/schema/item_family.schema.js +57 -0
  40. package/cjs/schema/item_price.schema.js +335 -0
  41. package/cjs/schema/ledger_account_balance.schema.js +21 -0
  42. package/cjs/schema/ledger_operation.schema.js +104 -0
  43. package/cjs/schema/meter.schema.js +13 -0
  44. package/cjs/schema/metered_feature.schema.js +20 -0
  45. package/cjs/schema/non_subscription.schema.js +28 -0
  46. package/cjs/schema/offer_event.schema.js +13 -0
  47. package/cjs/schema/offer_fulfillment.schema.js +20 -0
  48. package/cjs/schema/omnichannel_one_time_order.schema.js +26 -0
  49. package/cjs/schema/omnichannel_subscription.schema.js +122 -0
  50. package/cjs/schema/omnichannel_subscription_item.schema.js +13 -0
  51. package/cjs/schema/order.schema.js +441 -0
  52. package/cjs/schema/payment_intent.schema.js +127 -0
  53. package/cjs/schema/payment_schedule_scheme.schema.js +20 -0
  54. package/cjs/schema/payment_source.schema.js +630 -0
  55. package/cjs/schema/payment_voucher.schema.js +57 -0
  56. package/cjs/schema/personalized_offer.schema.js +28 -0
  57. package/cjs/schema/plan.schema.js +363 -0
  58. package/cjs/schema/portal_session.schema.js +22 -0
  59. package/cjs/schema/price_variant.schema.js +93 -0
  60. package/cjs/schema/pricing_page_session.schema.js +135 -0
  61. package/cjs/schema/promotional_credit.schema.js +78 -0
  62. package/cjs/schema/promotional_grant.schema.js +17 -0
  63. package/cjs/schema/purchase.schema.js +277 -0
  64. package/cjs/schema/quote.schema.js +1667 -0
  65. package/cjs/schema/ramp.schema.js +245 -0
  66. package/cjs/schema/recorded_purchase.schema.js +32 -0
  67. package/cjs/schema/resource_migration.schema.js +14 -0
  68. package/cjs/schema/site_migration_detail.schema.js +81 -0
  69. package/cjs/schema/subscription.schema.js +3344 -0
  70. package/cjs/schema/subscription_entitlement.schema.js +25 -0
  71. package/cjs/schema/time_machine.schema.js +17 -0
  72. package/cjs/schema/transaction.schema.js +744 -0
  73. package/cjs/schema/unbilled_charge.schema.js +139 -0
  74. package/cjs/schema/usage.schema.js +93 -0
  75. package/cjs/schema/usage_charge.schema.js +17 -0
  76. package/cjs/schema/usage_event.schema.js +28 -0
  77. package/cjs/schema/usage_file.schema.js +13 -0
  78. package/cjs/schema/usage_summary.schema.js +17 -0
  79. package/cjs/schema/virtual_bank_account.schema.js +71 -0
  80. package/cjs/schema/webhook_endpoint.schema.js +508 -0
  81. package/cjs/validationLoader.js +59 -0
  82. package/esm/RequestWrapper.js +27 -0
  83. package/esm/chargebee.esm.js +2 -0
  84. package/esm/chargebee.esm.worker.js +1 -0
  85. package/esm/chargebeeZodValidationError.js +14 -0
  86. package/esm/createChargebee.js +5 -0
  87. package/esm/environment.js +1 -1
  88. package/esm/schema/addon.schema.js +266 -0
  89. package/esm/schema/address.schema.js +32 -0
  90. package/esm/schema/alert.schema.js +71 -0
  91. package/esm/schema/alert_status.schema.js +28 -0
  92. package/esm/schema/attached_item.schema.js +141 -0
  93. package/esm/schema/business_entity.schema.js +43 -0
  94. package/esm/schema/card.schema.js +162 -0
  95. package/esm/schema/comment.schema.js +66 -0
  96. package/esm/schema/coupon.schema.js +320 -0
  97. package/esm/schema/coupon_code.schema.js +46 -0
  98. package/esm/schema/coupon_set.schema.js +85 -0
  99. package/esm/schema/credit_note.schema.js +499 -0
  100. package/esm/schema/currency.schema.js +29 -0
  101. package/esm/schema/customer.schema.js +1198 -0
  102. package/esm/schema/customer_entitlement.schema.js +11 -0
  103. package/esm/schema/differential_price.schema.js +103 -0
  104. package/esm/schema/entitlement.schema.js +51 -0
  105. package/esm/schema/entitlement_override.schema.js +32 -0
  106. package/esm/schema/estimate.schema.js +1532 -0
  107. package/esm/schema/event.schema.js +1057 -0
  108. package/esm/schema/export.schema.js +3382 -0
  109. package/esm/schema/feature.schema.js +75 -0
  110. package/esm/schema/gift.schema.js +290 -0
  111. package/esm/schema/grant_block.schema.js +44 -0
  112. package/esm/schema/hosted_page.schema.js +1774 -0
  113. package/esm/schema/in_app_subscription.schema.js +65 -0
  114. package/esm/schema/index.js +72 -0
  115. package/esm/schema/invoice.schema.js +1682 -0
  116. package/esm/schema/item.schema.js +192 -0
  117. package/esm/schema/item_entitlement.schema.js +42 -0
  118. package/esm/schema/item_family.schema.js +54 -0
  119. package/esm/schema/item_price.schema.js +332 -0
  120. package/esm/schema/ledger_account_balance.schema.js +18 -0
  121. package/esm/schema/ledger_operation.schema.js +101 -0
  122. package/esm/schema/meter.schema.js +10 -0
  123. package/esm/schema/metered_feature.schema.js +17 -0
  124. package/esm/schema/non_subscription.schema.js +25 -0
  125. package/esm/schema/offer_event.schema.js +10 -0
  126. package/esm/schema/offer_fulfillment.schema.js +17 -0
  127. package/esm/schema/omnichannel_one_time_order.schema.js +23 -0
  128. package/esm/schema/omnichannel_subscription.schema.js +119 -0
  129. package/esm/schema/omnichannel_subscription_item.schema.js +10 -0
  130. package/esm/schema/order.schema.js +438 -0
  131. package/esm/schema/payment_intent.schema.js +124 -0
  132. package/esm/schema/payment_schedule_scheme.schema.js +17 -0
  133. package/esm/schema/payment_source.schema.js +627 -0
  134. package/esm/schema/payment_voucher.schema.js +54 -0
  135. package/esm/schema/personalized_offer.schema.js +25 -0
  136. package/esm/schema/plan.schema.js +360 -0
  137. package/esm/schema/portal_session.schema.js +19 -0
  138. package/esm/schema/price_variant.schema.js +90 -0
  139. package/esm/schema/pricing_page_session.schema.js +132 -0
  140. package/esm/schema/promotional_credit.schema.js +75 -0
  141. package/esm/schema/promotional_grant.schema.js +14 -0
  142. package/esm/schema/purchase.schema.js +274 -0
  143. package/esm/schema/quote.schema.js +1664 -0
  144. package/esm/schema/ramp.schema.js +242 -0
  145. package/esm/schema/recorded_purchase.schema.js +29 -0
  146. package/esm/schema/resource_migration.schema.js +11 -0
  147. package/esm/schema/site_migration_detail.schema.js +78 -0
  148. package/esm/schema/subscription.schema.js +3341 -0
  149. package/esm/schema/subscription_entitlement.schema.js +22 -0
  150. package/esm/schema/time_machine.schema.js +14 -0
  151. package/esm/schema/transaction.schema.js +741 -0
  152. package/esm/schema/unbilled_charge.schema.js +136 -0
  153. package/esm/schema/usage.schema.js +90 -0
  154. package/esm/schema/usage_charge.schema.js +14 -0
  155. package/esm/schema/usage_event.schema.js +25 -0
  156. package/esm/schema/usage_file.schema.js +10 -0
  157. package/esm/schema/usage_summary.schema.js +14 -0
  158. package/esm/schema/virtual_bank_account.schema.js +68 -0
  159. package/esm/schema/webhook_endpoint.schema.js +505 -0
  160. package/esm/validationLoader.js +56 -0
  161. package/package.json +4 -1
  162. package/types/core.d.ts +2 -0
  163. package/types/index.d.ts +16 -0
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ // Generated Zod schemas: PromotionalCredit
3
+ // Actions: add, deduct, set, list
4
+ // Do not edit manually – regenerate via sdk-generator
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ListPromotionalCreditBodySchema = exports.SetPromotionalCreditBodySchema = exports.DeductPromotionalCreditBodySchema = exports.AddPromotionalCreditBodySchema = void 0;
7
+ const zod_1 = require("zod");
8
+ //PromotionalCredit.add
9
+ const AddPromotionalCreditBodySchema = zod_1.z.looseObject({
10
+ customer_id: zod_1.z.string().max(50),
11
+ amount: zod_1.z.number().int().min(0).optional(),
12
+ amount_in_decimal: zod_1.z.string().max(33).optional(),
13
+ currency_code: zod_1.z.string().max(3).optional(),
14
+ description: zod_1.z.string().max(250),
15
+ credit_type: zod_1.z
16
+ .enum(['loyalty_credits', 'referral_rewards', 'general'])
17
+ .optional(),
18
+ reference: zod_1.z.string().max(500).optional(),
19
+ });
20
+ exports.AddPromotionalCreditBodySchema = AddPromotionalCreditBodySchema;
21
+ //PromotionalCredit.deduct
22
+ const DeductPromotionalCreditBodySchema = zod_1.z.looseObject({
23
+ customer_id: zod_1.z.string().max(50),
24
+ amount: zod_1.z.number().int().min(0).optional(),
25
+ amount_in_decimal: zod_1.z.string().max(33).optional(),
26
+ currency_code: zod_1.z.string().max(3).optional(),
27
+ description: zod_1.z.string().max(250),
28
+ credit_type: zod_1.z
29
+ .enum(['loyalty_credits', 'referral_rewards', 'general'])
30
+ .optional(),
31
+ reference: zod_1.z.string().max(500).optional(),
32
+ });
33
+ exports.DeductPromotionalCreditBodySchema = DeductPromotionalCreditBodySchema;
34
+ //PromotionalCredit.set
35
+ const SetPromotionalCreditBodySchema = zod_1.z.looseObject({
36
+ customer_id: zod_1.z.string().max(50),
37
+ amount: zod_1.z.number().int().min(0).optional(),
38
+ amount_in_decimal: zod_1.z.string().max(33).optional(),
39
+ currency_code: zod_1.z.string().max(3).optional(),
40
+ description: zod_1.z.string().max(250),
41
+ credit_type: zod_1.z
42
+ .enum(['loyalty_credits', 'referral_rewards', 'general'])
43
+ .optional(),
44
+ reference: zod_1.z.string().max(500).optional(),
45
+ });
46
+ exports.SetPromotionalCreditBodySchema = SetPromotionalCreditBodySchema;
47
+ //PromotionalCredit.list
48
+ const ListPromotionalCreditIdSchema = zod_1.z.object({
49
+ is: zod_1.z.string().min(1).optional(),
50
+ is_not: zod_1.z.string().min(1).optional(),
51
+ starts_with: zod_1.z.string().min(1).optional(),
52
+ });
53
+ const ListPromotionalCreditCreatedAtSchema = zod_1.z.object({
54
+ after: zod_1.z.string().regex(RegExp('^\\d{10}$')).optional(),
55
+ before: zod_1.z.string().regex(RegExp('^\\d{10}$')).optional(),
56
+ on: zod_1.z.string().regex(RegExp('^\\d{10}$')).optional(),
57
+ between: zod_1.z.string().regex(RegExp('^\\[\\d{10},\\d{10}\\]$')).optional(),
58
+ });
59
+ const ListPromotionalCreditTypeSchema = zod_1.z.object({
60
+ is: zod_1.z.enum(['increment', 'decrement']).optional(),
61
+ is_not: zod_1.z.enum(['increment', 'decrement']).optional(),
62
+ in: zod_1.z.enum(['increment', 'decrement']).optional(),
63
+ not_in: zod_1.z.enum(['increment', 'decrement']).optional(),
64
+ });
65
+ const ListPromotionalCreditCustomerIdSchema = zod_1.z.object({
66
+ is: zod_1.z.string().min(1).optional(),
67
+ is_not: zod_1.z.string().min(1).optional(),
68
+ starts_with: zod_1.z.string().min(1).optional(),
69
+ });
70
+ const ListPromotionalCreditBodySchema = zod_1.z.looseObject({
71
+ limit: zod_1.z.number().int().min(1).max(100).optional(),
72
+ offset: zod_1.z.string().max(1000).optional(),
73
+ id: ListPromotionalCreditIdSchema.optional(),
74
+ created_at: ListPromotionalCreditCreatedAtSchema.optional(),
75
+ type: ListPromotionalCreditTypeSchema.optional(),
76
+ customer_id: ListPromotionalCreditCustomerIdSchema.optional(),
77
+ });
78
+ exports.ListPromotionalCreditBodySchema = ListPromotionalCreditBodySchema;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ // Generated Zod schemas: PromotionalGrant
3
+ // Actions: promotionalGrants
4
+ // Do not edit manually – regenerate via sdk-generator
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PromotionalGrantsPromotionalGrantBodySchema = void 0;
7
+ const zod_1 = require("zod");
8
+ //PromotionalGrant.promotionalGrants
9
+ const PromotionalGrantsPromotionalGrantMetadataSchema = zod_1.z.looseObject({});
10
+ const PromotionalGrantsPromotionalGrantBodySchema = zod_1.z.looseObject({
11
+ subscription_id: zod_1.z.string().max(50),
12
+ unit_id: zod_1.z.string().max(50),
13
+ amount: zod_1.z.string().max(36),
14
+ expires_at: zod_1.z.number().int(),
15
+ metadata: PromotionalGrantsPromotionalGrantMetadataSchema.optional(),
16
+ });
17
+ exports.PromotionalGrantsPromotionalGrantBodySchema = PromotionalGrantsPromotionalGrantBodySchema;
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+ // Generated Zod schemas: Purchase
3
+ // Actions: create, estimate
4
+ // Do not edit manually – regenerate via sdk-generator
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EstimatePurchaseBodySchema = exports.CreatePurchaseBodySchema = void 0;
7
+ const zod_1 = require("zod");
8
+ //Purchase.create
9
+ const CreatePurchaseInvoiceInfoSchema = zod_1.z.object({
10
+ po_number: zod_1.z.string().max(100).optional(),
11
+ notes: zod_1.z.string().max(2000).optional(),
12
+ });
13
+ const CreatePurchasePaymentScheduleSchema = zod_1.z.object({
14
+ scheme_id: zod_1.z.string().max(40).optional(),
15
+ amount: zod_1.z.number().int().min(0).optional(),
16
+ });
17
+ const CreatePurchaseStatementDescriptorSchema = zod_1.z.object({
18
+ descriptor: zod_1.z.string().max(65000).optional(),
19
+ });
20
+ const CreatePurchaseAdditionalInformationSchema = zod_1.z.looseObject({});
21
+ const CreatePurchasePaymentIntentSchema = zod_1.z.object({
22
+ id: zod_1.z.string().max(150).optional(),
23
+ gateway_account_id: zod_1.z.string().max(50).optional(),
24
+ gw_token: zod_1.z.string().max(65000).optional(),
25
+ payment_method_type: zod_1.z
26
+ .enum([
27
+ 'card',
28
+ 'ideal',
29
+ 'sofort',
30
+ 'bancontact',
31
+ 'google_pay',
32
+ 'dotpay',
33
+ 'giropay',
34
+ 'apple_pay',
35
+ 'upi',
36
+ 'netbanking_emandates',
37
+ 'paypal_express_checkout',
38
+ 'direct_debit',
39
+ 'boleto',
40
+ 'venmo',
41
+ 'amazon_payments',
42
+ 'pay_to',
43
+ 'faster_payments',
44
+ 'sepa_instant_transfer',
45
+ 'klarna_pay_now',
46
+ 'online_banking_poland',
47
+ 'payconiq_by_bancontact',
48
+ 'electronic_payment_standard',
49
+ 'kbc_payment_button',
50
+ 'pay_by_bank',
51
+ 'trustly',
52
+ 'stablecoin',
53
+ 'kakao_pay',
54
+ 'naver_pay',
55
+ 'revolut_pay',
56
+ 'cash_app_pay',
57
+ 'wechat_pay',
58
+ 'alipay',
59
+ 'twint',
60
+ 'go_pay',
61
+ 'grab_pay',
62
+ 'pay_co',
63
+ 'after_pay',
64
+ 'swish',
65
+ 'payme',
66
+ 'pix',
67
+ 'klarna',
68
+ 'alipay_hk',
69
+ 'paypay',
70
+ 'gcash',
71
+ 'south_korean_cards',
72
+ ])
73
+ .optional(),
74
+ reference_id: zod_1.z.string().max(65000).optional(),
75
+ gw_payment_method_id: zod_1.z.string().max(65000).optional(),
76
+ additional_information: CreatePurchaseAdditionalInformationSchema.optional(),
77
+ });
78
+ const CreatePurchasePurchaseItemsSchema = zod_1.z.object({
79
+ index: zod_1.z.array(zod_1.z.number().int().min(0).optional()),
80
+ item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()),
81
+ quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
82
+ unit_amount: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
83
+ unit_amount_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
84
+ quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
85
+ });
86
+ const CreatePurchaseItemTiersSchema = zod_1.z.object({
87
+ index: zod_1.z.array(zod_1.z.number().int().min(0).optional()),
88
+ item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
89
+ starting_unit: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
90
+ ending_unit: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
91
+ price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
92
+ starting_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
93
+ ending_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
94
+ price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
95
+ });
96
+ const CreatePurchaseShippingAddressesSchema = zod_1.z.object({
97
+ first_name: zod_1.z.array(zod_1.z.string().max(150).optional()).optional(),
98
+ last_name: zod_1.z.array(zod_1.z.string().max(150).optional()).optional(),
99
+ email: zod_1.z.array(zod_1.z.string().email().max(70).optional()).optional(),
100
+ company: zod_1.z.array(zod_1.z.string().max(250).optional()).optional(),
101
+ phone: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
102
+ line1: zod_1.z.array(zod_1.z.string().max(150).optional()).optional(),
103
+ line2: zod_1.z.array(zod_1.z.string().max(150).optional()).optional(),
104
+ line3: zod_1.z.array(zod_1.z.string().max(150).optional()).optional(),
105
+ city: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
106
+ state: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
107
+ state_code: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
108
+ country: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
109
+ zip: zod_1.z.array(zod_1.z.string().max(20).optional()).optional(),
110
+ validation_status: zod_1.z
111
+ .array(zod_1.z
112
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
113
+ .optional())
114
+ .optional(),
115
+ });
116
+ const CreatePurchaseDiscountsSchema = zod_1.z.object({
117
+ index: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
118
+ coupon_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
119
+ percentage: zod_1.z.array(zod_1.z.number().min(0.01).max(100).optional()).optional(),
120
+ quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
121
+ amount: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
122
+ included_in_mrr: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
123
+ });
124
+ const CreatePurchaseMetaDataItemSchema = zod_1.z.looseObject({});
125
+ const CreatePurchaseSubscriptionInfoSchema = zod_1.z.object({
126
+ index: zod_1.z.array(zod_1.z.number().int().min(0).optional()),
127
+ subscription_id: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
128
+ billing_cycles: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
129
+ contract_term_billing_cycle_on_renewal: zod_1.z
130
+ .array(zod_1.z.number().int().min(1).max(100).optional())
131
+ .optional(),
132
+ meta_data: zod_1.z.array(CreatePurchaseMetaDataItemSchema.optional()).optional(),
133
+ });
134
+ const CreatePurchaseContractTermsSchema = zod_1.z.object({
135
+ index: zod_1.z.array(zod_1.z.number().int().min(0).optional()),
136
+ action_at_term_end: zod_1.z
137
+ .array(zod_1.z.enum(['renew', 'evergreen', 'cancel', 'renew_once']).optional())
138
+ .optional(),
139
+ cancellation_cutoff_period: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
140
+ });
141
+ const CreatePurchaseBodySchema = zod_1.z.looseObject({
142
+ customer_id: zod_1.z.string().max(50),
143
+ payment_source_id: zod_1.z.string().max(40).optional(),
144
+ replace_primary_payment_source: zod_1.z.boolean().default(true).optional(),
145
+ invoice_info: CreatePurchaseInvoiceInfoSchema.optional(),
146
+ payment_schedule: CreatePurchasePaymentScheduleSchema.optional(),
147
+ statement_descriptor: CreatePurchaseStatementDescriptorSchema.optional(),
148
+ payment_intent: CreatePurchasePaymentIntentSchema.optional(),
149
+ purchase_items: CreatePurchasePurchaseItemsSchema.optional(),
150
+ item_tiers: CreatePurchaseItemTiersSchema.optional(),
151
+ shipping_addresses: CreatePurchaseShippingAddressesSchema.optional(),
152
+ discounts: CreatePurchaseDiscountsSchema.optional(),
153
+ subscription_info: CreatePurchaseSubscriptionInfoSchema.optional(),
154
+ contract_terms: CreatePurchaseContractTermsSchema.optional(),
155
+ });
156
+ exports.CreatePurchaseBodySchema = CreatePurchaseBodySchema;
157
+ //Purchase.estimate
158
+ const EstimatePurchaseCustomerSchema = zod_1.z.object({
159
+ vat_number: zod_1.z.string().max(20).optional(),
160
+ vat_number_prefix: zod_1.z.string().max(10).optional(),
161
+ registered_for_gst: zod_1.z.boolean().optional(),
162
+ taxability: zod_1.z.enum(['taxable', 'exempt']).optional(),
163
+ entity_code: zod_1.z
164
+ .enum([
165
+ 'a',
166
+ 'b',
167
+ 'c',
168
+ 'd',
169
+ 'e',
170
+ 'f',
171
+ 'g',
172
+ 'h',
173
+ 'i',
174
+ 'j',
175
+ 'k',
176
+ 'l',
177
+ 'm',
178
+ 'n',
179
+ 'p',
180
+ 'q',
181
+ 'r',
182
+ 'med1',
183
+ 'med2',
184
+ ])
185
+ .optional(),
186
+ exempt_number: zod_1.z.string().max(100).optional(),
187
+ exemption_details: zod_1.z.array(zod_1.z.string().optional()).optional(),
188
+ customer_type: zod_1.z
189
+ .enum(['residential', 'business', 'senior_citizen', 'industrial'])
190
+ .optional(),
191
+ });
192
+ const EstimatePurchaseBillingAddressSchema = zod_1.z.object({
193
+ line1: zod_1.z.string().max(150).optional(),
194
+ line2: zod_1.z.string().max(150).optional(),
195
+ line3: zod_1.z.string().max(150).optional(),
196
+ city: zod_1.z.string().max(50).optional(),
197
+ state_code: zod_1.z.string().max(50).optional(),
198
+ zip: zod_1.z.string().max(20).optional(),
199
+ country: zod_1.z.string().max(50).optional(),
200
+ validation_status: zod_1.z
201
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
202
+ .optional(),
203
+ });
204
+ const EstimatePurchasePurchaseItemsSchema = zod_1.z.object({
205
+ index: zod_1.z.array(zod_1.z.number().int().min(0).optional()),
206
+ item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()),
207
+ quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
208
+ unit_amount: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
209
+ unit_amount_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
210
+ quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
211
+ });
212
+ const EstimatePurchaseItemTiersSchema = zod_1.z.object({
213
+ index: zod_1.z.array(zod_1.z.number().int().min(0).optional()),
214
+ item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
215
+ starting_unit: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
216
+ ending_unit: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
217
+ price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
218
+ starting_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
219
+ ending_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(),
220
+ price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
221
+ });
222
+ const EstimatePurchaseShippingAddressesSchema = zod_1.z.object({
223
+ first_name: zod_1.z.array(zod_1.z.string().max(150).optional()).optional(),
224
+ last_name: zod_1.z.array(zod_1.z.string().max(150).optional()).optional(),
225
+ email: zod_1.z.array(zod_1.z.string().email().max(70).optional()).optional(),
226
+ company: zod_1.z.array(zod_1.z.string().max(250).optional()).optional(),
227
+ phone: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
228
+ line1: zod_1.z.array(zod_1.z.string().max(150).optional()).optional(),
229
+ line2: zod_1.z.array(zod_1.z.string().max(150).optional()).optional(),
230
+ line3: zod_1.z.array(zod_1.z.string().max(150).optional()).optional(),
231
+ city: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
232
+ state: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
233
+ state_code: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
234
+ country: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
235
+ zip: zod_1.z.array(zod_1.z.string().max(20).optional()).optional(),
236
+ validation_status: zod_1.z
237
+ .array(zod_1.z
238
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
239
+ .optional())
240
+ .optional(),
241
+ });
242
+ const EstimatePurchaseDiscountsSchema = zod_1.z.object({
243
+ index: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
244
+ coupon_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
245
+ percentage: zod_1.z.array(zod_1.z.number().min(0.01).max(100).optional()).optional(),
246
+ quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
247
+ amount: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
248
+ included_in_mrr: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
249
+ });
250
+ const EstimatePurchaseSubscriptionInfoSchema = zod_1.z.object({
251
+ index: zod_1.z.array(zod_1.z.number().int().min(0).optional()),
252
+ subscription_id: zod_1.z.array(zod_1.z.string().max(50).optional()).optional(),
253
+ billing_cycles: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
254
+ contract_term_billing_cycle_on_renewal: zod_1.z
255
+ .array(zod_1.z.number().int().min(1).max(100).optional())
256
+ .optional(),
257
+ });
258
+ const EstimatePurchaseContractTermsSchema = zod_1.z.object({
259
+ index: zod_1.z.array(zod_1.z.number().int().min(0).optional()),
260
+ action_at_term_end: zod_1.z
261
+ .array(zod_1.z.enum(['renew', 'evergreen', 'cancel', 'renew_once']).optional())
262
+ .optional(),
263
+ cancellation_cutoff_period: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
264
+ });
265
+ const EstimatePurchaseBodySchema = zod_1.z.looseObject({
266
+ client_profile_id: zod_1.z.string().max(50).optional(),
267
+ customer_id: zod_1.z.string().max(50).optional(),
268
+ customer: EstimatePurchaseCustomerSchema.optional(),
269
+ billing_address: EstimatePurchaseBillingAddressSchema.optional(),
270
+ purchase_items: EstimatePurchasePurchaseItemsSchema.optional(),
271
+ item_tiers: EstimatePurchaseItemTiersSchema.optional(),
272
+ shipping_addresses: EstimatePurchaseShippingAddressesSchema.optional(),
273
+ discounts: EstimatePurchaseDiscountsSchema.optional(),
274
+ subscription_info: EstimatePurchaseSubscriptionInfoSchema.optional(),
275
+ contract_terms: EstimatePurchaseContractTermsSchema.optional(),
276
+ });
277
+ exports.EstimatePurchaseBodySchema = EstimatePurchaseBodySchema;