<?php

namespace Eurostop\Fulfilment;

class SubmittedCustomerCustom extends SubmittedDataItemOfSubmittedCustomerDtoKJ8WzcEXCustom
{

    /**
     * @var ArrayOfSubmittedCustomerAccount $CustomerAccounts
     */
    protected $CustomerAccounts = null;

    /**
     * @var ArrayOfSubmittedCustomerAddress $CustomerAddresses
     */
    protected $CustomerAddresses = null;

    /**
     * @var ArrayOfSubmittedCustomerAttribute $CustomerAttributes
     */
    protected $CustomerAttributes = null;

    /**
     * @var string $CustomerIdentifier
     */
    protected $CustomerIdentifier = null;

    /**
     * @var CustomerIdentifierType $CustomerIdentifierType
     */
    protected $CustomerIdentifierType = null;

    /**
     * @var string $ExternalId
     */
    protected $ExternalId = null;

    /**
     * @param CustomerIdentifierType $CustomerIdentifierType
     */
    public function __construct($CustomerIdentifierType)
    {
      parent::__construct();
      $this->CustomerIdentifierType = $CustomerIdentifierType;
    }

    /**
     * @return ArrayOfSubmittedCustomerAccount
     */
    public function getCustomerAccounts()
    {
      return $this->CustomerAccounts;
    }

    /**
     * @param ArrayOfSubmittedCustomerAccount $CustomerAccounts
     * @return \Eurostop\Fulfilment\SubmittedCustomer
     */
    public function setCustomerAccounts($CustomerAccounts)
    {
      $this->CustomerAccounts = $CustomerAccounts;
      return $this;
    }

    /**
     * @return ArrayOfSubmittedCustomerAddress
     */
    public function getCustomerAddresses()
    {
      return $this->CustomerAddresses;
    }

    /**
     * @param ArrayOfSubmittedCustomerAddress $CustomerAddresses
     * @return \Eurostop\Fulfilment\SubmittedCustomer
     */
    public function setCustomerAddresses($CustomerAddresses)
    {
      $this->CustomerAddresses = $CustomerAddresses;
      return $this;
    }

    /**
     * @return ArrayOfSubmittedCustomerAttribute
     */
    public function getCustomerAttributes()
    {
      return $this->CustomerAttributes;
    }

    /**
     * @param ArrayOfSubmittedCustomerAttribute $CustomerAttributes
     * @return \Eurostop\Fulfilment\SubmittedCustomer
     */
    public function setCustomerAttributes($CustomerAttributes)
    {
      $this->CustomerAttributes = $CustomerAttributes;
      return $this;
    }

    /**
     * @return string
     */
    public function getCustomerIdentifier()
    {
      return $this->CustomerIdentifier;
    }

    /**
     * @param string $CustomerIdentifier
     * @return \Eurostop\Fulfilment\SubmittedCustomer
     */
    public function setCustomerIdentifier($CustomerIdentifier)
    {
      $this->CustomerIdentifier = $CustomerIdentifier;
      return $this;
    }

    /**
     * @return CustomerIdentifierType
     */
    public function getCustomerIdentifierType()
    {
      return $this->CustomerIdentifierType;
    }

    /**
     * @param CustomerIdentifierType $CustomerIdentifierType
     * @return \Eurostop\Fulfilment\SubmittedCustomer
     */
    public function setCustomerIdentifierType($CustomerIdentifierType)
    {
      $this->CustomerIdentifierType = $CustomerIdentifierType;
      return $this;
    }

    /**
     * @return string
     */
    public function getExternalId()
    {
      return $this->ExternalId;
    }

    /**
     * @param string $ExternalId
     * @return \Eurostop\Fulfilment\SubmittedCustomer
     */
    public function setExternalId($ExternalId)
    {
      $this->ExternalId = $ExternalId;
      return $this;
    }

}
