@maxio-com/advanced-billing-sdk
Version:
Ultimate billing and pricing flexibility for B2B SaaS. Maxio integrates directly into your product, so you can seamlessly manage your product catalog, bill customers, and collect payments.
69 lines • 2.94 kB
JavaScript
/**
* AdvancedBilling
*
* This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import { array, bigint, boolean, expandoObject, lazy, nullable, number, optional, string, } from '../schema.js';
import { compoundingStrategySchema, } from './compoundingStrategy.js';
import { couponCurrencySchema } from './couponCurrency.js';
import { couponRestrictionSchema, } from './couponRestriction.js';
import { discountTypeSchema } from './discountType.js';
import { recurringSchemeSchema } from './recurringScheme.js';
export const couponSchema = lazy(() => expandoObject({
id: ['id', optional(number())],
name: ['name', optional(string())],
code: ['code', optional(string())],
description: ['description', optional(string())],
amount: ['amount', optional(nullable(number()))],
amountInCents: ['amount_in_cents', optional(nullable(bigint()))],
productFamilyId: ['product_family_id', optional(number())],
productFamilyName: ['product_family_name', optional(nullable(string()))],
startDate: ['start_date', optional(string())],
endDate: ['end_date', optional(nullable(string()))],
percentage: ['percentage', optional(nullable(string()))],
recurring: ['recurring', optional(boolean())],
recurringScheme: ['recurring_scheme', optional(recurringSchemeSchema)],
durationPeriodCount: [
'duration_period_count',
optional(nullable(number())),
],
durationInterval: ['duration_interval', optional(nullable(number()))],
durationIntervalUnit: [
'duration_interval_unit',
optional(nullable(string())),
],
durationIntervalSpan: [
'duration_interval_span',
optional(nullable(string())),
],
allowNegativeBalance: ['allow_negative_balance', optional(boolean())],
archivedAt: ['archived_at', optional(nullable(string()))],
conversionLimit: ['conversion_limit', optional(nullable(string()))],
stackable: ['stackable', optional(boolean())],
compoundingStrategy: [
'compounding_strategy',
optional(nullable(compoundingStrategySchema)),
],
useSiteExchangeRate: ['use_site_exchange_rate', optional(boolean())],
createdAt: ['created_at', optional(string())],
updatedAt: ['updated_at', optional(string())],
discountType: ['discount_type', optional(discountTypeSchema)],
excludeMidPeriodAllocations: [
'exclude_mid_period_allocations',
optional(boolean()),
],
applyOnCancelAtEndOfPeriod: [
'apply_on_cancel_at_end_of_period',
optional(boolean()),
],
applyOnSubscriptionExpiration: [
'apply_on_subscription_expiration',
optional(boolean()),
],
couponRestrictions: [
'coupon_restrictions',
optional(array(couponRestrictionSchema)),
],
currencyPrices: ['currency_prices', optional(array(couponCurrencySchema))],
}));
//# sourceMappingURL=coupon.js.map