@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.
58 lines • 2.45 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.js';
import { prepaidUsageComponentUnitPriceSchema, } from './containers/prepaidUsageComponentUnitPrice.js';
import { createPrepaidUsageComponentPricePointSchema, } from './createPrepaidUsageComponentPricePoint.js';
import { creditTypeSchema } from './creditType.js';
import { expirationIntervalUnitSchema, } from './expirationIntervalUnit.js';
import { overagePricingSchema } from './overagePricing.js';
import { priceSchema } from './price.js';
import { pricingSchemeSchema } from './pricingScheme.js';
export const prepaidUsageComponentSchema = lazy(() => 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(priceSchema))],
upgradeCharge: ['upgrade_charge', optional(nullable(creditTypeSchema))],
downgradeCredit: [
'downgrade_credit',
optional(nullable(creditTypeSchema)),
],
pricePoints: [
'price_points',
optional(array(createPrepaidUsageComponentPricePointSchema)),
],
unitPrice: ['unit_price', optional(prepaidUsageComponentUnitPriceSchema)],
taxCode: ['tax_code', optional(string())],
hideDateRangeOnInvoice: [
'hide_date_range_on_invoice',
optional(boolean()),
],
overagePricing: ['overage_pricing', 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