{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/bancomat/main/json-schema/bancomat-fee-rule-schema.json",
"title": "FeeRule",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/bancomat-fee-api-openapi.yml#/components/schemas/FeeRule",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Unique identifier of the fee rule",
"x-faker": "datatype.uuid"
},
"clientID": {
"type": "string",
"format": "uuid",
"description": "Unique identifier of the client that created the rule",
"x-faker": "datatype.uuid"
},
"useCase": {
"$ref": "#/$defs/DocumentKindEnum",
"description": "Use case of the rule"
},
"method": {
"$ref": "#/$defs/FeeRuleMethods"
},
"lowerBound": {
"type": "number",
"format": "double",
"description": "Lower bound of the rule. If the amount is lower than this value, the rule does not apply."
},
"kind": {
"type": "string",
"enum": [
"fixed",
"percentage"
],
"description": "Calculation method of the fee.
- `fixed`: the fee is a fixed amount
- `percentage`: the fee is a percentage of the target's amount"
},
"numeric": {
"type": "number",
"format": "double",
"description": "Value of the fee. If the kind is `percentage`, the value is a percentage of the target's amount and can assume values between 0 and 1."
},
"remittance": {
"type": "string",
"description": "Remittance information of the fee charged to the payer"
},
"payer": {
"$ref": "#/$defs/FeeRulePayer",
"description": "Payer of the fee.
- `debtor`: the debtor of the target document pays the fee using a bulk
- `creditor`: the creditor of the target document pays the fee using a chain"
}
},
"required": [
"id",
"clientID",
"useCase",
"method",
"kind",
"numeric",
"payer",
"lowerBound"
],
"$defs": {
"DocumentKindEnum": {
"type": "string",
"enum": [
"bill",
"bulk",
"chain",
"construction",
"invoice",
"pagopa",
"transfer"
],
"description": {
"$ref": "types/DocumentKind.md"
}
},
"FeeRuleMethods": {
"type": "string",
"enum": [
"pis",
"card",
"sdd"
],
"description": "Payment methods applicable for fee rules.\n\n- **pis**: Used for bank transfers, including standard bank transfers and instant transfers (bonifico istantaneo).\n- **card**: Used for card payments, including mobile wallet transactions.\n- **sdd**: Used for direct debit payments."
},
"FeeRulePayer": {
"type": "string",
"enum": [
"debtor",
"creditor"
],
"description": "Payer types applicable for fee rules.\n\n- **debtor**: The fees are paid by the debtor via a bulk payment.\n- **creditor**: The fees are paid by the creditor via a split payment."
}
}
}