/*** * * SaaSquatch Type Definitions * * This file was automatically generated. DO NOT edit it by hand, instead edit the related JSON Schema file. * * Generated on 2026-03-20T21:11:42.771Z * ***/ /*** * UnitSettings.schema.json * Generated on 2026-03-20T21:11:43.455Z * This file was automatically generated. DO NOT edit it by hand, instead edit the related JSON Schema file. ***/ /** * A unique identifier generated by combining reward type and unit or unit pattern (e.g. CREDIT/USD) */ export type RewardUnitSettingsId = string /** * Indicates whether rewards of this unit can be cancelled via SaaSquatch API/Portal */ export type IsCancellable = boolean /** * Indicates whether rewards of this unit can be redeemed via SaaSquatch API/Portal */ export type IsRedeemable = boolean /** * Indicates whether expiration is applicable to this reward of this unit */ export type IsExpirable = boolean /** * Whether this unit supports multi-currencies. false by default. */ export type SupportsCurrencies = boolean /** * JSONata expression for calculating the US taxable value */ export type USTaxableValueFormula = string /** * Whether this unit is fulfilled by Impact cash payout. false by default. */ export type IsImpactCashPayout = boolean /** * The name of this reward unit */ export type Name = string /** * The type of this template, "ICU" by default. */ export type TemplateType = "ICU" /** * The template string for reward prettyValue */ export type Template = string /** * Settings that describe the behaviour and formatting of rewards corresponding to the configured unit or unit pattern */ export interface UnitSettings { id: RewardUnitSettingsId config: UnitSettingsConfiguration } /** * Behaviour and formatting supported by this unit setting */ export interface UnitSettingsConfiguration { rewardModifications: RewardModifications supportsCurrencies: SupportsCurrencies usTaxableValueFormula?: USTaxableValueFormula fulfilledByCashPayout?: IsImpactCashPayout translatableConfig?: TranslatableConfiguration } /** * The modifications supported by rewards applicable for this unit setting */ export interface RewardModifications { isCancellable: IsCancellable isRedeemable: IsRedeemable isExpirable: IsExpirable } /** * Locale-specific configuration for rewards of this unit */ export interface TranslatableConfiguration { name?: Name prettyValueFormat?: PrettyValueFormat } /** * Format for prettyValue for rewards of this unit */ export interface PrettyValueFormat { templateType?: TemplateType template: Template }