OutletStatus::class, ]; } public function getSlugOptions(): SlugOptions { return SlugOptions::create() ->generateSlugsFrom('name') ->saveSlugsTo('slug'); } #[Scope] public function operational(Builder $query): void { $query->where('status', OutletStatus::OPERATIONAL->value); } public function openingHours(): HasMany { return $this->hasMany(OpeningHour::class); } public function facilities(): HasMany { return $this->hasMany(Facility::class); } public function vouchers(): BelongsToMany { return $this->belongsToMany(Voucher::class); } public function perfumes(): BelongsToMany { return $this->belongsToMany(Perfume::class)->withPivot('stock'); } public function products(): BelongsToMany { return $this->belongsToMany(Product::class)->withPivot('stock'); } public function bottles(): BelongsToMany { return $this->belongsToMany(Bottle::class)->withPivot('stock'); } public function expenses(): HasMany { return $this->hasMany(Expense::class); } public function users(): BelongsToMany { return $this->belongsToMany(User::class); } public function purchases(): HasMany { return $this->hasMany(Purchase::class); } public function orders(): HasMany { return $this->hasMany(Order::class); } public function stockOpname(): HasMany { return $this->hasMany(StockOpname::class); } }