/**
 * Account information PNZ-API-CentreLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

import { lazy, object, Schema, string } from '../schema';
import {
  PreviousPaymentAmount,
  previousPaymentAmountSchema,
} from './previousPaymentAmount';

export interface DirectDebit {
  accountId: string;
  mandateIdentification: string;
  name: string;
  directDebitId: string;
  directDebitStatusCode: string;
  previousPaymentAmount: PreviousPaymentAmount;
  previousPaymentDateTime: string;
}

export const directDebitSchema: Schema<DirectDebit> = object({
  accountId: ['AccountId', string()],
  mandateIdentification: ['MandateIdentification', string()],
  name: ['Name', string()],
  directDebitId: ['DirectDebitId', string()],
  directDebitStatusCode: ['DirectDebitStatusCode', string()],
  previousPaymentAmount: [
    'PreviousPaymentAmount',
    lazy(() => previousPaymentAmountSchema),
  ],
  previousPaymentDateTime: ['PreviousPaymentDateTime', string()],
});
