Home > @vsf-enterprise/commercetools-types > Customer
# Customer type
A customer is a person purchasing products. Carts, Orders and Reviews can be associated to a customer.
Signature:
export declare type Customer = Versioned & {
__typename?: 'Customer';
customerNumber?: Maybe<Scalars['String']>;
email: Scalars['String'];
password: Scalars['String'];
addresses: Array<Address>;
defaultShippingAddressId?: Maybe<Scalars['String']>;
defaultBillingAddressId?: Maybe<Scalars['String']>;
shippingAddressIds: Array<Scalars['String']>;
billingAddressIds: Array<Scalars['String']>;
isEmailVerified: Scalars['Boolean'];
customerGroupRef?: Maybe<Reference>;
externalId?: Maybe<Scalars['String']>;
key?: Maybe<Scalars['String']>;
authenticationMode?: Maybe<AuthenticationMode>;
firstName?: Maybe<Scalars['String']>;
lastName?: Maybe<Scalars['String']>;
middleName?: Maybe<Scalars['String']>;
title?: Maybe<Scalars['String']>;
locale?: Maybe<Scalars['Locale']>;
salutation?: Maybe<Scalars['String']>;
dateOfBirth?: Maybe<Scalars['Date']>;
companyName?: Maybe<Scalars['String']>;
vatId?: Maybe<Scalars['String']>;
customerGroup?: Maybe<CustomerGroup>;
defaultShippingAddress?: Maybe<Address>;
defaultBillingAddress?: Maybe<Address>;
shippingAddresses: Array<Address>;
billingAddresses: Array<Address>;
storesRef: Array<KeyReference>;
stores: Array<Store>;
custom?: Maybe<CustomFieldsType>;
id: Scalars['String'];
version: Scalars['Long'];
createdAt: Scalars['DateTime'];
lastModifiedAt: Scalars['DateTime'];
createdBy?: Maybe<Initiator>;
lastModifiedBy?: Maybe<Initiator>;
};
References: Versioned, Maybe, Scalars, Address, Reference, AuthenticationMode, CustomerGroup, KeyReference, Store, CustomFieldsType, Initiator