@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.
65 lines • 3.16 kB
TypeScript
/**
* AdvancedBilling
*
* This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import { Schema } from '../schema.js';
import { ComponentKind } from './componentKind.js';
import { SubscriptionComponentAllocatedQuantity } from './containers/subscriptionComponentAllocatedQuantity.js';
import { CreditType } from './creditType.js';
import { HistoricUsage } from './historicUsage.js';
import { IntervalUnit } from './intervalUnit.js';
import { PricePointType } from './pricePointType.js';
import { PricingScheme } from './pricingScheme.js';
import { SubscriptionComponentSubscription } from './subscriptionComponentSubscription.js';
export interface SubscriptionComponent {
id?: number;
name?: string;
/** A handle for the component type */
kind?: ComponentKind;
unitName?: string;
/** (for on/off components) indicates if the component is enabled for the subscription */
enabled?: boolean;
unitBalance?: number;
currency?: string;
/** For Quantity-based components: The current allocation for the component on the given subscription. For On/Off components: Use 1 for on. Use 0 for off. */
allocatedQuantity?: SubscriptionComponentAllocatedQuantity;
pricingScheme?: PricingScheme | null;
componentId?: number;
componentHandle?: string | null;
subscriptionId?: number;
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;
archivedAt?: string | null;
pricePointId?: number | null;
pricePointHandle?: string | null;
pricePointType?: PricePointType | null;
pricePointName?: string | null;
productFamilyId?: number;
productFamilyHandle?: string;
createdAt?: string;
updatedAt?: string;
useSiteExchangeRate?: boolean | null;
description?: string | null;
allowFractionalQuantities?: boolean;
/** An optional object, will be returned if provided `include=subscription` query param. */
subscription?: SubscriptionComponentSubscription;
historicUsages?: HistoricUsage[];
displayOnHostedPage?: boolean;
/** The numerical interval. i.e. an interval of '30' coupled with an interval_unit of day would mean this component 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 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 subscriptionComponentSchema: Schema<SubscriptionComponent>;
//# sourceMappingURL=subscriptionComponent.d.ts.map