BelongsTo(Company::class, 'company_id'); } /** * @return BelongsTo */ public function service(): BelongsTo { return $this->BelongsTo(ServiceType::class, 'service_id'); } /** * @return BelongsTo */ public function bank(): BelongsTo { return $this->BelongsTo(Bank::class, 'bank_id'); } /** * @return BelongsTo */ public function fixedCurrency(): BelongsTo { return $this->BelongsTo(Currency::class, 'fix_currency_id'); } /** * @return BelongsTo */ public function convertibleCurrency(): BelongsTo { return $this->BelongsTo(Currency::class, 'convertible_currency_id'); } /** * @return BelongsTo */ public function conversionCurrency(): BelongsTo { return $this->BelongsTo(Currency::class, 'conversion_currency_id'); } /** * @return MorphMany */ public function documents(): MorphMany { return $this->MorphMany(Document::class, 'owner'); } /** * @return HasMany */ public function transactions(): HasMany { return $this->HasMany(Transaction::class, 'booking_id'); } protected static function booted() { if (auth()->user()->type === RoleTypes::USER) { static::addGlobalScope(new CustomerBookingsScope); } } }