@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.
52 lines • 2.08 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 { componentPricePointItemSchema, } from './componentPricePointItem.js';
import { quantityBasedComponentUnitPriceSchema, } from './containers/quantityBasedComponentUnitPrice.js';
import { creditTypeSchema } from './creditType.js';
import { intervalUnitSchema } from './intervalUnit.js';
import { priceSchema } from './price.js';
import { pricingSchemeSchema } from './pricingScheme.js';
export const quantityBasedComponentSchema = 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(componentPricePointItemSchema)),
],
unitPrice: [
'unit_price',
optional(quantityBasedComponentUnitPriceSchema),
],
taxCode: ['tax_code', optional(string())],
hideDateRangeOnInvoice: [
'hide_date_range_on_invoice',
optional(boolean()),
],
recurring: ['recurring', optional(boolean())],
displayOnHostedPage: ['display_on_hosted_page', optional(boolean())],
allowFractionalQuantities: [
'allow_fractional_quantities',
optional(boolean()),
],
publicSignupPageIds: [
'public_signup_page_ids',
optional(array(number())),
],
interval: ['interval', optional(number())],
intervalUnit: ['interval_unit', optional(nullable(intervalUnitSchema))],
}));
//# sourceMappingURL=quantityBasedComponent.js.map