---
title: PolicyDocument
summary: API reference for PolicyDocument.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-24
library: SAIF.SAIFCode.Core
reference_type: package
---

# PolicyDocument

`PolicyDocument` is a data-carrier contract (DTO) in the OutputDocuments area of SAIF.SAIFCode.Core, exposing the properties SAIF.Services and its consumers read and populate for this entity*.

## Purpose
- Carries data for the OutputDocuments area, consumed by SAIF.Services and other layers that reference this library's contracts*.

## Context
- Namespace: `SAIF.Core.Contracts.OutputDocuments`
- Kind: Class
- Assembly/package: `SAIF.Core` (NuGet package `SAIF.SAIFCode.Core`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `Id` | `long Id { get; set; }` | Represents the ID associated with this PolicyDocument*. |
| `ImageId` | `long? ImageId { get; set; }` | References the identifier of the associated image record*. |
| `PolicyNumber` | `long PolicyNumber { get; set; }` | Uniquely identifies the policy recorded on this PolicyDocument*. |
| `PolicyName` | `string PolicyName { get; set; }` | Holds the policy name recorded on this PolicyDocument*. |
| `PolicyPeriodEffectiveDate` | `DateTime? PolicyPeriodEffectiveDate { get; set; }` | Records the date of the policy period effective*. |
| `AccountNumber` | `string AccountNumber { get; set; }` | Uniquely identifies the account recorded on this PolicyDocument*. |
| `AgencyId` | `long? AgencyId { get; set; }` | References the identifier of the associated agency record*. |
| `ProducerId` | `long? ProducerId { get; set; }` | References the identifier of the associated producer record*. |
| `AgencyViewed` | `bool AgencyViewed { get; set; }` | Represents the agency viewed associated with this PolicyDocument*. |
| `AgencyDelivery` | `bool AgencyDelivery { get; set; }` | Represents the agency delivery associated with this PolicyDocument*. |
| `AgencyDeleteDate` | `DateTime? AgencyDeleteDate { get; set; }` | Records the date of the agency delete*. |
| `DocumentDate` | `DateTime DocumentDate { get; set; }` | Records the date of the document*. |
| `ReleaseDate` | `DateTime? ReleaseDate { get; set; }` | Records the date of the release*. |
| `Description` | `String Description { get; set; }` | Holds free-text description recorded against this PolicyDocument*. |
| `DocumentType` | `OutputDocumentTypeCode DocumentType { get; set; }` | Classifies the document type applicable to this PolicyDocument*. |
| `DocumentStatus` | `DocumentStatusCode DocumentStatus { get; set; }` | Records the current status of the document*. |
| `IsPacket` | `bool IsPacket { get; set; }` | Indicates whether this PolicyDocument is a packet*. |
| `IsPolicyholderViewable` | `bool IsPolicyholderViewable { get; set; }` | Indicates whether policyholder viewable applies to this PolicyDocument*. |
| `PolicyOutputDocumentUpdateNumber` | `int PolicyOutputDocumentUpdateNumber { set; }` | Uniquely identifies the policy output document update recorded on this PolicyDocument*. |

> **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
- Core/SAIF.Core/Contracts/OutputDocuments/PolicyDocument.cs
