syntax = "proto3"; package common.account_role.v1; option go_package = "github.com/tech/sendico/pkg/proto/common/account_role/v1;accountrolev1"; // AccountRole classifies the purpose of a ledger account within the // double-entry accounting model. enum AccountRole { // ACCOUNT_ROLE_UNSPECIFIED is the default zero value. ACCOUNT_ROLE_UNSPECIFIED = 0; // OPERATING is the main operational account for day-to-day activity. OPERATING = 1; // HOLD temporarily locks funds pending settlement or approval. HOLD = 2; // TRANSIT is an intermediary account for in-flight transfers. TRANSIT = 3; // SETTLEMENT collects funds awaiting final settlement. SETTLEMENT = 4; // CLEARING is used during reconciliation and netting cycles. CLEARING = 5; // PENDING tracks amounts that are authorised but not yet captured. PENDING = 6; // RESERVE holds funds set aside as collateral or buffer. RESERVE = 7; // LIQUIDITY pools funds available for outgoing payments. LIQUIDITY = 8; // FEE accumulates collected fee revenue. FEE = 9; // CHARGEBACK records reversed or disputed amounts. CHARGEBACK = 10; // ADJUSTMENT captures manual or system-initiated balance corrections. ADJUSTMENT = 11; }