<?php namespace App\Interfaces; interface SupplierItem { /* RELATIONS */ /** * Supplier that provides this offering * * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function supplier_detail(); /** * Available products created from this supplier offering * * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany */ public function types(); /* 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; /** * Return the type of offering this is. * * @return string */ public function getTypeAttribute(); }