/* tslint:disable */
import { EntityDTOOfCustomerDTOAndICustomer } from './entity-dtoof-customer-dtoand-icustomer';
import { AddressDTO } from './address-dto';
import { EntityDTOContainerOfAttributeDTO } from './entity-dtocontainer-of-attribute-dto';
import { EntityDTOContainerOfBonusCardDTO } from './entity-dtocontainer-of-bonus-card-dto';
import { EnvironmentChannel } from './environment-channel';
import { CommunicationDetailsDTO } from './communication-details-dto';
import { EntityDTOContainerOfBranchDTO } from './entity-dtocontainer-of-branch-dto';
import { CustomerStatus } from './customer-status';
import { CustomerType } from './customer-type';
import { KeyValueDTOOfStringAndString } from './key-value-dtoof-string-and-string';
import { Gender } from './gender';
import { EntityDTOContainerOfLabelDTO } from './entity-dtocontainer-of-label-dto';
import { LinkedRecordDTO } from './linked-record-dto';
import { NotificationChannel } from './notification-channel';
import { OrganisationDTO } from './organisation-dto';
import { AssignedPayerDTO } from './assigned-payer-dto';
import { PaymentType } from './payment-type';
import { EntityDTOContainerOfShippingAddressDTO } from './entity-dtocontainer-of-shipping-address-dto';
import { EntityDTOContainerOfUserDTO } from './entity-dtocontainer-of-user-dto';
export interface CustomerDTO extends EntityDTOOfCustomerDTOAndICustomer{
  address?: AddressDTO;
  agentComment?: string;
  attributes?: Array<EntityDTOContainerOfAttributeDTO>;
  bonusCard?: EntityDTOContainerOfBonusCardDTO;
  campaignCode?: string;
  clientChannel?: EnvironmentChannel;
  communicationDetails?: CommunicationDetailsDTO;
  createdInBranch?: EntityDTOContainerOfBranchDTO;
  customerGroup?: string;
  customerNumber?: string;
  customerStatus?: CustomerStatus;
  customerType?: CustomerType;
  dateOfBirth?: string;
  deactivationComment?: string;
  features?: Array<KeyValueDTOOfStringAndString>;
  fetchOnDeliveryNote?: boolean;
  firstName?: string;
  gender?: Gender;
  hasOnlineAccount?: boolean;
  isGuestAccount?: boolean;
  label?: EntityDTOContainerOfLabelDTO;
  lastName?: string;
  linkedRecords?: Array<LinkedRecordDTO>;
  notificationChannels?: NotificationChannel;
  orderCount?: number;
  organisation?: OrganisationDTO;
  payers?: Array<AssignedPayerDTO>;
  preferredPaymentType?: PaymentType;
  shippingAddresses?: Array<EntityDTOContainerOfShippingAddressDTO>;
  statusChangeComment?: string;
  statusComment?: string;
  title?: string;
  user?: EntityDTOContainerOfUserDTO;
}
