2021-12-24 01:14:01 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Interfaces;
|
|
|
|
|
|
|
|
interface SupplierItem
|
|
|
|
{
|
|
|
|
/* RELATIONS */
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Supplier that provides this offering
|
|
|
|
*
|
2022-02-01 05:40:46 +00:00
|
|
|
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
2021-12-24 01:14:01 +00:00
|
|
|
*/
|
2022-02-01 05:40:46 +00:00
|
|
|
public function supplier_detail();
|
2021-12-24 01:14:01 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Available products created from this supplier offering
|
|
|
|
*
|
2022-06-30 13:51:20 +00:00
|
|
|
* @return \Illuminate\Database\Eloquent\Relations\HasMany
|
2021-12-24 01:14:01 +00:00
|
|
|
*/
|
2022-06-30 13:51:20 +00:00
|
|
|
public function products();
|
2021-12-24 01:14:01 +00:00
|
|
|
|
|
|
|
/* 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;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The minimum cost of ordering this offering
|
|
|
|
*
|
|
|
|
* @return float
|
|
|
|
*/
|
|
|
|
public function getMinCostAttribute(): float;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The minimum cost of ordering this offering including taxes
|
|
|
|
*
|
|
|
|
* @return float
|
|
|
|
*/
|
|
|
|
public function getMinCostTaxableAttribute(): float;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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;
|
|
|
|
}
|