/** * @example * { * pid: "pid", * name: "name", * unit: "POINTS" * } */ export interface PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequest { /** Loyalty Program Id */ pid: string; /** Defines when the balance expires within the selected duration. */ balanceAvailabilityDurationModifier?: PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequest.BalanceAvailabilityDurationModifier; /** Unit of time for balance validity. */ balanceAvailabilityDurationUnit?: PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequest.BalanceAvailabilityDurationUnit; /** Number of time units before the balance expires. */ balanceAvailabilityDurationValue?: number; /** Fixed expiration date (`dd/mm` format) as an alternative to duration-based expiry. */ balanceExpirationDate?: string; /** Defines whether partial credit is allowed when reaching max balance. */ balanceOptionAmountOvertakingStrategy?: PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequest.BalanceOptionAmountOvertakingStrategy; /** Defines rounding strategy for credit transactions. */ balanceOptionCreditRounding?: PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequest.BalanceOptionCreditRounding; /** Defines rounding strategy for debit transactions. */ balanceOptionDebitRounding?: PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequest.BalanceOptionDebitRounding; /** Short description of the balance definition. */ description?: string; /** URL of an optional image reference. */ imageRef?: string; /** Maximum allowable balance amount. */ maxAmount?: number; /** Maximum credit allowed per operation. */ maxCreditAmountLimit?: number; /** Maximum debit allowed per operation. */ maxDebitAmountLimit?: number; /** Additional metadata for the balance definition. */ meta?: PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequest.Meta; /** Minimum allowable balance amount. */ minAmount?: number; /** Name of the balance definition. */ name: string; /** Unit of balance measurement. */ unit: PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequest.Unit; } export declare namespace PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequest { /** Defines when the balance expires within the selected duration. */ const BalanceAvailabilityDurationModifier: { readonly NoModification: "noModification"; readonly StartOfPeriod: "startOfPeriod"; readonly EndOfPeriod: "endOfPeriod"; }; type BalanceAvailabilityDurationModifier = (typeof BalanceAvailabilityDurationModifier)[keyof typeof BalanceAvailabilityDurationModifier]; /** Unit of time for balance validity. */ const BalanceAvailabilityDurationUnit: { readonly Day: "day"; readonly Week: "week"; readonly Month: "month"; readonly Year: "year"; }; type BalanceAvailabilityDurationUnit = (typeof BalanceAvailabilityDurationUnit)[keyof typeof BalanceAvailabilityDurationUnit]; /** Defines whether partial credit is allowed when reaching max balance. */ const BalanceOptionAmountOvertakingStrategy: { readonly Strict: "strict"; readonly Partial: "partial"; }; type BalanceOptionAmountOvertakingStrategy = (typeof BalanceOptionAmountOvertakingStrategy)[keyof typeof BalanceOptionAmountOvertakingStrategy]; /** Defines rounding strategy for credit transactions. */ const BalanceOptionCreditRounding: { readonly Lower: "lower"; readonly Upper: "upper"; readonly Natural: "natural"; }; type BalanceOptionCreditRounding = (typeof BalanceOptionCreditRounding)[keyof typeof BalanceOptionCreditRounding]; /** Defines rounding strategy for debit transactions. */ const BalanceOptionDebitRounding: { readonly Lower: "lower"; readonly Upper: "upper"; readonly Natural: "natural"; }; type BalanceOptionDebitRounding = (typeof BalanceOptionDebitRounding)[keyof typeof BalanceOptionDebitRounding]; /** * Additional metadata for the balance definition. */ interface Meta { /** Indicates whether the balance definition is internal. */ isInternal?: boolean | undefined; /** Accepts any additional properties */ [key: string]: any; } /** Unit of balance measurement. */ const Unit: { readonly Points: "POINTS"; readonly Eur: "EUR"; readonly Usd: "USD"; readonly Mxn: "MXN"; readonly Gbp: "GBP"; readonly Inr: "INR"; readonly Cad: "CAD"; readonly Sgd: "SGD"; readonly Ron: "RON"; readonly Jpy: "JPY"; readonly Myr: "MYR"; readonly Clp: "CLP"; readonly Pen: "PEN"; readonly Mad: "MAD"; readonly Aud: "AUD"; readonly Chf: "CHF"; readonly Brl: "BRL"; }; type Unit = (typeof Unit)[keyof typeof Unit]; }