include ../mixins

mixin customerParty(customer)
  +optional('customerId', customer.customerId)
  +optional('employeeId', customer.employeeId)
  +optional('partyId', customer.partyId)
  +optional('active', customer.active)
  +optional('commercialCustomer', customer.commercialCustomer)
  +optional('companyName', customer.commercialCustomer)
  //customerGroups
  +optional('addressType', customer.addressType)
  +optional('address1', customer.address1)
  +optional('address2', customer.address2)
  +optional('address3', customer.address3)
  +optional('address4', customer.address4)
  +optional('apartment', customer.apartment)
  +optional('city', customer.city)
  +optional('state', customer.state)
  +optional('postal', customer.postal || customer.zip || customer.zipCode)
  +optional('birthday', customer.birthday)
  +optional('cellPhone', customer.cellPhone)
  +optional('phone', customer.phone)
  +optional('cellPhoneContact', customer.optInCell)
  +optional('emailAddress', customer.emailAddress)
  //+optional('commercialAccounts
  +optional('contactPreference', customer.contactPreference)
  +optional('country', customer.country || 'US')
  +optional('emailContact', customer.optInEmail)
  +optional('emailRcpt', customer.emailRcpt)
  //+optional('emails
  +optional('faxContact', customer.optInFax)
  +optional('faxNumber', customer.faxNumber)
  +optional('federalTaxId', customer.federalTaxId)
  +optional('gender', customer.gender)
  +optional('homePhoneContact', customer.optInPhone)
  //+optional('￼￼loyaltyAccounts
  //+optional('￼loyaltyCards
  +optional('mailingList', customer.mailingList)
  +optional('firstName', customer.firstName)
  +optional('middleName', customer.middleName || customer.middleInitial)
  +optional('lastName', customer.lastName)
  +optional('lastContactDate', customer.lastContactDate)
  +optional('lastPurchaseDate', customer.lastPurchaseDate)
  +optional('orgType', customer.orgType)
  //+optional('￼partyProperties
  +optional('privacyCard', customer.privacyCard)
  +optional('salutation', customer.salutation || customer.prefix)
  +optional('signUpLocationId', customer.signUpLocationId, customer.signUpStore)
  +optional('stateTaxId', customer.stateTaxId)
  //+optional('￼taxExemptions
  //+optional('￼telephones
  +optional('workPhone', customer.workPhone)
  +optional('workPhoneContact', customer.optInWorkPhone)
  +optional('totalPurchaseAmt', customer.totalPurchaseAmt)