---
title: clsContact
summary: API reference for clsContact.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.CustomerContact
reference_type: package
---

# clsContact

`clsContact` provides the root BOF aggregate for contact data.

## Purpose
- Root BOF aggregate for contact data.

## Context
- Namespace: `SAIF.Business.CustomerContact.Contact`
- Assembly/package: `SAIF.BOF.Business.CustomerContact`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| clsCustomerRelationship | `Public Class clsCustomerRelationship` | Represents a read-only customer relationship surfaced by CustomerRelationships. |
| ContactID | `Public ReadOnly Property ContactID() As Decimal Implements ICustomerContact.ID` | Returns or sets the contact identifier exposed by this type. |
| CreateDate | `Public ReadOnly Property CreateDate() As Date` | Returns the date value exposed by this type. |
| CreateUser | `Public ReadOnly Property CreateUser() As String` | Returns the user field exposed by this type. |
| UpdateUser | `Public ReadOnly Property UpdateUser() As String` | Returns the user field exposed by this type. |
| UpdateDate | `Public ReadOnly Property UpdateDate() As Date` | Returns the date value exposed by this type. |
| IsActive | `Public Property IsActive() As Boolean Implements ICustomerContact.IsActive` | Returns or sets the boolean state exposed by this type. |
| IsPrimary | `Public Property IsPrimary() As Boolean Implements ICustomerContact.IsPrimary` | Returns or sets the boolean state exposed by this type. |
| Name | `Public ReadOnly Property Name As clsName` | Returns the name value exposed by this type. |
| MarriedName | `Public Property MarriedName() As String` | Returns or sets the name value exposed by this type. |
| MaidenName | `Public Property MaidenName() As String` | Returns or sets the name value exposed by this type. |
| NickName | `Public Property NickName() As String` | Returns or sets the name value exposed by this type. |
| AliasName | `Public Property AliasName() As String` | Returns or sets the name value exposed by this type. |
| AlternateName | `Public Property AlternateName As String` | Returns or sets the name value exposed by this type. |
| DriversLicenseNumber | `Public Property DriversLicenseNumber() As String` | Returns or sets the driver license number. |
| DriversLicenseState | `Public Property DriversLicenseState() As String` | Returns or sets the driver license issuing state. |
| BirthDate | `Public Property BirthDate() As Date` | Returns or sets the date value exposed by this type. |
| TaxID | `Public Property TaxID() As String` | Returns or sets the tax identifier. |
| GenderCode | `Public Property GenderCode() As String` | Returns or sets the classification code exposed by this type. |
| EthnicGroupCode | `Public Property EthnicGroupCode() As String` | Returns or sets the classification code exposed by this type. |
| EffectiveDate | `Public Property EffectiveDate() As Date Implements ICustomerContact.EffectiveDate` | Returns or sets the date value exposed by this type. |
| ExpirationDate | `Public Property ExpirationDate() As Date Implements ICustomerContact.ExpirationDate` | Returns or sets the date value exposed by this type. |
| AnniversaryDate | `Public Property AnniversaryDate() As Date` | Returns or sets the date value exposed by this type. |
| ShortNoteText | `Public Property ShortNoteText() As String` | Returns or sets the short note text. |
| LongNoteText | `Public Property LongNoteText As String` | Returns or sets the long note text routed through the related note object. |
| Addresses | `Public ReadOnly Property Addresses As clsContactAddressCollection` | Returns the related address collection. |
| Phones | `Public ReadOnly Property Phones As clsContactPhoneCollection` | Returns the related phone collection. |
| Emails | `Public ReadOnly Property Emails As clsContactEmailCollection` | Returns the related email collection. |
| CustomerRelationships | `Public ReadOnly Property CustomerRelationships As IEnumerable(Of clsCustomerRelationship)` | Returns the related customer-relationship list. |
| IsContact | `Public ReadOnly Property IsContact As Boolean Implements ICustomerContact.IsContact` | Returns the boolean state exposed by this type. |
| IsCustomer | `Public ReadOnly Property IsCustomer As Boolean Implements ICustomerContact.IsCustomer` | Returns the boolean state exposed by this type. |
| CustomerContactName | `Public ReadOnly Property CustomerContactName As String Implements ICustomerContact.Name` | Returns the display name exposed by the shared customer/contact contract. |
| DisplayDescription | `Public ReadOnly Property DisplayDescription As String Implements ICustomerContact.Description` | Returns the display description exposed by the shared customer/contact contract. |
| IsValid | `Public Overrides ReadOnly Property IsValid As Boolean` | Returns whether the object and any checked child objects have accumulated validation errors. |
| IsDirty | `Public Overrides ReadOnly Property IsDirty As Boolean` | Returns whether the current object or one of its child objects has unsaved changes. |
| NewContact | `Public Shared Function NewContact(ByVal inDataportal As IDataPortalInfo) As clsContact` | Creates a new business object through the BOF data portal. |
| GetContact | `Public Shared Function GetContact(ByVal inDataportal As IDataPortalInfo, ByVal inContactID As Decimal) As clsContact` | Retrieves an existing business object through the BOF data portal. |

## Behavioral notes
- Address and phone collections are loaded together so connected phone references can be resolved on address items.

## Constraints and usage notes
- Use NewContact or GetContact with IDataPortalInfo instead of depending on direct construction.

## Sources
- `Business\SAIF.Business.CustomerContact\Contact\clsContact.vb`
