'integer', 'seat_capacity' => 'integer', 'price_per_day' => 'integer', ]; public function rentalCompany(): BelongsTo { return $this->belongsTo(RentalCompany::class); } public function images(): HasMany { return $this->hasMany(VehicleImage::class); } public function primaryImage(): HasOne { return $this->hasOne(VehicleImage::class)->where('is_primary', true); } public function bookings(): HasMany { return $this->hasMany(Booking::class); } public function inventory(): HasOne { return $this->hasOne(Inventory::class); } public function reviews(): HasMany { return $this->hasMany(Review::class); } public function scopeActive(Builder $query): Builder { return $query->where('status', self::STATUS_ACTIVE); } public function scopeVisibleToCustomers(Builder $query): Builder { return $query->active()->whereHas('rentalCompany', function (Builder $rentalQuery): void { $rentalQuery->approved(); }); } }