@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.
87 lines • 4.85 kB
TypeScript
/**
* AdvancedBilling
*
* This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import { Schema } from '../schema';
import { ComponentKind } from './componentKind';
import { ComponentPrice } from './componentPrice';
import { CreditType } from './creditType';
import { IntervalUnit } from './intervalUnit';
import { ItemCategory } from './itemCategory';
import { PricingScheme } from './pricingScheme';
export interface Component {
/** The unique ID assigned to the component by Chargify. This ID can be used to fetch the component from the API. */
id?: number;
/** The name of the Component, suitable for display on statements. i.e. Text Messages. */
name?: string;
/** The component API handle */
handle?: string | null;
pricingScheme?: PricingScheme | null;
/** The name of the unit that the component’s usage is measured in. i.e. message */
unitName?: string;
/** The amount the customer will be charged per unit. This field is only populated for ‘per_unit’ pricing schemes, otherwise it may be null. */
unitPrice?: string | null;
/** The id of the Product Family to which the Component belongs */
productFamilyId?: number;
/** The name of the Product Family to which the Component belongs */
productFamilyName?: string;
/** The handle of the Product Family to which the Component belongs */
productFamilyHandle?: string;
/** deprecated - use unit_price instead */
pricePerUnitInCents?: bigint | null;
/** A handle for the component type */
kind?: ComponentKind;
/** Boolean flag describing whether a component is archived or not. */
archived?: boolean;
/** Boolean flag describing whether a component is taxable or not. */
taxable?: boolean;
/** The description of the component. */
description?: string | null;
defaultPricePointId?: number | null;
/** Applicable only to prepaid usage components. An array of overage price brackets. */
overagePrices?: ComponentPrice[] | null;
/** An array of price brackets. If the component uses the ‘per_unit’ pricing scheme, this array will be empty. */
prices?: ComponentPrice[] | null;
/** Count for the number of price points associated with the component */
pricePointCount?: number;
/** URL that points to the location to read the existing price points via GET request */
pricePointsUrl?: string | null;
defaultPricePointName?: string;
/** A string representing the tax code related to the component type. This is especially important when using the Avalara service to tax based on locale. This attribute has a max length of 10 characters. */
taxCode?: string | null;
recurring?: boolean;
/**
* The type of credit to be created when upgrading/downgrading. Defaults to the component and then site setting if one is not provided.
* Available values: `full`, `prorated`, `none`.
*/
upgradeCharge?: CreditType | null;
/**
* The type of credit to be created when upgrading/downgrading. Defaults to the component and then site setting if one is not provided.
* Available values: `full`, `prorated`, `none`.
*/
downgradeCredit?: CreditType | null;
/** Timestamp indicating when this component was created */
createdAt?: string;
/** Timestamp indicating when this component was updated */
updatedAt?: string;
/** Timestamp indicating when this component was archived */
archivedAt?: string | null;
/** (Only available on Relationship Invoicing sites) Boolean flag describing if the service date range should show for the component on generated invoices. */
hideDateRangeOnInvoice?: boolean;
allowFractionalQuantities?: boolean;
/** One of the following: Business Software, Consumer Software, Digital Services, Physical Goods, Other */
itemCategory?: ItemCategory | null;
useSiteExchangeRate?: boolean | null;
/** E.g. Internal ID or SKU Number */
accountingCode?: string | null;
/** (Only for Event Based Components) This is an ID of a metric attached to the component. This metric is used to bill upon collected events. */
eventBasedBillingMetricId?: number;
/** The numerical interval. i.e. an interval of ‘30’ coupled with an interval_unit of day would mean this component's default price point would renew every 30 days. This property is only available for sites with Multifrequency enabled. */
interval?: number;
/** A string representing the interval unit for this component's default price point, either month or day. This property is only available for sites with Multifrequency enabled. */
intervalUnit?: IntervalUnit | null;
[key: string]: unknown;
}
export declare const componentSchema: Schema<Component>;
//# sourceMappingURL=component.d.ts.map