# Shared

## Domain Types

### Transaction

- `class Transaction:`

  - `required string ID`

  - `required string AccountID`

  - `required string Amount`

  - `required string BalanceAfter`

  - `required DateTimeOffset CreatedAt`

  - `required string Currency`

  - `required Status Status`

    - `"pending"Pending`

    - `"completed"Completed`

    - `"failed"Failed`

    - `"cancelled"Cancelled`

  - `required TransactionType TransactionType`

    - `"deposit"Deposit`

    - `"withdrawal"Withdrawal`

    - `"transfer"Transfer`

    - `"recurring_payment"RecurringPayment`

    - `"savings_withdraw"SavingsWithdraw`

  - `required DateTimeOffset UpdatedAt`

  - `string? Description`

  - `string? ExternalRecipientID`

  - `string? RecipientAccountID`

  - `string? ReferenceID`
