@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.
74 lines • 4.3 kB
TypeScript
/**
* AdvancedBilling
*
* This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import { Schema } from '../schema.js';
import { BillingSchedule } from './billingSchedule.js';
import { ComponentCustomPrice } from './componentCustomPrice.js';
import { CreateAllocationPricePointId } from './containers/createAllocationPricePointId.js';
import { DowngradeCreditCreditType } from './downgradeCreditCreditType.js';
import { UpgradeChargeCreditType } from './upgradeChargeCreditType.js';
export interface CreateAllocation {
/** The allocated quantity to which to set the line-items allocated quantity. By default, this is an integer. If decimal allocations are enabled for the component, it will be a decimal number. For On/Off components, use 1for on and 0 for off. */
quantity: number;
/**
* Decimal representation of the allocated quantity. Only valid when decimal
* allocations are enabled for the component.
*/
decimalQuantity?: string;
/**
* The quantity that was in effect before this allocation. Responses always
* include this value; it may be supplied on preview requests to ensure the
* expected change is evaluated.
*/
previousQuantity?: number;
/**
* Decimal representation of `previous_quantity`. Only valid when decimal
* allocations are enabled for the component.
*/
decimalPreviousQuantity?: string;
/** (required for the multiple allocations endpoint) The id associated with the component for which the allocation is being made. */
componentId?: number;
/** A memo to record along with the allocation. */
memo?: string;
/** The scheme used if the proration is a downgrade. Defaults to the site setting if one is not provided. */
prorationDowngradeScheme?: string;
/** The scheme used if the proration is an upgrade. Defaults to the site setting if one is not provided. */
prorationUpgradeScheme?: string;
/**
* The type of credit to be created when upgrading/downgrading. Defaults to the component and then site setting if one is not provided. Values are:
* `full` - A full price credit is added for the amount owed.
* `prorated` - A prorated credit is added for the amount owed.
* `none` - No charge is added.
*/
downgradeCredit?: DowngradeCreditCreditType | null;
/**
* The type of credit to be created when upgrading/downgrading. Defaults to the component and then site setting if one is not provided. Values are:
* `full` - A charge is added for the full price of the component.
* `prorated` - A charge is added for the prorated price of the component change.
* `none` - No charge is added.
*/
upgradeCharge?: UpgradeChargeCreditType | null;
/**
* "If the change in cost is an upgrade, this determines if the charge should accrue to the next renewal or if capture should be attempted immediately.
* `true` - Attempt to charge the customer at the next renewal.
* `false` - Attempt to charge the customer right away. If it fails, the charge will be accrued until the next renewal.
* Defaults to the site setting if unspecified in the request.
*/
accrueCharge?: boolean;
/**
* If set to true, if the immediate component payment fails, initiate dunning for the subscription.
* Otherwise, leave the charges on the subscription to pay for at renewal. Defaults to false.
*/
initiateDunning?: boolean;
/** Price point that the allocation should be charged at. Accepts either the price point's id (integer) or handle (string). When not specified, the default price point will be used. */
pricePointId?: CreateAllocationPricePointId | null;
/** Billing schedule settings for component allocations or usages on multi-frequency subscriptions. Use this to start a component's billing period on a custom date instead of aligning with the product charge schedule. */
billingSchedule?: BillingSchedule;
/** Create or update custom pricing unique to the subscription. Used in place of `price_point_id`. */
customPrice?: ComponentCustomPrice;
[key: string]: unknown;
}
export declare const createAllocationSchema: Schema<CreateAllocation>;
//# sourceMappingURL=createAllocation.d.ts.map