Employee Model - Complete Field Reference
This page provides complete documentation of all properties within the Employee model.
Note:
Employeeis a master entity representing a real estate broker/agent and is stored in its own collection. This entity is referenced by ID fromEstateandDepartmentmodels.Note: For employee-specific classes like
EmployeePosition, see the Employee Classes documentation. For shared classes likeAddressandImage, see the Shared Classes documentation.
Employee Class
The main class representing a real estate agent or broker.
Core Identification & System
| Property | Type | Description | Example |
|---|---|---|---|
Id |
string |
Unique identifier for this employee. | "3006722" |
Origin |
string? |
The source system the data originated from. | "Vitec" |
LastModifiedOrigin |
DateTime? |
When this employee record was last updated in the origin system. | 2025-10-28T14:39:00Z |
LastModifiedLocal |
DateTime? |
When this employee record was last updated locally in Destinet. | 2025-10-28T15:30:00Z |
CustomData |
Dictionary<string, object>? |
System-specific metadata. | { "VitecEmployeeNo": "A1024" } |
Contact and Personal Details
| Property | Type | Description | Example |
|---|---|---|---|
Name |
string |
Employee's full name. | "Karianne Westby Jensen" |
Title |
string |
Employee's job title or role. | "Senior Broker", "Fagansvarlig" |
Email |
string? |
Employee's primary email address. | "karianne@proaktiv.no" |
MobilePhone |
string? |
Employee's mobile phone number. | "47 70 02 14" |
WorkPhone |
string? |
Employee's office/landline phone number. | "51 12 34 56" |
Description |
string? |
Biography/detailed description of the employee (Norwegian: Legg til beskrivelse). | Full text description of experience and background. |
Qualifications |
string? |
Employee's qualifications and certifications (Norwegian: Kompetanse). | "Bachelor i Eiendomsmegling" |
Media
| Property | Type | Description |
|---|---|---|
PhotoUrl |
string? |
URL to employee's primary profile photo. |
VideoUrl |
string? |
URL to employee's video presentation (Norwegian: Video link). |
Images |
ImageCollection? |
Additional images for the employee (signature, secondary photos). |
Status and Specialization
| Property | Type | Description | Example |
|---|---|---|---|
Order |
int? |
Display order/sequence number for this employee. | 1 |
IsProjectBroker |
bool? |
Whether this employee specializes in project sales (Norwegian: Prosjektmegler). | true / false |
IsRentalBroker |
bool? |
Whether this employee specializes in rental properties (Norwegian: Utleiemegler). | true / false |
IsActive |
bool? |
Whether this employee is currently active. | true / false |
Department References and Statistics
| Property | Type | Description | Example |
|---|---|---|---|
DepartmentIds |
List<string>? |
References to the departments/offices this employee belongs to. | ["3005093", "3005094"] |
SoldProperties |
List<string>? |
List of addresses/properties this employee has sold (Norwegian: Solgte Adresser). | ["Storgata 10", "Skovveien 2"] |
Supporting Classes (Shared)
For complete documentation of shared classes, see the Shared Classes section.
These classes are reusable across multiple model types (Estate, Department, Employee, Project, etc.). They are documented in detail in their own pages.
- Image - Generic image class for all entities
Complete Usage Example
using Destinet.RealEstate.Models;
using System;
using System.Collections.Generic;
var employee = new Employee
{
// Identification & System
Id = "3006722",
Origin = "Vitec",
LastModifiedOrigin = DateTime.Parse("2025-10-28T14:39:00Z"),
LastModifiedLocal = DateTime.Parse("2025-10-28T15:30:00Z"),
// Personal Details
Name = "Jonas Haugen",
Title = "Managing Director, Senior Broker",
Email = "jonas.haugen@megler.no",
MobilePhone = "900 12 345",
Phone = "22 10 50 00",
Description = "Jonas has over 15 years of experience in the Oslo real estate market, specializing in high-end residential properties and new build projects.",
Qualifications = "Master of Science in Business (NHH), Certified Real Estate Broker",
// Media
PhotoUrl = "https://cdn.megler.no/jonas/profile.jpg",
VideoUrl = "https://youtube.com/watch?v=employee-jonas-promo",
// Status and Specialization
Order = 1,
IsProjectBroker = true,
IsRentalBroker = false,
IsActive = true,
// References and Statistics
DepartmentIds = new List<string> { "3005093", "3005094" }, // Belongs to two offices
SoldProperties = new List<string>
{
"Karl Johans gate 10, Oslo",
"Frognerveien 20, Oslo",
"Skovveien 5, Oslo"
},
// System Metadata
CustomData = new Dictionary<string, object>
{
{ "InternalId", "JH2004" },
{ "VitecRole", "Megler" }
}
};
// Add Images
employee.Images = new ImageCollection();
employee.Images.Add(new Image
{
Id = "IMG-1001",
OriginalUrl = "https://cdn.megler.no/jonas/signature.png",
Filename = "signature.png",
FileExtension = "png",
ExternalProviderUrl = "https://cloud.storage/employee/sig.png",
Caption = "Employee's digital signature",
AltText = "Jonas Haugen digital signature",
Category = "Signature",
Order = 1,
Width = 500,
Height = 100,
LastModifiedOrigin = DateTime.Parse("2025-10-25"),
LastModifiedLocal = DateTime.Parse("2025-10-25T10:30:00Z")
});
employee.Images.Add(new Image
{
Id = "IMG-1002",
OriginalUrl = "https://cdn.megler.no/jonas/awards.jpg",
Filename = "awards-photo.jpg",
FileExtension = "jpg",
ExternalProviderUrl = "https://cloud.storage/employee/awards.jpg",
Caption = "Jonas receiving 'Broker of the Year' award",
AltText = "Jonas Haugen receiving industry award",
Category = "Award Photo",
Order = 2,
Width = 1000,
Height = 600,
LastModifiedOrigin = DateTime.Parse("2025-10-25"),
LastModifiedLocal = DateTime.Parse("2025-10-25T10:30:00Z")
});
Working with Employee Data
Example: Finding Employees by Department
// Get all employees in a specific department
var departmentEmployees = employees.Where(e =>
e.DepartmentIds != null &&
e.DepartmentIds.Contains("3005093")
);
// Get active employees only
var activeEmployees = employees.Where(e => e.IsActive);
// Get project specialists
var projectBrokers = employees.Where(e => e.IsProjectBroker);
// Get rental specialists
var rentalBrokers = employees.Where(e => e.IsRentalBroker);
Example: Finding Related Entities
// Get all estates where this employee is a broker
var employeeEstates = estates.Where(e =>
e.BrokersIdWithRoles != null &&
e.BrokersIdWithRoles.Any(b => b.EmployeeId == employee.Id)
);
// Get all departments this employee belongs to
var employeeDepartments = departments.Where(d =>
employee.DepartmentIds.Contains(d.Id)
);
// Check if employee is a managing director
var isDepartmentMD = departments.Any(d =>
d.ManagingDirectorIds != null &&
d.ManagingDirectorIds.Contains(employee.Id)
);
Relationship to Other Models
Employee → Department (Many-to-Many)
Employees can belong to multiple departments:
Departments also reference key employees:
department.ManagingDirectorIds = new List<string> { "3006722" };
department.ResponsibleBrokerIds = new List<string> { "3006723" };
department.DepartmentManagerIds = new List<string> { "3006724" };
Employee → Estate (Many-to-Many via BrokerWithRole)
Estates reference employees through the BrokerWithRole class:
estate.BrokersIdWithRoles.Add(new BrokerWithRole
{
EmployeeId = "3006722",
BrokerRole = 1 // Primary broker
});
Employee → Project (via Project references)
Projects can reference employees as contact persons:
project.ContactPersonId = "3006722";
project.AdditionalAgentIds = new List<string> { "3006723", "3006724" };
Download
Main Employee Class:
- Download Employee.cs - Complete C# source code
Employee-Specific Classes:
- Download EmployeePosition.cs - Position/role information
Related Pages
- Overview - High-level overview of the Employee model
- Shared Classes - Reusable classes documentation
- Department Model - Learn about departments
- Estate Model - Learn about estates
- Project Model - Learn about projects