Contact
TheContact model is the core data structure in the ContactsManager SDK that represents a person or organization. It contains basic information about the contact and references to related contact information components.
Properties
Identity
identifier: String- Unique identifier for the contactid: String- Alias for identifier, conforming to Identifiable protocol
Basic Information
contactType: Int- Type of contact (0 = person, 1 = organization)
Name Components
namePrefix: String?- Title or honorific (e.g., Dr., Mr.)givenName: String?- First namemiddleName: String?- Middle namefamilyName: String?- Last namepreviousFamilyName: String?- Previous last name (e.g., maiden name)nameSuffix: String?- Name suffix (e.g., “Jr.”, “III”)nickname: String?- Informal name
Display Information
contactSection: String?- Section for alphabetical groupingdisplayName: String?- Formatted full name for display
Organization Information
organizationName: String?- Company or organization namedepartmentName: String?- Department within organizationjobTitle: String?- Professional title
Additional Information
notes: String?- General notes about the contactbio: String?- Biographical informationlocation: String?- Geographic location
Image Data
imageUrl: String?- URL to contact’s avatar imageimageData: Data?- Full-size image datathumbnailImageData: Data?- Optimized thumbnail image dataimageDataAvailable: Bool- Indicates if image data is available
Contact Information Lists
The Contact model contains collections of related information stored in separate models:- Phone Numbers - Collection of
ContactPhoneNumberobjects - Email Addresses - Collection of
ContactEmailAddressobjects - URL Addresses - Collection of
ContactURLAddressobjects - Social Profiles - Collection of
ContactSocialobjects - Physical Addresses - Collection of
ContactAddressobjects - Instant Message Addresses - Collection of
ContactInstantMessageobjects - Relations - Collection of
ContactRelationobjects
Additional Lists
interests: [String]- List of interests/hobbiesavatars: [String]- List of avatar URLs
Dates
birthday: Date?- Contact’s birthday- Important Dates - Collection of
ContactDateobjects createdAt: Double- Creation timestamp
Metadata
matchString: String?- Searchable string containing all contact informationisDeleted: Bool- Soft deletion flagparentContactId: String?- ID of parent contact if this is a linked contactlastSyncedAt: Double?- Timestamp of last successful sync with serverdirtyTime: Double?- Last modification timestampsourceId: String?- External source identifier
Usage Example
Related Models
- LocalCanonicalContact - Links a local contact with a canonical user profile
- CanonicalContact - Server-side user profile information