/* tslint:disable */
import { EntityDTOBaseOfPayerDTOAndIPayer } from './entity-dtobase-of-payer-dtoand-ipayer';
import { AddressDTO } from './address-dto';
import { CommunicationDetailsDTO } from './communication-details-dto';
import { Gender } from './gender';
import { OrganisationDTO } from './organisation-dto';
import { PayerStatus } from './payer-status';
import { PayerType } from './payer-type';
import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
export interface PayerDTO extends EntityDTOBaseOfPayerDTOAndIPayer{

  /**
   * Adresse
   */
  address?: AddressDTO;

  /**
   * Kommunikations-/Kontaktdaten
   */
  communicationDetails?: CommunicationDetailsDTO;

  /**
   * Vorname
   */
  firstName?: string;

  /**
   * Anrede
   *
   * NotSet	= 0,	Wert nicht gesetzt
   * Neutrum	= 1,	Divers
   * Male	= 2,	Herr
   * Female	= 4,	Frau
   */
  gender?: Gender;

  /**
   * Nachname
   */
  lastName?: string;

  /**
   * Lokalisierung / (Korrespondenz-) Sprache
   */
  locale?: string;

  /**
   * Organisation/Firma
   */
  organisation?: OrganisationDTO;

  /**
   * Regulierer-Nummer
   */
  payerNumber?: string;

  /**
   * Prüfungs-Status
   *
   * NotSet						= 0		Ok
   * Blocked		                = 1,	Gesperrt: keine Bestellung mehr möglich
   * Check		                = 2,	Zu prüfen
   * LowDegreeOfCreditworthiness = 4,	Geringe Kreditwürdigkeit
   * Dunning1					= 8,	Regulierer hat die erste Mahnung erhalten
   * Dunning2					= 16	Regulierer hat die zweite Mahnung erhalten
   */
  payerStatus?: PayerStatus;

  /**
   * Regulierer-Typ
   *
   * NotSet				= 0,	Wert nicht gesetzt
   * Staff				= 4,	Mitarbeiter
   * FullyQualified		= 8,	Qualifizierter Kunde (Anlage: Anrede, Vorname, Nachname und Adresse notwendig)
   * B2B					= 16,	B2B Kunde, ehemals. Qualifizierter Kunde mit Firmenadresse (Anlage: Firmenname und Adresse)
   */
  payerType?: PayerType;

  /**
   * Quelldatensatz / Referenz
   */
  reference?: EntityDTOReferenceContainer;

  /**
   * Akademischer Titel
   */
  title?: string;
}
