<?php

namespace App\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Lc\ShopBundle\Context\ReductionInterface;
use Lc\ShopBundle\Model\AbstractDocumentEntity;
use Lc\ShopBundle\Model\ReductionPropertyTrait;
use Lc\ShopBundle\Model\ReductionTrait;

/**
 * @ORM\MappedSuperclass()
 */
abstract class ReductionCart extends AbstractDocumentEntity
{
        use ReductionTrait;
        use ReductionPropertyTrait ;

        /**
         * @ORM\Column(type="boolean", nullable=true)
         */
        protected $freeShipping;

        /**
         * @ORM\Column(type="string", length=25)
         */
        protected $appliedTo;

        /**
         * @ORM\Column(type="integer")
         */
        protected $priority;



        public function getFreeShipping(): ?bool
        {
                return $this->freeShipping;
        }

        public function setFreeShipping(?bool $freeShipping): self
        {
                $this->freeShipping = $freeShipping;

                return $this;
        }

        public function getAppliedTo(): ?string
        {
                return $this->appliedTo;
        }

        public function setAppliedTo(string $appliedTo): self
        {
                $this->appliedTo = $appliedTo;

                return $this;
        }


        public function getPriority(): ?int
        {
                return $this->priority;
        }

        public function setPriority(int $priority): self
        {
                $this->priority = $priority;

                return $this;
        }


}