@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.
68 lines • 3.13 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';
import { componentKindSchema } from './componentKind';
import { componentPriceSchema } from './componentPrice';
import { creditTypeSchema } from './creditType';
import { intervalUnitSchema } from './intervalUnit';
import { itemCategorySchema } from './itemCategory';
import { pricingSchemeSchema } from './pricingScheme';
export const componentSchema = expandoObject({
id: ['id', optional(number())],
name: ['name', optional(string())],
handle: ['handle', optional(nullable(string()))],
pricingScheme: ['pricing_scheme', optional(nullable(pricingSchemeSchema))],
unitName: ['unit_name', optional(string())],
unitPrice: ['unit_price', optional(nullable(string()))],
productFamilyId: ['product_family_id', optional(number())],
productFamilyName: ['product_family_name', optional(string())],
productFamilyHandle: ['product_family_handle', optional(string())],
pricePerUnitInCents: [
'price_per_unit_in_cents',
optional(nullable(bigint())),
],
kind: ['kind', optional(componentKindSchema)],
archived: ['archived', optional(boolean())],
taxable: ['taxable', optional(boolean())],
description: ['description', optional(nullable(string()))],
defaultPricePointId: ['default_price_point_id', optional(nullable(number()))],
overagePrices: [
'overage_prices',
optional(nullable(array(lazy(() => componentPriceSchema)))),
],
prices: [
'prices',
optional(nullable(array(lazy(() => componentPriceSchema)))),
],
pricePointCount: ['price_point_count', optional(number())],
pricePointsUrl: ['price_points_url', optional(nullable(string()))],
defaultPricePointName: ['default_price_point_name', optional(string())],
taxCode: ['tax_code', optional(nullable(string()))],
recurring: ['recurring', optional(boolean())],
upgradeCharge: ['upgrade_charge', optional(nullable(creditTypeSchema))],
downgradeCredit: ['downgrade_credit', optional(nullable(creditTypeSchema))],
createdAt: ['created_at', optional(string())],
updatedAt: ['updated_at', optional(string())],
archivedAt: ['archived_at', optional(nullable(string()))],
hideDateRangeOnInvoice: ['hide_date_range_on_invoice', optional(boolean())],
allowFractionalQuantities: [
'allow_fractional_quantities',
optional(boolean()),
],
itemCategory: ['item_category', optional(nullable(itemCategorySchema))],
useSiteExchangeRate: [
'use_site_exchange_rate',
optional(nullable(boolean())),
],
accountingCode: ['accounting_code', optional(nullable(string()))],
eventBasedBillingMetricId: [
'event_based_billing_metric_id',
optional(number()),
],
interval: ['interval', optional(number())],
intervalUnit: ['interval_unit', optional(nullable(intervalUnitSchema))],
});
//# sourceMappingURL=component.js.map