# Customer

class Customer extends DataModel

Customer address data and preference properties.

## Properties

protected array | $fields |  | from DataModel
protected boolean | $isEncrypted |  | from DataModel
protected Identity | $customerGroupId |  |
protected Identity | $id |  |
protected double | $accountCredit |  |
protected DateTime | $birthday |  |
protected string | $city |  |
protected string | $company |  |
protected string | $countryIso |  |
protected DateTime | $creationDate |  |
protected string | $customerNumber |  |
protected string | $deliveryInstruction |  |
protected double | $discount |  |
protected string | $eMail |  |
protected string | $extraAddressLine |  |
protected string | $fax |  |
protected string | $firstName |  |
protected boolean | $hasCustomerAccount |  |
protected boolean | $hasNewsletterSubscription |  |
protected boolean | $isActive |  |
protected string | $languageISO |  |
protected string | $lastName |  |
protected string | $mobile |  |
protected string | $origin |  |
protected string | $phone |  |
protected string | $salutation |  |
protected string | $state |  |
protected string | $street |  |
protected string | $title |  |
protected string | $vatNumber |  |
protected string | $websiteUrl |  |
protected string | $zipCode |  |
protected CustomerAttr[] | $attributes |  |

## Methods

__construct()

Constructor

multitype:
getProperties()

Get the Model Properties

from Model
Model
setOptions(stdClass $object = null, array $options = null)

Sets Properties with matching Array Values

from DataModel
stdClass
getPublic(array $publics = array('fields', 'isEncrypted', 'identities', '_type'))

Convert the Model into stdClass Object

from DataModel
toJson()

No description

from Model
mixed:string
getFields()

Fields Getter

from DataModel
validate()

Object Validation

from DataModel
mixed:string|NULL
getField(boolean $toWawi = false, string $key)

Get a Model Member Name

from DataModel
map(boolean $toWawi = false, stdClass $obj = null)

Object Mapping

from DataModel
DataType
getModelType()

No description

from DataModel
boolean
isEncrypted()

Encrypted Status

from DataModel
setIdentity(string $propertyName, string|null $endpoint = null, int|null $host = null)

No description

from DataModel
setProperty($name, $value, $type)

No description

from DataModel
validateType($value, $type)

No description

from DataModel
Customer
setCustomerGroupId(Identity $customerGroupId)

No description

Identity
getCustomerGroupId()

No description

Customer
setId(Identity $id)

No description

Identity
getId()

No description

Customer
setAccountCredit(double $accountCredit)

No description

double
getAccountCredit()

No description

Customer
setBirthday(DateTime $birthday = null)

No description

DateTime
getBirthday()

No description

Customer
setCity(string $city)

No description

string
getCity()

No description

Customer
setCompany(string $company)

No description

string
getCompany()

No description

Customer
setCountryIso(string $countryIso)

No description

string
getCountryIso()

No description

Customer
setCreationDate(DateTime $creationDate = null)

No description

DateTime
getCreationDate()

No description

Customer
setCustomerNumber(string $customerNumber)

No description

string
getCustomerNumber()

No description

Customer
setDeliveryInstruction(string $deliveryInstruction)

No description

string
getDeliveryInstruction()

No description

Customer
setDiscount(double $discount)

No description

double
getDiscount()

No description

Customer
setEMail(string $eMail)

No description

string
getEMail()

No description

Customer
setExtraAddressLine(string $extraAddressLine)

No description

string
getExtraAddressLine()

No description

Customer
setFax(string $fax)

No description

string
getFax()

No description

Customer
setFirstName(string $firstName)

No description

string
getFirstName()

No description

Customer
setHasCustomerAccount(boolean $hasCustomerAccount)

No description

boolean
getHasCustomerAccount()

No description

Customer
setHasNewsletterSubscription(boolean $hasNewsletterSubscription)

No description

boolean
getHasNewsletterSubscription()

No description

Customer
setIsActive(boolean $isActive)

No description

boolean
getIsActive()

No description

Customer
setLanguageISO(string $languageISO)

No description

string
getLanguageISO()

No description

Customer
setLastName(string $lastName)

No description

string
getLastName()

No description

Customer
setMobile(string $mobile)

No description

string
getMobile()

No description

Customer
setOrigin(string $origin)

No description

string
getOrigin()

No description

Customer
setPhone(string $phone)

No description

string
getPhone()

No description

Customer
setSalutation(string $salutation)

No description

string
getSalutation()

No description

Customer
setState(string $state)

No description

string
getState()

No description

Customer
setStreet(string $street)

No description

string
getStreet()

No description

Customer
setTitle(string $title)

No description

string
getTitle()

No description

Customer
setVatNumber(string $vatNumber)

No description

string
getVatNumber()

No description

Customer
setWebsiteUrl(string $websiteUrl)

No description

string
getWebsiteUrl()

No description

Customer
setZipCode(string $zipCode)

No description

string
getZipCode()

No description

Customer
addAttribute(CustomerAttr $attribute)

No description

Customer
setAttributes(array $attributes)

No description

CustomerAttr[]
getAttributes()

No description

Customer
clearAttributes()

No description

## Details

###
at line 275
`__construct()`

Constructor

###
in Model at line 33
`multitype: getProperties()`

Get the Model Properties

#### Return Value

multitype: | string

###
in DataModel at line 172
`Model setOptions(stdClass $object = null, array $options = null)`

Sets Properties with matching Array Values

#### Parameters

stdClass | $object |
array | $options |

#### Return Value

Model |

###
in DataModel at line 70
`stdClass getPublic(array $publics = array('fields', 'isEncrypted', 'identities', '_type'))`

Convert the Model into stdClass Object

#### Parameters

array | $publics |

#### Return Value

stdClass | $object

###
in Model at line 115
`toJson()`

###
in DataModel at line 35
`mixed:string getFields()`

Fields Getter

#### Return Value

mixed:string |

###
in DataModel at line 45
`validate()`

Object Validation

#### Exceptions

SchemaException |

###
in DataModel at line 59
`mixed:string|NULL getField(boolean $toWawi = false, string $key)`

Get a Model Member Name

#### Parameters

boolean | $toWawi |
string | $key |

#### Return Value

mixed:string|NULL |

###
in DataModel at line 81
`map(boolean $toWawi = false, stdClass $obj = null)`

Object Mapping

#### Parameters

boolean | $toWawi |
stdClass | $obj | Object to map

###
in DataModel at line 42
`DataType getModelType()`

#### Return Value

DataType |

###
in DataModel at line 59
`boolean isEncrypted()`

Encrypted Status

#### Return Value

boolean |

###
in DataModel at line 123
`setIdentity(string $propertyName, string|null $endpoint = null, int|null $host = null)`

#### Parameters

string | $propertyName |
string|null | $endpoint |
int|null | $host |

###
in DataModel at line 179
`protected setProperty($name, $value, $type)`

#### Parameters

| $name |
| $value |
| $type |

###
in DataModel at line 190
`protected validateType($value, $type)`

#### Parameters

| $value |
| $type |

###
at line 286
`Customer setCustomerGroupId(Identity $customerGroupId)`

#### Parameters

Identity | $customerGroupId | References a customer group

#### Return Value

Customer |

#### Exceptions

InvalidArgumentException | if the provided argument is not of type 'Identity'.

###
at line 294
`Identity getCustomerGroupId()`

#### Return Value

Identity | References a customer group

###
at line 304
`Customer setId(Identity $id)`

#### Parameters

Identity | $id | Unique customer id

#### Return Value

Customer |

#### Exceptions

InvalidArgumentException | if the provided argument is not of type 'Identity'.

###
at line 312
`Identity getId()`

#### Return Value

Identity | Unique customer id

###
at line 321
`Customer setAccountCredit(double $accountCredit)`

#### Parameters

double | $accountCredit |

#### Return Value

Customer |

###
at line 329
`double getAccountCredit()`

#### Return Value

double |

###
at line 339
`Customer setBirthday(DateTime $birthday = null)`

#### Parameters

DateTime | $birthday | Date of birth

#### Return Value

Customer |

#### Exceptions

InvalidArgumentException | if the provided argument is not of type 'DateTime'.

###
at line 347
`DateTime getBirthday()`

#### Return Value

DateTime | Date of birth

###
at line 356
`Customer setCity(string $city)`

#### Parameters

string | $city | City

#### Return Value

Customer |

###
at line 364
`string getCity()`

#### Return Value

string | City

###
at line 373
`Customer setCompany(string $company)`

#### Parameters

string | $company | Company name

#### Return Value

Customer |

###
at line 381
`string getCompany()`

#### Return Value

string | Company name

###
at line 390
`Customer setCountryIso(string $countryIso)`

#### Parameters

string | $countryIso | Country ISO 3166-2 (2 letter Uppercase)

#### Return Value

Customer |

###
at line 398
`string getCountryIso()`

#### Return Value

string | Country ISO 3166-2 (2 letter Uppercase)

###
at line 408
`Customer setCreationDate(DateTime $creationDate = null)`

#### Parameters

DateTime | $creationDate |

#### Return Value

Customer |

#### Exceptions

InvalidArgumentException | if the provided argument is not of type 'DateTime'.

###
at line 416
`DateTime getCreationDate()`

#### Return Value

DateTime |

###
at line 425
`Customer setCustomerNumber(string $customerNumber)`

#### Parameters

string | $customerNumber | Optional customer number set by JTL-Wawi ERP software

#### Return Value

Customer |

###
at line 433
`string getCustomerNumber()`

#### Return Value

string | Optional customer number set by JTL-Wawi ERP software

###
at line 442
`Customer setDeliveryInstruction(string $deliveryInstruction)`

#### Parameters

string | $deliveryInstruction | Delivery instruction e.g. "c/o John Doe"

#### Return Value

Customer |

###
at line 450
`string getDeliveryInstruction()`

#### Return Value

string | Delivery instruction e.g. "c/o John Doe"

###
at line 459
`Customer setDiscount(double $discount)`

#### Parameters

double | $discount | Percentage discount for customer on all prices

#### Return Value

Customer |

###
at line 467
`double getDiscount()`

#### Return Value

double | Percentage discount for customer on all prices

###
at line 476
`Customer setEMail(string $eMail)`

#### Parameters

string | $eMail | E-Mail address

#### Return Value

Customer |

###
at line 484
`string getEMail()`

#### Return Value

string | E-Mail address

###
at line 493
`Customer setExtraAddressLine(string $extraAddressLine)`

#### Parameters

string | $extraAddressLine | Extra address line e.g. "Apartment 2.5"

#### Return Value

Customer |

###
at line 501
`string getExtraAddressLine()`

#### Return Value

string | Extra address line e.g. "Apartment 2.5"

###
at line 510
`Customer setFax(string $fax)`

#### Parameters

string | $fax | Fax number

#### Return Value

Customer |

###
at line 518
`string getFax()`

#### Return Value

string | Fax number

###
at line 527
`Customer setFirstName(string $firstName)`

#### Parameters

string | $firstName | First name

#### Return Value

Customer |

###
at line 535
`string getFirstName()`

#### Return Value

string | First name

###
at line 544
`Customer setHasCustomerAccount(boolean $hasCustomerAccount)`

#### Parameters

boolean | $hasCustomerAccount |

#### Return Value

Customer |

###
at line 552
`boolean getHasCustomerAccount()`

#### Return Value

boolean |

###
at line 561
`Customer setHasNewsletterSubscription(boolean $hasNewsletterSubscription)`

#### Parameters

boolean | $hasNewsletterSubscription | Optional flag if customer receives newsletter. If true, customer wants to receive newsletter.

#### Return Value

Customer |

###
at line 569
`boolean getHasNewsletterSubscription()`

#### Return Value

boolean | Optional flag if customer receives newsletter. If true, customer wants to receive newsletter.

###
at line 578
`Customer setIsActive(boolean $isActive)`

#### Parameters

boolean | $isActive | Flag if customer is active (login allowed). True, if customer is allowed to login with his E-Mail address and password.

#### Return Value

Customer |

###
at line 586
`boolean getIsActive()`

#### Return Value

boolean | Flag if customer is active (login allowed). True, if customer is allowed to login with his E-Mail address and password.

###
at line 595
`Customer setLanguageISO(string $languageISO)`

#### Parameters

string | $languageISO | User locale preference

#### Return Value

Customer |

###
at line 603
`string getLanguageISO()`

#### Return Value

string | User locale preference

###
at line 612
`Customer setLastName(string $lastName)`

#### Parameters

string | $lastName | Last name

#### Return Value

Customer |

###
at line 620
`string getLastName()`

#### Return Value

string | Last name

###
at line 629
`Customer setMobile(string $mobile)`

#### Parameters

string | $mobile | Mobile phone number

#### Return Value

Customer |

###
at line 637
`string getMobile()`

#### Return Value

string | Mobile phone number

###
at line 646
`Customer setOrigin(string $origin)`

#### Parameters

string | $origin | Customer origin

#### Return Value

Customer |

###
at line 654
`string getOrigin()`

#### Return Value

string | Customer origin

###
at line 663
`Customer setPhone(string $phone)`

#### Parameters

string | $phone | Phone number

#### Return Value

Customer |

###
at line 671
`string getPhone()`

#### Return Value

string | Phone number

###
at line 680
`Customer setSalutation(string $salutation)`

#### Parameters

string | $salutation | Salutation (german: "Anrede")

#### Return Value

Customer |

###
at line 688
`string getSalutation()`

#### Return Value

string | Salutation (german: "Anrede")

###
at line 697
`Customer setState(string $state)`

#### Parameters

string | $state | State

#### Return Value

Customer |

###
at line 705
`string getState()`

#### Return Value

string | State

###
at line 714
`Customer setStreet(string $street)`

#### Parameters

string | $street | Street name

#### Return Value

Customer |

###
at line 722
`string getStreet()`

#### Return Value

string | Street name

###
at line 731
`Customer setTitle(string $title)`

#### Parameters

string | $title | Title, e.g. "Prof. Dr."

#### Return Value

Customer |

###
at line 739
`string getTitle()`

#### Return Value

string | Title, e.g. "Prof. Dr."

###
at line 748
`Customer setVatNumber(string $vatNumber)`

#### Parameters

string | $vatNumber | VAT number (german "USt-ID")

#### Return Value

Customer |

###
at line 756
`string getVatNumber()`

#### Return Value

string | VAT number (german "USt-ID")

###
at line 765
`Customer setWebsiteUrl(string $websiteUrl)`

#### Parameters

string | $websiteUrl | WWW address

#### Return Value

Customer |

###
at line 773
`string getWebsiteUrl()`

#### Return Value

string | WWW address

###
at line 782
`Customer setZipCode(string $zipCode)`

#### Parameters

string | $zipCode | ZIP / postal code

#### Return Value

Customer |

###
at line 790
`string getZipCode()`

#### Return Value

string | ZIP / postal code

###
at line 799
`Customer addAttribute(CustomerAttr $attribute)`

#### Parameters

CustomerAttr | $attribute |

#### Return Value

Customer |

###
at line 809
`Customer setAttributes(array $attributes)`

#### Parameters

array | $attributes |

#### Return Value

Customer |

###
at line 818
`CustomerAttr[] getAttributes()`

#### Return Value

CustomerAttr[] |

###
at line 826
`Customer clearAttributes()`

#### Return Value

Customer |