Skip to main content

CreateDeductionTypeDto

codestringrequired

Possible values: >= 3 characters and <= 100 characters, Value must match regular expression /^[a-z0-9_.]+$/

displayNamestringrequired

Possible values: >= 3 characters and <= 200 characters

descriptionstring

Possible values: <= 2000 characters

kindstringrequired

Possible values: [fee, tax, membership, levy, penalty, other]

computationstringrequired

Possible values: [percentage, fixed_amount, tiered]

percentageValuenumber

Required when computation is "percentage".

Possible values: >= 0

fixedAmountValuenumber

Required when computation is "fixed_amount".

Possible values: >= 0

currencystring

Possible values: >= 3 characters and <= 3 characters

scopestringrequired

Possible values: [commission, wallet_withdrawal, both]

prioritynumber

Application order (lower first).

Possible values: >= 0

isActiveboolean
agentTypestring

Possible values: [licensed_agent, introducer, corporate]

insurerIdstring
insurerProductIdstring
minGrossnumber

Possible values: >= 0

maxGrossnumber

Possible values: >= 0

effectiveFromstring
effectiveTostring
metadataobject

For tiered computation: { tiers: [{ min, max?, percentage?, fixedAmount? }, ...] }.

CreateDeductionTypeDto
{
"code": "string",
"displayName": "string",
"description": "string",
"kind": "fee",
"computation": "percentage",
"percentageValue": 0,
"fixedAmountValue": 0,
"currency": "string",
"scope": "commission",
"priority": 0,
"isActive": true,
"agentType": "licensed_agent",
"insurerId": "string",
"insurerProductId": "string",
"minGross": 0,
"maxGross": 0,
"effectiveFrom": "string",
"effectiveTo": "string",
"metadata": {}
}