/* tslint:disable */
/* eslint-disable */
/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

// May contain unused imports in some cases
// @ts-ignore
import { BankDestination } from "./bank-destination";
// May contain unused imports in some cases
// @ts-ignore
import { FiatMoney } from "./fiat-money";
// May contain unused imports in some cases
// @ts-ignore
import { FiatMoneyUsd } from "./fiat-money-usd";
// May contain unused imports in some cases
// @ts-ignore
import { FinalAdjustments } from "./final-adjustments";
// May contain unused imports in some cases
// @ts-ignore
import { PayoutErrorCode } from "./payout-error-code";
// May contain unused imports in some cases
// @ts-ignore
import { PayoutStatus } from "./payout-status";
// May contain unused imports in some cases
// @ts-ignore
import { RiskEvaluation } from "./risk-evaluation";
// May contain unused imports in some cases
// @ts-ignore
import { UnwithdrawalObject } from "./unwithdrawal-object";

/**
 *
 * @export
 * @interface BusinessPayout
 */
export interface BusinessPayout {
  /**
   * Unique system generated identifier for the entity.
   * @type {string}
   * @memberof BusinessPayout
   */
  id?: string;
  /**
   * The identifier of the source wallet used to fund a payout.
   * @type {string}
   * @memberof BusinessPayout
   */
  sourceWalletId?: string;
  /**
   *
   * @type {BankDestination}
   * @memberof BusinessPayout
   */
  destination?: BankDestination;
  /**
   *
   * @type {FiatMoney}
   * @memberof BusinessPayout
   */
  amount?: FiatMoney;
  /**
   *
   * @type {FiatMoneyUsd}
   * @memberof BusinessPayout
   */
  fees?: FiatMoneyUsd;
  /**
   *
   * @type {PayoutStatus}
   * @memberof BusinessPayout
   */
  status?: PayoutStatus;
  /**
   * A payout tracking reference. Will be present once known.
   * @type {any}
   * @memberof BusinessPayout
   */
  trackingRef?: any | null;
  /**
   *
   * @type {PayoutErrorCode}
   * @memberof BusinessPayout
   */
  errorCode?: PayoutErrorCode | null;
  /**
   *
   * @type {RiskEvaluation}
   * @memberof BusinessPayout
   */
  riskEvaluation?: RiskEvaluation | null;
  /**
   *
   * @type {FinalAdjustments}
   * @memberof BusinessPayout
   */
  adjustments?: FinalAdjustments | null;
  /**
   *
   * @type {UnwithdrawalObject}
   * @memberof BusinessPayout
   */
  return?: UnwithdrawalObject | null;
  /**
   * ISO-8601 UTC date/time format.
   * @type {string}
   * @memberof BusinessPayout
   */
  createDate?: string;
  /**
   * ISO-8601 UTC date/time format.
   * @type {string}
   * @memberof BusinessPayout
   */
  updateDate?: string;
}
