src/Entity/System/Order.php line 37

Open in your IDE?
  1. <?php
  2. namespace App\Entity\System;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Doctrine\ORM\Mapping\OneToOne;
  7. use Doctrine\ORM\Mapping\JoinColumn;
  8. /**
  9.  * Order
  10.  *
  11.  * @ORM\Table(
  12.  *     name="ps_orders",
  13.  *      indexes={
  14.  *
  15.  *          @ORM\Index(name="fk_reference_23", columns={"id_order_state", "id_lang"}),
  16.  *          @ORM\Index(name="ref_order_supplier", columns={"ref_order_supplier"}),
  17.  *          @ORM\Index(name="id_carrier_master", columns={"id_carrier_master"}),
  18.  *          @ORM\Index(name="transaction_id", columns={"transaction_id"}),
  19.  *          @ORM\Index(name="id_carrier", columns={"id_carrier"}),
  20.  *          @ORM\Index(name="date_add", columns={"date_add"}),
  21.  *          @ORM\Index(name="is_tracking", columns={"is_tracking"}),
  22.  *          @ORM\Index(name="invoice_number", columns={"invoice_number"}),
  23.  *          @ORM\Index(name="id_currency", columns={"id_currency"}),
  24.  *          @ORM\Index(name="IDX_customer__order_state__total_paid", columns={"id_customer", "id_order_state", "total_paid"})
  25.  *      },
  26.  *      uniqueConstraints={
  27.  *
  28.  *          @ORM\UniqueConstraint(name="UNIQ_B505841B808394B5", columns={"id_cart"})
  29.  *      }
  30.  * )
  31.  *
  32.  * @ORM\Entity(repositoryClass="App\Repository\System\OrderRepository")
  33.  */
  34. class Order
  35. {
  36.     public const PRODUCTS_ORDER_TYPE 1;
  37.     public const PACK_ORDER_TYPE 2;
  38.     public const SERVICES_ORDER_TYPE 3;
  39.     public const PACK_AND_SERVICES_ORDER_TYPE 5;
  40.     /**
  41.      * @ORM\Id()
  42.      *
  43.      * @ORM\GeneratedValue()
  44.      *
  45.      * @ORM\Column(type="integer", name="id_order")
  46.      */
  47.     private $id;
  48.     /**
  49.      * One Order has One Cart.
  50.      *
  51.      * @var Cart|null
  52.      *
  53.      * @OneToOne(targetEntity="App\Entity\System\Cart", mappedBy="order")
  54.      *
  55.      * @JoinColumn(name="id_cart", referencedColumnName="id_cart", nullable=false)
  56.      */
  57.     private $cart;
  58.     /**
  59.      * @var string|null
  60.      *
  61.      * @ORM\Column(type="string", length=9, nullable=true)
  62.      */
  63.     private $reference;
  64.     /**
  65.      * @var int
  66.      *
  67.      * @ORM\Column(type="integer", length=10)
  68.      */
  69.     private $idCarrier;
  70.     /**
  71.      * @var Customer
  72.      *
  73.      * @ORM\ManyToOne(targetEntity="App\Entity\System\Customer", inversedBy="orders")
  74.      *
  75.      * @ORM\JoinColumn(nullable=false, name="id_customer", referencedColumnName="id_customer")
  76.      */
  77.     private $customer;
  78.     /**
  79.      * @var CodeDiscount|null
  80.      *
  81.      * @ORM\ManyToOne(targetEntity="App\Entity\System\CodeDiscount", inversedBy="orders")
  82.      *
  83.      * @ORM\JoinColumn(nullable=true, name="id_voucher")
  84.      */
  85.     private $idVoucher;
  86.     /**
  87.      * @var int
  88.      *
  89.      * @ORM\Column(type="integer", length=10)
  90.      */
  91.     private $idCurrency;
  92.     /**
  93.      * @var Address
  94.      *
  95.      * @ORM\ManyToOne(targetEntity="App\Entity\System\Address")
  96.      *
  97.      * @ORM\JoinColumn(name="id_address_delivery", referencedColumnName="id_address")
  98.      */
  99.     private $deliveryAddress;
  100.     /**
  101.      * @var Address
  102.      *
  103.      * @ORM\ManyToOne(targetEntity="App\Entity\System\Address")
  104.      *
  105.      * @ORM\JoinColumn(name="id_address_invoice", referencedColumnName="id_address")
  106.      */
  107.     private $invoiceAddress;
  108.     /**
  109.      * @var int
  110.      *
  111.      * @ORM\Column(type="integer", length=10, name="id_order_state")
  112.      */
  113.     private $orderStatus;
  114.     /**
  115.      * @var Language|null
  116.      *
  117.      * @ORM\ManyToOne(targetEntity="App\Entity\System\Language")
  118.      *
  119.      * @ORM\JoinColumn(name="id_lang", referencedColumnName="id_lang", nullable=true)
  120.      */
  121.     private $language;
  122.     /**
  123.      * @var string
  124.      *
  125.      * @ORM\Column(type="string", length=32, options={"default" : "-1"})
  126.      */
  127.     private $secureKey;
  128.     /**
  129.      * @deprecated use paymentMethod relationship instead
  130.      *
  131.      * @var string
  132.      *
  133.      * @ORM\Column(type="string", length=255)
  134.      */
  135.     private $payment;
  136.     /**
  137.      * @var float
  138.      *
  139.      * @ORM\Column(type="float", options={"default" : 1.000000})
  140.      */
  141.     private $conversionRate;
  142.     /**
  143.      * @var string|null
  144.      *
  145.      * @ORM\Column(type="string", length=255, nullable=true)
  146.      */
  147.     private $module;
  148.     /**
  149.      * @var bool
  150.      *
  151.      * @ORM\Column(type="boolean", options={"default" : 0})
  152.      */
  153.     private $recyclable;
  154.     /**
  155.      * @var string|null
  156.      *
  157.      * @ORM\Column(type="string", length=32, nullable=true)
  158.      */
  159.     private $shippingNumber;
  160.     /**
  161.      * @var bool
  162.      *
  163.      * @ORM\Column(type="boolean", options={"default" : 0})
  164.      */
  165.     private $dropshipping;
  166.     /**
  167.      * @var float
  168.      *
  169.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  170.      */
  171.     private $totalDiscounts;
  172.     /**
  173.      * @var float
  174.      *
  175.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  176.      */
  177.     private $totalDiscountsTaxIncl;
  178.     /**
  179.      * @var float
  180.      *
  181.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  182.      */
  183.     private $totalDiscountsTaxExcl;
  184.     /**
  185.      * @var float
  186.      *
  187.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  188.      */
  189.     private $totalPaid;
  190.     /**
  191.      * @var float
  192.      *
  193.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  194.      */
  195.     private $totalPaidTaxIncl;
  196.     /**
  197.      * @var float
  198.      *
  199.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  200.      */
  201.     private $totalPaidTaxExcl;
  202.     /**
  203.      * @var float
  204.      *
  205.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  206.      */
  207.     private $totalPaidReal;
  208.     /**
  209.      * @var float
  210.      *
  211.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  212.      */
  213.     private $totalProducts;
  214.     /**
  215.      * @var float
  216.      *
  217.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  218.      */
  219.     private $totalProductsWt;
  220.     /**
  221.      * @var float
  222.      *
  223.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  224.      */
  225.     private $totalShipping;
  226.     /**
  227.      * @var float
  228.      *
  229.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  230.      */
  231.     private $totalShippingTaxIncl;
  232.     /**
  233.      * @var float
  234.      *
  235.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  236.      */
  237.     private $totalShippingTaxExcl;
  238.     /**
  239.      * @var float
  240.      *
  241.      * @ORM\Column(type="float", precision=10, scale=3, options={"default" : 0.000})
  242.      */
  243.     private $carrierTaxRate;
  244.     /**
  245.      * @var float
  246.      *
  247.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  248.      */
  249.     private $totalWrapping;
  250.     /**
  251.      * @var float
  252.      *
  253.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  254.      */
  255.     private $totalWrappingTaxIncl;
  256.     /**
  257.      * @var float
  258.      *
  259.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  260.      */
  261.     private $totalWrappingTaxExcl;
  262.     /**
  263.      * @var int|null
  264.      *
  265.      * @ORM\Column(type="integer", length=10, nullable=false, options={"default" : 0})
  266.      */
  267.     private $invoiceNumber;
  268.     /**
  269.      * @var int
  270.      *
  271.      * @ORM\Column(type="integer", length=10, options={"default" : 0})
  272.      */
  273.     private $deliveryNumber;
  274.     /**
  275.      * @var \DateTime|null
  276.      *
  277.      * @ORM\Column(type="datetime", nullable=true)
  278.      */
  279.     private $invoiceDate;
  280.     /**
  281.      * @var \DateTime|null
  282.      *
  283.      * @ORM\Column(type="datetime", nullable=true)
  284.      */
  285.     private $deliveryDate;
  286.     /**
  287.      * @var int
  288.      *
  289.      * @ORM\Column(type="integer", length=1, options={"default" : 0})
  290.      */
  291.     private $valid;
  292.     /**
  293.      * @var bool
  294.      *
  295.      * @ORM\Column(type="boolean", columnDefinition="tinyint(4)", options={"default" : 0})
  296.      */
  297.     private $validateTransfer;
  298.     /**
  299.      * @var string|null
  300.      *
  301.      * @ORM\Column(type="string", length=128, nullable=true)
  302.      */
  303.     private $refOrderSupplier;
  304.     /**
  305.      * @var \DateTime
  306.      *
  307.      * @ORM\Column(type="datetime")
  308.      */
  309.     private $dateAdd;
  310.     /**
  311.      * @var \DateTime
  312.      *
  313.      * @ORM\Column(type="datetime")
  314.      */
  315.     private $dateUpd;
  316.     /**
  317.      * @var float
  318.      *
  319.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  320.      */
  321.     private $purse;
  322.     /**
  323.      * @var float
  324.      *
  325.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  326.      */
  327.     private $dropshippingQty;
  328.     /**
  329.      * @var float
  330.      *
  331.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  332.      */
  333.     private $paymentMethodCost;
  334.     /**
  335.      * @var float
  336.      *
  337.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00})
  338.      */
  339.     private $dropshippingCost;
  340.     /**
  341.      * @var bool
  342.      *
  343.      * @ORM\Column(type="boolean", columnDefinition="tinyint(4)", options={"default" : 0})
  344.      */
  345.     private $re;
  346.     /**
  347.      * @var string|null
  348.      *
  349.      * @ORM\Column(type="string", length=254, nullable=true)
  350.      */
  351.     private $transactionId;
  352.     /**
  353.      * @var string|null
  354.      *
  355.      * @ORM\Column(type="string", length=40, nullable=true)
  356.      */
  357.     private $commentCarrier;
  358.     /**
  359.      * @var bool|null
  360.      *
  361.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  362.      */
  363.     private $refund;
  364.     /**
  365.      * @var bool
  366.      *
  367.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  368.      */
  369.     private $fullRefund;
  370.     /**
  371.      * @var string|null
  372.      *
  373.      * @ORM\Column(type="string", columnDefinition="enum('1', '2', '3','4')", options={"default" : 1}, nullable=true)
  374.      */
  375.     private $intracomunitario;
  376.     /**
  377.      * @var bool|null
  378.      *
  379.      * @ORM\Column(type="boolean", columnDefinition="tinyint(4)", nullable=true)
  380.      */
  381.     private $isTracking;
  382.     /**
  383.      * @var int|null
  384.      *
  385.      * @ORM\Column(type="integer", options={"default" : 0}, nullable=true)
  386.      */
  387.     private $stateDropshipping;
  388.     /**
  389.      * @var float|null
  390.      *
  391.      * @ORM\Column(type="float", options={"default" : 0}, nullable=true)
  392.      */
  393.     private $volWeight;
  394.     /**
  395.      * @var int|null
  396.      *
  397.      * @ORM\Column(type="integer", length=11, options={"default" : 0}, nullable=true)
  398.      */
  399.     private $idCarrierMaster;
  400.     /**
  401.      * @deprecated ya no se usa para nada
  402.      *
  403.      * @var string|null
  404.      *
  405.      * @ORM\Column(type="string", length=15, nullable=true)
  406.      */
  407.     private $idOrderParent;
  408.     /**
  409.      * @var bool|null
  410.      *
  411.      * @ORM\Column(type="boolean", options={"default" : 0}, nullable=true)
  412.      */
  413.     private $quantityStockSupplier;
  414.     /**
  415.      * @var bool|null
  416.      *
  417.      * @ORM\Column(name="quantity_stock_supplier_3_5", type="boolean", options={"default" : 0}, nullable=true)
  418.      */
  419.     private $quantityStockSupplier3To5;
  420.     /**
  421.      * @var bool|null
  422.      *
  423.      * @ORM\Column(type="boolean", options={"default" : 0}, nullable=true)
  424.      */
  425.     private $quantityFutureStock;
  426.     /**
  427.      * @var int|null
  428.      *
  429.      * @ORM\Column(type="integer", length=10, options={"default" : 0}, nullable=true)
  430.      */
  431.     private $idPack;
  432.     /**
  433.      * @var \DateTime|null
  434.      *
  435.      * @ORM\Column(type="datetime", nullable=true)
  436.      */
  437.     private $deliveredDate;
  438.     /**
  439.      * @var bool|null
  440.      *
  441.      * @ORM\Column(type="boolean", name="sujeto_pasivo", options={"default" : 0}, nullable=true)
  442.      */
  443.     private $passiveSubject;
  444.     /**
  445.      * @var float|null
  446.      *
  447.      * @ORM\Column(type="float", precision=17, scale=2, options={"default" : 0.00}, nullable=true)
  448.      */
  449.     private $rapelAmount;
  450.     /**
  451.      * @var bool|null
  452.      *
  453.      * @ORM\Column(type="boolean", options={"default" : 0}, nullable=true)
  454.      */
  455.     private $api;
  456.     /**
  457.      * @var bool|null
  458.      *
  459.      * @ORM\Column(type="boolean", options={"default" : 0}, nullable=true)
  460.      */
  461.     private $isSystem;
  462.     /**
  463.      * @var string|null
  464.      *
  465.      * @ORM\Column(type="string", length=255, nullable=true)
  466.      */
  467.     private $sellingChannel;
  468.     /**
  469.      * @var \DateTime|null
  470.      *
  471.      * @ORM\Column(type="date", nullable=true)
  472.      */
  473.     private $dateAmazon;
  474.     /**
  475.      * @var string|null
  476.      *
  477.      * @ORM\Column(type="string", length=256, nullable=true)
  478.      */
  479.     private $additionalParameters;
  480.     /**
  481.      * @var \DateTime|null
  482.      *
  483.      * @ORM\Column(type="datetime", nullable=true)
  484.      */
  485.     private $estimatedShippingDate;
  486.     /**
  487.      * @var \DateTime|null
  488.      *
  489.      * @ORM\Column(type="datetime", nullable=true)
  490.      */
  491.     private $scheduledConfirmationDate;
  492.     /**
  493.      * @var \DateTime|null
  494.      *
  495.      * @ORM\Column(type="datetime", nullable=true)
  496.      */
  497.     private $cancellationRequestDate;
  498.     /**
  499.      * @var string|null
  500.      *
  501.      * @ORM\Column(type="string", length=36, nullable=true)
  502.      */
  503.     private $a4bUuid;
  504.     /**
  505.      * @var bool|null
  506.      *
  507.      * @ORM\Column(type="integer", length=1, options={"default" : 0}, nullable=true)
  508.      */
  509.     private $dispute;
  510.     /**
  511.      * @var OrderDetail[]|ArrayCollection<OrderDetail>
  512.      *
  513.      * @ORM\OneToMany(targetEntity="App\Entity\System\OrderDetail", mappedBy="order", cascade={"all"}, orphanRemoval=true)
  514.      */
  515.     private $orderDetails;
  516.     /**
  517.      * @var Warehouse
  518.      *
  519.      * @ORM\ManyToOne(targetEntity="App\Entity\System\Warehouse")
  520.      *
  521.      * @ORM\JoinColumn(name="warehouse_id", referencedColumnName="id", nullable=false, options={"default" : 1}))
  522.      */
  523.     private $warehouse;
  524.     /**
  525.      * @var OrderNotification|null
  526.      *
  527.      * @ORM\OneToOne(targetEntity="OrderNotification", mappedBy="order")
  528.      */
  529.     private $notification;
  530.     /**
  531.      * @var Invoice[]|ArrayCollection
  532.      *
  533.      * @ORM\ManyToMany(targetEntity="Invoice", mappedBy="orders")
  534.      */
  535.     private $invoice;
  536.     /**
  537.      * @var OrderCancellationRequest|null
  538.      *
  539.      * @ORM\OneToOne(targetEntity="OrderCancellationRequest", mappedBy="order")
  540.      */
  541.     private ?OrderCancellationRequest $cancellationRequest;
  542.     /**
  543.      * @deprecated use paymentMethod relationship instead
  544.      *
  545.      * @var string|null
  546.      *
  547.      * @ORM\Column(type="string", length=64, nullable=true)
  548.      */
  549.     private $paymentMethodType;
  550.     /**
  551.      * @var string|null
  552.      *
  553.      * @ORM\Column(type="string", nullable=true)
  554.      */
  555.     private $paypalPayerId;
  556.     /**
  557.      * @var string|null
  558.      *
  559.      * @ORM\Column(type="string", nullable=true)
  560.      */
  561.     private $paypalPayerEmail;
  562.     /**
  563.      * @var OrderTax|null
  564.      *
  565.      * @ORM\OneToOne(targetEntity="App\Entity\System\OrderTax", mappedBy="order")
  566.      */
  567.     private $orderTax;
  568.     /**
  569.      * @ORM\Column(type="boolean", options={"default" : 0})
  570.      */
  571.     private bool $fba false;
  572.     /**
  573.      * @ORM\Column(type="datetime", nullable=true)
  574.      */
  575.     private ?\DateTime $maxExpeditionDatetime null;
  576.     /**
  577.      * @ORM\Column(type="datetime", nullable=true)
  578.      */
  579.     private ?\DateTime $maxDeliveryDatetime null;
  580.     /**
  581.      * @ORM\Column(type="float", nullable=true)
  582.      */
  583.     private ?float $logisticWeight;
  584.     /**
  585.      * @ORM\ManyToOne(targetEntity="App\Entity\System\PaymentMethod")
  586.      *
  587.      * @ORM\JoinColumn(name="payment_method", referencedColumnName="id_payment_method", nullable=true)
  588.      */
  589.     private ?PaymentMethod $paymentMethod null;
  590.     /**
  591.      * Order constructor.
  592.      */
  593.     public function __construct()
  594.     {
  595.         $this->secureKey = -1;
  596.         $this->conversionRate 1.000000;
  597.         $this->recyclable 0;
  598.         $this->dropshipping 0;
  599.         $this->totalDiscounts 0.00;
  600.         $this->totalDiscountsTaxIncl 0.00;
  601.         $this->totalDiscountsTaxExcl 0.00;
  602.         $this->totalPaid 0.00;
  603.         $this->totalPaidTaxIncl 0.00;
  604.         $this->totalPaidTaxExcl 0.00;
  605.         $this->totalPaidReal 0.00;
  606.         $this->totalProducts 0.00;
  607.         $this->totalProductsWt 0.00;
  608.         $this->totalShipping 0.00;
  609.         $this->totalShippingTaxIncl 0.00;
  610.         $this->totalShippingTaxExcl 0.00;
  611.         $this->carrierTaxRate 0.000;
  612.         $this->totalWrapping 0.00;
  613.         $this->totalWrappingTaxIncl 0.00;
  614.         $this->totalWrappingTaxExcl 0.00;
  615.         $this->invoiceNumber 0;
  616.         $this->deliveryNumber 0;
  617.         $this->valid 0;
  618.         $this->validateTransfer 0;
  619.         $this->purse 0.00;
  620.         $this->dropshippingQty 0.00;
  621.         $this->paymentMethodCost 0.00;
  622.         $this->dropshippingCost 0.00;
  623.         $this->re 0;
  624.         $this->refund 0;
  625.         $this->fullRefund false;
  626.         $this->intracomunitario '1';
  627.         $this->stateDropshipping 0;
  628.         $this->volWeight 0;
  629.         $this->idCarrierMaster 0;
  630.         $this->quantityStockSupplier 0;
  631.         $this->quantityStockSupplier3To5 0;
  632.         $this->quantityFutureStock 0;
  633.         $this->idPack 0;
  634.         $this->passiveSubject 0;
  635.         $this->rapelAmount 0;
  636.         $this->api 0;
  637.         $this->isSystem 0;
  638.         $this->orderDetails = new ArrayCollection();
  639.         $this->invoice = new ArrayCollection();
  640.     }
  641.     /**
  642.      * @return mixed
  643.      */
  644.     public function getId()
  645.     {
  646.         return $this->id;
  647.     }
  648.     /**
  649.      * @param int $id
  650.      *
  651.      * @return Order
  652.      */
  653.     public function setId($id): Order
  654.     {
  655.         $this->id $id;
  656.         return $this;
  657.     }
  658.     /**
  659.      * @return string|null
  660.      */
  661.     public function getReference(): ?string
  662.     {
  663.         return $this->reference;
  664.     }
  665.     /**
  666.      * @param string|null $reference
  667.      *
  668.      * @return Order
  669.      */
  670.     public function setReference(?string $reference): Order
  671.     {
  672.         $this->reference $reference;
  673.         return $this;
  674.     }
  675.     /**
  676.      * @return int
  677.      */
  678.     public function getIdCarrier(): int
  679.     {
  680.         return $this->idCarrier;
  681.     }
  682.     /**
  683.      * @param int $idCarrier
  684.      *
  685.      * @return Order
  686.      */
  687.     public function setIdCarrier(int $idCarrier): Order
  688.     {
  689.         $this->idCarrier $idCarrier;
  690.         return $this;
  691.     }
  692.     /**
  693.      * @return CodeDiscount|null
  694.      */
  695.     public function getIdVoucher(): ?CodeDiscount
  696.     {
  697.         if ($this->idVoucher && $this->idVoucher->getId() === 0) {
  698.             return null;
  699.         }
  700.         return $this->idVoucher;
  701.     }
  702.     /**
  703.      * @param CodeDiscount|null $idVoucher
  704.      *
  705.      * @return Order
  706.      */
  707.     public function setIdVoucher(?CodeDiscount $idVoucher): Order
  708.     {
  709.         $this->idVoucher $idVoucher;
  710.         return $this;
  711.     }
  712.     /**
  713.      * @return int
  714.      */
  715.     public function getIdCurrency(): int
  716.     {
  717.         return $this->idCurrency;
  718.     }
  719.     /**
  720.      * @param int $idCurrency
  721.      *
  722.      * @return Order
  723.      */
  724.     public function setIdCurrency(int $idCurrency): Order
  725.     {
  726.         $this->idCurrency $idCurrency;
  727.         return $this;
  728.     }
  729.     /**
  730.      * @return Address
  731.      */
  732.     public function getDeliveryAddress(): Address
  733.     {
  734.         return $this->deliveryAddress;
  735.     }
  736.     /**
  737.      * @param Address $deliveryAddress
  738.      *
  739.      * @return Order
  740.      */
  741.     public function setDeliveryAddress(Address $deliveryAddress): Order
  742.     {
  743.         $this->deliveryAddress $deliveryAddress;
  744.         return $this;
  745.     }
  746.     /**
  747.      * @return Address
  748.      */
  749.     public function getInvoiceAddress(): Address
  750.     {
  751.         return $this->invoiceAddress;
  752.     }
  753.     /**
  754.      * @param Address $invoiceAddress
  755.      *
  756.      * @return Order
  757.      */
  758.     public function setInvoiceAddress(Address $invoiceAddress): Order
  759.     {
  760.         $this->invoiceAddress $invoiceAddress;
  761.         return $this;
  762.     }
  763.     /**
  764.      * @return Language|null
  765.      */
  766.     public function getLanguage(): ?Language
  767.     {
  768.         return $this->language;
  769.     }
  770.     /**
  771.      * @param Language|null $language
  772.      *
  773.      * @return Order
  774.      */
  775.     public function setLanguage(?Language $language): Order
  776.     {
  777.         $this->language $language;
  778.         return $this;
  779.     }
  780.     /**
  781.      * @return string
  782.      */
  783.     public function getSecureKey(): string
  784.     {
  785.         return $this->secureKey;
  786.     }
  787.     /**
  788.      * @param string $secureKey
  789.      *
  790.      * @return Order
  791.      */
  792.     public function setSecureKey(string $secureKey): Order
  793.     {
  794.         $this->secureKey $secureKey;
  795.         return $this;
  796.     }
  797.     /**
  798.      * @deprecated use getPaymentMethod method instead
  799.      */
  800.     public function getPayment(): string
  801.     {
  802.         return $this->payment;
  803.     }
  804.     /**
  805.      * @deprecated use getPaymentMethod method instead
  806.      */
  807.     public function setPayment(string $payment): Order
  808.     {
  809.         $this->payment $payment;
  810.         return $this;
  811.     }
  812.     /**
  813.      * @return float
  814.      */
  815.     public function getConversionRate(): float
  816.     {
  817.         return $this->conversionRate;
  818.     }
  819.     /**
  820.      * @param float $conversionRate
  821.      *
  822.      * @return Order
  823.      */
  824.     public function setConversionRate(float $conversionRate): Order
  825.     {
  826.         $this->conversionRate $conversionRate;
  827.         return $this;
  828.     }
  829.     /**
  830.      * @return string|null
  831.      */
  832.     public function getModule(): ?string
  833.     {
  834.         return $this->module;
  835.     }
  836.     /**
  837.      * @param string|null $module
  838.      *
  839.      * @return Order
  840.      */
  841.     public function setModule(?string $module): Order
  842.     {
  843.         $this->module $module;
  844.         return $this;
  845.     }
  846.     /**
  847.      * @return bool
  848.      */
  849.     public function isRecyclable(): bool
  850.     {
  851.         return $this->recyclable;
  852.     }
  853.     /**
  854.      * @param bool $recyclable
  855.      *
  856.      * @return Order
  857.      */
  858.     public function setRecyclable(bool $recyclable): Order
  859.     {
  860.         $this->recyclable $recyclable;
  861.         return $this;
  862.     }
  863.     /**
  864.      * @return string|null
  865.      */
  866.     public function getShippingNumber(): ?string
  867.     {
  868.         return $this->shippingNumber;
  869.     }
  870.     /**
  871.      * @param string|null $shippingNumber
  872.      *
  873.      * @return Order
  874.      */
  875.     public function setShippingNumber(?string $shippingNumber): Order
  876.     {
  877.         $this->shippingNumber $shippingNumber;
  878.         return $this;
  879.     }
  880.     /**
  881.      * @return bool
  882.      */
  883.     public function isDropshipping(): bool
  884.     {
  885.         return $this->dropshipping;
  886.     }
  887.     /**
  888.      * @param bool $dropshipping
  889.      *
  890.      * @return Order
  891.      */
  892.     public function setDropshipping(bool $dropshipping): Order
  893.     {
  894.         $this->dropshipping $dropshipping;
  895.         return $this;
  896.     }
  897.     /**
  898.      * @return float
  899.      */
  900.     public function getTotalDiscounts(): float
  901.     {
  902.         return $this->totalDiscounts;
  903.     }
  904.     /**
  905.      * @param float $totalDiscounts
  906.      *
  907.      * @return Order
  908.      */
  909.     public function setTotalDiscounts(float $totalDiscounts): Order
  910.     {
  911.         $this->totalDiscounts $totalDiscounts;
  912.         return $this;
  913.     }
  914.     /**
  915.      * @return float
  916.      */
  917.     public function getTotalDiscountsTaxIncl(): float
  918.     {
  919.         return $this->totalDiscountsTaxIncl;
  920.     }
  921.     /**
  922.      * @param float $totalDiscountsTaxIncl
  923.      *
  924.      * @return Order
  925.      */
  926.     public function setTotalDiscountsTaxIncl(float $totalDiscountsTaxIncl): Order
  927.     {
  928.         $this->totalDiscountsTaxIncl $totalDiscountsTaxIncl;
  929.         return $this;
  930.     }
  931.     /**
  932.      * @return float
  933.      */
  934.     public function getTotalDiscountsTaxExcl(): float
  935.     {
  936.         return $this->totalDiscountsTaxExcl;
  937.     }
  938.     /**
  939.      * @param float $totalDiscountsTaxExcl
  940.      *
  941.      * @return Order
  942.      */
  943.     public function setTotalDiscountsTaxExcl(float $totalDiscountsTaxExcl): Order
  944.     {
  945.         $this->totalDiscountsTaxExcl $totalDiscountsTaxExcl;
  946.         return $this;
  947.     }
  948.     /**
  949.      * @return float
  950.      */
  951.     public function getTotalPaid(): float
  952.     {
  953.         return $this->totalPaid;
  954.     }
  955.     /**
  956.      * @param float $totalPaid
  957.      *
  958.      * @return Order
  959.      */
  960.     public function setTotalPaid(float $totalPaid): Order
  961.     {
  962.         $this->totalPaid $totalPaid;
  963.         return $this;
  964.     }
  965.     /**
  966.      * @return float
  967.      */
  968.     public function getTotalPaidTaxIncl(): float
  969.     {
  970.         return $this->totalPaidTaxIncl;
  971.     }
  972.     /**
  973.      * @param float $totalPaidTaxIncl
  974.      *
  975.      * @return Order
  976.      */
  977.     public function setTotalPaidTaxIncl(float $totalPaidTaxIncl): Order
  978.     {
  979.         $this->totalPaidTaxIncl $totalPaidTaxIncl;
  980.         return $this;
  981.     }
  982.     /**
  983.      * @return float
  984.      */
  985.     public function getTotalPaidTaxExcl(): float
  986.     {
  987.         return $this->totalPaidTaxExcl;
  988.     }
  989.     /**
  990.      * @param float $totalPaidTaxExcl
  991.      *
  992.      * @return Order
  993.      */
  994.     public function setTotalPaidTaxExcl(float $totalPaidTaxExcl): Order
  995.     {
  996.         $this->totalPaidTaxExcl $totalPaidTaxExcl;
  997.         return $this;
  998.     }
  999.     /**
  1000.      * @return float
  1001.      */
  1002.     public function getTotalPaidReal(): float
  1003.     {
  1004.         return $this->totalPaidReal;
  1005.     }
  1006.     /**
  1007.      * @param float $totalPaidReal
  1008.      *
  1009.      * @return Order
  1010.      */
  1011.     public function setTotalPaidReal(float $totalPaidReal): Order
  1012.     {
  1013.         $this->totalPaidReal $totalPaidReal;
  1014.         return $this;
  1015.     }
  1016.     /**
  1017.      * @return float
  1018.      */
  1019.     public function getTotalProducts(): float
  1020.     {
  1021.         return $this->totalProducts;
  1022.     }
  1023.     /**
  1024.      * @param float $totalProducts
  1025.      *
  1026.      * @return Order
  1027.      */
  1028.     public function setTotalProducts(float $totalProducts): Order
  1029.     {
  1030.         $this->totalProducts $totalProducts;
  1031.         return $this;
  1032.     }
  1033.     /**
  1034.      * @return float
  1035.      */
  1036.     public function getTotalProductsWt(): float
  1037.     {
  1038.         return $this->totalProductsWt;
  1039.     }
  1040.     /**
  1041.      * @param float $totalProductsWt
  1042.      *
  1043.      * @return Order
  1044.      */
  1045.     public function setTotalProductsWt(float $totalProductsWt): Order
  1046.     {
  1047.         $this->totalProductsWt $totalProductsWt;
  1048.         return $this;
  1049.     }
  1050.     /**
  1051.      * @return float
  1052.      */
  1053.     public function getTotalShipping(): float
  1054.     {
  1055.         return $this->totalShipping;
  1056.     }
  1057.     /**
  1058.      * @param float $totalShipping
  1059.      *
  1060.      * @return Order
  1061.      */
  1062.     public function setTotalShipping(float $totalShipping): Order
  1063.     {
  1064.         $this->totalShipping $totalShipping;
  1065.         return $this;
  1066.     }
  1067.     /**
  1068.      * @return float
  1069.      */
  1070.     public function getTotalShippingTaxIncl(): float
  1071.     {
  1072.         return $this->totalShippingTaxIncl;
  1073.     }
  1074.     /**
  1075.      * @param float $totalShippingTaxIncl
  1076.      *
  1077.      * @return Order
  1078.      */
  1079.     public function setTotalShippingTaxIncl(float $totalShippingTaxIncl): Order
  1080.     {
  1081.         $this->totalShippingTaxIncl $totalShippingTaxIncl;
  1082.         return $this;
  1083.     }
  1084.     /**
  1085.      * @return float
  1086.      */
  1087.     public function getTotalShippingTaxExcl(): float
  1088.     {
  1089.         return $this->totalShippingTaxExcl;
  1090.     }
  1091.     /**
  1092.      * @param float $totalShippingTaxExcl
  1093.      *
  1094.      * @return Order
  1095.      */
  1096.     public function setTotalShippingTaxExcl(float $totalShippingTaxExcl): Order
  1097.     {
  1098.         $this->totalShippingTaxExcl $totalShippingTaxExcl;
  1099.         return $this;
  1100.     }
  1101.     /**
  1102.      * @return float
  1103.      */
  1104.     public function getCarrierTaxRate(): float
  1105.     {
  1106.         return $this->carrierTaxRate;
  1107.     }
  1108.     /**
  1109.      * @param float $carrierTaxRate
  1110.      *
  1111.      * @return Order
  1112.      */
  1113.     public function setCarrierTaxRate(float $carrierTaxRate): Order
  1114.     {
  1115.         $this->carrierTaxRate $carrierTaxRate;
  1116.         return $this;
  1117.     }
  1118.     /**
  1119.      * @return float
  1120.      */
  1121.     public function getTotalWrapping(): float
  1122.     {
  1123.         return $this->totalWrapping;
  1124.     }
  1125.     /**
  1126.      * @param float $totalWrapping
  1127.      *
  1128.      * @return Order
  1129.      */
  1130.     public function setTotalWrapping(float $totalWrapping): Order
  1131.     {
  1132.         $this->totalWrapping $totalWrapping;
  1133.         return $this;
  1134.     }
  1135.     /**
  1136.      * @return float
  1137.      */
  1138.     public function getTotalWrappingTaxIncl(): float
  1139.     {
  1140.         return $this->totalWrappingTaxIncl;
  1141.     }
  1142.     /**
  1143.      * @param float $totalWrappingTaxIncl
  1144.      *
  1145.      * @return Order
  1146.      */
  1147.     public function setTotalWrappingTaxIncl(float $totalWrappingTaxIncl): Order
  1148.     {
  1149.         $this->totalWrappingTaxIncl $totalWrappingTaxIncl;
  1150.         return $this;
  1151.     }
  1152.     /**
  1153.      * @return float
  1154.      */
  1155.     public function getTotalWrappingTaxExcl(): float
  1156.     {
  1157.         return $this->totalWrappingTaxExcl;
  1158.     }
  1159.     /**
  1160.      * @param float $totalWrappingTaxExcl
  1161.      *
  1162.      * @return Order
  1163.      */
  1164.     public function setTotalWrappingTaxExcl(float $totalWrappingTaxExcl): Order
  1165.     {
  1166.         $this->totalWrappingTaxExcl $totalWrappingTaxExcl;
  1167.         return $this;
  1168.     }
  1169.     /**
  1170.      * @return int|null
  1171.      */
  1172.     public function getInvoiceNumber(): ?int
  1173.     {
  1174.         return $this->invoiceNumber;
  1175.     }
  1176.     /**
  1177.      * @param int|null $invoiceNumber
  1178.      *
  1179.      * @return Order
  1180.      */
  1181.     public function setInvoiceNumber(?int $invoiceNumber): Order
  1182.     {
  1183.         $this->invoiceNumber $invoiceNumber;
  1184.         return $this;
  1185.     }
  1186.     /**
  1187.      * @return int
  1188.      */
  1189.     public function getDeliveryNumber(): int
  1190.     {
  1191.         return $this->deliveryNumber;
  1192.     }
  1193.     /**
  1194.      * @param int $deliveryNumber
  1195.      *
  1196.      * @return Order
  1197.      */
  1198.     public function setDeliveryNumber(int $deliveryNumber): Order
  1199.     {
  1200.         $this->deliveryNumber $deliveryNumber;
  1201.         return $this;
  1202.     }
  1203.     /**
  1204.      * @return \DateTime|null
  1205.      */
  1206.     public function getInvoiceDate(): ?\DateTime
  1207.     {
  1208.         return $this->invoiceDate;
  1209.     }
  1210.     /**
  1211.      * @param \DateTime|null $invoiceDate
  1212.      *
  1213.      * @return Order
  1214.      */
  1215.     public function setInvoiceDate(?\DateTime $invoiceDate): Order
  1216.     {
  1217.         $this->invoiceDate $invoiceDate;
  1218.         return $this;
  1219.     }
  1220.     /**
  1221.      * @return \DateTime|null
  1222.      */
  1223.     public function getDeliveryDate(): ?\DateTime
  1224.     {
  1225.         return $this->deliveryDate;
  1226.     }
  1227.     /**
  1228.      * @param \DateTime|null $deliveryDate
  1229.      *
  1230.      * @return Order
  1231.      */
  1232.     public function setDeliveryDate(?\DateTime $deliveryDate): Order
  1233.     {
  1234.         $this->deliveryDate $deliveryDate;
  1235.         return $this;
  1236.     }
  1237.     /**
  1238.      * @return int
  1239.      */
  1240.     public function getValid(): int
  1241.     {
  1242.         return $this->valid;
  1243.     }
  1244.     /**
  1245.      * @param int $valid
  1246.      *
  1247.      * @return Order
  1248.      */
  1249.     public function setValid(int $valid): Order
  1250.     {
  1251.         $this->valid $valid;
  1252.         return $this;
  1253.     }
  1254.     /**
  1255.      * @return bool
  1256.      */
  1257.     public function isValidateTransfer(): bool
  1258.     {
  1259.         return $this->validateTransfer;
  1260.     }
  1261.     /**
  1262.      * @param bool $validateTransfer
  1263.      *
  1264.      * @return Order
  1265.      */
  1266.     public function setValidateTransfer(bool $validateTransfer): Order
  1267.     {
  1268.         $this->validateTransfer $validateTransfer;
  1269.         return $this;
  1270.     }
  1271.     /**
  1272.      * @return string|null
  1273.      */
  1274.     public function getRefOrderSupplier(): ?string
  1275.     {
  1276.         return $this->refOrderSupplier;
  1277.     }
  1278.     /**
  1279.      * @param string|null $refOrderSupplier
  1280.      *
  1281.      * @return Order
  1282.      */
  1283.     public function setRefOrderSupplier(?string $refOrderSupplier): Order
  1284.     {
  1285.         $this->refOrderSupplier $refOrderSupplier;
  1286.         return $this;
  1287.     }
  1288.     /**
  1289.      * @return \DateTime
  1290.      */
  1291.     public function getDateAdd(): \DateTime
  1292.     {
  1293.         return $this->dateAdd;
  1294.     }
  1295.     /**
  1296.      * @param \DateTime $dateAdd
  1297.      *
  1298.      * @return Order
  1299.      */
  1300.     public function setDateAdd(\DateTime $dateAdd): Order
  1301.     {
  1302.         $this->dateAdd $dateAdd;
  1303.         return $this;
  1304.     }
  1305.     /**
  1306.      * @return \DateTime
  1307.      */
  1308.     public function getDateUpd(): \DateTime
  1309.     {
  1310.         return $this->dateUpd;
  1311.     }
  1312.     /**
  1313.      * @param \DateTime $dateUpd
  1314.      *
  1315.      * @return Order
  1316.      */
  1317.     public function setDateUpd(\DateTime $dateUpd): Order
  1318.     {
  1319.         $this->dateUpd $dateUpd;
  1320.         return $this;
  1321.     }
  1322.     /**
  1323.      * @return float
  1324.      */
  1325.     public function getPurse(): float
  1326.     {
  1327.         return $this->purse;
  1328.     }
  1329.     /**
  1330.      * @param float $purse
  1331.      *
  1332.      * @return Order
  1333.      */
  1334.     public function setPurse(float $purse): Order
  1335.     {
  1336.         $this->purse $purse;
  1337.         return $this;
  1338.     }
  1339.     /**
  1340.      * @return float
  1341.      */
  1342.     public function getDropshippingQty(): float
  1343.     {
  1344.         return $this->dropshippingQty;
  1345.     }
  1346.     /**
  1347.      * @param float $dropshippingQty
  1348.      *
  1349.      * @return Order
  1350.      */
  1351.     public function setDropshippingQty(float $dropshippingQty): Order
  1352.     {
  1353.         $this->dropshippingQty $dropshippingQty;
  1354.         return $this;
  1355.     }
  1356.     /**
  1357.      * @return float
  1358.      */
  1359.     public function getPaymentMethodCost(): float
  1360.     {
  1361.         return $this->paymentMethodCost;
  1362.     }
  1363.     /**
  1364.      * @param float $paymentMethodCost
  1365.      *
  1366.      * @return Order
  1367.      */
  1368.     public function setPaymentMethodCost(float $paymentMethodCost): Order
  1369.     {
  1370.         $this->paymentMethodCost $paymentMethodCost;
  1371.         return $this;
  1372.     }
  1373.     /**
  1374.      * @return float
  1375.      */
  1376.     public function getDropshippingCost(): float
  1377.     {
  1378.         return $this->dropshippingCost;
  1379.     }
  1380.     /**
  1381.      * @param float $dropshippingCost
  1382.      *
  1383.      * @return Order
  1384.      */
  1385.     public function setDropshippingCost(float $dropshippingCost): Order
  1386.     {
  1387.         $this->dropshippingCost $dropshippingCost;
  1388.         return $this;
  1389.     }
  1390.     /**
  1391.      * @return bool
  1392.      */
  1393.     public function isRe(): bool
  1394.     {
  1395.         return $this->re;
  1396.     }
  1397.     /**
  1398.      * @param bool $re
  1399.      *
  1400.      * @return Order
  1401.      */
  1402.     public function setRe(bool $re): Order
  1403.     {
  1404.         $this->re $re;
  1405.         return $this;
  1406.     }
  1407.     /**
  1408.      * @return string|null
  1409.      */
  1410.     public function getTransactionId(): ?string
  1411.     {
  1412.         return $this->transactionId;
  1413.     }
  1414.     /**
  1415.      * @param string|null $transactionId
  1416.      *
  1417.      * @return Order
  1418.      */
  1419.     public function setTransactionId(?string $transactionId): Order
  1420.     {
  1421.         $this->transactionId $transactionId;
  1422.         return $this;
  1423.     }
  1424.     /**
  1425.      * @return string|null
  1426.      */
  1427.     public function getCommentCarrier(): ?string
  1428.     {
  1429.         return $this->commentCarrier;
  1430.     }
  1431.     /**
  1432.      * @param string|null $commentCarrier
  1433.      *
  1434.      * @return Order
  1435.      */
  1436.     public function setCommentCarrier(?string $commentCarrier): Order
  1437.     {
  1438.         $this->commentCarrier $commentCarrier;
  1439.         return $this;
  1440.     }
  1441.     /**
  1442.      * @return bool|null
  1443.      */
  1444.     public function getRefund(): ?bool
  1445.     {
  1446.         return $this->refund;
  1447.     }
  1448.     /**
  1449.      * @param bool|null $refund
  1450.      *
  1451.      * @return Order
  1452.      */
  1453.     public function setRefund(?bool $refund): Order
  1454.     {
  1455.         $this->refund $refund;
  1456.         return $this;
  1457.     }
  1458.     /**
  1459.      * @return string|null
  1460.      */
  1461.     public function getIntracomunitario(): ?string
  1462.     {
  1463.         return $this->intracomunitario;
  1464.     }
  1465.     /**
  1466.      * @param string|null $intracomunitario
  1467.      *
  1468.      * @return Order
  1469.      */
  1470.     public function setIntracomunitario(?string $intracomunitario): Order
  1471.     {
  1472.         $this->intracomunitario $intracomunitario;
  1473.         return $this;
  1474.     }
  1475.     /**
  1476.      * @return bool|null
  1477.      */
  1478.     public function getIsTracking(): ?bool
  1479.     {
  1480.         return $this->isTracking;
  1481.     }
  1482.     /**
  1483.      * @param bool|null $isTracking
  1484.      *
  1485.      * @return Order
  1486.      */
  1487.     public function setIsTracking(?bool $isTracking): Order
  1488.     {
  1489.         $this->isTracking $isTracking;
  1490.         return $this;
  1491.     }
  1492.     public function getStateDropshipping(): ?int
  1493.     {
  1494.         return $this->stateDropshipping;
  1495.     }
  1496.     public function setStateDropshipping(?int $stateDropshipping): Order
  1497.     {
  1498.         $this->stateDropshipping $stateDropshipping;
  1499.         return $this;
  1500.     }
  1501.     /**
  1502.      * @return float|null
  1503.      */
  1504.     public function getVolWeight(): ?float
  1505.     {
  1506.         return $this->volWeight;
  1507.     }
  1508.     /**
  1509.      * @param float|null $volWeight
  1510.      *
  1511.      * @return Order
  1512.      */
  1513.     public function setVolWeight(?float $volWeight): Order
  1514.     {
  1515.         $this->volWeight $volWeight;
  1516.         return $this;
  1517.     }
  1518.     /**
  1519.      * @return int|null
  1520.      */
  1521.     public function getIdCarrierMaster(): ?int
  1522.     {
  1523.         return $this->idCarrierMaster;
  1524.     }
  1525.     /**
  1526.      * @param int|null $idCarrierMaster
  1527.      *
  1528.      * @return Order
  1529.      */
  1530.     public function setIdCarrierMaster(?int $idCarrierMaster): Order
  1531.     {
  1532.         $this->idCarrierMaster $idCarrierMaster;
  1533.         return $this;
  1534.     }
  1535.     /**
  1536.      * @return string|null
  1537.      */
  1538.     public function getIdOrderParent(): ?string
  1539.     {
  1540.         return $this->idOrderParent;
  1541.     }
  1542.     /**
  1543.      * @param string|null $idOrderParent
  1544.      *
  1545.      * @return Order
  1546.      */
  1547.     public function setIdOrderParent(?string $idOrderParent): Order
  1548.     {
  1549.         $this->idOrderParent $idOrderParent;
  1550.         return $this;
  1551.     }
  1552.     /**
  1553.      * @return bool|null
  1554.      */
  1555.     public function getQuantityStockSupplier(): ?bool
  1556.     {
  1557.         return $this->quantityStockSupplier;
  1558.     }
  1559.     /**
  1560.      * @param bool|null $quantityStockSupplier
  1561.      *
  1562.      * @return Order
  1563.      */
  1564.     public function setQuantityStockSupplier(?bool $quantityStockSupplier): Order
  1565.     {
  1566.         $this->quantityStockSupplier $quantityStockSupplier;
  1567.         return $this;
  1568.     }
  1569.     /**
  1570.      * @return bool|null
  1571.      */
  1572.     public function getQuantityFutureStock(): ?bool
  1573.     {
  1574.         return $this->quantityFutureStock;
  1575.     }
  1576.     /**
  1577.      * @param bool|null $quantityFutureStock
  1578.      *
  1579.      * @return Order
  1580.      */
  1581.     public function setQuantityFutureStock(?bool $quantityFutureStock): Order
  1582.     {
  1583.         $this->quantityFutureStock $quantityFutureStock;
  1584.         return $this;
  1585.     }
  1586.     /**
  1587.      * @return int|null
  1588.      */
  1589.     public function getIdPack(): ?int
  1590.     {
  1591.         return $this->idPack;
  1592.     }
  1593.     /**
  1594.      * @param int|null $idPack
  1595.      *
  1596.      * @return Order
  1597.      */
  1598.     public function setIdPack(?int $idPack): Order
  1599.     {
  1600.         $this->idPack $idPack;
  1601.         return $this;
  1602.     }
  1603.     /**
  1604.      * @return \DateTime|null
  1605.      */
  1606.     public function getDeliveredDate(): ?\DateTime
  1607.     {
  1608.         return $this->deliveredDate;
  1609.     }
  1610.     /**
  1611.      * @param \DateTime|null $deliveredDate
  1612.      *
  1613.      * @return Order
  1614.      */
  1615.     public function setDeliveredDate(?\DateTime $deliveredDate): Order
  1616.     {
  1617.         $this->deliveredDate $deliveredDate;
  1618.         return $this;
  1619.     }
  1620.     /**
  1621.      * @return bool|null
  1622.      */
  1623.     public function getPassiveSubject(): ?bool
  1624.     {
  1625.         return $this->passiveSubject;
  1626.     }
  1627.     /**
  1628.      * @param bool|null $passiveSubject
  1629.      *
  1630.      * @return Order
  1631.      */
  1632.     public function setPassiveSubject(?bool $passiveSubject): Order
  1633.     {
  1634.         $this->passiveSubject $passiveSubject;
  1635.         return $this;
  1636.     }
  1637.     /**
  1638.      * @return float|null
  1639.      */
  1640.     public function getRapelAmount(): ?float
  1641.     {
  1642.         return $this->rapelAmount;
  1643.     }
  1644.     /**
  1645.      * @param float|null $rapelAmount
  1646.      *
  1647.      * @return Order
  1648.      */
  1649.     public function setRapelAmount(?float $rapelAmount): Order
  1650.     {
  1651.         $this->rapelAmount $rapelAmount;
  1652.         return $this;
  1653.     }
  1654.     /**
  1655.      * @return bool|null
  1656.      */
  1657.     public function getApi(): ?bool
  1658.     {
  1659.         return $this->api;
  1660.     }
  1661.     /**
  1662.      * @param bool|null $api
  1663.      *
  1664.      * @return Order
  1665.      */
  1666.     public function setApi(?bool $api): Order
  1667.     {
  1668.         $this->api $api;
  1669.         return $this;
  1670.     }
  1671.     /**
  1672.      * @return bool|null
  1673.      */
  1674.     public function getIsSystem(): ?bool
  1675.     {
  1676.         return $this->isSystem;
  1677.     }
  1678.     /**
  1679.      * @param bool|null $isSystem
  1680.      *
  1681.      * @return Order
  1682.      */
  1683.     public function setIsSystem(?bool $isSystem): Order
  1684.     {
  1685.         $this->isSystem $isSystem;
  1686.         return $this;
  1687.     }
  1688.     /**
  1689.      * @return string|null
  1690.      */
  1691.     public function getSellingChannel(): ?string
  1692.     {
  1693.         return $this->sellingChannel;
  1694.     }
  1695.     /**
  1696.      * @param string|null $sellingChannel
  1697.      *
  1698.      * @return Order
  1699.      */
  1700.     public function setSellingChannel(?string $sellingChannel): Order
  1701.     {
  1702.         $this->sellingChannel $sellingChannel;
  1703.         return $this;
  1704.     }
  1705.     /**
  1706.      * @return \DateTime|null
  1707.      */
  1708.     public function getDateAmazon(): ?\DateTime
  1709.     {
  1710.         return $this->dateAmazon;
  1711.     }
  1712.     /**
  1713.      * @param \DateTime|null $dateAmazon
  1714.      *
  1715.      * @return Order
  1716.      */
  1717.     public function setDateAmazon(?\DateTime $dateAmazon): Order
  1718.     {
  1719.         $this->dateAmazon $dateAmazon;
  1720.         return $this;
  1721.     }
  1722.     /**
  1723.      * @return string|null
  1724.      */
  1725.     public function getAdditionalParameters(): ?string
  1726.     {
  1727.         return $this->additionalParameters;
  1728.     }
  1729.     /**
  1730.      * @param string|null $additionalParameters
  1731.      *
  1732.      * @return Order
  1733.      */
  1734.     public function setAdditionalParameters(?string $additionalParameters): Order
  1735.     {
  1736.         $this->additionalParameters $additionalParameters;
  1737.         return $this;
  1738.     }
  1739.     /**
  1740.      * @return OrderDetail[]|ArrayCollection<OrderDetail>
  1741.      */
  1742.     public function getOrderDetails()
  1743.     {
  1744.         return $this->orderDetails;
  1745.     }
  1746.     /**
  1747.      * @param OrderDetail[] $orderDetails
  1748.      *
  1749.      * @return Order
  1750.      */
  1751.     public function setOrderDetails(array $orderDetails): Order
  1752.     {
  1753.         $this->orderDetails $orderDetails;
  1754.         return $this;
  1755.     }
  1756.     public function addOrderDetail(OrderDetail $orderDetail): Order
  1757.     {
  1758.         if (!$this->orderDetails->contains($orderDetail)) {
  1759.             $this->orderDetails[] = $orderDetail;
  1760.         }
  1761.         return $this;
  1762.     }
  1763.     public function getCustomer(): ?Customer
  1764.     {
  1765.         return $this->customer;
  1766.     }
  1767.     public function setCustomer(?Customer $customer): self
  1768.     {
  1769.         $this->customer $customer;
  1770.         return $this;
  1771.     }
  1772.     /**
  1773.      * @return \DateTime|null
  1774.      */
  1775.     public function getEstimatedShippingDate(): ?\DateTime
  1776.     {
  1777.         return $this->estimatedShippingDate;
  1778.     }
  1779.     /**
  1780.      * @param \DateTime|null $estimatedShippingDate
  1781.      *
  1782.      * @return Order
  1783.      */
  1784.     public function setEstimatedShippingDate(?\DateTime $estimatedShippingDate): self
  1785.     {
  1786.         $this->estimatedShippingDate $estimatedShippingDate;
  1787.         return $this;
  1788.     }
  1789.     /**
  1790.      * @return string|null
  1791.      */
  1792.     public function getA4bUuid(): ?string
  1793.     {
  1794.         return $this->a4bUuid;
  1795.     }
  1796.     /**
  1797.      * @param string|null $a4bUuid
  1798.      *
  1799.      * @return Order
  1800.      */
  1801.     public function setA4bUuid(?string $a4bUuid): self
  1802.     {
  1803.         $this->a4bUuid $a4bUuid;
  1804.         return $this;
  1805.     }
  1806.     /**
  1807.      * @return bool|null
  1808.      */
  1809.     public function getDispute(): ?bool
  1810.     {
  1811.         return $this->dispute;
  1812.     }
  1813.     /**
  1814.      * @param bool|null $dispute
  1815.      *
  1816.      * @return Order
  1817.      */
  1818.     public function setDispute(?bool $dispute): self
  1819.     {
  1820.         $this->dispute $dispute;
  1821.         return $this;
  1822.     }
  1823.     /**
  1824.      * @return int
  1825.      */
  1826.     public function getOrderStatus(): int
  1827.     {
  1828.         return $this->orderStatus;
  1829.     }
  1830.     /**
  1831.      * @param int $orderStatus
  1832.      *
  1833.      * @return Order
  1834.      */
  1835.     public function setOrderStatus(int $orderStatus): self
  1836.     {
  1837.         $this->orderStatus $orderStatus;
  1838.         return $this;
  1839.     }
  1840.     /**
  1841.      * @return Cart|null
  1842.      */
  1843.     public function getCart(): ?Cart
  1844.     {
  1845.         return $this->cart;
  1846.     }
  1847.     /**
  1848.      * @param Cart|null $cart
  1849.      *
  1850.      * @return Order
  1851.      */
  1852.     public function setCart(?Cart $cart): Order
  1853.     {
  1854.         $this->cart $cart;
  1855.         return $this;
  1856.     }
  1857.     /**
  1858.      * @return Warehouse
  1859.      */
  1860.     public function getWarehouse(): Warehouse
  1861.     {
  1862.         return $this->warehouse;
  1863.     }
  1864.     /**
  1865.      * @param Warehouse $warehouse
  1866.      *
  1867.      * @return Order
  1868.      */
  1869.     public function setWarehouse(Warehouse $warehouse): self
  1870.     {
  1871.         $this->warehouse $warehouse;
  1872.         return $this;
  1873.     }
  1874.     /**
  1875.      * @return Collection|Invoice[]
  1876.      */
  1877.     public function getInvoice(): Collection
  1878.     {
  1879.         return $this->invoice;
  1880.     }
  1881.     /**
  1882.      * @return bool|null
  1883.      */
  1884.     public function getQuantityStockSupplier3To5(): ?bool
  1885.     {
  1886.         return $this->quantityStockSupplier3To5;
  1887.     }
  1888.     /**
  1889.      * @param bool|null $quantityStockSupplier3To5
  1890.      */
  1891.     public function setQuantityStockSupplier3To5(?bool $quantityStockSupplier3To5): void
  1892.     {
  1893.         $this->quantityStockSupplier3To5 $quantityStockSupplier3To5;
  1894.     }
  1895.     /**
  1896.      * @deprecated use getPaymentMethod method instead
  1897.      */
  1898.     public function getPaymentMethodType(): ?string
  1899.     {
  1900.         return $this->paymentMethodType;
  1901.     }
  1902.     /**
  1903.      * @deprecated use getPaymentMethod method  instead
  1904.      */
  1905.     public function setPaymentMethodType(?string $paymentMethodType): void
  1906.     {
  1907.         $this->paymentMethodType $paymentMethodType;
  1908.     }
  1909.     public function getPaypalPayerId(): ?string
  1910.     {
  1911.         return $this->paypalPayerId;
  1912.     }
  1913.     public function setPaypalPayerId(?string $paypalPayerId): Order
  1914.     {
  1915.         $this->paypalPayerId $paypalPayerId;
  1916.         return $this;
  1917.     }
  1918.     public function getPaypalPayerEmail(): ?string
  1919.     {
  1920.         return $this->paypalPayerEmail;
  1921.     }
  1922.     public function setPaypalPayerEmail(?string $paypalPayerEmail): Order
  1923.     {
  1924.         $this->paypalPayerEmail $paypalPayerEmail;
  1925.         return $this;
  1926.     }
  1927.     public function getOrderTax(): ?OrderTax
  1928.     {
  1929.         return $this->orderTax;
  1930.     }
  1931.     public function setOrderTax(float $orderTax): Order
  1932.     {
  1933.         $this->orderTax $orderTax;
  1934.         return $this;
  1935.     }
  1936.     public function getDropshipping(): bool
  1937.     {
  1938.         return $this->dropshipping;
  1939.     }
  1940.     public function isFba(): bool
  1941.     {
  1942.         return $this->fba;
  1943.     }
  1944.     public function setFba(bool $fba): Order
  1945.     {
  1946.         $this->fba $fba;
  1947.         return $this;
  1948.     }
  1949.     public function getPaymentMethodTypeToOdoo(): ?string
  1950.     {
  1951.         if ($this->getPaymentMethodType() === 'mc') {
  1952.             return 'mastercard';
  1953.         }
  1954.         return $this->getPaymentMethodType();
  1955.     }
  1956.     public function getMaxExpeditionDatetime(): ?\DateTime
  1957.     {
  1958.         return $this->maxExpeditionDatetime;
  1959.     }
  1960.     public function setMaxExpeditionDatetime(\DateTime $maxExpeditionDatetime): Order
  1961.     {
  1962.         $this->maxExpeditionDatetime $maxExpeditionDatetime;
  1963.         return $this;
  1964.     }
  1965.     public function getMaxDeliveryDatetime(): ?\DateTime
  1966.     {
  1967.         return $this->maxDeliveryDatetime;
  1968.     }
  1969.     public function setMaxDeliveryDatetime(\DateTime $maxDeliveryDatetime): Order
  1970.     {
  1971.         $this->maxDeliveryDatetime $maxDeliveryDatetime;
  1972.         return $this;
  1973.     }
  1974.     public function getFullRefund(): bool
  1975.     {
  1976.         return $this->fullRefund;
  1977.     }
  1978.     public function setFullRefund(bool $fullRefund): Order
  1979.     {
  1980.         $this->fullRefund $fullRefund;
  1981.         return $this;
  1982.     }
  1983.     public function getLogisticWeight(): ?float
  1984.     {
  1985.         return $this->logisticWeight;
  1986.     }
  1987.     public function setLogisticWeight(?float $logisticWeight): void
  1988.     {
  1989.         $this->logisticWeight $logisticWeight;
  1990.     }
  1991.     public function getScheduledConfirmationDate(): ?\DateTime
  1992.     {
  1993.         if (null === $this->scheduledConfirmationDate) {
  1994.             return null;
  1995.         }
  1996.         if ((int)$this->scheduledConfirmationDate->format('Y') <= 0) {
  1997.             // 0000-00-00 00:00:00 dates
  1998.             return null;
  1999.         }
  2000.         return $this->scheduledConfirmationDate;
  2001.     }
  2002.     public function setScheduledConfirmationDate(?\DateTime $scheduledConfirmationDate): void
  2003.     {
  2004.         $this->scheduledConfirmationDate $scheduledConfirmationDate;
  2005.     }
  2006.     public function getCancellationRequestDate(): ?\DateTime
  2007.     {
  2008.         if (null === $this->cancellationRequestDate) {
  2009.             return null;
  2010.         }
  2011.         if ((int)$this->cancellationRequestDate->format('Y') <= 0) {
  2012.             // 0000-00-00 00:00:00 dates
  2013.             return null;
  2014.         }
  2015.         return $this->cancellationRequestDate;
  2016.     }
  2017.     public function setCancellationRequestDate(?\DateTime $cancellationRequestDate): void
  2018.     {
  2019.         $this->cancellationRequestDate $cancellationRequestDate;
  2020.     }
  2021.     public function getCancellationRequest(): ?OrderCancellationRequest
  2022.     {
  2023.         return $this->cancellationRequest;
  2024.     }
  2025.     public function setCancellationRequest(?OrderCancellationRequest $cancellationRequest): void
  2026.     {
  2027.         $this->cancellationRequest $cancellationRequest;
  2028.     }
  2029.     public function getNotification(): ?OrderNotification
  2030.     {
  2031.         return $this->notification;
  2032.     }
  2033.     public function setNotification(?OrderNotification $notification): void
  2034.     {
  2035.         $this->notification $notification;
  2036.     }
  2037.     public function getPaymentMethod(): ?PaymentMethod
  2038.     {
  2039.         return $this->paymentMethod;
  2040.     }
  2041.     public function setPaymentMethod(?PaymentMethod $paymentMethod): void
  2042.     {
  2043.         $this->paymentMethod $paymentMethod;
  2044.     }
  2045.     public function markAsRefunded(bool $isFullRefund): void
  2046.     {
  2047.         $this->refund true;
  2048.         $this->fullRefund $isFullRefund;
  2049.         $this->dateUpd = new \DateTime();
  2050.     }
  2051. }