<?php namespace Lc\CaracoleBundle\Model\Reduction; use Doctrine\Common\Collections\Collection; use Lc\CaracoleBundle\Model\Merchant\MerchantInterface; use Lc\CaracoleBundle\Model\PointSale\PointSaleInterface; use Lc\SovBundle\Model\User\GroupUserInterface; use Lc\SovBundle\Model\User\UserInterface; interface ReductionCartInterface { public function getCreatedBy(): ?UserInterface; public function setCreatedBy(?UserInterface $createdBy); public function getUpdatedBy(): ?UserInterface; public function setUpdatedBy(?UserInterface $updatedBy); public function getDevAlias(): ?string; public function setDevAlias(?string $devAlias); public function getOrderAmountMin(): ?float; public function setOrderAmountMin(float $orderAmountMin): ReductionCartInterface; public function getTitle(): ?string; public function setTitle(string $title); public function getMerchant(): MerchantInterface; public function setMerchant(MerchantInterface $merchant): ReductionCartInterface; public function getCodes(): ?array; public function setCodes(?array $codes): ReductionCartInterface; /** * @return Collection|PointSaleInterface[] */ public function getPointSales(): Collection; public function addPointSale(PointSaleInterface $pointSale): ReductionCartInterface; public function removePointSale(PointSaleInterface $pointSale ): ReductionCartInterface; public function getAvailableQuantity(): ?int; public function setAvailableQuantity(int $availableQuantity): ReductionCartInterface; public function getAvailableQuantityPerUser(): ?int; public function setAvailableQuantityPerUser(int $availableQuantityPerUser ): ReductionCartInterface; public function getUncombinables(): Collection; public function addUncombinable(ReductionCartInterface $uncombinable): ReductionCartInterface; public function removeUncombinables(ReductionCartInterface $uncombinable): ReductionCartInterface; public function getUncombinableTypes(): ?array; public function setUncombinableTypes(?array $uncombinableTypes ): ReductionCartInterface; public function getAvailableQuantityPerCode(): ?int; public function setAvailableQuantityPerCode(int $availableQuantityPerCode ): ReductionCartInterface; public function getFreeShipping(): ?bool; public function setFreeShipping(?bool $freeShipping): ReductionCartInterface; public function getAppliedTo(): ?string; public function setAppliedTo(string $appliedTo): ReductionCartInterface; public function getType(): ?string; public function setType(string $type): ReductionCartInterface; /** * @return Collection|UserInterface[] */ public function getUsers(): Collection; public function addUser(UserInterface $user): ReductionCartInterface; public function removeUser(UserInterface $user): ReductionCartInterface; /** * @return Collection|GroupUserInterface[] */ public function getGroupUsers(): Collection; public function addGroupUser(GroupUserInterface $groupUser): ReductionCartInterface; public function removeGroupUser(GroupUserInterface $groupUser ): ReductionCartInterface; public function getDateStart(): ?\DateTimeInterface; public function setDateStart(?\DateTimeInterface $dateStart): ReductionCartInterface; public function getDateEnd(): ?\DateTimeInterface; public function setDateEnd(?\DateTimeInterface $dateEnd): ReductionCartInterface; public function getPermanent(): ?bool; public function setPermanent(bool $permanent): ReductionCartInterface; public function getValue(): ?float; public function setValue(?float $value): ReductionCartInterface; public function getUnit(): ?string; public function setUnit(?string $unit): ReductionCartInterface; public function getBehaviorTaxRate(): ?string; public function setBehaviorTaxRate(?string $behaviorTaxRate): ReductionCartInterface; public function getStatus(): ?float; public function setStatus(float $status); public function getCreatedAt(): ?\DateTimeInterface; public function setCreatedAt(\DateTimeInterface $createdAt); public function getUpdatedAt(): ?\DateTimeInterface; public function setUpdatedAt(\DateTimeInterface $updatedAt); }