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