Work on products, first completed broadband
This commit is contained in:
76
app/Interfaces/ProductItem.php
Normal file
76
app/Interfaces/ProductItem.php
Normal file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
|
||||
namespace App\Interfaces;
|
||||
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||
|
||||
interface ProductItem
|
||||
{
|
||||
/* RELATIONS */
|
||||
|
||||
/**
|
||||
* Supplier that provides this offering
|
||||
*
|
||||
* @return BelongsTo
|
||||
*/
|
||||
//public function supplier_detail(): BelongsTo;
|
||||
|
||||
/**
|
||||
* Available products created from this supplier offering
|
||||
*
|
||||
* @return BelongsToMany
|
||||
*/
|
||||
//public function types(): BelongsToMany;
|
||||
|
||||
/* ATTRIBUTES */
|
||||
|
||||
/**
|
||||
* Return the billing interval base cost including tax
|
||||
*
|
||||
* @return float
|
||||
*/
|
||||
public function getBaseCostTaxableAttribute(): float;
|
||||
|
||||
/**
|
||||
* Return the billing interval that the supplier charges
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getBillingIntervalAttribute(): int;
|
||||
|
||||
/**
|
||||
* The term that the supplier imposes on this service being connected
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getContractTermAttribute(): int;
|
||||
|
||||
/**
|
||||
* Suppliers offering name (short)
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getNameAttribute(): string;
|
||||
|
||||
/**
|
||||
* Suppliers offering name (long)
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getNameLongAttribute(): string;
|
||||
|
||||
/**
|
||||
* Return the setup cost including tax
|
||||
*
|
||||
* @return float
|
||||
*/
|
||||
public function getSetupCostTaxableAttribute(): float;
|
||||
|
||||
/**
|
||||
* Return the type of offering this is.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getTypeAttribute();
|
||||
}
|
Reference in New Issue
Block a user