@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.
49 lines • 2.38 kB
JavaScript
/**
* AdvancedBilling
*
* This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import { array, boolean, expandoObject, lazy, nullable, number, optional, string, } from '../schema';
import { prepaidUsageComponentUnitPriceSchema, } from './containers/prepaidUsageComponentUnitPrice';
import { createPrepaidUsageComponentPricePointSchema, } from './createPrepaidUsageComponentPricePoint';
import { creditTypeSchema } from './creditType';
import { expirationIntervalUnitSchema, } from './expirationIntervalUnit';
import { overagePricingSchema } from './overagePricing';
import { priceSchema } from './price';
import { pricingSchemeSchema } from './pricingScheme';
export const prepaidUsageComponentSchema = expandoObject({
name: ['name', string()],
unitName: ['unit_name', string()],
description: ['description', optional(string())],
handle: ['handle', optional(string())],
taxable: ['taxable', optional(boolean())],
pricingScheme: ['pricing_scheme', pricingSchemeSchema],
prices: ['prices', optional(array(lazy(() => priceSchema)))],
upgradeCharge: ['upgrade_charge', optional(nullable(creditTypeSchema))],
downgradeCredit: ['downgrade_credit', optional(nullable(creditTypeSchema))],
pricePoints: [
'price_points',
optional(array(lazy(() => createPrepaidUsageComponentPricePointSchema))),
],
unitPrice: ['unit_price', optional(prepaidUsageComponentUnitPriceSchema)],
taxCode: ['tax_code', optional(string())],
hideDateRangeOnInvoice: ['hide_date_range_on_invoice', optional(boolean())],
overagePricing: ['overage_pricing', lazy(() => overagePricingSchema)],
rolloverPrepaidRemainder: [
'rollover_prepaid_remainder',
optional(boolean()),
],
renewPrepaidAllocation: ['renew_prepaid_allocation', optional(boolean())],
expirationInterval: ['expiration_interval', optional(number())],
expirationIntervalUnit: [
'expiration_interval_unit',
optional(nullable(expirationIntervalUnitSchema)),
],
displayOnHostedPage: ['display_on_hosted_page', optional(boolean())],
allowFractionalQuantities: [
'allow_fractional_quantities',
optional(boolean()),
],
publicSignupPageIds: ['public_signup_page_ids', optional(array(number()))],
});
//# sourceMappingURL=prepaidUsageComponent.js.map