belongsTo('App\Models\Account');
    }
    public function user()
    {
        return $this->belongsTo('App\Models\User')->withTrashed();
    }
    public function client()
    {
        return $this->belongsTo('App\Models\Client')->withTrashed();
    }
    public function getPersonType()
    {
        return PERSON_CONTACT;
    }
    public function getName()
    {
        return $this->getDisplayName();
    }
    public function getDisplayName()
    {
        if ($this->getFullName()) {
            return $this->getFullName();
        } else {
            return $this->email;
        }
    }
    public function getContactKeyAttribute($contact_key)
    {
        if (empty($contact_key) && $this->id) {
            $this->contact_key = $contact_key = str_random(RANDOM_KEY_LENGTH);
            static::where('id', $this->id)->update(array('contact_key' => $contact_key));
        }
        return $contact_key;
    }
    public function getFullName()
    {
        if ($this->first_name || $this->last_name) {
            return $this->first_name.' '.$this->last_name;
        } else {
            return '';
        }
    }
    public function getLinkAttribute()
    {
        return \URL::to('client/dashboard/' . $this->contact_key);
    }
}