'date', 'expires_at' => 'date', 'renewal_at' => 'date', 'annual_amount' => 'decimal:2', 'metadata' => 'array', ]; public function stabile() { return $this->belongsTo(Stabile::class, 'stabile_id'); } public function brokerRubrica() { return $this->belongsTo(RubricaUniversale::class, 'broker_rubrica_id'); } public function companyRubrica() { return $this->belongsTo(RubricaUniversale::class, 'company_rubrica_id'); } public function claims() { return $this->hasMany(InsuranceClaim::class, 'insurance_policy_id'); } public function getDisplayNameAttribute(): string { $label = trim((string) ($this->policy_name ?? '')); if ($label !== '') { return $label; } $label = trim((string) ($this->policy_number ?? '')); if ($label !== '') { return $label; } return 'Polizza #' . (int) $this->id; } }