src/AppBundle/MainBundle/Entity/Orders.php line 2426

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * User: apple
  5.  * Date: 29/03/19
  6.  * Time: 3:08 PM
  7.  */
  8. namespace App\AppBundle\MainBundle\Entity;
  9. use Doctrine\Common\Collections\ArrayCollection;
  10. use Doctrine\Common\Collections\Criteria;
  11. use Doctrine\ORM\Mapping as ORM;
  12. use Symfony\Component\Validator\Constraints as Assert;
  13. use JsonSerializable;
  14. use DateTime;
  15. /**
  16.  * AddOns
  17.  *
  18.  * @ORM\Entity(repositoryClass="App\AppBundle\MainBundle\Repository\OrdersRepository")
  19.  * @ORM\Table(name="orders")
  20.  * @ORM\HasLifecycleCallbacks()
  21.  */
  22. class Orders implements JsonSerializable
  23. {
  24.     /**
  25.      * @ORM\Column(type="integer")
  26.      * @ORM\Id
  27.      * @ORM\GeneratedValue(strategy="AUTO")
  28.      */
  29.     private $id;
  30.     /**
  31.      * @var User
  32.      * @ORM\ManyToOne(targetEntity="User", inversedBy="orders")
  33.      * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
  34.      */
  35.     private $user;
  36.     /**
  37.      * @var User
  38.      * @ORM\ManyToOne(targetEntity="User")
  39.      * @ORM\JoinColumn(name="supplier_id", referencedColumnName="id")
  40.      */
  41.     private $supplier;
  42.     /**
  43.      * @var PS_Add_Spot
  44.      * @ORM\ManyToOne(targetEntity="PS_Add_Spot", inversedBy="orders")
  45.      * @ORM\JoinColumn(name="add_spot_id", referencedColumnName="id")
  46.      */
  47.     private $add_spot;
  48.     /**
  49.      * @var Orders_Pricing
  50.      * @ORM\OneToOne(targetEntity="Orders_Pricing", mappedBy="order")
  51.      */
  52.     private $orders_pricing;
  53.     /**
  54.      * @var Orders_Refund
  55.      * @ORM\OneToOne(targetEntity="Orders_Refund", mappedBy="order")
  56.      */
  57.     private $order_refund;
  58.     /**
  59.      * @ORM\OneToMany(targetEntity="Orders_Suppliers_Transfer", mappedBy="order")
  60.      */
  61.     private $order_supplier_transfer;
  62.     /**
  63.      * @ORM\OneToMany(targetEntity="Orders_Flexible", mappedBy="order")
  64.      */
  65.     private $ordersFlexible;
  66.     /**
  67.      * @ORM\OneToOne(targetEntity="Order_Flexible_Detail", mappedBy="order")
  68.      */
  69.     private $orderFlexibleDetail;
  70.     /**
  71.      * @ORM\OneToMany(targetEntity="Orders_Monthly", mappedBy="order")
  72.      */
  73.     private $ordersMonthly;
  74.     /**
  75.      * @ORM\Column(type="integer", nullable=true, options={"default" : 0})
  76.      */
  77.     private $booking_type;//0 - Hourly, 1 - Flexible, 2 - Monthly
  78.     /**
  79.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  80.      */
  81.     private $is_completed;
  82.     /**
  83.      * @var DateTime
  84.      * @ORM\Column(type="datetime", nullable=false)
  85.      * @Assert\NotBlank()
  86.      */
  87.     private $start_time;
  88.     /**
  89.      * @var DateTime
  90.      * @ORM\Column(type="datetime", nullable=false)
  91.      * @Assert\NotBlank()
  92.      */
  93.     private $end_time;
  94.     /**
  95.      * @var DateTime
  96.      * @ORM\Column(type="datetime", nullable=false)
  97.      * @Assert\NotBlank()
  98.      */
  99.     private $initial_end_time;
  100.     /**
  101.      * @ORM\Column(type="string", nullable=false)
  102.      * @Assert\NotBlank()
  103.      */
  104.     private $vehicle_model;
  105.     /**
  106.      * @ORM\Column(type="string", nullable=false)
  107.      * @Assert\NotBlank()
  108.      */
  109.     private $vehicle_license_plate;
  110.     /**
  111.      * @ORM\Column(type="string", nullable=false)
  112.      * @Assert\NotBlank()
  113.      */
  114.     private $spot_title;
  115.     /**
  116.      * @ORM\Column(type="string", nullable=false)
  117.      * @Assert\NotBlank()
  118.      */
  119.     private $spot_address;
  120.     /**
  121.      * @ORM\Column(type="string", nullable=true)
  122.      *
  123.      */
  124.     private $spot_street_name;
  125.     /**
  126.      * @ORM\Column(type="string", nullable=true)
  127.      *
  128.      */
  129.     private $spot_street_number;
  130.     /**
  131.      * @ORM\Column(type="string", nullable=true)
  132.      *
  133.      */
  134.     private $spot_postal_code;
  135.     /**
  136.      * @ORM\Column(type="string", nullable=true)
  137.      *
  138.      */
  139.     private $spot_city;
  140.     /**
  141.      * @ORM\Column(type="string", nullable=true)
  142.      *
  143.      */
  144.     private $spot_county;
  145.     /**
  146.      * @ORM\Column(type="string", nullable=true)
  147.      *
  148.      */
  149.     private $spot_state;
  150.     /**
  151.      * @ORM\Column(type="string", nullable=true)
  152.      *
  153.      */
  154.     private $spot_country;
  155.     /**
  156.      * @ORM\Column(type="decimal", precision=11, scale=8)
  157.      *
  158.      */
  159.     private $spot_latitude;
  160.     /**
  161.      * @ORM\Column(type="decimal", precision=11, scale=8)
  162.      *
  163.      */
  164.     private $spot_longitude;
  165.     /**
  166.      * @ORM\Column(type="string", nullable=true)
  167.      *
  168.      */
  169.     private $spot_spot_number;
  170.     /**
  171.      * @ORM\Column(type="string", length = 5000, nullable=false)
  172.      *
  173.      */
  174.     private $spot_about_spot;
  175.     /**
  176.      * @var WP_Property_Type
  177.      * @ORM\ManyToOne(targetEntity="WP_Property_Type")
  178.      * @ORM\JoinColumn(name="property_type_id", referencedColumnName="id")
  179.      */
  180.     private $spot_property_type;
  181.     /**
  182.      * @var WP_Parking_Type
  183.      * @ORM\ManyToOne(targetEntity="WP_Parking_Type")
  184.      * @ORM\JoinColumn(name="parking_type_id", referencedColumnName="id")
  185.      */
  186.     private $spot_parking_type;
  187.     /**
  188.      * @var WP_Access_Type
  189.      * @ORM\ManyToOne(targetEntity="WP_Access_Type")
  190.      * @ORM\JoinColumn(name="access_type_id", referencedColumnName="id")
  191.      */
  192.     private $spot_access_type;
  193.     /**
  194.      * @ORM\Column(type="string", nullable=true)
  195.      *
  196.      */
  197.     private $spot_access_type_detail;
  198.     /**
  199.      * @var WP_Max_Vehicle_Size
  200.      * @ORM\ManyToOne(targetEntity="WP_Max_Vehicle_Size")
  201.      * @ORM\JoinColumn(name="max_vehicle_size_id", referencedColumnName="id")
  202.      */
  203.     private $spot_max_vehicle_size;
  204.     /**
  205.      * @var WP_Max_Vehicle_Size_Type
  206.      * @ORM\ManyToOne(targetEntity="WP_Max_Vehicle_Size_Type")
  207.      * @ORM\JoinColumn(name="max_vehicle_size_type_id", referencedColumnName="id")
  208.      */
  209.     private $spot_max_vehicle_size_type;
  210.     /**
  211.      * @var WP_Electric_Charger_Type
  212.      * @ORM\ManyToOne(targetEntity="WP_Electric_Charger_Type")
  213.      * @ORM\JoinColumn(name="max_electric_charger_type_id", referencedColumnName="id", nullable=true)
  214.      */
  215.     private $spot_electric_charger_type;
  216.     /**
  217.      * @ORM\Column(type="boolean", nullable=false)
  218.      *
  219.      */
  220.     private $have_electric_charger false;
  221.     /**
  222.      * @var WP_Parking_Max_Height
  223.      * @ORM\ManyToOne(targetEntity="WP_Parking_Max_Height")
  224.      * @ORM\JoinColumn(name="parking_max_height_id", referencedColumnName="id", nullable=true)
  225.      */
  226.     private $parking_max_height;
  227.     /**
  228.      * @ORM\Column(type="string", length=1000, nullable=false)
  229.      *
  230.      */
  231.     private $spot_special_tips;
  232.     /**
  233.      * @ORM\Column(type="string", nullable=true)
  234.      *
  235.      */
  236.     private $spot_parking_type_other;
  237.     /**
  238.      * @ORM\Column(type="string", nullable=true)
  239.      *
  240.      */
  241.     private $spot_property_type_other;
  242.     /**
  243.      * @ORM\Column(type="string", nullable=true)
  244.      *
  245.      */
  246.     private $spot_access_type_other;
  247.     /**
  248.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  249.      *
  250.      */
  251.     private $is_promo_code_applied;
  252.     /**
  253.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  254.      *
  255.      */
  256.     private $is_order_paid;
  257.     /**
  258.      * @var Supplier_To_User_Ratings
  259.      * @ORM\OneToOne(targetEntity="Supplier_To_User_Ratings", mappedBy="order")
  260.      */
  261.     private $supplier_to_user_ratings;
  262.     /**
  263.      * @var User_Spot_Reviews
  264.      * @ORM\OneToOne(targetEntity="User_Spot_Reviews", mappedBy="order")
  265.      */
  266.     private $user_spot_reviews;
  267.     /**
  268.      * @var WP_Currency
  269.      * @ORM\ManyToOne(targetEntity="WP_Currency")
  270.      * @ORM\JoinColumn(name="wp_currency_id", referencedColumnName="id")
  271.      */
  272.     private $wp_currency;
  273.     /**
  274.      * @ORM\Column(type="boolean", nullable=true)
  275.      */
  276.     private $spot_is_verified;
  277.     /**
  278.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  279.      */
  280.     private $is_email_sent;
  281.     /**
  282.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  283.      */
  284.     private $is_sms_sent;
  285.     /**
  286.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  287.      */
  288.     private $is_notification_sent;
  289.     /**
  290.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 1})
  291.      */
  292.     private $is_active;
  293.     /**
  294.      * @var WP_Payment
  295.      * @ORM\ManyToOne(targetEntity="WP_Payment")
  296.      * @ORM\JoinColumn(name="wp_payment_id", referencedColumnName="id", nullable=true)
  297.      */
  298.     private $wp_payment;
  299.     /**
  300.      * @ORM\Column(type="string", nullable=true)
  301.      */
  302.     private $payment_method_type;
  303.     /**
  304.      * @ORM\Column(type="string", nullable=true)
  305.      */
  306.     private $pay_stripe_payment_method_id;
  307.     /**
  308.      * @ORM\Column(type="string", nullable=true)
  309.      */
  310.     private $pay_stripe_customer_id;
  311.     /**
  312.      * @ORM\Column(type="string", nullable=true)
  313.      */
  314.     private $pay_stripe_card_id;
  315.     /**
  316.      * @ORM\Column(type="string", nullable=true)
  317.      */
  318.     private $pay_stripe_payment_intent_id;
  319.     /**
  320.      * @ORM\Column(type="string", nullable=true)
  321.      */
  322.     private $pay_stripe_extend_payment_intent_id;
  323.     /**
  324.      * @ORM\Column(type="string", nullable=true)
  325.      */
  326.     private $pay_name;
  327.     /**
  328.      * @ORM\Column(type="string", nullable=true)
  329.      */
  330.     private $pay_card_type;
  331.     /**
  332.      * @ORM\Column(type="string", nullable=true)
  333.      */
  334.     private $pay_last_four;
  335.     /**
  336.      * @ORM\Column(type="string", nullable=true)
  337.      */
  338.     private $pay_brand;
  339.     /**
  340.      * @ORM\Column(type="string", nullable=true)
  341.      */
  342.     private $pay_expiry_month;
  343.     /**
  344.      * @ORM\Column(type="string", nullable=true)
  345.      */
  346.     private $pay_expiry_year;
  347.     /**
  348.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 1})
  349.      */
  350.     private $is_extended;
  351.     /**
  352.      * One user has many tokens. This is the inverse side.
  353.      * @ORM\OneToMany(targetEntity="Orders_Extended", mappedBy="orders")
  354.      */
  355.     private $orders_extended;
  356.     /**
  357.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  358.      */
  359.     private $is_completion_email_sent;
  360.     /**
  361.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  362.      */
  363.     private $is_completion_sms_sent;
  364.     /**
  365.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  366.      *
  367.      */
  368.     private $is_completion_notification_sent;
  369.     /**
  370.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  371.      *
  372.      */
  373.     private $is_extend_booking_email_sent;
  374.     /**
  375.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  376.      *
  377.      */
  378.     private $is_extend_booking_sms_sent;
  379.     /**
  380.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  381.      *
  382.      */
  383.     private $is_extend_booking_notification_sent;
  384.     /**
  385.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  386.      *
  387.      */
  388.     private $is_pre_start_email_sent;
  389.     /**
  390.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  391.      *
  392.      */
  393.     private $is_pre_start_sms_sent;
  394.     /**
  395.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  396.      *
  397.      */
  398.     private $is_pre_start_notification_sent;
  399.     /**
  400.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  401.      *
  402.      */
  403.     private $is_start_email_sent;
  404.     /**
  405.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  406.      *
  407.      */
  408.     private $is_start_sms_sent;
  409.     /**
  410.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  411.      *
  412.      */
  413.     private $is_start_notification_sent;
  414.     /**
  415.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  416.      *
  417.      */
  418.     private $has_parking_ended;
  419.     /**
  420.      * @var DateTime
  421.      * @ORM\Column(type="datetime", nullable=true)
  422.      *
  423.      */
  424.     private $parking_end_time;
  425.     /**
  426.      * @var DateTime
  427.      * @ORM\Column(type="datetime", nullable=true)
  428.      *
  429.      */
  430.     private $booking_cancelled_on;
  431.     /**
  432.      * @ORM\Column(type="integer", nullable=false, options={"default" : 0})
  433.      *
  434.      */
  435.     private $booking_status;//0 - Upcoming, 1 - On Going, 2 - Completed, 3 - Cancelled by Spot Provider, 4 - Cancelled by Spot User, 5 - Cancelled From System, 6 - Refunded, 7 - Non-Refunded
  436.     /**
  437.      * @ORM\Column(type="string", nullable=true)
  438.      *
  439.      */
  440.     private $booking_cancelled_reason;
  441.     /**
  442.      * @ORM\Column(type="decimal", precision=10, scale=2, nullable=true)
  443.      *
  444.      */
  445.     private $refund_amount;
  446.     /**
  447.      * @var string
  448.      * @ORM\Column(type="string", nullable=true)
  449.      *
  450.      */
  451.     private $refund_reference_number;
  452.     /**
  453.      * @var datetime
  454.      * @ORM\Column(type="date", nullable=true)
  455.      *
  456.      */
  457.     private $refund_initiate_date;
  458.     /**
  459.      * @var datetime
  460.      * @ORM\Column(type="date", nullable=true)
  461.      *
  462.      */
  463.     private $refund_processed_date;
  464.     /**
  465.      * @var boolean
  466.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  467.      *
  468.      */
  469.     private $is_refund_processed 0;
  470.     //For monthly parking. If user has applied for cancellation of renewal then from next month onwards his monthly subscription for this booking won't be availed
  471.     /**
  472.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 1})
  473.      *
  474.      */
  475.     private $is_renewal_active;
  476.     //Only applicable for monthly booking
  477.     /**
  478.      * @var DateTime
  479.      * @ORM\Column(type="date", nullable=true)
  480.      *
  481.      */
  482.     private $next_renewal_date;
  483.     //Only applicable for monthly booking
  484.     /**
  485.      * @ORM\Column(type="decimal", precision=10, scale=2, nullable=true)
  486.      *
  487.      */
  488.     private $next_renewal_amount;
  489.     //Only applicable for monthly booking
  490.     /**
  491.      * @var DateTime
  492.      * @ORM\Column(type="date", nullable=true)
  493.      *
  494.      */
  495.     private $current_monthly_booking_end_date;
  496.     private $ordersMonthlyData;
  497.     /**
  498.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  499.      */
  500.     private $is_payout_completed false;
  501.     /**
  502.      * @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
  503.      */
  504.     private $is_order_monthly_requested_end_subscription false;
  505.     /**
  506.      * @return mixed
  507.      */
  508.     public function getId()
  509.     {
  510.         return $this->id;
  511.     }
  512.     /**
  513.      * @return User
  514.      */
  515.     public function getUser()
  516.     {
  517.         return $this->user;
  518.     }
  519.     /**
  520.      * @param mixed $user
  521.      */
  522.     public function setUser($user)
  523.     {
  524.         $this->user $user;
  525.     }
  526.     /**
  527.      * @return User
  528.      */
  529.     public function getSupplier()
  530.     {
  531.         return $this->supplier;
  532.     }
  533.     /**
  534.      * @param mixed $supplier
  535.      */
  536.     public function setSupplier($supplier)
  537.     {
  538.         $this->supplier $supplier;
  539.     }
  540.     /**
  541.      * @return PS_Add_Spot
  542.      */
  543.     public function getAddSpot()
  544.     {
  545.         return $this->add_spot;
  546.     }
  547.     /**
  548.      * @param mixed $add_spot
  549.      */
  550.     public function setAddSpot($add_spot)
  551.     {
  552.         $this->add_spot $add_spot;
  553.     }
  554.     /**
  555.      * @return mixed
  556.      */
  557.     public function getBookingType()
  558.     {
  559.         return $this->booking_type;
  560.     }
  561.     /**
  562.      * @param mixed $booking_type
  563.      */
  564.     public function setBookingType($booking_type)
  565.     {
  566.         $this->booking_type $booking_type;
  567.     }
  568.     /**
  569.      * @return mixed
  570.      */
  571.     public function getIsCompleted()
  572.     {
  573.         return $this->is_completed;
  574.     }
  575.     /**
  576.      * @param mixed $is_completed
  577.      */
  578.     public function setIsCompleted($is_completed)
  579.     {
  580.         $this->is_completed $is_completed;
  581.     }
  582.     /**
  583.      * @return DateTime
  584.      */
  585.     public function getStartTime()
  586.     {
  587.         return $this->start_time;
  588.     }
  589.     /**
  590.      * @param mixed $start_time
  591.      */
  592.     public function setStartTime($start_time)
  593.     {
  594.         $this->start_time $start_time;
  595.     }
  596.     /**
  597.      * @return DateTime
  598.      */
  599.     public function getEndTime()
  600.     {
  601.         return $this->end_time;
  602.     }
  603.     /**
  604.      * @param mixed $end_time
  605.      */
  606.     public function setEndTime($end_time)
  607.     {
  608.         $this->end_time $end_time;
  609.     }
  610.     /**
  611.      * @return mixed
  612.      */
  613.     public function getInitialEndTime()
  614.     {
  615.         return $this->initial_end_time;
  616.     }
  617.     /**
  618.      * @param mixed $initial_end_time
  619.      */
  620.     public function setInitialEndTime($initial_end_time)
  621.     {
  622.         $this->initial_end_time $initial_end_time;
  623.     }
  624.     /**
  625.      * @return mixed
  626.      */
  627.     public function getVehicleModel()
  628.     {
  629.         return $this->vehicle_model;
  630.     }
  631.     /**
  632.      * @param mixed $vehicle_model
  633.      */
  634.     public function setVehicleModel($vehicle_model)
  635.     {
  636.         $this->vehicle_model $vehicle_model;
  637.     }
  638.     /**
  639.      * @return mixed
  640.      */
  641.     public function getVehicleLicensePlate()
  642.     {
  643.         return $this->vehicle_license_plate;
  644.     }
  645.     /**
  646.      * @param mixed $vehicle_license_plate
  647.      */
  648.     public function setVehicleLicensePlate($vehicle_license_plate)
  649.     {
  650.         $this->vehicle_license_plate $vehicle_license_plate;
  651.     }
  652.     /**
  653.      * @return mixed
  654.      */
  655.     public function getSpotTitle()
  656.     {
  657.         return $this->spot_title;
  658.     }
  659.     /**
  660.      * @param mixed $spot_title
  661.      */
  662.     public function setSpotTitle($spot_title)
  663.     {
  664.         $this->spot_title $spot_title;
  665.     }
  666.     /**
  667.      * @return mixed
  668.      */
  669.     public function getSpotAddress()
  670.     {
  671.         return $this->spot_address;
  672.     }
  673.     /**
  674.      * @param mixed $spot_address
  675.      */
  676.     public function setSpotAddress($spot_address)
  677.     {
  678.         $this->spot_address $spot_address;
  679.     }
  680.     /**
  681.      * @return mixed
  682.      */
  683.     public function getSpotStreetName()
  684.     {
  685.         return $this->spot_street_name;
  686.     }
  687.     /**
  688.      * @param mixed $spot_street_name
  689.      */
  690.     public function setSpotStreetName($spot_street_name)
  691.     {
  692.         $this->spot_street_name $spot_street_name;
  693.     }
  694.     /**
  695.      * @return mixed
  696.      */
  697.     public function getSpotStreetNumber()
  698.     {
  699.         return $this->spot_street_number;
  700.     }
  701.     /**
  702.      * @param mixed $spot_street_number
  703.      */
  704.     public function setSpotStreetNumber($spot_street_number)
  705.     {
  706.         $this->spot_street_number $spot_street_number;
  707.     }
  708.     /**
  709.      * @return mixed
  710.      */
  711.     public function getSpotPostalCode()
  712.     {
  713.         return $this->spot_postal_code;
  714.     }
  715.     /**
  716.      * @param mixed $spot_postal_code
  717.      */
  718.     public function setSpotPostalCode($spot_postal_code)
  719.     {
  720.         $this->spot_postal_code $spot_postal_code;
  721.     }
  722.     /**
  723.      * @return mixed
  724.      */
  725.     public function getSpotCity()
  726.     {
  727.         return $this->spot_city;
  728.     }
  729.     /**
  730.      * @param mixed $spot_city
  731.      */
  732.     public function setSpotCity($spot_city)
  733.     {
  734.         $this->spot_city $spot_city;
  735.     }
  736.     /**
  737.      * @return mixed
  738.      */
  739.     public function getSpotCounty()
  740.     {
  741.         return $this->spot_county;
  742.     }
  743.     /**
  744.      * @param mixed $spot_county
  745.      */
  746.     public function setSpotCounty($spot_county)
  747.     {
  748.         $this->spot_county $spot_county;
  749.     }
  750.     /**
  751.      * @return mixed
  752.      */
  753.     public function getSpotState()
  754.     {
  755.         return $this->spot_state;
  756.     }
  757.     /**
  758.      * @param mixed $spot_state
  759.      */
  760.     public function setSpotState($spot_state)
  761.     {
  762.         $this->spot_state $spot_state;
  763.     }
  764.     /**
  765.      * @return mixed
  766.      */
  767.     public function getSpotCountry()
  768.     {
  769.         return $this->spot_country;
  770.     }
  771.     /**
  772.      * @param mixed $spot_country
  773.      */
  774.     public function setSpotCountry($spot_country)
  775.     {
  776.         $this->spot_country $spot_country;
  777.     }
  778.     /**
  779.      * @return mixed
  780.      */
  781.     public function getSpotLatitude()
  782.     {
  783.         return $this->spot_latitude;
  784.     }
  785.     /**
  786.      * @param mixed $spot_latitude
  787.      */
  788.     public function setSpotLatitude($spot_latitude)
  789.     {
  790.         $this->spot_latitude $spot_latitude;
  791.     }
  792.     /**
  793.      * @return mixed
  794.      */
  795.     public function getSpotLongitude()
  796.     {
  797.         return $this->spot_longitude;
  798.     }
  799.     /**
  800.      * @param mixed $spot_longitude
  801.      */
  802.     public function setSpotLongitude($spot_longitude)
  803.     {
  804.         $this->spot_longitude $spot_longitude;
  805.     }
  806.     /**
  807.      * @return mixed
  808.      */
  809.     public function getSpotSpotNumber()
  810.     {
  811.         return $this->spot_spot_number;
  812.     }
  813.     /**
  814.      * @param mixed $spot_spot_number
  815.      */
  816.     public function setSpotSpotNumber($spot_spot_number)
  817.     {
  818.         $this->spot_spot_number $spot_spot_number;
  819.     }
  820.     /**
  821.      * @return mixed
  822.      */
  823.     public function getSpotAboutSpot()
  824.     {
  825.         return $this->spot_about_spot;
  826.     }
  827.     /**
  828.      * @param mixed $spot_about_spot
  829.      */
  830.     public function setSpotAboutSpot($spot_about_spot)
  831.     {
  832.         $this->spot_about_spot $spot_about_spot;
  833.     }
  834.     /**
  835.      * @return mixed
  836.      */
  837.     public function getSpotPropertyType()
  838.     {
  839.         return $this->spot_property_type;
  840.     }
  841.     /**
  842.      * @param mixed $spot_property_type
  843.      */
  844.     public function setSpotPropertyType($spot_property_type)
  845.     {
  846.         $this->spot_property_type $spot_property_type;
  847.     }
  848.     /**
  849.      * @return mixed
  850.      */
  851.     public function getSpotParkingType()
  852.     {
  853.         return $this->spot_parking_type;
  854.     }
  855.     /**
  856.      * @param mixed $spot_parking_type
  857.      */
  858.     public function setSpotParkingType($spot_parking_type)
  859.     {
  860.         $this->spot_parking_type $spot_parking_type;
  861.     }
  862.     /**
  863.      * @return mixed
  864.      */
  865.     public function getSpotAccessType()
  866.     {
  867.         return $this->spot_access_type;
  868.     }
  869.     /**
  870.      * @param mixed $spot_access_type
  871.      */
  872.     public function setSpotAccessType($spot_access_type)
  873.     {
  874.         $this->spot_access_type $spot_access_type;
  875.     }
  876.     /**
  877.      * @return mixed
  878.      */
  879.     public function getSpotAccessTypeDetail()
  880.     {
  881.         return $this->spot_access_type_detail;
  882.     }
  883.     /**
  884.      * @param mixed $spot_access_type_detail
  885.      */
  886.     public function setSpotAccessTypeDetail($spot_access_type_detail)
  887.     {
  888.         $this->spot_access_type_detail $spot_access_type_detail;
  889.     }
  890.     /**
  891.      * @return mixed
  892.      */
  893.     public function getSpotMaxVehicleSize()
  894.     {
  895.         return $this->spot_max_vehicle_size;
  896.     }
  897.     /**
  898.      * @param mixed $spot_max_vehicle_size
  899.      */
  900.     public function setSpotMaxVehicleSize($spot_max_vehicle_size)
  901.     {
  902.         $this->spot_max_vehicle_size $spot_max_vehicle_size;
  903.     }
  904.     /**
  905.      * @return mixed
  906.      */
  907.     public function getSpotSpecialTips()
  908.     {
  909.         return $this->spot_special_tips;
  910.     }
  911.     /**
  912.      * @param mixed $spot_special_tips
  913.      */
  914.     public function setSpotSpecialTips($spot_special_tips)
  915.     {
  916.         $this->spot_special_tips $spot_special_tips;
  917.     }
  918.     /**
  919.      * @return mixed
  920.      */
  921.     public function getSpotParkingTypeOther()
  922.     {
  923.         return $this->spot_parking_type_other;
  924.     }
  925.     /**
  926.      * @param mixed $spot_parking_type_other
  927.      */
  928.     public function setSpotParkingTypeOther($spot_parking_type_other)
  929.     {
  930.         $this->spot_parking_type_other $spot_parking_type_other;
  931.     }
  932.     /**
  933.      * @return mixed
  934.      */
  935.     public function getSpotPropertyTypeOther()
  936.     {
  937.         return $this->spot_property_type_other;
  938.     }
  939.     /**
  940.      * @param mixed $spot_property_type_other
  941.      */
  942.     public function setSpotPropertyTypeOther($spot_property_type_other)
  943.     {
  944.         $this->spot_property_type_other $spot_property_type_other;
  945.     }
  946.     /**
  947.      * @return mixed
  948.      */
  949.     public function getSpotAccessTypeOther()
  950.     {
  951.         return $this->spot_access_type_other;
  952.     }
  953.     /**
  954.      * @param mixed $spot_access_type_other
  955.      */
  956.     public function setSpotAccessTypeOther($spot_access_type_other)
  957.     {
  958.         $this->spot_access_type_other $spot_access_type_other;
  959.     }
  960.     /**
  961.      * @return mixed
  962.      */
  963.     public function getIsPromoCodeApplied()
  964.     {
  965.         return $this->is_promo_code_applied;
  966.     }
  967.     /**
  968.      * @param mixed $is_promo_code_applied
  969.      */
  970.     public function setIsPromoCodeApplied($is_promo_code_applied)
  971.     {
  972.         $this->is_promo_code_applied $is_promo_code_applied;
  973.     }
  974.     /**
  975.      * @return mixed
  976.      */
  977.     public function getIsOrderPaid()
  978.     {
  979.         return $this->is_order_paid;
  980.     }
  981.     /**
  982.      * @param mixed $is_order_paid
  983.      */
  984.     public function setIsOrderPaid($is_order_paid)
  985.     {
  986.         $this->is_order_paid $is_order_paid;
  987.     }
  988.     /**
  989.      * @return Orders_Pricing
  990.      */
  991.     public function getOrdersPricing()
  992.     {
  993.         return $this->orders_pricing;
  994.     }
  995.     /**
  996.      * @param mixed $orders_pricing
  997.      */
  998.     public function setOrdersPricing($orders_pricing)
  999.     {
  1000.         $this->orders_pricing $orders_pricing;
  1001.     }
  1002.     /**
  1003.      * @return Supplier_To_User_Ratings
  1004.      */
  1005.     public function getSupplierToUserRatings()
  1006.     {
  1007.         return $this->supplier_to_user_ratings;
  1008.     }
  1009.     /**
  1010.      * @param mixed $supplier_to_user_ratings
  1011.      */
  1012.     public function setSupplierToUserRatings($supplier_to_user_ratings)
  1013.     {
  1014.         $this->supplier_to_user_ratings $supplier_to_user_ratings;
  1015.     }
  1016.     /**
  1017.      * @return User_Spot_Reviews
  1018.      */
  1019.     public function getUserSpotReviews()
  1020.     {
  1021.         return $this->user_spot_reviews;
  1022.     }
  1023.     /**
  1024.      * @param mixed $user_spot_reviews
  1025.      */
  1026.     public function setUserSpotReviews($user_spot_reviews)
  1027.     {
  1028.         $this->user_spot_reviews $user_spot_reviews;
  1029.     }
  1030.     /**
  1031.      * @return WP_Currency
  1032.      */
  1033.     public function getWpCurrency()
  1034.     {
  1035.         return $this->wp_currency;
  1036.     }
  1037.     /**
  1038.      * @param mixed $wp_currency
  1039.      */
  1040.     public function setWpCurrency($wp_currency)
  1041.     {
  1042.         $this->wp_currency $wp_currency;
  1043.     }
  1044.     /**
  1045.      * @return mixed
  1046.      */
  1047.     public function getSpotIsVerified()
  1048.     {
  1049.         return $this->spot_is_verified;
  1050.     }
  1051.     /**
  1052.      * @param mixed $spot_is_verified
  1053.      */
  1054.     public function setSpotIsVerified($spot_is_verified)
  1055.     {
  1056.         $this->spot_is_verified $spot_is_verified;
  1057.     }
  1058.     /**
  1059.      * @return mixed
  1060.      */
  1061.     public function getIsEmailSent()
  1062.     {
  1063.         return $this->is_email_sent;
  1064.     }
  1065.     /**
  1066.      * @param mixed $is_email_sent
  1067.      */
  1068.     public function setIsEmailSent($is_email_sent)
  1069.     {
  1070.         $this->is_email_sent $is_email_sent;
  1071.     }
  1072.     /**
  1073.      * @return mixed
  1074.      */
  1075.     public function getIsSmsSent()
  1076.     {
  1077.         return $this->is_sms_sent;
  1078.     }
  1079.     /**
  1080.      * @param mixed $is_sms_sent
  1081.      */
  1082.     public function setIsSmsSent($is_sms_sent)
  1083.     {
  1084.         $this->is_sms_sent $is_sms_sent;
  1085.     }
  1086.     /**
  1087.      * @return mixed
  1088.      */
  1089.     public function getIsNotificationSent()
  1090.     {
  1091.         return $this->is_notification_sent;
  1092.     }
  1093.     /**
  1094.      * @param mixed $is_notification_sent
  1095.      */
  1096.     public function setIsNotificationSent($is_notification_sent)
  1097.     {
  1098.         $this->is_notification_sent $is_notification_sent;
  1099.     }
  1100.     /**
  1101.      * @return mixed
  1102.      */
  1103.     public function getIsActive()
  1104.     {
  1105.         return $this->is_active;
  1106.     }
  1107.     /**
  1108.      * @param mixed $is_active
  1109.      */
  1110.     public function setIsActive($is_active)
  1111.     {
  1112.         $this->is_active $is_active;
  1113.     }
  1114.     private $is_fav_spot;
  1115.     /**
  1116.      * @return mixed
  1117.      */
  1118.     public function getIsFavSpot()
  1119.     {
  1120.         return $this->is_fav_spot;
  1121.     }
  1122.     /**
  1123.      * @param mixed $is_fav_spot
  1124.      */
  1125.     public function setIsFavSpot($is_fav_spot)
  1126.     {
  1127.         $this->is_fav_spot $is_fav_spot;
  1128.     }
  1129.     private $spot_image_url;
  1130.     /**
  1131.      * @return mixed
  1132.      */
  1133.     public function getSpotImageUrl()
  1134.     {
  1135.         return $this->spot_image_url;
  1136.     }
  1137.     /**
  1138.      * @param mixed $spot_image_url
  1139.      */
  1140.     public function setSpotImageUrl($spot_image_url)
  1141.     {
  1142.         $this->spot_image_url $spot_image_url;
  1143.     }
  1144.     /**
  1145.      * @return mixed
  1146.      */
  1147.     public function getWpPayment()
  1148.     {
  1149.         return $this->wp_payment;
  1150.     }
  1151.     /**
  1152.      * @param mixed $wp_payment
  1153.      */
  1154.     public function setWpPayment($wp_payment)
  1155.     {
  1156.         $this->wp_payment $wp_payment;
  1157.     }
  1158.     /**
  1159.      * @return mixed
  1160.      */
  1161.     public function getPayName()
  1162.     {
  1163.         return $this->pay_name;
  1164.     }
  1165.     /**
  1166.      * @param mixed $pay_name
  1167.      */
  1168.     public function setPayName($pay_name)
  1169.     {
  1170.         $this->pay_name $pay_name;
  1171.     }
  1172.     /**
  1173.      * @return mixed
  1174.      */
  1175.     public function getPayCardType()
  1176.     {
  1177.         return $this->pay_card_type;
  1178.     }
  1179.     /**
  1180.      * @param mixed $pay_card_type
  1181.      */
  1182.     public function setPayCardType($pay_card_type)
  1183.     {
  1184.         $this->pay_card_type $pay_card_type;
  1185.     }
  1186.     /**
  1187.      * @return mixed
  1188.      */
  1189.     public function getPayLastFour()
  1190.     {
  1191.         return $this->pay_last_four;
  1192.     }
  1193.     /**
  1194.      * @param mixed $pay_last_four
  1195.      */
  1196.     public function setPayLastFour($pay_last_four)
  1197.     {
  1198.         $this->pay_last_four $pay_last_four;
  1199.     }
  1200.     /**
  1201.      * @return mixed
  1202.      */
  1203.     public function getPayBrand()
  1204.     {
  1205.         return $this->pay_brand;
  1206.     }
  1207.     /**
  1208.      * @param mixed $pay_brand
  1209.      */
  1210.     public function setPayBrand($pay_brand)
  1211.     {
  1212.         $this->pay_brand $pay_brand;
  1213.     }
  1214.     /**
  1215.      * @return mixed
  1216.      */
  1217.     public function getPayExpiryMonth()
  1218.     {
  1219.         return $this->pay_expiry_month;
  1220.     }
  1221.     /**
  1222.      * @param mixed $pay_expiry_month
  1223.      */
  1224.     public function setPayExpiryMonth($pay_expiry_month)
  1225.     {
  1226.         $this->pay_expiry_month $pay_expiry_month;
  1227.     }
  1228.     /**
  1229.      * @return mixed
  1230.      */
  1231.     public function getPayExpiryYear()
  1232.     {
  1233.         return $this->pay_expiry_year;
  1234.     }
  1235.     /**
  1236.      * @param mixed $pay_expiry_year
  1237.      */
  1238.     public function setPayExpiryYear($pay_expiry_year)
  1239.     {
  1240.         $this->pay_expiry_year $pay_expiry_year;
  1241.     }
  1242.     /**
  1243.      * @return mixed
  1244.      */
  1245.     public function getIsExtended()
  1246.     {
  1247.         return $this->is_extended;
  1248.     }
  1249.     /**
  1250.      * @param mixed $is_extended
  1251.      */
  1252.     public function setIsExtended($is_extended)
  1253.     {
  1254.         $this->is_extended $is_extended;
  1255.     }
  1256.     /**
  1257.      * @return mixed
  1258.      */
  1259.     public function getOrdersExtended()
  1260.     {
  1261.         return $this->orders_extended;
  1262.     }
  1263.     /**
  1264.      * @param mixed $orders_extended
  1265.      */
  1266.     public function setOrdersExtended($orders_extended)
  1267.     {
  1268.         $this->orders_extended $orders_extended;
  1269.     }
  1270.     /**
  1271.      * @return mixed
  1272.      */
  1273.     public function getIsCompletionEmailSent()
  1274.     {
  1275.         return $this->is_completion_email_sent;
  1276.     }
  1277.     /**
  1278.      * @param mixed $is_completion_email_sent
  1279.      */
  1280.     public function setIsCompletionEmailSent($is_completion_email_sent)
  1281.     {
  1282.         $this->is_completion_email_sent $is_completion_email_sent;
  1283.     }
  1284.     /**
  1285.      * @return mixed
  1286.      */
  1287.     public function getIsCompletionSmsSent()
  1288.     {
  1289.         return $this->is_completion_sms_sent;
  1290.     }
  1291.     /**
  1292.      * @param mixed $is_completion_sms_sent
  1293.      */
  1294.     public function setIsCompletionSmsSent($is_completion_sms_sent)
  1295.     {
  1296.         $this->is_completion_sms_sent $is_completion_sms_sent;
  1297.     }
  1298.     /**
  1299.      * @return mixed
  1300.      */
  1301.     public function getIsCompletionNotificationSent()
  1302.     {
  1303.         return $this->is_completion_notification_sent;
  1304.     }
  1305.     /**
  1306.      * @param mixed $is_completion_notification_sent
  1307.      */
  1308.     public function setIsCompletionNotificationSent($is_completion_notification_sent)
  1309.     {
  1310.         $this->is_completion_notification_sent $is_completion_notification_sent;
  1311.     }
  1312.     /**
  1313.      * @return mixed
  1314.      */
  1315.     public function getIsExtendBookingEmailSent()
  1316.     {
  1317.         return $this->is_extend_booking_email_sent;
  1318.     }
  1319.     /**
  1320.      * @param mixed $is_extend_booking_email_sent
  1321.      */
  1322.     public function setIsExtendBookingEmailSent($is_extend_booking_email_sent)
  1323.     {
  1324.         $this->is_extend_booking_email_sent $is_extend_booking_email_sent;
  1325.     }
  1326.     /**
  1327.      * @return mixed
  1328.      */
  1329.     public function getIsExtendBookingSmsSent()
  1330.     {
  1331.         return $this->is_extend_booking_sms_sent;
  1332.     }
  1333.     /**
  1334.      * @param mixed $is_extend_booking_sms_sent
  1335.      */
  1336.     public function setIsExtendBookingSmsSent($is_extend_booking_sms_sent)
  1337.     {
  1338.         $this->is_extend_booking_sms_sent $is_extend_booking_sms_sent;
  1339.     }
  1340.     /**
  1341.      * @return mixed
  1342.      */
  1343.     public function getIsExtendBookingNotificationSent()
  1344.     {
  1345.         return $this->is_extend_booking_notification_sent;
  1346.     }
  1347.     /**
  1348.      * @param mixed $is_extend_booking_notification_sent
  1349.      */
  1350.     public function setIsExtendBookingNotificationSent($is_extend_booking_notification_sent)
  1351.     {
  1352.         $this->is_extend_booking_notification_sent $is_extend_booking_notification_sent;
  1353.     }
  1354.     /**
  1355.      * @return mixed
  1356.      */
  1357.     public function getIsPreStartEmailSent()
  1358.     {
  1359.         return $this->is_pre_start_email_sent;
  1360.     }
  1361.     /**
  1362.      * @param mixed $is_pre_start_email_sent
  1363.      */
  1364.     public function setIsPreStartEmailSent($is_pre_start_email_sent)
  1365.     {
  1366.         $this->is_pre_start_email_sent $is_pre_start_email_sent;
  1367.     }
  1368.     /**
  1369.      * @return mixed
  1370.      */
  1371.     public function getIsPreStartSmsSent()
  1372.     {
  1373.         return $this->is_pre_start_sms_sent;
  1374.     }
  1375.     /**
  1376.      * @param mixed $is_pre_start_sms_sent
  1377.      */
  1378.     public function setIsPreStartSmsSent($is_pre_start_sms_sent)
  1379.     {
  1380.         $this->is_pre_start_sms_sent $is_pre_start_sms_sent;
  1381.     }
  1382.     /**
  1383.      * @return mixed
  1384.      */
  1385.     public function getIsPreStartNotificationSent()
  1386.     {
  1387.         return $this->is_pre_start_notification_sent;
  1388.     }
  1389.     /**
  1390.      * @param mixed $is_pre_start_notification_sent
  1391.      */
  1392.     public function setIsPreStartNotificationSent($is_pre_start_notification_sent)
  1393.     {
  1394.         $this->is_pre_start_notification_sent $is_pre_start_notification_sent;
  1395.     }
  1396.     /**
  1397.      * @return mixed
  1398.      */
  1399.     public function getIsStartEmailSent()
  1400.     {
  1401.         return $this->is_start_email_sent;
  1402.     }
  1403.     /**
  1404.      * @param mixed $is_start_email_sent
  1405.      */
  1406.     public function setIsStartEmailSent($is_start_email_sent)
  1407.     {
  1408.         $this->is_start_email_sent $is_start_email_sent;
  1409.     }
  1410.     /**
  1411.      * @return mixed
  1412.      */
  1413.     public function getIsStartSmsSent()
  1414.     {
  1415.         return $this->is_start_sms_sent;
  1416.     }
  1417.     /**
  1418.      * @param mixed $is_start_sms_sent
  1419.      */
  1420.     public function setIsStartSmsSent($is_start_sms_sent)
  1421.     {
  1422.         $this->is_start_sms_sent $is_start_sms_sent;
  1423.     }
  1424.     /**
  1425.      * @return mixed
  1426.      */
  1427.     public function getIsStartNotificationSent()
  1428.     {
  1429.         return $this->is_start_notification_sent;
  1430.     }
  1431.     /**
  1432.      * @param mixed $is_start_notification_sent
  1433.      */
  1434.     public function setIsStartNotificationSent($is_start_notification_sent)
  1435.     {
  1436.         $this->is_start_notification_sent $is_start_notification_sent;
  1437.     }
  1438.     /**
  1439.      * @return mixed
  1440.      */
  1441.     public function getHasParkingEnded()
  1442.     {
  1443.         return $this->has_parking_ended;
  1444.     }
  1445.     /**
  1446.      * @param mixed $has_parking_ended
  1447.      */
  1448.     public function setHasParkingEnded($has_parking_ended)
  1449.     {
  1450.         $this->has_parking_ended $has_parking_ended;
  1451.     }
  1452.     /**
  1453.      * @return mixed
  1454.      */
  1455.     public function getParkingEndTime()
  1456.     {
  1457.         return $this->parking_end_time;
  1458.     }
  1459.     /**
  1460.      * @param mixed $parking_end_time
  1461.      */
  1462.     public function setParkingEndTime($parking_end_time)
  1463.     {
  1464.         $this->parking_end_time $parking_end_time;
  1465.     }
  1466.     /**
  1467.      * @return mixed
  1468.      */
  1469.     public function getBookingCancelledOn()
  1470.     {
  1471.         return $this->booking_cancelled_on;
  1472.     }
  1473.     /**
  1474.      * @param mixed $booking_cancelled_on
  1475.      */
  1476.     public function setBookingCancelledOn($booking_cancelled_on)
  1477.     {
  1478.         $this->booking_cancelled_on $booking_cancelled_on;
  1479.     }
  1480.     /**
  1481.      * @return mixed
  1482.      */
  1483.     public function getBookingStatus()
  1484.     {
  1485.         return $this->booking_status;
  1486.     }
  1487.     /**
  1488.      * @param mixed $booking_status
  1489.      */
  1490.     public function setBookingStatus($booking_status)
  1491.     {
  1492.         $this->booking_status $booking_status;
  1493.     }
  1494.     /**
  1495.      * @return mixed
  1496.      */
  1497.     public function getBookingCancelledReason()
  1498.     {
  1499.         return $this->booking_cancelled_reason;
  1500.     }
  1501.     /**
  1502.      * @param mixed $booking_cancelled_reason
  1503.      */
  1504.     public function setBookingCancelledReason($booking_cancelled_reason)
  1505.     {
  1506.         $this->booking_cancelled_reason $booking_cancelled_reason;
  1507.     }
  1508.     /**
  1509.      * @return mixed
  1510.      */
  1511.     public function getRefundAmount()
  1512.     {
  1513.         return $this->refund_amount;
  1514.     }
  1515.     /**
  1516.      * @param mixed $refund_amount
  1517.      */
  1518.     public function setRefundAmount($refund_amount)
  1519.     {
  1520.         $this->refund_amount $refund_amount;
  1521.     }
  1522.     /**
  1523.      * @return mixed
  1524.      */
  1525.     public function getOrdersFlexible()
  1526.     {
  1527.         return $this->ordersFlexible;
  1528.     }
  1529.     /**
  1530.      * @param mixed $ordersFlexible
  1531.      */
  1532.     public function setOrdersFlexible($ordersFlexible)
  1533.     {
  1534.         $this->ordersFlexible $ordersFlexible;
  1535.     }
  1536.     /**
  1537.      * @return mixed
  1538.      */
  1539.     public function getOrdersMonthly()
  1540.     {
  1541.         return $this->ordersMonthly;
  1542.     }
  1543.     /**
  1544.      * @param mixed $ordersMonthly
  1545.      */
  1546.     public function setOrdersMonthly($ordersMonthly)
  1547.     {
  1548.         $this->ordersMonthly $ordersMonthly;
  1549.     }
  1550.     /**
  1551.      * @return boolean
  1552.      */
  1553.     public function getIsRenewalActive()
  1554.     {
  1555.         return $this->is_renewal_active;
  1556.     }
  1557.     /**
  1558.      * @param mixed $is_renewal_active
  1559.      */
  1560.     public function setIsRenewalActive($is_renewal_active)
  1561.     {
  1562.         $this->is_renewal_active $is_renewal_active;
  1563.     }
  1564.     /**
  1565.      * @return DateTime
  1566.      */
  1567.     public function getNextRenewalDate()
  1568.     {
  1569.         return $this->next_renewal_date;
  1570.     }
  1571.     /**
  1572.      * @param mixed $next_renewal_date
  1573.      */
  1574.     public function setNextRenewalDate($next_renewal_date)
  1575.     {
  1576.         $this->next_renewal_date $next_renewal_date;
  1577.     }
  1578.     /**
  1579.      * @return mixed
  1580.      */
  1581.     public function getNextRenewalAmount()
  1582.     {
  1583.         return $this->next_renewal_amount;
  1584.     }
  1585.     /**
  1586.      * @param mixed $next_renewal_amount
  1587.      */
  1588.     public function setNextRenewalAmount($next_renewal_amount)
  1589.     {
  1590.         $this->next_renewal_amount $next_renewal_amount;
  1591.     }
  1592.     /**
  1593.      * @return DateTime
  1594.      */
  1595.     public function getCurrentMonthlyBookingEndDate()
  1596.     {
  1597.         return $this->current_monthly_booking_end_date;
  1598.     }
  1599.     /**
  1600.      * @param DateTime $current_monthly_booking_end_date
  1601.      */
  1602.     public function setCurrentMonthlyBookingEndDate($current_monthly_booking_end_date)
  1603.     {
  1604.         $this->current_monthly_booking_end_date $current_monthly_booking_end_date;
  1605.     }
  1606.     /**
  1607.      * @return Orders_Monthly
  1608.      */
  1609.     function getFirstMonthlyBookingPricingObj() {
  1610.         $criteria Criteria::create();
  1611.         $criteria->orderBy(['start_date' => Criteria::ASC])
  1612.             ->setMaxResults(1);
  1613.         $orderMonthlyObj $this->ordersMonthly->matching($criteria);
  1614.         if (count($orderMonthlyObj) > 0) {
  1615.             return $orderMonthlyObj[0];
  1616.         }
  1617.         return NULL;
  1618.     }
  1619.     /**
  1620.      * @return Orders_Monthly
  1621.      */
  1622.     function getLatestMonthlyBookingPricingObj() {
  1623.         $criteria Criteria::create();
  1624.         $criteria->orderBy(['start_date' => Criteria::DESC])
  1625.             ->setMaxResults(1);
  1626.         $orderMonthlyObj $this->ordersMonthly->matching($criteria);
  1627.         if (count($orderMonthlyObj) > 0) {
  1628.             return $orderMonthlyObj[0];
  1629.         }
  1630.         return NULL;
  1631.     }
  1632.     /**
  1633.      * @return ArrayCollection
  1634.      */
  1635.     function getCompletedMonthlyBookingPricingObj() {
  1636.         $criteria Criteria::create();
  1637.         $criteria->where(Criteria::expr()->eq('is_completed'1))
  1638.             ->orderBy(['start_date' => Criteria::ASC]);
  1639.         return $this->ordersMonthly->matching($criteria);
  1640.     }
  1641.     /**
  1642.      * @return ArrayCollection
  1643.      */
  1644.     function getInCompletedMonthlyBookingPricingObj() {
  1645.         $criteria Criteria::create();
  1646.         $criteria->where(Criteria::expr()->eq('is_completed'0))
  1647.             ->orderBy(['start_date' => Criteria::ASC]);
  1648.         return $this->ordersMonthly->matching($criteria);
  1649.     }
  1650.     /**
  1651.      * @return ArrayCollection
  1652.      */
  1653.     function getAllMonthlyBookingsPricing() {
  1654.         $criteria Criteria::create();
  1655.         $criteria->orderBy(['start_date' => Criteria::DESC]);
  1656.         return $this->ordersMonthly->matching($criteria);
  1657.     }
  1658.     /**
  1659.      * @return string
  1660.      */
  1661.     public function getRefundReferenceNumber()
  1662.     {
  1663.         return $this->refund_reference_number;
  1664.     }
  1665.     /**
  1666.      * @param string $refund_reference_number
  1667.      */
  1668.     public function setRefundReferenceNumber($refund_reference_number)
  1669.     {
  1670.         $this->refund_reference_number $refund_reference_number;
  1671.     }
  1672.     /**
  1673.      * @return DateTime
  1674.      */
  1675.     public function getRefundInitiateDate()
  1676.     {
  1677.         return $this->refund_initiate_date;
  1678.     }
  1679.     /**
  1680.      * @param DateTime $refund_initiate_date
  1681.      */
  1682.     public function setRefundInitiateDate($refund_initiate_date)
  1683.     {
  1684.         $this->refund_initiate_date $refund_initiate_date;
  1685.     }
  1686.     /**
  1687.      * @return DateTime
  1688.      */
  1689.     public function getRefundProcessedDate()
  1690.     {
  1691.         return $this->refund_processed_date;
  1692.     }
  1693.     /**
  1694.      * @param DateTime $refund_processed_date
  1695.      */
  1696.     public function setRefundProcessedDate($refund_processed_date)
  1697.     {
  1698.         $this->refund_processed_date $refund_processed_date;
  1699.     }
  1700.     /**
  1701.      * @return bool
  1702.      */
  1703.     public function isIsRefundProcessed()
  1704.     {
  1705.         return $this->is_refund_processed;
  1706.     }
  1707.     /**
  1708.      * @param bool $is_refund_processed
  1709.      */
  1710.     public function setIsRefundProcessed($is_refund_processed)
  1711.     {
  1712.         $this->is_refund_processed $is_refund_processed;
  1713.     }
  1714.     /**
  1715.      * @return Order_Flexible_Detail
  1716.      */
  1717.     public function getOrderFlexibleDetail()
  1718.     {
  1719.         return $this->orderFlexibleDetail;
  1720.     }
  1721.     /**
  1722.      * @param mixed $orderFlexibleDetail
  1723.      */
  1724.     public function setOrderFlexibleDetail($orderFlexibleDetail)
  1725.     {
  1726.         $this->orderFlexibleDetail $orderFlexibleDetail;
  1727.     }
  1728.     /**
  1729.      * @return Orders_Refund
  1730.      */
  1731.     public function getOrderRefund()
  1732.     {
  1733.         return $this->order_refund;
  1734.     }
  1735.     /**
  1736.      * @param Orders_Refund $order_refund
  1737.      */
  1738.     public function setOrderRefund($order_refund)
  1739.     {
  1740.         $this->order_refund $order_refund;
  1741.     }
  1742.     /**
  1743.      * @return ArrayCollection
  1744.      */
  1745.     public function getOrderSupplierTransfer()
  1746.     {
  1747.         return $this->order_supplier_transfer;
  1748.     }
  1749.     /**
  1750.      * @param $order_supplier_transfer
  1751.      */
  1752.     public function setOrderSupplierTransfer($order_supplier_transfer)
  1753.     {
  1754.         $this->order_supplier_transfer $order_supplier_transfer;
  1755.     }
  1756.     /**
  1757.      * @return mixed
  1758.      */
  1759.     public function getPayStripeCustomerId()
  1760.     {
  1761.         return $this->pay_stripe_customer_id;
  1762.     }
  1763.     /**
  1764.      * @param mixed $pay_stripe_customer_id
  1765.      */
  1766.     public function setPayStripeCustomerId($pay_stripe_customer_id)
  1767.     {
  1768.         $this->pay_stripe_customer_id $pay_stripe_customer_id;
  1769.     }
  1770.     /**
  1771.      * @return mixed
  1772.      */
  1773.     public function getPayStripeCardId()
  1774.     {
  1775.         return $this->pay_stripe_card_id;
  1776.     }
  1777.     /**
  1778.      * @param mixed $pay_stripe_card_id
  1779.      */
  1780.     public function setPayStripeCardId($pay_stripe_card_id)
  1781.     {
  1782.         $this->pay_stripe_card_id $pay_stripe_card_id;
  1783.     }
  1784.     /**
  1785.      * @return mixed
  1786.      */
  1787.     public function getOrdersMonthlyData()
  1788.     {
  1789.         return $this->ordersMonthlyData;
  1790.     }
  1791.     /**
  1792.      * @param mixed $ordersMonthlyData
  1793.      */
  1794.     public function setOrdersMonthlyData($ordersMonthlyData)
  1795.     {
  1796.         $this->ordersMonthlyData $ordersMonthlyData;
  1797.     }
  1798.     /**
  1799.      * @return mixed
  1800.      */
  1801.     public function getIsPayoutCompleted()
  1802.     {
  1803.         return $this->is_payout_completed;
  1804.     }
  1805.     /**
  1806.      * @param mixed $is_payout_completed
  1807.      */
  1808.     public function setIsPayoutCompleted($is_payout_completed)
  1809.     {
  1810.         $this->is_payout_completed $is_payout_completed;
  1811.     }
  1812.     /**
  1813.      * @return mixed
  1814.      */
  1815.     public function getPaymentMethodType()
  1816.     {
  1817.         return $this->payment_method_type;
  1818.     }
  1819.     /**
  1820.      * @param mixed $payment_method_type
  1821.      */
  1822.     public function setPaymentMethodType($payment_method_type)
  1823.     {
  1824.         $this->payment_method_type $payment_method_type;
  1825.     }
  1826.     /**
  1827.      * @return mixed
  1828.      */
  1829.     public function getPayStripePaymentIntentId()
  1830.     {
  1831.         return $this->pay_stripe_payment_intent_id;
  1832.     }
  1833.     /**
  1834.      * @param mixed $pay_stripe_payment_intent_id
  1835.      */
  1836.     public function setPayStripePaymentIntentId($pay_stripe_payment_intent_id)
  1837.     {
  1838.         $this->pay_stripe_payment_intent_id $pay_stripe_payment_intent_id;
  1839.     }
  1840.     /**
  1841.      * @return mixed
  1842.      */
  1843.     public function getPayStripeExtendPaymentIntentId()
  1844.     {
  1845.         return $this->pay_stripe_extend_payment_intent_id;
  1846.     }
  1847.     /**
  1848.      * @param mixed $pay_stripe_extend_payment_intent_id
  1849.      */
  1850.     public function setPayStripeExtendPaymentIntentId($pay_stripe_extend_payment_intent_id)
  1851.     {
  1852.         $this->pay_stripe_extend_payment_intent_id $pay_stripe_extend_payment_intent_id;
  1853.     }
  1854.     /**
  1855.      * @return mixed
  1856.      */
  1857.     public function getPayStripePaymentMethodId()
  1858.     {
  1859.         return $this->pay_stripe_payment_method_id;
  1860.     }
  1861.     /**
  1862.      * @param mixed $pay_stripe_payment_method_id
  1863.      */
  1864.     public function setPayStripePaymentMethodId($pay_stripe_payment_method_id)
  1865.     {
  1866.         $this->pay_stripe_payment_method_id $pay_stripe_payment_method_id;
  1867.     }
  1868.     /**
  1869.      * @return mixed
  1870.      */
  1871.     public function getIsOrderMonthlyRequestedEndSubscription()
  1872.     {
  1873.         return $this->is_order_monthly_requested_end_subscription;
  1874.     }
  1875.     /**
  1876.      * @param mixed $is_order_monthly_requested_end_subscription
  1877.      */
  1878.     public function setIsOrderMonthlyRequestedEndSubscription($is_order_monthly_requested_end_subscription)
  1879.     {
  1880.         $this->is_order_monthly_requested_end_subscription $is_order_monthly_requested_end_subscription;
  1881.     }
  1882.     /**
  1883.      * @return WP_Max_Vehicle_Size_Type
  1884.      */
  1885.     public function getSpotMaxVehicleSizeType()
  1886.     {
  1887.         return $this->spot_max_vehicle_size_type;
  1888.     }
  1889.     /**
  1890.      * @param WP_Max_Vehicle_Size_Type $spot_max_vehicle_size_type
  1891.      */
  1892.     public function setSpotMaxVehicleSizeType($spot_max_vehicle_size_type)
  1893.     {
  1894.         $this->spot_max_vehicle_size_type $spot_max_vehicle_size_type;
  1895.     }
  1896.     /**
  1897.      * @return WP_Electric_Charger_Type
  1898.      */
  1899.     public function getSpotElectricChargerType()
  1900.     {
  1901.         return $this->spot_electric_charger_type;
  1902.     }
  1903.     /**
  1904.      * @param WP_Electric_Charger_Type $spot_electric_charger_type
  1905.      */
  1906.     public function setSpotElectricChargerType($spot_electric_charger_type)
  1907.     {
  1908.         $this->spot_electric_charger_type $spot_electric_charger_type;
  1909.     }
  1910.     /**
  1911.      * @return mixed
  1912.      */
  1913.     public function getHaveElectricCharger()
  1914.     {
  1915.         return $this->have_electric_charger;
  1916.     }
  1917.     /**
  1918.      * @param mixed $have_electric_charger
  1919.      */
  1920.     public function setHaveElectricCharger($have_electric_charger)
  1921.     {
  1922.         $this->have_electric_charger $have_electric_charger;
  1923.     }
  1924.     /**
  1925.      * @return WP_Parking_Max_Height
  1926.      */
  1927.     public function getParkingMaxHeight()
  1928.     {
  1929.         return $this->parking_max_height;
  1930.     }
  1931.     /**
  1932.      * @param WP_Parking_Max_Height $parking_max_height
  1933.      */
  1934.     public function setParkingMaxHeight($parking_max_height)
  1935.     {
  1936.         $this->parking_max_height $parking_max_height;
  1937.     }
  1938.     public function jsonSerialize()
  1939.     {
  1940.         return array(
  1941.             'id' => $this->id,
  1942.             'user' => $this->user,
  1943.             'supplier' => $this->supplier,
  1944.             'add_spot' => $this->add_spot,
  1945.             'add_spot_id' => $this->add_spot->getId(),
  1946.             'property_type_id' => $this->spot_property_type->getId(),
  1947.             'parking_type_id' => $this->spot_parking_type->getId(),
  1948.             'access_type_id' => $this->spot_access_type->getId(),
  1949.             'max_vehicle_size_id' => $this->spot_max_vehicle_size->getId(),
  1950.             'currency_id' => $this->wp_currency->getId(),
  1951.             'currency_symbol' => $this->wp_currency->getSymbol(),
  1952.             'booking_type' => $this->booking_type,
  1953.             'is_completed' => $this->is_completed,
  1954.             'start_time' => $this->start_time->format('Y-m-d H:i:s'),
  1955.             'end_time' => $this->end_time->format('Y-m-d H:i:s'),
  1956.             'initial_end_time' => $this->initial_end_time->format('Y-m-d H:i:s'),
  1957.             'vehicle_model' => $this->vehicle_model,
  1958.             'vehicle_license_plate' => $this->vehicle_license_plate,
  1959.             'spot_title' => $this->spot_title,
  1960.             'spot_address' => $this->spot_address,
  1961.             'spot_street_number' => $this->spot_street_number,
  1962.             'spot_postal_code' => $this->spot_postal_code,
  1963.             'spot_city' => $this->spot_city,
  1964.             'spot_spot_number' => $this->spot_spot_number,
  1965.             'spot_latitude' => $this->spot_latitude,
  1966.             'spot_longitude' => $this->spot_longitude,
  1967.             'spot_street_name' => $this->spot_street_name,
  1968.             'spot_about_spot' => $this->spot_about_spot,
  1969.             'spot_access_type_detail' => $this->spot_access_type_detail,
  1970.             'spot_special_tips' => $this->spot_special_tips,
  1971.             'spot_parking_type_other' => $this->spot_parking_type_other,
  1972.             'spot_property_type_other' => $this->spot_property_type_other,
  1973.             'spot_access_type_other' => $this->spot_access_type_other,
  1974.             'is_promo_code_applied' => $this->is_promo_code_applied,
  1975.             'is_order_paid' => $this->is_order_paid,
  1976.             'spot_is_verified' => $this->spot_is_verified,
  1977.             'is_email_sent' => $this->is_email_sent,
  1978.             'is_sms_sent' => $this->is_sms_sent,
  1979.             'is_notification_sent' => $this->is_notification_sent,
  1980.             'is_fav_spot' => $this->is_fav_spot,
  1981.             'hourly_rate' => $this->orders_pricing != NULL $this->orders_pricing->getHourlyRate() : '',
  1982.             'daily_max' => $this->orders_pricing != NULL $this->orders_pricing->getDailyMax() : '',
  1983.             'sub_total_price' => $this->orders_pricing != NULL $this->orders_pricing->getSubTotalPrice() : '',
  1984.             'tax_price' => $this->orders_pricing != NULL $this->orders_pricing->getTaxPrice() : '',
  1985.             'service_fee_price' => $this->orders_pricing != NULL $this->orders_pricing->getServiceFeePrice() : '',
  1986.             'total_price' => $this->orders_pricing != NULL $this->orders_pricing->getTotalPrice() : '',
  1987.             'spot_image_url' => $this->spot_image_url,
  1988.             'is_spot_rated' => $this->getUserSpotReviews() != NULL $this->getUserSpotReviews()->getIsRated() : false,
  1989.             'wp_payment_id' => $this->getWpPayment() != NULL $this->getWpPayment()->getId() : '',
  1990.             'payment_method_type' => $this->payment_method_type,
  1991.             'pay_name' => $this->pay_name,
  1992.             'pay_brand' => $this->pay_brand,
  1993.             'pay_card_type' => $this->pay_card_type,
  1994.             'pay_expiry_month' => $this->pay_expiry_month,
  1995.             'pay_expiry_year' => $this->pay_expiry_year,
  1996.             'pay_last_four' => $this->pay_last_four,
  1997.             'is_extended' => $this->is_extended,
  1998.             'orders_extended' => $this->orders_extended,
  1999. //            'orders_extended' => $this->is_extended == true ? $this->orders_extended->toArray() : '',
  2000.             'is_completion_email_sent' => $this->is_completion_email_sent,
  2001.             'is_completion_sms_sent' => $this->is_completion_sms_sent,
  2002.             'is_completion_notification_sent' => $this->is_completion_notification_sent,
  2003.             'is_extend_booking_email_sent' => $this->is_extend_booking_email_sent,
  2004.             'is_extend_booking_notification_sent' => $this->is_extend_booking_notification_sent,
  2005.             'is_extend_booking_sms_sent' => $this->is_extend_booking_sms_sent,
  2006.             'is_pre_start_email_sent' => $this->is_pre_start_email_sent,
  2007.             'is_pre_start_sms_sent' => $this->is_pre_start_sms_sent,
  2008.             'is_pre_start_notification_sent' => $this->is_pre_start_notification_sent,
  2009.             'is_start_email_sent' => $this->is_start_email_sent,
  2010.             'is_start_sms_sent' => $this->is_start_sms_sent,
  2011.             'is_start_notification_sent' => $this->is_start_notification_sent,
  2012.             'has_parking_ended' => $this->has_parking_ended,
  2013.             'parking_end_time' => $this->parking_end_time == NULL '' $this->parking_end_time->format('Y-m-d H:i:s'),
  2014.             'booking_cancelled_on' => $this->booking_cancelled_on == NULL '' $this->booking_cancelled_on->format('Y-m-d H:i:s'),
  2015.             'booking_cancelled_reason' => $this->booking_cancelled_reason,
  2016.             'booking_status' => $this->booking_status,
  2017.             'refund_amount' => $this->refund_amount,
  2018.             'original_service_fee_price' => $this->orders_pricing != NULL $this->orders_pricing->getOriginalServiceFeePrice() : '',
  2019.             'original_sub_total_price' => $this->orders_pricing != NULL $this->orders_pricing->getOriginalSubTotalPrice() : '',
  2020.             'original_tax_price' => $this->orders_pricing != NULL $this->orders_pricing->getOriginalTaxPrice() : '',
  2021.             'original_total_price' => $this->orders_pricing != NULL $this->orders_pricing->getOriginalTotalPrice() : '',
  2022.             'discount_total' => $this->orders_pricing != NULL $this->orders_pricing->getDiscountTotal() : '',
  2023.             'user_id' => $this->user->getId(),
  2024.             'spot_id' => $this->add_spot->getId(),
  2025.             'supplier_id' => $this->supplier->getId(),
  2026.             'ordersFlexible' => $this->getOrdersFlexible(),
  2027.             'orderLatestMonthly' => count($this->ordersMonthly) > $this->getLatestMonthlyBookingPricingObj()->jsonSerialize() : NULL,
  2028.             'is_renewal_active' => $this->is_renewal_active,
  2029.             'next_renewal_amount' => $this->next_renewal_amount,
  2030.             'next_renewal_date' => $this->next_renewal_date == NULL '' $this->next_renewal_date->format('Y-m-d'),
  2031.             'current_monthly_booking_end_date' => $this->current_monthly_booking_end_date == NULL '' $this->current_monthly_booking_end_date->format('Y-m-d'),
  2032.             'refund_initiate_date' => $this->refund_initiate_date == NULL '' $this->refund_initiate_date->format('Y-m-d'),
  2033.             'refund_processed_date' => $this->refund_processed_date == NULL '' $this->refund_processed_date->format('Y-m-d'),
  2034.             'booked_on' => date("Y-m-d H:i:s", ($this->getCreatedAt() / 1000)),
  2035.             'is_refund_processed' => $this->is_refund_processed,
  2036.             'refund_reference_number' => $this->refund_reference_number,
  2037.             'ordersFlexibleDetail' => $this->orderFlexibleDetail != NULL $this->getOrderFlexibleDetail()->jsonSerialize() : NULL,
  2038.             'ordersMonthlyData' => $this->getOrdersMonthlyData(),
  2039.             'is_payout_completed' => $this->is_payout_completed,
  2040.             'is_discount_applicable' => $this->orders_pricing != NULL $this->getOrdersPricing()->getIsDiscountApplicable() : false,
  2041.             'promo_code' => $this->orders_pricing != NULL && $this->getOrdersPricing()->getPromoCode() != NULL $this->getOrdersPricing()->getPromoCode()->jsonSerialize() : NULL,
  2042.             'invoice' => $this->getOrdersPricing() != NULL $this->getOrdersPricing()->getInvoice() : '',
  2043.             'is_order_monthly_requested_end_subscription' => $this->is_order_monthly_requested_end_subscription,
  2044.             'max_vehicle_size_type_id' => $this->getSpotMaxVehicleSizeType() != NULL $this->getSpotMaxVehicleSizeType()->getId() : NULL,
  2045.             'electric_charger_type_id' => $this->getSpotElectricChargerType() != NULL $this->getSpotElectricChargerType()->getId() : NULL,
  2046.             'parking_max_height' => $this->getParkingMaxHeight() != NULL $this->getParkingMaxHeight()->getId() : NULL,
  2047.             'have_electric_charger' => $this->have_electric_charger,
  2048.         );
  2049.     }
  2050.     /**
  2051.      * @var string $created
  2052.      *
  2053.      * @ORM\Column(name="created_at", type="string", nullable=false)
  2054.      */
  2055.     protected $createdAt;
  2056.     /**
  2057.      * @var string $updated
  2058.      *
  2059.      * @ORM\Column(name="updated_at", type="string", nullable=false)
  2060.      */
  2061.     protected $updatedAt;
  2062.     public function getCreatedAt()
  2063.     {
  2064.         return $this->createdAt;
  2065.     }
  2066.     public function setCreatedAt($createdAt)
  2067.     {
  2068.         $this->createdAt $createdAt;
  2069.         return $this;
  2070.     }
  2071.     public function getUpdatedAt()
  2072.     {
  2073.         return $this->updatedAt;
  2074.     }
  2075.     public function setUpdatedAt($updatedAt)
  2076.     {
  2077.         $this->updatedAt $updatedAt;
  2078.         return $this;
  2079.     }
  2080.     /**
  2081.      * @ORM\PrePersist
  2082.      * @ORM\PreUpdate
  2083.      */
  2084.     public function updatedTimestamps()
  2085.     {
  2086.         $this->setUpdatedAt(round(microtime(true) * 1000));
  2087.         if ($this->getCreatedAt() === null) {
  2088.             $this->setCreatedAt(round(microtime(true) * 1000));
  2089.         }
  2090.     }
  2091.     public function __construct() {
  2092.         $this->orders_extended = new ArrayCollection();
  2093.         $this->ordersMonthly = new ArrayCollection();
  2094.         $this->ordersFlexible = new ArrayCollection();
  2095.         $this->order_supplier_transfer = new ArrayCollection();
  2096.         $this->setCreatedAt(round(microtime(true) * 1000));
  2097.     }
  2098. }