Accounts and Agents

Account

Represents either an IBAN account or a basic account.

type Account = IBANAccount | BaseAccount;

interface IBANAccount {
  iban: string;
}

interface BaseAccount {
  accountNumber: string;
  accountType?: "checking" | "savings";
}

Agent

Represents either a BIC or ABA identified financial agent.

type Agent = BICAgent | ABAAgent;

interface BICAgent {
  bic: string;
  bankAddress?: StructuredAddress;
}

interface ABAAgent {
  routingNumber: string;
}