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

# IPolicyDocumentsService

`IPolicyDocumentsService` declares a service contract in the OutputDocuments area, implemented outside this library (most likely in SAIF.Services, per the declare-here, enforce-elsewhere pattern documented for this library)*.

## Purpose
- Declares the operations that a SAIF.Services implementation must provide for the OutputDocuments area*.

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `GetDocumentDate` | `DateTime GetDocumentDate()` | Returns document date*. |
| `GetPolicy` | `Policy GetPolicy(long policyNumber, string associationType)` | Returns policy, given `policyNumber`, `associationType`*. |
| `GetAgencyViewableDocuments` | `IEnumerable<PolicyDocument> GetAgencyViewableDocuments(long policyNumber, string documentCategory)` | Returns agency viewable documents, given `policyNumber`, `documentCategory`*. |
| `GetPolicyholderViewableDocuments` | `IEnumerable<PolicyDocument> GetPolicyholderViewableDocuments(long policyNumber, string documentCategory)` | Returns policyholder viewable documents, given `policyNumber`, `documentCategory`*. |
| `GetDocumentsForAgency` | `IEnumerable<PolicyDocument> GetDocumentsForAgency(AgencyInboxFilter filter)` | Returns documents for agency, given `filter`*. |
| `GetPayrollReportDocuments` | `IEnumerable<PolicyDocument> GetPayrollReportDocuments(long reportId)` | Returns payroll report documents, given `reportId`*. |
| `GetManualAddDocumentTypes` | `IEnumerable<OutputDocumentTypeCode> GetManualAddDocumentTypes()` | Returns manual add document types*. |
| `AddDocument` | `void AddDocument(ImageDocumentAdd imageDocumentAdd)` | Adds document, given `imageDocumentAdd`*. |
| `DeleteDocument` | `void DeleteDocument(DocumentDelete documentDelete)` | Deletes document, given `documentDelete`*. |
| `HoldDocuments` | `void HoldDocuments(IEnumerable<DocumentHold> documents)` | Handles hold documents, given `documents`*. |
| `MarkAgencyDocumentsDeleted` | `void MarkAgencyDocumentsDeleted(IEnumerable<DocumentAgencyDelete> documents)` | Handles mark agency documents deleted, given `documents`*. |
| `GetImage` | `Image GetImage(long outputDocumentId)` | Returns image, given `outputDocumentId`*. |

> **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/IPolicyDocumentsService.cs
