<?php namespace App\Models\Service; use App\Interfaces\ServiceItem; use App\Models\Base\ServiceType; use App\Traits\NextKey; use Carbon\Carbon; class Voip extends ServiceType implements ServiceItem { use NextKey; const RECORD_ID = 'service__adsl'; protected $dates = [ 'service_connect_date', 'service_contract_date', ]; protected $table = 'ab_service__voip'; /** * Return the service address * * @return string */ public function getServiceDescriptionAttribute(): string { return $this->service_address ?: 'VOIP'; } public function getServiceExpireAttribute(): Carbon { // TODO: Implement getServiceExpireAttribute() method. } /** * Return the service number * * @return string */ public function getServiceNameAttribute(): string { return $this->service_number; } public function inContract(): bool { return $this->service_contract_date AND $this->service_contract_date->addMonths($this->contract_term)->isFuture(); } }