<?php
namespace App\Entity\System;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="ps_carrier")
*
* @ORM\Entity(repositoryClass="App\Repository\System\CarrierRepository")
*/
class Carrier
{
public const PARCEL_POD = 1;
public const PALLET_POD = 2;
public const PARCEL_NO_POD = 3;
public const PACKAGING_METHODS = [
self::PARCEL_POD,
self::PALLET_POD,
self::PARCEL_NO_POD,
];
public const STANDARD_SHIPMENT_NAME = 'Standard Shipment';
public const WAREHOUSE_PICKUP_API_NAME = 'exw';
public const PACK_AND_COLLECT_API_NAME = 'pc';
public const PACK_AND_COLLECT_ID = 162;
public const SERVICES_ID = 53;
public const WAREHOUSE_PICKUP_ID = 55;
public const ID_COLIS_PRIVE_HOME_DELIVERY_EASY = 359;
public const ID_COLIS_PRIVE_HOME_DELIVERY_EASY_SIGNATURE = 382;
public const SMART_SHIPMENT_CARRIER_MASTER_ID = 37;
public const AERIAL_TRANSPORT_METHOD_ID = 3;
/**
* @var int
*
* @ORM\Id()
*
* @ORM\GeneratedValue()
*
* @ORM\Column(name="id_carrier", type="integer")
*/
private $id;
/**
* @var int
*
* @ORM\Column(name="id_reference", type="integer", length=10)
*/
private $referenceId;
/**
* @var int|null
*
* @ORM\Column(name="id_tax_rules_group", type="integer", length=10, options={"unsigned": 0}, nullable=true)
*/
private $taxRulesGroupId;
/**
* @var string
*
* @ORM\Column(type="string", length=64)
*/
private $name;
/**
* @var string|null
*
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $url;
/**
* @var int
*
* @ORM\Column(type="boolean", columnDefinition="tinyint(1)", options={"unsigned": 0})
*/
private $active;
/**
* @var int
*
* @ORM\Column(type="boolean", columnDefinition="tinyint(1)", options={"unsigned": 0})
*/
private $deleted;
/**
* @var int
*
* @ORM\Column(type="boolean", columnDefinition="tinyint(1)", options={"unsigned": 1})
*/
private $shippingHandling;
/**
* @var int
*
* @ORM\Column(type="boolean", columnDefinition="tinyint(1)", options={"unsigned": 0})
*/
private $rangeBehavior;
/**
* @var int
*
* @ORM\Column(type="boolean", columnDefinition="tinyint(1)", options={"unsigned": 0})
*/
private $isModule;
/**
* @var int
*
* @ORM\Column(type="boolean", columnDefinition="tinyint(1)", options={"unsigned": 0})
*/
private $isFree;
/**
* @var int
*
* @ORM\Column(type="boolean", columnDefinition="tinyint(1)", options={"unsigned": 0})
*/
private $shippingExternal;
/**
* @var int
*
* @ORM\Column(type="boolean", columnDefinition="tinyint(1)", options={"unsigned": 0})
*/
private $needRange;
/**
* @var string|null
*
* @ORM\Column(type="string", length=64, nullable=true)
*/
private $externalModuleName;
/**
* @var int
*
* @ORM\Column(type="integer", length=2, options={"default": 0})
*/
private $shippingMethod;
/**
* @var int
*
* @ORM\Column(type="integer", length=10, options={"unsigned": 0})
*/
private $position;
/**
* @var int|null
*
* @ORM\Column(type="integer", length=10, options={"default": 0}, nullable=true)
*/
private $maxWidth;
/**
* @var int|null
*
* @ORM\Column(type="integer", length=10, options={"default": 0}, nullable=true)
*/
private $maxHeight;
/**
* @var int|null
*
* @ORM\Column(type="integer", length=10, options={"default": 0}, nullable=true)
*/
private $maxDepth;
/**
* @var float|null
*
* @ORM\Column(type="decimal", precision=20, scale=6, options={"default" : 0.000000}, nullable=true)
*/
private $maxWeight;
/**
* @var int|null
*
* @ORM\Column(type="integer", length=10, options={"default": 0}, nullable=true)
*/
private $grade;
/**
* @var int
*
* @ORM\Column(name="id_carrier_master", type="integer", length=10, options={"default": 0})
*/
private $carrierMasterId;
/**
* @var float
*
* @ORM\Column(name="vol_density", type="float", options={"default": 0})
*/
private $volumenDensity;
/**
* @var string
*
* @ORM\Column(type="string", length=50, options={"default": "mag_shipping_matrixrate"})
*/
private $tableShippingCost;
/**
* @var int
*
* @ORM\Column(type="integer", length=2, options={"default": 1})
*/
private $transportMethod;
/**
* @var int
*
* @ORM\Column(type="integer", length=2, options={"default": 1})
*/
private $packagingMethod;
/**
* @var Warehouse
*
* @ORM\ManyToOne(targetEntity="App\Entity\System\Warehouse")
*
* @ORM\JoinColumn(nullable=false, name="id_warehouse", referencedColumnName="id")
*/
private $warehouse;
/**
* @var bool
*
* @ORM\Column(name="free_shipping_allowed", type="boolean")
*/
private $freeShippingAllowed;
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
/**
* @param int $id
*
* @return Carrier
*/
public function setId(int $id): Carrier
{
$this->id = $id;
return $this;
}
/**
* @return int
*/
public function getReferenceId(): int
{
return $this->referenceId;
}
/**
* @param int $referenceId
*
* @return Carrier
*/
public function setReferenceId(int $referenceId): Carrier
{
$this->referenceId = $referenceId;
return $this;
}
/**
* @return int|null
*/
public function getTaxRulesGroupId(): ?int
{
return $this->taxRulesGroupId;
}
/**
* @param int|null $taxRulesGroupId
*
* @return Carrier
*/
public function setTaxRulesGroupId(?int $taxRulesGroupId): Carrier
{
$this->taxRulesGroupId = $taxRulesGroupId;
return $this;
}
/**
* @return string
*/
public function getName(): string
{
return $this->name;
}
/**
* @param string $name
*
* @return Carrier
*/
public function setName(string $name): Carrier
{
$this->name = $name;
return $this;
}
/**
* @return string|null
*/
public function getUrl(): ?string
{
return $this->url;
}
/**
* @param string|null $url
*
* @return Carrier
*/
public function setUrl(?string $url): Carrier
{
$this->url = $url;
return $this;
}
/**
* @return int
*/
public function getActive(): int
{
return $this->active;
}
/**
* @param int $active
*
* @return Carrier
*/
public function setActive(int $active): Carrier
{
$this->active = $active;
return $this;
}
/**
* @return int
*/
public function getDeleted(): int
{
return $this->deleted;
}
/**
* @param int $deleted
*
* @return Carrier
*/
public function setDeleted(int $deleted): Carrier
{
$this->deleted = $deleted;
return $this;
}
/**
* @return int
*/
public function getShippingHandling(): int
{
return $this->shippingHandling;
}
/**
* @param int $shippingHandling
*
* @return Carrier
*/
public function setShippingHandling(int $shippingHandling): Carrier
{
$this->shippingHandling = $shippingHandling;
return $this;
}
/**
* @return int
*/
public function getRangeBehavior(): int
{
return $this->rangeBehavior;
}
/**
* @param int $rangeBehavior
*
* @return Carrier
*/
public function setRangeBehavior(int $rangeBehavior): Carrier
{
$this->rangeBehavior = $rangeBehavior;
return $this;
}
/**
* @return int
*/
public function getIsModule(): int
{
return $this->isModule;
}
/**
* @param int $isModule
*
* @return Carrier
*/
public function setIsModule(int $isModule): Carrier
{
$this->isModule = $isModule;
return $this;
}
/**
* @return int
*/
public function getIsFree(): int
{
return $this->isFree;
}
/**
* @param int $isFree
*
* @return Carrier
*/
public function setIsFree(int $isFree): Carrier
{
$this->isFree = $isFree;
return $this;
}
/**
* @return int
*/
public function getShippingExternal(): int
{
return $this->shippingExternal;
}
/**
* @param int $shippingExternal
*
* @return Carrier
*/
public function setShippingExternal(int $shippingExternal): Carrier
{
$this->shippingExternal = $shippingExternal;
return $this;
}
/**
* @return int
*/
public function getNeedRange(): int
{
return $this->needRange;
}
/**
* @param int $needRange
*
* @return Carrier
*/
public function setNeedRange(int $needRange): Carrier
{
$this->needRange = $needRange;
return $this;
}
/**
* @return string|null
*/
public function getExternalModuleName(): ?string
{
return $this->externalModuleName;
}
/**
* @param string|null $externalModuleName
*
* @return Carrier
*/
public function setExternalModuleName(?string $externalModuleName): Carrier
{
$this->externalModuleName = $externalModuleName;
return $this;
}
/**
* @return int
*/
public function getShippingMethod(): int
{
return $this->shippingMethod;
}
/**
* @param int $shippingMethod
*
* @return Carrier
*/
public function setShippingMethod(int $shippingMethod): Carrier
{
$this->shippingMethod = $shippingMethod;
return $this;
}
/**
* @return int
*/
public function getPosition(): int
{
return $this->position;
}
/**
* @param int $position
*
* @return Carrier
*/
public function setPosition(int $position): Carrier
{
$this->position = $position;
return $this;
}
/**
* @return int|null
*/
public function getMaxWidth(): ?int
{
return $this->maxWidth;
}
/**
* @param int|null $maxWidth
*
* @return Carrier
*/
public function setMaxWidth(?int $maxWidth): Carrier
{
$this->maxWidth = $maxWidth;
return $this;
}
/**
* @return int|null
*/
public function getMaxHeight(): ?int
{
return $this->maxHeight;
}
/**
* @param int|null $maxHeight
*
* @return Carrier
*/
public function setMaxHeight(?int $maxHeight): Carrier
{
$this->maxHeight = $maxHeight;
return $this;
}
/**
* @return int|null
*/
public function getMaxDepth(): ?int
{
return $this->maxDepth;
}
/**
* @param int|null $maxDepth
*
* @return Carrier
*/
public function setMaxDepth(?int $maxDepth): Carrier
{
$this->maxDepth = $maxDepth;
return $this;
}
/**
* @return float|null
*/
public function getMaxWeight(): ?float
{
return $this->maxWeight;
}
/**
* @param float|null $maxWeight
*
* @return Carrier
*/
public function setMaxWeight(?float $maxWeight): Carrier
{
$this->maxWeight = $maxWeight;
return $this;
}
/**
* @return int|null
*/
public function getGrade(): ?int
{
return $this->grade;
}
/**
* @param int|null $grade
*
* @return Carrier
*/
public function setGrade(?int $grade): Carrier
{
$this->grade = $grade;
return $this;
}
/**
* @return int
*/
public function getCarrierMasterId(): int
{
return $this->carrierMasterId;
}
/**
* @param int $carrierMasterId
*
* @return Carrier
*/
public function setCarrierMasterId(int $carrierMasterId): Carrier
{
$this->carrierMasterId = $carrierMasterId;
return $this;
}
/**
* @return float
*/
public function getVolumenDensity(): float
{
return $this->volumenDensity;
}
/**
* @param float $volumenDensity
*
* @return Carrier
*/
public function setVolumenDensity(float $volumenDensity): Carrier
{
$this->volumenDensity = $volumenDensity;
return $this;
}
/**
* @return string
*/
public function getTableShippingCost(): string
{
return $this->tableShippingCost;
}
/**
* @param string $tableShippingCost
*
* @return Carrier
*/
public function setTableShippingCost(string $tableShippingCost): Carrier
{
$this->tableShippingCost = $tableShippingCost;
return $this;
}
/**
* @return int
*/
public function getTransportMethod(): int
{
return $this->transportMethod;
}
/**
* @param int $transportMethod
*
* @return Carrier
*/
public function setTransportMethod(int $transportMethod): Carrier
{
$this->transportMethod = $transportMethod;
return $this;
}
/**
* @return int
*/
public function getPackagingMethod(): int
{
return $this->packagingMethod;
}
/**
* @param int $packagingMethod
*
* @return Carrier
*/
public function setPackagingMethod(int $packagingMethod): Carrier
{
$this->packagingMethod = $packagingMethod;
return $this;
}
/**
* @return Warehouse
*/
public function getWarehouse(): Warehouse
{
return $this->warehouse;
}
/**
* @param Warehouse $warehouse
*
* @return Carrier
*/
public function setWarehouse(Warehouse $warehouse): Carrier
{
$this->warehouse = $warehouse;
return $this;
}
/**
* @return bool
*/
public function isFreeShippingAllowed(): bool
{
return $this->freeShippingAllowed;
}
}