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.      * @var PaymentMethod
  586.      *
  587.      * @ORM\ManyToOne(targetEntity="App\Entity\System\PaymentMethod")
  588.      *
  589.      * @ORM\JoinColumn(name="payment_method", referencedColumnName="id_payment_method")
  590.      */
  591.     private $paymentMethod;
  592.     /**
  593.      * Order constructor.
  594.      */
  595.     public function __construct()
  596.     {
  597.         $this->secureKey = -1;
  598.         $this->conversionRate 1.000000;
  599.         $this->recyclable 0;
  600.         $this->dropshipping 0;
  601.         $this->totalDiscounts 0.00;
  602.         $this->totalDiscountsTaxIncl 0.00;
  603.         $this->totalDiscountsTaxExcl 0.00;
  604.         $this->totalPaid 0.00;
  605.         $this->totalPaidTaxIncl 0.00;
  606.         $this->totalPaidTaxExcl 0.00;
  607.         $this->totalPaidReal 0.00;
  608.         $this->totalProducts 0.00;
  609.         $this->totalProductsWt 0.00;
  610.         $this->totalShipping 0.00;
  611.         $this->totalShippingTaxIncl 0.00;
  612.         $this->totalShippingTaxExcl 0.00;
  613.         $this->carrierTaxRate 0.000;
  614.         $this->totalWrapping 0.00;
  615.         $this->totalWrappingTaxIncl 0.00;
  616.         $this->totalWrappingTaxExcl 0.00;
  617.         $this->invoiceNumber 0;
  618.         $this->deliveryNumber 0;
  619.         $this->valid 0;
  620.         $this->validateTransfer 0;
  621.         $this->purse 0.00;
  622.         $this->dropshippingQty 0.00;
  623.         $this->paymentMethodCost 0.00;
  624.         $this->dropshippingCost 0.00;
  625.         $this->re 0;
  626.         $this->refund 0;
  627.         $this->fullRefund false;
  628.         $this->intracomunitario '1';
  629.         $this->stateDropshipping 0;
  630.         $this->volWeight 0;
  631.         $this->idCarrierMaster 0;
  632.         $this->quantityStockSupplier 0;
  633.         $this->quantityStockSupplier3To5 0;
  634.         $this->quantityFutureStock 0;
  635.         $this->idPack Pack::PACK_WITHOUT_PACK;
  636.         $this->passiveSubject 0;
  637.         $this->rapelAmount 0;
  638.         $this->api 0;
  639.         $this->isSystem 0;
  640.         $this->orderDetails = new ArrayCollection();
  641.         $this->invoice = new ArrayCollection();
  642.     }
  643.     /**
  644.      * @return mixed
  645.      */
  646.     public function getId()
  647.     {
  648.         return $this->id;
  649.     }
  650.     /**
  651.      * @param int $id
  652.      *
  653.      * @return Order
  654.      */
  655.     public function setId($id): Order
  656.     {
  657.         $this->id $id;
  658.         return $this;
  659.     }
  660.     /**
  661.      * @return string|null
  662.      */
  663.     public function getReference(): ?string
  664.     {
  665.         return $this->reference;
  666.     }
  667.     /**
  668.      * @param string|null $reference
  669.      *
  670.      * @return Order
  671.      */
  672.     public function setReference(?string $reference): Order
  673.     {
  674.         $this->reference $reference;
  675.         return $this;
  676.     }
  677.     /**
  678.      * @return int
  679.      */
  680.     public function getIdCarrier(): int
  681.     {
  682.         return $this->idCarrier;
  683.     }
  684.     /**
  685.      * @param int $idCarrier
  686.      *
  687.      * @return Order
  688.      */
  689.     public function setIdCarrier(int $idCarrier): Order
  690.     {
  691.         $this->idCarrier $idCarrier;
  692.         return $this;
  693.     }
  694.     /**
  695.      * @return CodeDiscount|null
  696.      */
  697.     public function getIdVoucher(): ?CodeDiscount
  698.     {
  699.         if ($this->idVoucher && $this->idVoucher->getId() === 0) {
  700.             return null;
  701.         }
  702.         return $this->idVoucher;
  703.     }
  704.     /**
  705.      * @param CodeDiscount|null $idVoucher
  706.      *
  707.      * @return Order
  708.      */
  709.     public function setIdVoucher(?CodeDiscount $idVoucher): Order
  710.     {
  711.         $this->idVoucher $idVoucher;
  712.         return $this;
  713.     }
  714.     /**
  715.      * @return int
  716.      */
  717.     public function getIdCurrency(): int
  718.     {
  719.         return $this->idCurrency;
  720.     }
  721.     /**
  722.      * @param int $idCurrency
  723.      *
  724.      * @return Order
  725.      */
  726.     public function setIdCurrency(int $idCurrency): Order
  727.     {
  728.         $this->idCurrency $idCurrency;
  729.         return $this;
  730.     }
  731.     /**
  732.      * @return Address
  733.      */
  734.     public function getDeliveryAddress(): Address
  735.     {
  736.         return $this->deliveryAddress;
  737.     }
  738.     /**
  739.      * @param Address $deliveryAddress
  740.      *
  741.      * @return Order
  742.      */
  743.     public function setDeliveryAddress(Address $deliveryAddress): Order
  744.     {
  745.         $this->deliveryAddress $deliveryAddress;
  746.         return $this;
  747.     }
  748.     /**
  749.      * @return Address
  750.      */
  751.     public function getInvoiceAddress(): Address
  752.     {
  753.         return $this->invoiceAddress;
  754.     }
  755.     /**
  756.      * @param Address $invoiceAddress
  757.      *
  758.      * @return Order
  759.      */
  760.     public function setInvoiceAddress(Address $invoiceAddress): Order
  761.     {
  762.         $this->invoiceAddress $invoiceAddress;
  763.         return $this;
  764.     }
  765.     /**
  766.      * @return Language|null
  767.      */
  768.     public function getLanguage(): ?Language
  769.     {
  770.         return $this->language;
  771.     }
  772.     /**
  773.      * @param Language|null $language
  774.      *
  775.      * @return Order
  776.      */
  777.     public function setLanguage(?Language $language): Order
  778.     {
  779.         $this->language $language;
  780.         return $this;
  781.     }
  782.     /**
  783.      * @return string
  784.      */
  785.     public function getSecureKey(): string
  786.     {
  787.         return $this->secureKey;
  788.     }
  789.     /**
  790.      * @param string $secureKey
  791.      *
  792.      * @return Order
  793.      */
  794.     public function setSecureKey(string $secureKey): Order
  795.     {
  796.         $this->secureKey $secureKey;
  797.         return $this;
  798.     }
  799.     /**
  800.      * @deprecated use getPaymentMethod method instead
  801.      */
  802.     public function getPayment(): string
  803.     {
  804.         return $this->payment;
  805.     }
  806.     /**
  807.      * @deprecated use getPaymentMethod method instead
  808.      */
  809.     public function setPayment(string $payment): Order
  810.     {
  811.         $this->payment $payment;
  812.         return $this;
  813.     }
  814.     /**
  815.      * @return float
  816.      */
  817.     public function getConversionRate(): float
  818.     {
  819.         return $this->conversionRate;
  820.     }
  821.     /**
  822.      * @param float $conversionRate
  823.      *
  824.      * @return Order
  825.      */
  826.     public function setConversionRate(float $conversionRate): Order
  827.     {
  828.         $this->conversionRate $conversionRate;
  829.         return $this;
  830.     }
  831.     /**
  832.      * @return string|null
  833.      */
  834.     public function getModule(): ?string
  835.     {
  836.         return $this->module;
  837.     }
  838.     /**
  839.      * @param string|null $module
  840.      *
  841.      * @return Order
  842.      */
  843.     public function setModule(?string $module): Order
  844.     {
  845.         $this->module $module;
  846.         return $this;
  847.     }
  848.     /**
  849.      * @return bool
  850.      */
  851.     public function isRecyclable(): bool
  852.     {
  853.         return $this->recyclable;
  854.     }
  855.     /**
  856.      * @param bool $recyclable
  857.      *
  858.      * @return Order
  859.      */
  860.     public function setRecyclable(bool $recyclable): Order
  861.     {
  862.         $this->recyclable $recyclable;
  863.         return $this;
  864.     }
  865.     /**
  866.      * @return string|null
  867.      */
  868.     public function getShippingNumber(): ?string
  869.     {
  870.         return $this->shippingNumber;
  871.     }
  872.     /**
  873.      * @param string|null $shippingNumber
  874.      *
  875.      * @return Order
  876.      */
  877.     public function setShippingNumber(?string $shippingNumber): Order
  878.     {
  879.         $this->shippingNumber $shippingNumber;
  880.         return $this;
  881.     }
  882.     /**
  883.      * @return bool
  884.      */
  885.     public function isDropshipping(): bool
  886.     {
  887.         return $this->dropshipping;
  888.     }
  889.     /**
  890.      * @param bool $dropshipping
  891.      *
  892.      * @return Order
  893.      */
  894.     public function setDropshipping(bool $dropshipping): Order
  895.     {
  896.         $this->dropshipping $dropshipping;
  897.         return $this;
  898.     }
  899.     /**
  900.      * @return float
  901.      */
  902.     public function getTotalDiscounts(): float
  903.     {
  904.         return $this->totalDiscounts;
  905.     }
  906.     /**
  907.      * @param float $totalDiscounts
  908.      *
  909.      * @return Order
  910.      */
  911.     public function setTotalDiscounts(float $totalDiscounts): Order
  912.     {
  913.         $this->totalDiscounts $totalDiscounts;
  914.         return $this;
  915.     }
  916.     /**
  917.      * @return float
  918.      */
  919.     public function getTotalDiscountsTaxIncl(): float
  920.     {
  921.         return $this->totalDiscountsTaxIncl;
  922.     }
  923.     /**
  924.      * @param float $totalDiscountsTaxIncl
  925.      *
  926.      * @return Order
  927.      */
  928.     public function setTotalDiscountsTaxIncl(float $totalDiscountsTaxIncl): Order
  929.     {
  930.         $this->totalDiscountsTaxIncl $totalDiscountsTaxIncl;
  931.         return $this;
  932.     }
  933.     /**
  934.      * @return float
  935.      */
  936.     public function getTotalDiscountsTaxExcl(): float
  937.     {
  938.         return $this->totalDiscountsTaxExcl;
  939.     }
  940.     /**
  941.      * @param float $totalDiscountsTaxExcl
  942.      *
  943.      * @return Order
  944.      */
  945.     public function setTotalDiscountsTaxExcl(float $totalDiscountsTaxExcl): Order
  946.     {
  947.         $this->totalDiscountsTaxExcl $totalDiscountsTaxExcl;
  948.         return $this;
  949.     }
  950.     /**
  951.      * @return float
  952.      */
  953.     public function getTotalPaid(): float
  954.     {
  955.         return $this->totalPaid;
  956.     }
  957.     /**
  958.      * @param float $totalPaid
  959.      *
  960.      * @return Order
  961.      */
  962.     public function setTotalPaid(float $totalPaid): Order
  963.     {
  964.         $this->totalPaid $totalPaid;
  965.         return $this;
  966.     }
  967.     /**
  968.      * @return float
  969.      */
  970.     public function getTotalPaidTaxIncl(): float
  971.     {
  972.         return $this->totalPaidTaxIncl;
  973.     }
  974.     /**
  975.      * @param float $totalPaidTaxIncl
  976.      *
  977.      * @return Order
  978.      */
  979.     public function setTotalPaidTaxIncl(float $totalPaidTaxIncl): Order
  980.     {
  981.         $this->totalPaidTaxIncl $totalPaidTaxIncl;
  982.         return $this;
  983.     }
  984.     /**
  985.      * @return float
  986.      */
  987.     public function getTotalPaidTaxExcl(): float
  988.     {
  989.         return $this->totalPaidTaxExcl;
  990.     }
  991.     /**
  992.      * @param float $totalPaidTaxExcl
  993.      *
  994.      * @return Order
  995.      */
  996.     public function setTotalPaidTaxExcl(float $totalPaidTaxExcl): Order
  997.     {
  998.         $this->totalPaidTaxExcl $totalPaidTaxExcl;
  999.         return $this;
  1000.     }
  1001.     /**
  1002.      * @return float
  1003.      */
  1004.     public function getTotalPaidReal(): float
  1005.     {
  1006.         return $this->totalPaidReal;
  1007.     }
  1008.     /**
  1009.      * @param float $totalPaidReal
  1010.      *
  1011.      * @return Order
  1012.      */
  1013.     public function setTotalPaidReal(float $totalPaidReal): Order
  1014.     {
  1015.         $this->totalPaidReal $totalPaidReal;
  1016.         return $this;
  1017.     }
  1018.     /**
  1019.      * @return float
  1020.      */
  1021.     public function getTotalProducts(): float
  1022.     {
  1023.         return $this->totalProducts;
  1024.     }
  1025.     /**
  1026.      * @param float $totalProducts
  1027.      *
  1028.      * @return Order
  1029.      */
  1030.     public function setTotalProducts(float $totalProducts): Order
  1031.     {
  1032.         $this->totalProducts $totalProducts;
  1033.         return $this;
  1034.     }
  1035.     /**
  1036.      * @return float
  1037.      */
  1038.     public function getTotalProductsWt(): float
  1039.     {
  1040.         return $this->totalProductsWt;
  1041.     }
  1042.     /**
  1043.      * @param float $totalProductsWt
  1044.      *
  1045.      * @return Order
  1046.      */
  1047.     public function setTotalProductsWt(float $totalProductsWt): Order
  1048.     {
  1049.         $this->totalProductsWt $totalProductsWt;
  1050.         return $this;
  1051.     }
  1052.     /**
  1053.      * @return float
  1054.      */
  1055.     public function getTotalShipping(): float
  1056.     {
  1057.         return $this->totalShipping;
  1058.     }
  1059.     /**
  1060.      * @param float $totalShipping
  1061.      *
  1062.      * @return Order
  1063.      */
  1064.     public function setTotalShipping(float $totalShipping): Order
  1065.     {
  1066.         $this->totalShipping $totalShipping;
  1067.         return $this;
  1068.     }
  1069.     /**
  1070.      * @return float
  1071.      */
  1072.     public function getTotalShippingTaxIncl(): float
  1073.     {
  1074.         return $this->totalShippingTaxIncl;
  1075.     }
  1076.     /**
  1077.      * @param float $totalShippingTaxIncl
  1078.      *
  1079.      * @return Order
  1080.      */
  1081.     public function setTotalShippingTaxIncl(float $totalShippingTaxIncl): Order
  1082.     {
  1083.         $this->totalShippingTaxIncl $totalShippingTaxIncl;
  1084.         return $this;
  1085.     }
  1086.     /**
  1087.      * @return float
  1088.      */
  1089.     public function getTotalShippingTaxExcl(): float
  1090.     {
  1091.         return $this->totalShippingTaxExcl;
  1092.     }
  1093.     /**
  1094.      * @param float $totalShippingTaxExcl
  1095.      *
  1096.      * @return Order
  1097.      */
  1098.     public function setTotalShippingTaxExcl(float $totalShippingTaxExcl): Order
  1099.     {
  1100.         $this->totalShippingTaxExcl $totalShippingTaxExcl;
  1101.         return $this;
  1102.     }
  1103.     /**
  1104.      * @return float
  1105.      */
  1106.     public function getCarrierTaxRate(): float
  1107.     {
  1108.         return $this->carrierTaxRate;
  1109.     }
  1110.     /**
  1111.      * @param float $carrierTaxRate
  1112.      *
  1113.      * @return Order
  1114.      */
  1115.     public function setCarrierTaxRate(float $carrierTaxRate): Order
  1116.     {
  1117.         $this->carrierTaxRate $carrierTaxRate;
  1118.         return $this;
  1119.     }
  1120.     /**
  1121.      * @return float
  1122.      */
  1123.     public function getTotalWrapping(): float
  1124.     {
  1125.         return $this->totalWrapping;
  1126.     }
  1127.     /**
  1128.      * @param float $totalWrapping
  1129.      *
  1130.      * @return Order
  1131.      */
  1132.     public function setTotalWrapping(float $totalWrapping): Order
  1133.     {
  1134.         $this->totalWrapping $totalWrapping;
  1135.         return $this;
  1136.     }
  1137.     /**
  1138.      * @return float
  1139.      */
  1140.     public function getTotalWrappingTaxIncl(): float
  1141.     {
  1142.         return $this->totalWrappingTaxIncl;
  1143.     }
  1144.     /**
  1145.      * @param float $totalWrappingTaxIncl
  1146.      *
  1147.      * @return Order
  1148.      */
  1149.     public function setTotalWrappingTaxIncl(float $totalWrappingTaxIncl): Order
  1150.     {
  1151.         $this->totalWrappingTaxIncl $totalWrappingTaxIncl;
  1152.         return $this;
  1153.     }
  1154.     /**
  1155.      * @return float
  1156.      */
  1157.     public function getTotalWrappingTaxExcl(): float
  1158.     {
  1159.         return $this->totalWrappingTaxExcl;
  1160.     }
  1161.     /**
  1162.      * @param float $totalWrappingTaxExcl
  1163.      *
  1164.      * @return Order
  1165.      */
  1166.     public function setTotalWrappingTaxExcl(float $totalWrappingTaxExcl): Order
  1167.     {
  1168.         $this->totalWrappingTaxExcl $totalWrappingTaxExcl;
  1169.         return $this;
  1170.     }
  1171.     /**
  1172.      * @return int|null
  1173.      */
  1174.     public function getInvoiceNumber(): ?int
  1175.     {
  1176.         return $this->invoiceNumber;
  1177.     }
  1178.     /**
  1179.      * @param int|null $invoiceNumber
  1180.      *
  1181.      * @return Order
  1182.      */
  1183.     public function setInvoiceNumber(?int $invoiceNumber): Order
  1184.     {
  1185.         $this->invoiceNumber $invoiceNumber;
  1186.         return $this;
  1187.     }
  1188.     /**
  1189.      * @return int
  1190.      */
  1191.     public function getDeliveryNumber(): int
  1192.     {
  1193.         return $this->deliveryNumber;
  1194.     }
  1195.     /**
  1196.      * @param int $deliveryNumber
  1197.      *
  1198.      * @return Order
  1199.      */
  1200.     public function setDeliveryNumber(int $deliveryNumber): Order
  1201.     {
  1202.         $this->deliveryNumber $deliveryNumber;
  1203.         return $this;
  1204.     }
  1205.     /**
  1206.      * @return \DateTime|null
  1207.      */
  1208.     public function getInvoiceDate(): ?\DateTime
  1209.     {
  1210.         return $this->invoiceDate;
  1211.     }
  1212.     /**
  1213.      * @param \DateTime|null $invoiceDate
  1214.      *
  1215.      * @return Order
  1216.      */
  1217.     public function setInvoiceDate(?\DateTime $invoiceDate): Order
  1218.     {
  1219.         $this->invoiceDate $invoiceDate;
  1220.         return $this;
  1221.     }
  1222.     /**
  1223.      * @return \DateTime|null
  1224.      */
  1225.     public function getDeliveryDate(): ?\DateTime
  1226.     {
  1227.         return $this->deliveryDate;
  1228.     }
  1229.     /**
  1230.      * @param \DateTime|null $deliveryDate
  1231.      *
  1232.      * @return Order
  1233.      */
  1234.     public function setDeliveryDate(?\DateTime $deliveryDate): Order
  1235.     {
  1236.         $this->deliveryDate $deliveryDate;
  1237.         return $this;
  1238.     }
  1239.     /**
  1240.      * @return int
  1241.      */
  1242.     public function getValid(): int
  1243.     {
  1244.         return $this->valid;
  1245.     }
  1246.     /**
  1247.      * @param int $valid
  1248.      *
  1249.      * @return Order
  1250.      */
  1251.     public function setValid(int $valid): Order
  1252.     {
  1253.         $this->valid $valid;
  1254.         return $this;
  1255.     }
  1256.     /**
  1257.      * @return bool
  1258.      */
  1259.     public function isValidateTransfer(): bool
  1260.     {
  1261.         return $this->validateTransfer;
  1262.     }
  1263.     /**
  1264.      * @param bool $validateTransfer
  1265.      *
  1266.      * @return Order
  1267.      */
  1268.     public function setValidateTransfer(bool $validateTransfer): Order
  1269.     {
  1270.         $this->validateTransfer $validateTransfer;
  1271.         return $this;
  1272.     }
  1273.     /**
  1274.      * @return string|null
  1275.      */
  1276.     public function getRefOrderSupplier(): ?string
  1277.     {
  1278.         return $this->refOrderSupplier;
  1279.     }
  1280.     /**
  1281.      * @param string|null $refOrderSupplier
  1282.      *
  1283.      * @return Order
  1284.      */
  1285.     public function setRefOrderSupplier(?string $refOrderSupplier): Order
  1286.     {
  1287.         $this->refOrderSupplier $refOrderSupplier;
  1288.         return $this;
  1289.     }
  1290.     /**
  1291.      * @return \DateTime
  1292.      */
  1293.     public function getDateAdd(): \DateTime
  1294.     {
  1295.         return $this->dateAdd;
  1296.     }
  1297.     /**
  1298.      * @param \DateTime $dateAdd
  1299.      *
  1300.      * @return Order
  1301.      */
  1302.     public function setDateAdd(\DateTime $dateAdd): Order
  1303.     {
  1304.         $this->dateAdd $dateAdd;
  1305.         return $this;
  1306.     }
  1307.     /**
  1308.      * @return \DateTime
  1309.      */
  1310.     public function getDateUpd(): \DateTime
  1311.     {
  1312.         return $this->dateUpd;
  1313.     }
  1314.     /**
  1315.      * @param \DateTime $dateUpd
  1316.      *
  1317.      * @return Order
  1318.      */
  1319.     public function setDateUpd(\DateTime $dateUpd): Order
  1320.     {
  1321.         $this->dateUpd $dateUpd;
  1322.         return $this;
  1323.     }
  1324.     /**
  1325.      * @return float
  1326.      */
  1327.     public function getPurse(): float
  1328.     {
  1329.         return $this->purse;
  1330.     }
  1331.     /**
  1332.      * @param float $purse
  1333.      *
  1334.      * @return Order
  1335.      */
  1336.     public function setPurse(float $purse): Order
  1337.     {
  1338.         $this->purse $purse;
  1339.         return $this;
  1340.     }
  1341.     /**
  1342.      * @return float
  1343.      */
  1344.     public function getDropshippingQty(): float
  1345.     {
  1346.         return $this->dropshippingQty;
  1347.     }
  1348.     /**
  1349.      * @param float $dropshippingQty
  1350.      *
  1351.      * @return Order
  1352.      */
  1353.     public function setDropshippingQty(float $dropshippingQty): Order
  1354.     {
  1355.         $this->dropshippingQty $dropshippingQty;
  1356.         return $this;
  1357.     }
  1358.     /**
  1359.      * @return float
  1360.      */
  1361.     public function getPaymentMethodCost(): float
  1362.     {
  1363.         return $this->paymentMethodCost;
  1364.     }
  1365.     /**
  1366.      * @param float $paymentMethodCost
  1367.      *
  1368.      * @return Order
  1369.      */
  1370.     public function setPaymentMethodCost(float $paymentMethodCost): Order
  1371.     {
  1372.         $this->paymentMethodCost $paymentMethodCost;
  1373.         return $this;
  1374.     }
  1375.     /**
  1376.      * @return float
  1377.      */
  1378.     public function getDropshippingCost(): float
  1379.     {
  1380.         return $this->dropshippingCost;
  1381.     }
  1382.     /**
  1383.      * @param float $dropshippingCost
  1384.      *
  1385.      * @return Order
  1386.      */
  1387.     public function setDropshippingCost(float $dropshippingCost): Order
  1388.     {
  1389.         $this->dropshippingCost $dropshippingCost;
  1390.         return $this;
  1391.     }
  1392.     /**
  1393.      * @return bool
  1394.      */
  1395.     public function isRe(): bool
  1396.     {
  1397.         return $this->re;
  1398.     }
  1399.     /**
  1400.      * @param bool $re
  1401.      *
  1402.      * @return Order
  1403.      */
  1404.     public function setRe(bool $re): Order
  1405.     {
  1406.         $this->re $re;
  1407.         return $this;
  1408.     }
  1409.     /**
  1410.      * @return string|null
  1411.      */
  1412.     public function getTransactionId(): ?string
  1413.     {
  1414.         return $this->transactionId;
  1415.     }
  1416.     /**
  1417.      * @param string|null $transactionId
  1418.      *
  1419.      * @return Order
  1420.      */
  1421.     public function setTransactionId(?string $transactionId): Order
  1422.     {
  1423.         $this->transactionId $transactionId;
  1424.         return $this;
  1425.     }
  1426.     /**
  1427.      * @return string|null
  1428.      */
  1429.     public function getCommentCarrier(): ?string
  1430.     {
  1431.         return $this->commentCarrier;
  1432.     }
  1433.     /**
  1434.      * @param string|null $commentCarrier
  1435.      *
  1436.      * @return Order
  1437.      */
  1438.     public function setCommentCarrier(?string $commentCarrier): Order
  1439.     {
  1440.         $this->commentCarrier $commentCarrier;
  1441.         return $this;
  1442.     }
  1443.     /**
  1444.      * @return bool|null
  1445.      */
  1446.     public function getRefund(): ?bool
  1447.     {
  1448.         return $this->refund;
  1449.     }
  1450.     /**
  1451.      * @param bool|null $refund
  1452.      *
  1453.      * @return Order
  1454.      */
  1455.     public function setRefund(?bool $refund): Order
  1456.     {
  1457.         $this->refund $refund;
  1458.         return $this;
  1459.     }
  1460.     /**
  1461.      * @return string|null
  1462.      */
  1463.     public function getIntracomunitario(): ?string
  1464.     {
  1465.         return $this->intracomunitario;
  1466.     }
  1467.     /**
  1468.      * @param string|null $intracomunitario
  1469.      *
  1470.      * @return Order
  1471.      */
  1472.     public function setIntracomunitario(?string $intracomunitario): Order
  1473.     {
  1474.         $this->intracomunitario $intracomunitario;
  1475.         return $this;
  1476.     }
  1477.     /**
  1478.      * @return bool|null
  1479.      */
  1480.     public function getIsTracking(): ?bool
  1481.     {
  1482.         return $this->isTracking;
  1483.     }
  1484.     /**
  1485.      * @param bool|null $isTracking
  1486.      *
  1487.      * @return Order
  1488.      */
  1489.     public function setIsTracking(?bool $isTracking): Order
  1490.     {
  1491.         $this->isTracking $isTracking;
  1492.         return $this;
  1493.     }
  1494.     public function getStateDropshipping(): ?int
  1495.     {
  1496.         return $this->stateDropshipping;
  1497.     }
  1498.     public function setStateDropshipping(?int $stateDropshipping): Order
  1499.     {
  1500.         $this->stateDropshipping $stateDropshipping;
  1501.         return $this;
  1502.     }
  1503.     /**
  1504.      * @return float|null
  1505.      */
  1506.     public function getVolWeight(): ?float
  1507.     {
  1508.         return $this->volWeight;
  1509.     }
  1510.     /**
  1511.      * @param float|null $volWeight
  1512.      *
  1513.      * @return Order
  1514.      */
  1515.     public function setVolWeight(?float $volWeight): Order
  1516.     {
  1517.         $this->volWeight $volWeight;
  1518.         return $this;
  1519.     }
  1520.     /**
  1521.      * @return int|null
  1522.      */
  1523.     public function getIdCarrierMaster(): ?int
  1524.     {
  1525.         return $this->idCarrierMaster;
  1526.     }
  1527.     /**
  1528.      * @param int|null $idCarrierMaster
  1529.      *
  1530.      * @return Order
  1531.      */
  1532.     public function setIdCarrierMaster(?int $idCarrierMaster): Order
  1533.     {
  1534.         $this->idCarrierMaster $idCarrierMaster;
  1535.         return $this;
  1536.     }
  1537.     /**
  1538.      * @return string|null
  1539.      */
  1540.     public function getIdOrderParent(): ?string
  1541.     {
  1542.         return $this->idOrderParent;
  1543.     }
  1544.     /**
  1545.      * @param string|null $idOrderParent
  1546.      *
  1547.      * @return Order
  1548.      */
  1549.     public function setIdOrderParent(?string $idOrderParent): Order
  1550.     {
  1551.         $this->idOrderParent $idOrderParent;
  1552.         return $this;
  1553.     }
  1554.     /**
  1555.      * @return bool|null
  1556.      */
  1557.     public function getQuantityStockSupplier(): ?bool
  1558.     {
  1559.         return $this->quantityStockSupplier;
  1560.     }
  1561.     /**
  1562.      * @param bool|null $quantityStockSupplier
  1563.      *
  1564.      * @return Order
  1565.      */
  1566.     public function setQuantityStockSupplier(?bool $quantityStockSupplier): Order
  1567.     {
  1568.         $this->quantityStockSupplier $quantityStockSupplier;
  1569.         return $this;
  1570.     }
  1571.     /**
  1572.      * @return bool|null
  1573.      */
  1574.     public function getQuantityFutureStock(): ?bool
  1575.     {
  1576.         return $this->quantityFutureStock;
  1577.     }
  1578.     /**
  1579.      * @param bool|null $quantityFutureStock
  1580.      *
  1581.      * @return Order
  1582.      */
  1583.     public function setQuantityFutureStock(?bool $quantityFutureStock): Order
  1584.     {
  1585.         $this->quantityFutureStock $quantityFutureStock;
  1586.         return $this;
  1587.     }
  1588.     /**
  1589.      * @return int|null
  1590.      */
  1591.     public function getIdPack(): ?int
  1592.     {
  1593.         return $this->idPack;
  1594.     }
  1595.     /**
  1596.      * @param int|null $idPack
  1597.      *
  1598.      * @return Order
  1599.      */
  1600.     public function setIdPack(?int $idPack): Order
  1601.     {
  1602.         $this->idPack $idPack;
  1603.         return $this;
  1604.     }
  1605.     /**
  1606.      * @return \DateTime|null
  1607.      */
  1608.     public function getDeliveredDate(): ?\DateTime
  1609.     {
  1610.         return $this->deliveredDate;
  1611.     }
  1612.     /**
  1613.      * @param \DateTime|null $deliveredDate
  1614.      *
  1615.      * @return Order
  1616.      */
  1617.     public function setDeliveredDate(?\DateTime $deliveredDate): Order
  1618.     {
  1619.         $this->deliveredDate $deliveredDate;
  1620.         return $this;
  1621.     }
  1622.     /**
  1623.      * @return bool|null
  1624.      */
  1625.     public function getPassiveSubject(): ?bool
  1626.     {
  1627.         return $this->passiveSubject;
  1628.     }
  1629.     /**
  1630.      * @param bool|null $passiveSubject
  1631.      *
  1632.      * @return Order
  1633.      */
  1634.     public function setPassiveSubject(?bool $passiveSubject): Order
  1635.     {
  1636.         $this->passiveSubject $passiveSubject;
  1637.         return $this;
  1638.     }
  1639.     /**
  1640.      * @return float|null
  1641.      */
  1642.     public function getRapelAmount(): ?float
  1643.     {
  1644.         return $this->rapelAmount;
  1645.     }
  1646.     /**
  1647.      * @param float|null $rapelAmount
  1648.      *
  1649.      * @return Order
  1650.      */
  1651.     public function setRapelAmount(?float $rapelAmount): Order
  1652.     {
  1653.         $this->rapelAmount $rapelAmount;
  1654.         return $this;
  1655.     }
  1656.     /**
  1657.      * @return bool|null
  1658.      */
  1659.     public function getApi(): ?bool
  1660.     {
  1661.         return $this->api;
  1662.     }
  1663.     /**
  1664.      * @param bool|null $api
  1665.      *
  1666.      * @return Order
  1667.      */
  1668.     public function setApi(?bool $api): Order
  1669.     {
  1670.         $this->api $api;
  1671.         return $this;
  1672.     }
  1673.     /**
  1674.      * @return bool|null
  1675.      */
  1676.     public function getIsSystem(): ?bool
  1677.     {
  1678.         return $this->isSystem;
  1679.     }
  1680.     /**
  1681.      * @param bool|null $isSystem
  1682.      *
  1683.      * @return Order
  1684.      */
  1685.     public function setIsSystem(?bool $isSystem): Order
  1686.     {
  1687.         $this->isSystem $isSystem;
  1688.         return $this;
  1689.     }
  1690.     /**
  1691.      * @return string|null
  1692.      */
  1693.     public function getSellingChannel(): ?string
  1694.     {
  1695.         return $this->sellingChannel;
  1696.     }
  1697.     /**
  1698.      * @param string|null $sellingChannel
  1699.      *
  1700.      * @return Order
  1701.      */
  1702.     public function setSellingChannel(?string $sellingChannel): Order
  1703.     {
  1704.         $this->sellingChannel $sellingChannel;
  1705.         return $this;
  1706.     }
  1707.     /**
  1708.      * @return \DateTime|null
  1709.      */
  1710.     public function getDateAmazon(): ?\DateTime
  1711.     {
  1712.         return $this->dateAmazon;
  1713.     }
  1714.     /**
  1715.      * @param \DateTime|null $dateAmazon
  1716.      *
  1717.      * @return Order
  1718.      */
  1719.     public function setDateAmazon(?\DateTime $dateAmazon): Order
  1720.     {
  1721.         $this->dateAmazon $dateAmazon;
  1722.         return $this;
  1723.     }
  1724.     /**
  1725.      * @return string|null
  1726.      */
  1727.     public function getAdditionalParameters(): ?string
  1728.     {
  1729.         return $this->additionalParameters;
  1730.     }
  1731.     /**
  1732.      * @param string|null $additionalParameters
  1733.      *
  1734.      * @return Order
  1735.      */
  1736.     public function setAdditionalParameters(?string $additionalParameters): Order
  1737.     {
  1738.         $this->additionalParameters $additionalParameters;
  1739.         return $this;
  1740.     }
  1741.     /**
  1742.      * @return OrderDetail[]|ArrayCollection<OrderDetail>
  1743.      */
  1744.     public function getOrderDetails()
  1745.     {
  1746.         return $this->orderDetails;
  1747.     }
  1748.     /**
  1749.      * @param OrderDetail[] $orderDetails
  1750.      *
  1751.      * @return Order
  1752.      */
  1753.     public function setOrderDetails(array $orderDetails): Order
  1754.     {
  1755.         $this->orderDetails $orderDetails;
  1756.         return $this;
  1757.     }
  1758.     public function addOrderDetail(OrderDetail $orderDetail): Order
  1759.     {
  1760.         if (!$this->orderDetails->contains($orderDetail)) {
  1761.             $this->orderDetails[] = $orderDetail;
  1762.         }
  1763.         return $this;
  1764.     }
  1765.     public function getCustomer(): Customer
  1766.     {
  1767.         return $this->customer;
  1768.     }
  1769.     public function setCustomer(Customer $customer): self
  1770.     {
  1771.         $this->customer $customer;
  1772.         return $this;
  1773.     }
  1774.     /**
  1775.      * @return \DateTime|null
  1776.      */
  1777.     public function getEstimatedShippingDate(): ?\DateTime
  1778.     {
  1779.         return $this->estimatedShippingDate;
  1780.     }
  1781.     /**
  1782.      * @param \DateTime|null $estimatedShippingDate
  1783.      *
  1784.      * @return Order
  1785.      */
  1786.     public function setEstimatedShippingDate(?\DateTime $estimatedShippingDate): self
  1787.     {
  1788.         $this->estimatedShippingDate $estimatedShippingDate;
  1789.         return $this;
  1790.     }
  1791.     /**
  1792.      * @return string|null
  1793.      */
  1794.     public function getA4bUuid(): ?string
  1795.     {
  1796.         return $this->a4bUuid;
  1797.     }
  1798.     /**
  1799.      * @param string|null $a4bUuid
  1800.      *
  1801.      * @return Order
  1802.      */
  1803.     public function setA4bUuid(?string $a4bUuid): self
  1804.     {
  1805.         $this->a4bUuid $a4bUuid;
  1806.         return $this;
  1807.     }
  1808.     /**
  1809.      * @return bool|null
  1810.      */
  1811.     public function getDispute(): ?bool
  1812.     {
  1813.         return $this->dispute;
  1814.     }
  1815.     /**
  1816.      * @param bool|null $dispute
  1817.      *
  1818.      * @return Order
  1819.      */
  1820.     public function setDispute(?bool $dispute): self
  1821.     {
  1822.         $this->dispute $dispute;
  1823.         return $this;
  1824.     }
  1825.     /**
  1826.      * @return int
  1827.      */
  1828.     public function getOrderStatus(): int
  1829.     {
  1830.         return $this->orderStatus;
  1831.     }
  1832.     /**
  1833.      * @param int $orderStatus
  1834.      *
  1835.      * @return Order
  1836.      */
  1837.     public function setOrderStatus(int $orderStatus): self
  1838.     {
  1839.         $this->orderStatus $orderStatus;
  1840.         return $this;
  1841.     }
  1842.     /**
  1843.      * @return Cart|null
  1844.      */
  1845.     public function getCart(): ?Cart
  1846.     {
  1847.         return $this->cart;
  1848.     }
  1849.     /**
  1850.      * @param Cart|null $cart
  1851.      *
  1852.      * @return Order
  1853.      */
  1854.     public function setCart(?Cart $cart): Order
  1855.     {
  1856.         $this->cart $cart;
  1857.         return $this;
  1858.     }
  1859.     /**
  1860.      * @return Warehouse
  1861.      */
  1862.     public function getWarehouse(): Warehouse
  1863.     {
  1864.         return $this->warehouse;
  1865.     }
  1866.     /**
  1867.      * @param Warehouse $warehouse
  1868.      *
  1869.      * @return Order
  1870.      */
  1871.     public function setWarehouse(Warehouse $warehouse): self
  1872.     {
  1873.         $this->warehouse $warehouse;
  1874.         return $this;
  1875.     }
  1876.     /**
  1877.      * @return Collection|Invoice[]
  1878.      */
  1879.     public function getInvoice(): Collection
  1880.     {
  1881.         return $this->invoice;
  1882.     }
  1883.     /**
  1884.      * @return bool|null
  1885.      */
  1886.     public function getQuantityStockSupplier3To5(): ?bool
  1887.     {
  1888.         return $this->quantityStockSupplier3To5;
  1889.     }
  1890.     /**
  1891.      * @param bool|null $quantityStockSupplier3To5
  1892.      */
  1893.     public function setQuantityStockSupplier3To5(?bool $quantityStockSupplier3To5): void
  1894.     {
  1895.         $this->quantityStockSupplier3To5 $quantityStockSupplier3To5;
  1896.     }
  1897.     /**
  1898.      * @deprecated use getPaymentMethod method instead
  1899.      */
  1900.     public function getPaymentMethodType(): ?string
  1901.     {
  1902.         return $this->paymentMethodType;
  1903.     }
  1904.     /**
  1905.      * @deprecated use getPaymentMethod method  instead
  1906.      */
  1907.     public function setPaymentMethodType(?string $paymentMethodType): void
  1908.     {
  1909.         $this->paymentMethodType $paymentMethodType;
  1910.     }
  1911.     public function getPaypalPayerId(): ?string
  1912.     {
  1913.         return $this->paypalPayerId;
  1914.     }
  1915.     public function setPaypalPayerId(?string $paypalPayerId): Order
  1916.     {
  1917.         $this->paypalPayerId $paypalPayerId;
  1918.         return $this;
  1919.     }
  1920.     public function getPaypalPayerEmail(): ?string
  1921.     {
  1922.         return $this->paypalPayerEmail;
  1923.     }
  1924.     public function setPaypalPayerEmail(?string $paypalPayerEmail): Order
  1925.     {
  1926.         $this->paypalPayerEmail $paypalPayerEmail;
  1927.         return $this;
  1928.     }
  1929.     public function getOrderTax(): ?OrderTax
  1930.     {
  1931.         return $this->orderTax;
  1932.     }
  1933.     public function setOrderTax(float $orderTax): Order
  1934.     {
  1935.         $this->orderTax $orderTax;
  1936.         return $this;
  1937.     }
  1938.     public function getDropshipping(): bool
  1939.     {
  1940.         return $this->dropshipping;
  1941.     }
  1942.     public function isFba(): bool
  1943.     {
  1944.         return $this->fba;
  1945.     }
  1946.     public function setFba(bool $fba): Order
  1947.     {
  1948.         $this->fba $fba;
  1949.         return $this;
  1950.     }
  1951.     public function getPaymentMethodTypeToOdoo(): ?string
  1952.     {
  1953.         if ($this->getPaymentMethodType() === 'mc') {
  1954.             return 'mastercard';
  1955.         }
  1956.         return $this->getPaymentMethodType();
  1957.     }
  1958.     public function getMaxExpeditionDatetime(): ?\DateTime
  1959.     {
  1960.         return $this->maxExpeditionDatetime;
  1961.     }
  1962.     public function setMaxExpeditionDatetime(\DateTime $maxExpeditionDatetime): Order
  1963.     {
  1964.         $this->maxExpeditionDatetime $maxExpeditionDatetime;
  1965.         return $this;
  1966.     }
  1967.     public function getMaxDeliveryDatetime(): ?\DateTime
  1968.     {
  1969.         return $this->maxDeliveryDatetime;
  1970.     }
  1971.     public function setMaxDeliveryDatetime(\DateTime $maxDeliveryDatetime): Order
  1972.     {
  1973.         $this->maxDeliveryDatetime $maxDeliveryDatetime;
  1974.         return $this;
  1975.     }
  1976.     public function getFullRefund(): bool
  1977.     {
  1978.         return $this->fullRefund;
  1979.     }
  1980.     public function setFullRefund(bool $fullRefund): Order
  1981.     {
  1982.         $this->fullRefund $fullRefund;
  1983.         return $this;
  1984.     }
  1985.     public function getLogisticWeight(): ?float
  1986.     {
  1987.         return $this->logisticWeight;
  1988.     }
  1989.     public function setLogisticWeight(?float $logisticWeight): void
  1990.     {
  1991.         $this->logisticWeight $logisticWeight;
  1992.     }
  1993.     public function getScheduledConfirmationDate(): ?\DateTime
  1994.     {
  1995.         if (null === $this->scheduledConfirmationDate) {
  1996.             return null;
  1997.         }
  1998.         if ((int)$this->scheduledConfirmationDate->format('Y') <= 0) {
  1999.             // 0000-00-00 00:00:00 dates
  2000.             return null;
  2001.         }
  2002.         return $this->scheduledConfirmationDate;
  2003.     }
  2004.     public function setScheduledConfirmationDate(?\DateTime $scheduledConfirmationDate): void
  2005.     {
  2006.         $this->scheduledConfirmationDate $scheduledConfirmationDate;
  2007.     }
  2008.     public function getCancellationRequestDate(): ?\DateTime
  2009.     {
  2010.         if (null === $this->cancellationRequestDate) {
  2011.             return null;
  2012.         }
  2013.         if ((int)$this->cancellationRequestDate->format('Y') <= 0) {
  2014.             // 0000-00-00 00:00:00 dates
  2015.             return null;
  2016.         }
  2017.         return $this->cancellationRequestDate;
  2018.     }
  2019.     public function setCancellationRequestDate(?\DateTime $cancellationRequestDate): void
  2020.     {
  2021.         $this->cancellationRequestDate $cancellationRequestDate;
  2022.     }
  2023.     public function getCancellationRequest(): ?OrderCancellationRequest
  2024.     {
  2025.         return $this->cancellationRequest;
  2026.     }
  2027.     public function setCancellationRequest(?OrderCancellationRequest $cancellationRequest): void
  2028.     {
  2029.         $this->cancellationRequest $cancellationRequest;
  2030.     }
  2031.     public function getNotification(): ?OrderNotification
  2032.     {
  2033.         return $this->notification;
  2034.     }
  2035.     public function setNotification(?OrderNotification $notification): void
  2036.     {
  2037.         $this->notification $notification;
  2038.     }
  2039.     public function getPaymentMethod(): PaymentMethod
  2040.     {
  2041.         return $this->paymentMethod;
  2042.     }
  2043.     public function setPaymentMethod(PaymentMethod $paymentMethod): void
  2044.     {
  2045.         $this->paymentMethod $paymentMethod;
  2046.     }
  2047.     public function markAsRefunded(bool $isFullRefund): void
  2048.     {
  2049.         $this->refund true;
  2050.         $this->fullRefund $isFullRefund;
  2051.         $this->dateUpd = new \DateTime();
  2052.     }
  2053. }