---
title: Policy
summary: API reference for Policy.
status: draft
owner: SAIF.Core documentation team
last_reviewed: 2026-09-24
library: SAIF.Data
reference_type: package
---

# Policy

Domain entity representing Policy data within the policies area of the claims/policy domain, mapped for NHibernate persistence.*

## Purpose
- Models policy data used by the policies area of this library.*
- Inherits shared identity/lifecycle behavior from `EntityBase`.

## Context
- Namespace: `SAIF.Data.Model.Policies`
- Assembly/package: `SAIF.Data`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| PolicyNumber | `long PolicyNumber { get; set; }` | Value of policy number exposed by this type.* |
| PolicyName | `string PolicyName { get; set; }` | Value of policy name exposed by this type.* |
| LegalName | `string LegalName { get; set; }` | Value of legal name exposed by this type.* |
| SecurePolicyCode | `string SecurePolicyCode { get; set; }` | Coded value identifying secure policy code.* |
| OfficeCode | `string OfficeCode { get; set; }` | Coded value identifying office code.* |
| AccountNumber | `string AccountNumber { get; set; }` | Value of account number exposed by this type.* |
| Status | `PolicyStatus Status { get; set; }` | Reference to the associated `PolicyStatus` record.* |
| MainDbaName | `TradingAs MainDbaName { get; set; }` | Reference to the associated `TradingAs` record.* |
| MarketType | `MarketTypeCode MarketType { get; set; }` | Reference to the associated `MarketTypeCode` record.* |
| Relationship | `PolicyRelationshipCode Relationship { get; set; }` | Reference to the associated `PolicyRelationshipCode` record.* |
| Periods | `IList<PolicyPeriod> Periods { get; set; }` | Value of periods exposed by this type.* |
| DbaNames | `IList<TradingAs> DbaNames { get; set; }` | Value of dba names exposed by this type.* |
| OscPolicies | `IList<OtherStatesPolicy> OscPolicies { get; set; }` | Value of osc policies exposed by this type.* |
| BusinessAffiliates | `ICollection<BusinessAffiliate> BusinessAffiliates { get; set; }` | Value of business affiliates exposed by this type.* |
| SubmissionPolicies | `ICollection<SubPolicy> SubmissionPolicies { get; set; }` | Value of submission policies exposed by this type.* |
| TeamFunctions | `ICollection<PolicyTeamFunction> TeamFunctions { get; set; }` | Value of team functions exposed by this type.* |
| MailingLocation | `Location MailingLocation { get; set; }` | Reference to the associated `Location` record.* |
| RelationshipPolicy | `Policy RelationshipPolicy { get; set; }` | Reference to the associated `Policy` record.* |
| Agent | `Agent Agent { get; set; }` | Reference to the associated `Agent` record.* |
| RateAccount | `Policy RateAccount { get; set; }` | Reference to the associated `Policy` record.* |
| Office | `OfficeCode Office { get; set; }` | Reference to the associated `OfficeCode` record.* |
| Entity | `PolicyEntity Entity { get; set; }` | Reference to the associated `PolicyEntity` record.* |
| CustomerServiceTeam | `CustomerServiceTeamCode CustomerServiceTeam { get; set; }` | Reference to the associated `CustomerServiceTeamCode` record.* |
| Policy() | `Policy()` | Initializes a new instance of the type with the supplied dependencies.* |

## Behavioral notes
- Properties are typically declared `virtual` to support NHibernate lazy-loading proxies (see the corresponding mapping file under `Data/SAIF.Data.NHibernate`).*

## Constraints and usage notes
- No additional usage constraints beyond standard NHibernate entity/DTO conventions could be confirmed from static analysis.**

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `Data/SAIF.Data/Model/Policies/Policy.cs`
