<?php

namespace App\Models\Entity;

/**
 * @Entity @Table(name="promotions")
 **/

class Promotions implements \JsonSerializable
{
  /**
   * @Id @Column(type="integer")
   * @GeneratedValue(strategy="AUTO")
   */
  private $id;

  /**
   * @Column(length=200)
   */
  private $idVtex;

  /**
   * @Column(length=200)
   */
  private $namePromotion;

  /**
   * @Column(length=200)
   */
  private $beginDate;

  /**
   * @Column(length=200)
   */
  private $endDate;

  /**
   * @Column(length=200)
   */
  private $idCoupon;

  /**
   * @Column(length=200)
   */
  private $coupon;

  /**
   * @Column(length=200)
   */
  private $status;

  /**
   * @Column(length=200)
   */
  private $typePromotion;

  /**
   * @Column(length=200)
   */
  private $valuePromotion;

  /**
   * @Column(length=200)
   */
  private $dockPromotion;

  function getId(){
    return $this->id;
  }

  function getIdVtex(){
    return $this->idVtex;
  }

  function getNamePromotion(){
    return $this->namePromotion;
  }

  function getBeginDate(){
    return $this->beginDate;
  }

  function getEndDate(){
    return $this->endDate;
  }

  function getIdCoupon(){
    return $this->idCoupon;
  }

  function getCoupon(){
    return $this->coupon;
  }

  function getStatus(){
    return $this->status;
  }

  function getTypePromotion(){
    return $this->typePromotion;
  }

  function getValuePromotion(){
    return $this->valuePromotion;
  }

  function getDockPromotion(){
    return $this->dockPromotion;
  }

  function setId($id) {
      $this->id = $id;
      return $this;
  }

  function setIdVtex($idVtex) {
      $this->idVtex = $idVtex;
      return $this;
  }

  function setNamePromotion($namePromotion) {
      $this->namePromotion = $namePromotion;
      return $this;
  }

  function setBeginDate($beginDate) {
      $this->beginDate = $beginDate;
      return $this;
  }

  function setEndDate($endDate) {
      $this->endDate = $endDate;
      return $this;
  }

  function setIdCoupon($idCoupon) {
      $this->idCoupon = $idCoupon;
      return $this;
  }

  function setCoupon($coupon) {
      $this->coupon = $coupon;
      return $this;
  }

  function setStatus($status) {
      $this->status = $status;
      return $this;
  }

  function setTypePromotion($typePromotion) {
      $this->typePromotion = $typePromotion;
      return $this;
  }

  function setValuePromotion($valuePromotion) {
      $this->valuePromotion = $valuePromotion;
      return $this;
  }

  function setDockPromotion($dockPromotion) {
      $this->dockPromotion = $dockPromotion;
      return $this;
  }

  public function jsonSerialize() {
      return get_object_vars($this);
  }
}
