wallee
Version:
TypeScript/JavaScript client for wallee
107 lines (106 loc) • 4.01 kB
TypeScript
import type { SubscriptionProductComponentReference } from './SubscriptionProductComponentReference';
import type { SubscriptionProductComponentGroup } from './SubscriptionProductComponentGroup';
import type { TaxClass } from './TaxClass';
/**
*
* @export
* @interface SubscriptionProductComponent
*/
export interface SubscriptionProductComponent {
/**
*
* @type {TaxClass}
* @memberof SubscriptionProductComponent
*/
taxClass?: TaxClass;
/**
* The localized description of the component that is displayed to the customer.
* @type {{ [key: string]: string; }}
* @memberof SubscriptionProductComponent
*/
readonly description?: {
[key: string]: string;
};
/**
* If switching from a component with a lower tier to a component with a higher one, this is considered an upgrade and a fee may be applied.
* @type {number}
* @memberof SubscriptionProductComponent
*/
readonly componentChangeWeight?: number;
/**
* A maximum of the defined quantity can be selected for this component.
* @type {number}
* @memberof SubscriptionProductComponent
*/
readonly maximalQuantity?: number;
/**
* The version is used for optimistic locking and incremented whenever the object is updated.
* @type {number}
* @memberof SubscriptionProductComponent
*/
readonly version?: number;
/**
* A minimum of the defined quantity must be selected for this component.
* @type {number}
* @memberof SubscriptionProductComponent
*/
readonly minimalQuantity?: number;
/**
*
* @type {SubscriptionProductComponentReference}
* @memberof SubscriptionProductComponent
*/
reference?: SubscriptionProductComponentReference;
/**
* The ID of the space this object belongs to.
* @type {number}
* @memberof SubscriptionProductComponent
*/
readonly linkedSpaceId?: number;
/**
* The quantity step determines the interval in which the quantity can be increased.
* @type {number}
* @memberof SubscriptionProductComponent
*/
readonly quantityStep?: number;
/**
* When listing components, they can be sorted by this number.
* @type {number}
* @memberof SubscriptionProductComponent
*/
readonly sortOrder?: number;
/**
*
* @type {SubscriptionProductComponentGroup}
* @memberof SubscriptionProductComponent
*/
componentGroup?: SubscriptionProductComponentGroup;
/**
* The localized name of the component that is displayed to the customer.
* @type {{ [key: string]: string; }}
* @memberof SubscriptionProductComponent
*/
readonly name?: {
[key: string]: string;
};
/**
* A unique identifier for the object.
* @type {number}
* @memberof SubscriptionProductComponent
*/
readonly id?: number;
/**
* Whether this is the default component in its group and preselected.
* @type {boolean}
* @memberof SubscriptionProductComponent
*/
readonly defaultComponent?: boolean;
}
/**
* Check if a given object implements the SubscriptionProductComponent interface.
*/
export declare function instanceOfSubscriptionProductComponent(value: object): value is SubscriptionProductComponent;
export declare function SubscriptionProductComponentFromJSON(json: any): SubscriptionProductComponent;
export declare function SubscriptionProductComponentFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubscriptionProductComponent;
export declare function SubscriptionProductComponentToJSON(json: any): SubscriptionProductComponent;
export declare function SubscriptionProductComponentToJSONTyped(value?: Omit<SubscriptionProductComponent, 'description' | 'componentChangeWeight' | 'maximalQuantity' | 'version' | 'minimalQuantity' | 'linkedSpaceId' | 'quantityStep' | 'sortOrder' | 'name' | 'id' | 'defaultComponent'> | null, ignoreDiscriminator?: boolean): any;