2020-02-05 04:47:24 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Interfaces;
|
|
|
|
|
2021-07-13 02:31:56 +00:00
|
|
|
use Carbon\Carbon;
|
|
|
|
|
2020-02-05 04:47:24 +00:00
|
|
|
interface ServiceItem
|
|
|
|
{
|
2022-04-19 07:07:39 +00:00
|
|
|
/**
|
|
|
|
* Months the service is contracted for.
|
|
|
|
*
|
|
|
|
* @return int
|
|
|
|
*/
|
|
|
|
public function getContractTermAttribute(): int;
|
|
|
|
|
2020-02-05 04:47:24 +00:00
|
|
|
/**
|
|
|
|
* Return the Service Description.
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
2020-04-01 12:35:06 +00:00
|
|
|
public function getServiceDescriptionAttribute(): string;
|
2020-02-05 04:47:24 +00:00
|
|
|
|
2021-07-13 02:31:56 +00:00
|
|
|
/**
|
|
|
|
* Date the service expires
|
|
|
|
*/
|
2022-04-19 07:07:39 +00:00
|
|
|
public function getServiceExpireAttribute(): ?Carbon;
|
2021-07-13 02:31:56 +00:00
|
|
|
|
2020-02-05 04:47:24 +00:00
|
|
|
/**
|
|
|
|
* Return the Service Name.
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
2020-04-01 12:35:06 +00:00
|
|
|
public function getServiceNameAttribute(): string;
|
2020-02-19 12:37:45 +00:00
|
|
|
|
2022-04-19 07:07:39 +00:00
|
|
|
/**
|
|
|
|
* Has this service expired
|
|
|
|
*
|
|
|
|
* @return bool
|
|
|
|
*/
|
|
|
|
public function hasExpired(): bool;
|
|
|
|
|
2020-02-19 12:37:45 +00:00
|
|
|
/**
|
|
|
|
* Is this service in a contract
|
|
|
|
*
|
|
|
|
* @return bool
|
|
|
|
*/
|
|
|
|
public function inContract(): bool;
|
2020-02-05 04:47:24 +00:00
|
|
|
}
|