'boolean', 'price' => 'decimal:2', 'provider_data' => 'array', ]; public function plan(): BelongsTo { return $this->belongsTo(Plan::class); } public function scopeEnabled($query) { return $query->where('is_enabled', true); } public function scopeByProvider($query, string $provider) { return $query->where('provider', $provider); } public function getProviderData(?string $key = null, $default = null) { if ($key) { return data_get($this->provider_data, $key, $default); } return $this->provider_data; } }