<?php

namespace App\Integration\Providers\Alliance3\DTO;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for AgentConract DTO
 * Meta information extracted from the WSDL
 * - type: tns:AgentConract
 * @subpackage Structs
 */
class AgentConract extends AbstractStructBase
{
    /**
     * The number
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $number;
    /**
     * The date
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $date;
    /**
     * The departmentCode
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $departmentCode;
    /**
     * The ikp
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $ikp;
    /**
     * The ikpCurator
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $ikpCurator;
    /**
     * The salesChannel
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $salesChannel;
    /**
     * The agent
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \App\Integration\Providers\Alliance3\DTO\SubjectInfo
     */
    public $agent;
    /**
     * The agentProxy
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $agentProxy;
    /**
     * Constructor method for AgentConract
     * @uses AgentConract::setNumber()
     * @uses AgentConract::setDate()
     * @uses AgentConract::setDepartmentCode()
     * @uses AgentConract::setIkp()
     * @uses AgentConract::setIkpCurator()
     * @uses AgentConract::setSalesChannel()
     * @uses AgentConract::setAgent()
     * @uses AgentConract::setAgentProxy()
     * @param string $number
     * @param string $date
     * @param string $departmentCode
     * @param string $ikp
     * @param string $ikpCurator
     * @param string $salesChannel
     * @param \App\Integration\Providers\Alliance3\DTO\SubjectInfo $agent
     * @param string $agentProxy
     */
    public function __construct($number = null, $date = null, $departmentCode = null, $ikp = null, $ikpCurator = null, $salesChannel = null, \App\Integration\Providers\Alliance3\DTO\SubjectInfo $agent = null, $agentProxy = null)
    {
        $this
            ->setNumber($number)
            ->setDate($date)
            ->setDepartmentCode($departmentCode)
            ->setIkp($ikp)
            ->setIkpCurator($ikpCurator)
            ->setSalesChannel($salesChannel)
            ->setAgent($agent)
            ->setAgentProxy($agentProxy);
    }
    /**
     * Get number value
     * @return string|null
     */
    public function getNumber()
    {
        return $this->number;
    }
    /**
     * Set number value
     * @param string $number
     * @return \App\Integration\Providers\Alliance3\DTO\AgentConract
     */
    public function setNumber($number = null)
    {
        $this->number = $number;
        return $this;
    }
    /**
     * Get date value
     * @return string|null
     */
    public function getDate()
    {
        return $this->date;
    }
    /**
     * Set date value
     * @param string $date
     * @return \App\Integration\Providers\Alliance3\DTO\AgentConract
     */
    public function setDate($date = null)
    {
        $this->date = $date;
        return $this;
    }
    /**
     * Get departmentCode value
     * @return string|null
     */
    public function getDepartmentCode()
    {
        return $this->departmentCode;
    }
    /**
     * Set departmentCode value
     * @param string $departmentCode
     * @return \App\Integration\Providers\Alliance3\DTO\AgentConract
     */
    public function setDepartmentCode($departmentCode = null)
    {
        $this->departmentCode = $departmentCode;
        return $this;
    }
    /**
     * Get ikp value
     * @return string|null
     */
    public function getIkp()
    {
        return $this->ikp;
    }
    /**
     * Set ikp value
     * @param string $ikp
     * @return \App\Integration\Providers\Alliance3\DTO\AgentConract
     */
    public function setIkp($ikp = null)
    {
        $this->ikp = $ikp;
        return $this;
    }
    /**
     * Get ikpCurator value
     * @return string|null
     */
    public function getIkpCurator()
    {
        return $this->ikpCurator;
    }
    /**
     * Set ikpCurator value
     * @param string $ikpCurator
     * @return \App\Integration\Providers\Alliance3\DTO\AgentConract
     */
    public function setIkpCurator($ikpCurator = null)
    {
        $this->ikpCurator = $ikpCurator;
        return $this;
    }
    /**
     * Get salesChannel value
     * @return string|null
     */
    public function getSalesChannel()
    {
        return $this->salesChannel;
    }
    /**
     * Set salesChannel value
     * @param string $salesChannel
     * @return \App\Integration\Providers\Alliance3\DTO\AgentConract
     */
    public function setSalesChannel($salesChannel = null)
    {
        $this->salesChannel = $salesChannel;
        return $this;
    }
    /**
     * Get agent value
     * @return \App\Integration\Providers\Alliance3\DTO\SubjectInfo|null
     */
    public function getAgent()
    {
        return $this->agent;
    }
    /**
     * Set agent value
     * @param \App\Integration\Providers\Alliance3\DTO\SubjectInfo $agent
     * @return \App\Integration\Providers\Alliance3\DTO\AgentConract
     */
    public function setAgent(\App\Integration\Providers\Alliance3\DTO\SubjectInfo $agent = null)
    {
        $this->agent = $agent;
        return $this;
    }
    /**
     * Get agentProxy value
     * @return string|null
     */
    public function getAgentProxy()
    {
        return $this->agentProxy;
    }
    /**
     * Set agentProxy value
     * @param string $agentProxy
     * @return \App\Integration\Providers\Alliance3\DTO\AgentConract
     */
    public function setAgentProxy($agentProxy = null)
    {
        $this->agentProxy = $agentProxy;
        return $this;
    }
}
