Files
shipping-portal/app/Classes/Modules/Transports/DataTransferObjects/TransportObject.php
T
2021-08-23 08:39:59 +08:00

98 lines
1.9 KiB
PHP

<?php
namespace App\Classes\Modules\Transports\DataTransferObjects;
use App\Classes\General\Interfaces\DataTransferObject;
use Carbon\Carbon;
class TransportObject implements DataTransferObject
{
/** @var string */
private $type;
/** @var null|string */
private $courier;
/** @var null|string */
private $trackingNumber;
/** @var Carbon|null */
private $dispatchDate;
/** @var Carbon|null */
private $dropDate;
/** @var int */
private $status;
/**
* TransportObject constructor.
* @param string $type
* @param null|string $courier
* @param null|string $trackingNumber
* @param Carbon|null $dispatchDate
* @param Carbon|null $dropDate
* @param int $status
*/
public function __construct(string $type, ?string $courier, ?string $trackingNumber, ?Carbon $dispatchDate, ?Carbon $dropDate, int $status)
{
$this->type = $type;
$this->courier = $courier;
$this->trackingNumber = $trackingNumber;
$this->dispatchDate = $dispatchDate;
$this->dropDate = $dropDate;
$this->status = $status;
}
/**
* @return string
*/
public function getType(): string
{
return $this->type;
}
/**
* @return null|string
*/
public function getCourier(): ?string
{
return $this->courier;
}
/**
* @return null|string
*/
public function getTrackingNumber(): ?string
{
return $this->trackingNumber;
}
/**
* @return Carbon|null
*/
public function getDispatchDate(): ?Carbon
{
return $this->dispatchDate;
}
/**
* @return Carbon|null
*/
public function getDropDate(): ?Carbon
{
return $this->dropDate;
}
/**
* @return int
*/
public function getStatus(): int
{
return $this->status;
}
}