<?php
namespace App\Entity;
use App\Repository\AppointmentRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=AppointmentRepository::class)
*/
class Appointment
{
const APPOINTMENT_PENDING='pending' ;
const APPOINTMENT_VALIDE='valid' ;
const APPOINTMENT_UPDATED='updated' ;
const APPOINTMENT_REJECTED='rejected' ;
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $firstName;
/**
* @ORM\Column(type="string", length=255)
*/
private $lastName;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $email;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $phone;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $details;
/**
* @ORM\Column(type="string", length=255)
*/
private $object;
/**
* @ORM\Column(type="datetime")
*/
private $availablity;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $availablityConfirmed;
/**
* @ORM\Column(type="string", length=255)
*/
private $status;
/**
* @ORM\Column(type="datetime")
*/
private $createdAt;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $updatedAt;
public function __construct()
{
$this->createdAt = new \DateTimeImmutable();
$this->updatedAt = new \DateTimeImmutable();
}
public function __toString(): string
{
return $this->firstName . ' ' . $this->lastName;
}
public function getId(): ?int
{
return $this->id;
}
public function getFirstName(): ?string
{
return $this->firstName;
}
public function setFirstName(string $firstName): self
{
$this->firstName = $firstName;
return $this;
}
public function getLastName(): ?string
{
return $this->lastName;
}
public function setLastName(string $lastName): self
{
$this->lastName = $lastName;
return $this;
}
public function getEmail(): ?string
{
return $this->email;
}
public function setEmail(?string $email): self
{
$this->email = $email;
return $this;
}
public function getPhone(): ?string
{
return $this->phone;
}
public function setPhone(?string $phone): self
{
$this->phone = $phone;
return $this;
}
public function getDetails(): ?string
{
return $this->details;
}
public function setDetails(?string $details): self
{
$this->details = $details;
return $this;
}
public function getObject(): ?string
{
return $this->object;
}
public function setObject(string $object): self
{
$this->object = $object;
return $this;
}
public function getAvailablity(): ?\DateTimeInterface
{
return $this->availablity;
}
public function setAvailablity(\DateTimeInterface $availablity): self
{
$this->availablity = $availablity;
return $this;
}
public function getAvailablityConfirmed(): ?\DateTimeInterface
{
return $this->availablityConfirmed;
}
public function setAvailablityConfirmed(?\DateTimeInterface $availablityConfirmed): self
{
$this->availablityConfirmed = $availablityConfirmed;
return $this;
}
public function getStatus(): ?string
{
return $this->status;
}
public function setStatus(string $status): self
{
$this->status = $status;
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(\DateTimeInterface $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getUpdatedAt(): ?\DateTimeInterface
{
return $this->updatedAt;
}
public function setUpdatedAt(\DateTimeInterface $updatedAt): self
{
$this->updatedAt = $updatedAt;
return $this;
}
}