<?php

namespace OfficeBrain\Bundle\QuoteBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * QuoteShippingDetail
 *
 * @ORM\Table(name="tbl_quote_shipping_detail", options={"type"="InnoDB","charset"="utf8","collate"="utf8_unicode_ci"})
 * @ORM\Entity(repositoryClass="OfficeBrain\Bundle\QuoteBundle\Entity\QuoteShippingDetailRepository")
 */
class QuoteShippingDetail
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var integer
     * @ORM\OneToOne(targetEntity="QuoteProduct", inversedBy="quoteShippingDetail")
     * @ORM\JoinColumn(name="quote_product_id",referencedColumnName="id")
     *  
     */
    
    private $quoteProductId;

    /**
     * @var string
     *
     * @ORM\Column(name="shipping_type", type="string", length=255, nullable=true)
     */
    private $shippingType;

    /**
     * @var string
     *
     * @ORM\Column(name="service_type", type="string", length=255, nullable=true)
     */
    private $serviceType;
    
    /**
     * @var string
     *
     * @ORM\Column(name="ship_type", type="boolean",options={"default" = false}, nullable=true ) // 0 for standard shipping, 1 split shipping
     */
    private $shipType = false;
    
    /**
     * @var string
     *
     * @ORM\Column(name="pick_from", type="boolean",options={"default" = false}, nullable=true )  // 0 from shipping Book, 1 form contact book
     */
    private $pickFrom = false;

    /**
     * @var string
     *
     * @ORM\Column(name="shipping_charge", type="decimal", scale=2, nullable=true)
     */
    private $shippingCharge;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255, nullable=true)
     */
    private $name;

    /**
     * @var string
     *
     * @ORM\Column(name="email", type="string", length=255, nullable=true)
     */
    private $email;

    /**
     * @var string
     *
     * @ORM\Column(name="street1", type="string", length=255, nullable=true)
     */
    private $street1;

    /**
     * @var string
     *
     * @ORM\Column(name="street2", type="string", length=255, nullable=true)
     */
    private $street2;

    /**
     * @var integer
     *
     * @ORM\Column(name="country_id", type="bigint", nullable=true)
     */
    private $countryId;
    
    /**
     * @var string
     *
     * @ORM\Column(name="country_name", type="string", length=255, nullable=true)
     */
    private $countryName;

    /**
     * @var integer
     *
     * @ORM\Column(name="state_id", type="bigint", nullable=true)
     */
    private $stateId;
    
    /**
     * @var string
     *
     * @ORM\Column(name="state_name", type="string", length=255, nullable=true)
     */
    private $stateName;

    /**
     * @var integer
     *
     * @ORM\Column(name="city_id", type="bigint", nullable=true)
     */
    private $cityId;
    
    /**
     * @var string
     *
     * @ORM\Column(name="city_name", type="string", length=255, nullable=true)
     */
    private $cityName;

    /**
     * @var string
     *
     * @ORM\Column(name="zip_code", type="string", length=255, nullable=true)
     */
    private $zipCode;

    /**
     * @var string
     *
     * @ORM\Column(name="extension", type="string", length=255, nullable=true)
     */
    private $extension;

    /**
     * @var string
     *
     * @ORM\Column(name="phone", type="string", length=255, nullable=true)
     */
    private $phone;

    /**
     * @var string
     *
     * @ORM\Column(name="mobile", type="string", length=255, nullable=true)
     */
    private $mobile;

    /**
     * @var string
     *
     * @ORM\Column(name="in_hand_date", type="string", length=255, nullable=true)
     */
    private $inHandDate;

    /**
     * @var string
     *
     * @ORM\Column(name="fax", type="string", length=255, nullable=true)
     */
    private $fax;

    /**
     * @var string
     *
     * @ORM\Column(name="website", type="string", length=255, nullable=true)
     */
    private $website;

    /**
     * @var string
     *
     * @ORM\Column(name="company_name", type="string", length=255, nullable=true)
     */
    private $companyName;
        
    /**
     * @var integer
     *
     * @ORM\Column(name="selected_address_id", type="integer", nullable=true)
     */
    private $selectedAddressId;
    
    
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set quoteProductId
     *
     * @param integer $quoteProductId
     * @return QuoteShippingDetail
     */
    public function setQuoteProductId($quoteProductId)
    {
        $this->quoteProductId = $quoteProductId;

        return $this;
    }

    /**
     * Get quoteProductId
     *
     * @return integer 
     */
    public function getQuoteProductId()
    {
        return $this->quoteProductId;
    }

    /**
     * Set shippingType
     *
     * @param string $shippingType
     * @return QuoteShippingDetail
     */
    public function setShippingType($shippingType)
    {
        $this->shippingType = $shippingType;

        return $this;
    }

    /**
     * Get shippingType
     *
     * @return string 
     */
    public function getShippingType()
    {
        return $this->shippingType;
    }

    /**
     * Set serviceType
     *
     * @param string $serviceType
     * @return QuoteShippingDetail
     */
    public function setServiceType($serviceType)
    {
        $this->serviceType = $serviceType;

        return $this;
    }

    /**
     * Get serviceType
     *
     * @return string 
     */
    public function getServiceType()
    {
        return $this->serviceType;
    }

    /**
     * Set shippingCharge
     *
     * @param string $shippingCharge
     * @return QuoteShippingDetail
     */
    public function setShippingCharge($shippingCharge)
    {
        $this->shippingCharge = $shippingCharge;

        return $this;
    }

    /**
     * Get shippingCharge
     *
     * @return string 
     */
    public function getShippingCharge()
    {
        return $this->shippingCharge;
    }

    /**
     * Set name
     *
     * @param string $name
     * @return QuoteShippingDetail
     */
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Get name
     *
     * @return string 
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set email
     *
     * @param string $email
     * @return QuoteShippingDetail
     */
    public function setEmail($email)
    {
        $this->email = $email;

        return $this;
    }

    /**
     * Get email
     *
     * @return string 
     */
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * Set street1
     *
     * @param string $street1
     * @return QuoteShippingDetail
     */
    public function setStreet1($street1)
    {
        $this->street1 = $street1;

        return $this;
    }

    /**
     * Get street1
     *
     * @return string 
     */
    public function getStreet1()
    {
        return $this->street1;
    }

    /**
     * Set street2
     *
     * @param string $street2
     * @return QuoteShippingDetail
     */
    public function setStreet2($street2)
    {
        $this->street2 = $street2;

        return $this;
    }

    /**
     * Get street2
     *
     * @return string 
     */
    public function getStreet2()
    {
        return $this->street2;
    }

    /**
     * Set countryId
     *
     * @param integer $countryId
     * @return QuoteShippingDetail
     */
    public function setCountryId($countryId)
    {
        $this->countryId = $countryId;

        return $this;
    }

    /**
     * Get countryId
     *
     * @return integer 
     */
    public function getCountryId()
    {
        return $this->countryId;
    }
    
    /**
     * Set countryName
     *
     * @param string $countryName
     * @return QuoteShippingDetail
     */
    public function setCountryName($countryName)
    {
    	$this->countryName = $countryName;
    	
    	return $this;
    }
    
    /**
     * Get countryName
     *
     * @return string
     */
    public function getCountryName()
    {
    	return $this->countryName;
    }

    /**
     * Set stateId
     *
     * @param integer $stateId
     * @return QuoteShippingDetail
     */
    public function setStateId($stateId)
    {
        $this->stateId = $stateId;

        return $this;
    }

    /**
     * Get stateId
     *
     * @return integer 
     */
    public function getStateId()
    {
        return $this->stateId;
    }
    
    /**
     * Set stateName
     *
     * @param string $stateName
     * @return QuoteShippingDetail
     */
    public function setStateName($stateName)
    {
    	$this->stateName = $stateName;
    	
    	return $this;
    }
    
    /**
     * Get stateName
     *
     * @return string
     */
    public function getStateName()
    {
    	return $this->stateName;
    }

    /**
     * Set cityId
     *
     * @param integer $cityId
     * @return QuoteShippingDetail
     */
    public function setCityId($cityId)
    {
        $this->cityId = $cityId;

        return $this;
    }

    /**
     * Get cityId
     *
     * @return integer 
     */
    public function getCityId()
    {
        return $this->cityId;
    }
    
    /**
     * Set cityName
     *
     * @param string $cityName
     * @return QuoteShippingDetail
     */
    public function setCityName($cityName)
    {
    	$this->cityName = $cityName;
    
    	return $this;
    }
    
    /**
     * Get cityName
     *
     * @return string
     */
    public function getCityName()
    {
    	return $this->cityName;
    }

    /**
     * Set zipCode
     *
     * @param string $zipCode
     * @return QuoteShippingDetail
     */
    public function setZipCode($zipCode)
    {
        $this->zipCode = $zipCode;

        return $this;
    }

    /**
     * Get zipCode
     *
     * @return string 
     */
    public function getZipCode()
    {
        return $this->zipCode;
    }

    /**
     * Set extension
     *
     * @param string $extension
     * @return QuoteShippingDetail
     */
    public function setExtension($extension)
    {
        $this->extension = $extension;

        return $this;
    }

    /**
     * Get extension
     *
     * @return string 
     */
    public function getExtension()
    {
        return $this->extension;
    }

    /**
     * Set phone
     *
     * @param string $phone
     * @return QuoteShippingDetail
     */
    public function setPhone($phone)
    {
        $this->phone = $phone;

        return $this;
    }

    /**
     * Get phone
     *
     * @return string 
     */
    public function getPhone()
    {
        return $this->phone;
    }

    /**
     * Set mobile
     *
     * @param string $mobile
     * @return QuoteShippingDetail
     */
    public function setMobile($mobile)
    {
        $this->mobile = $mobile;

        return $this;
    }

    /**
     * Get mobile
     *
     * @return string 
     */
    public function getMobile()
    {
        return $this->mobile;
    }

    /**
     * Set inHandDate
     *
     * @param string $inHandDate
     * @return QuoteShippingDetail
     */
    public function setInHandDate($inHandDate)
    {
        $this->inHandDate = $inHandDate;

        return $this;
    }

    /**
     * Get inHandDate
     *
     * @return string 
     */
    public function getInHandDate()
    {
        return $this->inHandDate;
    }

    /**
     * Set fax
     *
     * @param string $fax
     * @return QuoteShippingDetail
     */
    public function setFax($fax)
    {
        $this->fax = $fax;

        return $this;
    }

    /**
     * Get fax
     *
     * @return string 
     */
    public function getFax()
    {
        return $this->fax;
    }

    /**
     * Set website
     *
     * @param string $website
     * @return QuoteShippingDetail
     */
    public function setWebsite($website)
    {
        $this->website = $website;

        return $this;
    }

    /**
     * Get website
     *
     * @return string 
     */
    public function getWebsite()
    {
        return $this->website;
    }

    /**
     * Set companyName
     *
     * @param string $companyName
     * @return QuoteShippingDetail
     */
    public function setCompanyName($companyName)
    {
        $this->companyName = $companyName;

        return $this;
    }

    /**
     * Get companyName
     *
     * @return string 
     */
    public function getCompanyName()
    {
        return $this->companyName;
    }

    /**
     * Set companyNumber
     *
     * @param string $companyNumber
     * @return QuoteShippingDetail
     */
    public function setCompanyNumber($companyNumber)
    {
        $this->companyNumber = $companyNumber;

        return $this;
    }

    /**
     * Get companyNumber
     *
     * @return string 
     */
    public function getCompanyNumber()
    {
        return $this->companyNumber;
    }

    /**
     * Set shipType
     *
     * @param boolean $shipType
     *
     * @return QuoteShippingDetail
     */
    public function setShipType($shipType)
    {
        $this->shipType = $shipType;

        return $this;
    }

    /**
     * Get shipType
     *
     * @return boolean
     */
    public function getShipType()
    {
        return $this->shipType;
    }

    /**
     * Set pickFrom
     *
     * @param boolean $pickFrom
     *
     * @return QuoteShippingDetail
     */
    public function setPickFrom($pickFrom)
    {
        $this->pickFrom = $pickFrom;

        return $this;
    }

    /**
     * Get pickFrom
     *
     * @return boolean
     */
    public function getPickFrom()
    {
        return $this->pickFrom;
    }
    
    
    /**
     * Set selectedAddressId
     *
     * @param boolean $selectedAddressId
     *
     * @return QuoteShippingDetail
     */
    public function setSelectedAddressId($selectedAddressId)
    {
    	$this->selectedAddressId = $selectedAddressId;
    
    	return $this;
    }
    
    /**
     * Get selectedAddressId
     *
     * @return boolean
     */
    public function getSelectedAddressId()
    {
    	return $this->selectedAddressId;
    }
    
}
