Point::class, 'verified_at' => 'datetime', 'household_size' => 'integer', ]; } public function getRouteKeyName(): string { return 'uuid'; } public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() ->logOnly(['verification_status', 'verified_by_admin_id', 'rejection_reason', 'assigned_drop_off_point_id']) ->logOnlyDirty() ->dontSubmitEmptyLogs() ->useLogName('household'); } protected static function booted(): void { static::creating(function (self $h): void { if (empty($h->uuid)) { $h->uuid = (string) Str::uuid(); } }); } public function head(): BelongsTo { return $this->belongsTo(User::class, 'head_user_id'); } public function barangay(): BelongsTo { return $this->belongsTo(Barangay::class); } public function members(): HasMany { return $this->hasMany(HouseholdMember::class); } public function assignedDropOffPoint(): BelongsTo { return $this->belongsTo(DropOffPoint::class, 'assigned_drop_off_point_id'); } }