# Base Class for All Transaction Types in the Ledger Service

## Event Type
- **Type**: const, enum, required  
- **Description**: The type of event that occurred.  
- **Allowed Values**:  
  - `management_operation.created`

## Status
- **Type**: string, enum, required  
- **Description**: The status of the transaction.  
- **Allowed Values**:  
  - `PENDING`  
  - `SETTLED`  
  - `DECLINED`  
  - `REVERSED`  
  - `CANCELED`  
  - `RETURNED`

## Token
- **Type**: uuid, required  
- **Description**: Unique identifier for the transaction.

## Created
- **Type**: date-time, required  
- **Description**: ISO 8601 timestamp of when the transaction was created.

## Updated
- **Type**: date-time, required  
- **Description**: ISO 8601 timestamp of when the transaction was last updated.

## Family
- **Type**: const, enum, required  
- **Description**: Family classification of the transaction.  
- **Allowed Values**:  
  - `MANAGEMENT_OPERATION`

## Result
- **Type**: string, enum, required  
- **Allowed Values**:  
  - `APPROVED`  
  - `DECLINED`

## Category
- **Type**: string, enum, required  
- **Allowed Values**:  
  - `MANAGEMENT_FEE`  
  - `MANAGEMENT_DISPUTE`  
  - `MANAGEMENT_REWARD`  
  - `MANAGEMENT_ADJUSTMENT`  
  - `MANAGEMENT_DISBURSEMENT`

## Settled Amount
- **Type**: integer, required

## Pending Amount
- **Type**: integer, required

## Currency
- **Type**: string, required

## Events
- **Type**: array of objects, required  
- **Description**: array of event objects.

## Example Response
```json
{
  "status": "PENDING",
  "token": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "created": "2026-07-18T00:26:06.121Z",
  "updated": "2026-07-18T00:26:06.121Z",
  "event_type": "management_operation.created",
  "family": "MANAGEMENT_OPERATION",
  "result": "APPROVED",
  "category": "MANAGEMENT_FEE",
  "direction": "CREDIT"
}
```
