'decimal:2', 'discount_pct' => 'decimal:2', 'last_contact_at' => 'datetime', 'notify_prefs' => 'array', ]; /** Normalize a phone number to E.164-ish digits for matching. */ public static function normalizePhone(?string $phone): ?string { if (! $phone) return null; $digits = preg_replace('/[^0-9]/', '', $phone); return $digits ?: null; } public function vehicles(): HasMany { return $this->hasMany(Vehicle::class); } public function workOrders(): HasMany { return $this->hasMany(WorkOrder::class); } public function payments(): HasMany { return $this->hasMany(Payment::class); } public function assignedTo(): BelongsTo { return $this->belongsTo(User::class, 'assigned_to'); } }