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

# ICollectionsService

`ICollectionsService` declares a service contract in the Collections 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 Collections area*.

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `DeleteDebtor` | `bool DeleteDebtor(long id, IMessageContainer messageContainer)` | Deletes debtor, given `id`, `messageContainer`*. |
| `GetDebtorName` | `string GetDebtorName(long id)` | Returns debtor name, given `id`*. |
| `GetDebtors` | `ICollection<Debtor> GetDebtors(long caseId)` | Returns debtors, given `caseId`*. |
| `GetPolicyFormattedAddresses` | `ICollection<DebtorAddress> GetPolicyFormattedAddresses(long policyNum)` | Returns policy formatted addresses, given `policyNum`*. |
| `GetStateCodes` | `IEnumerable<StateCode> GetStateCodes()` | Returns state codes*. |
| `UpdateDebtors` | `bool UpdateDebtors(long caseId, IEnumerable<DebtorEdit> debtorEditList, IMessageContainer messageContainer)` | Updates debtors, given `caseId`, `debtorEditList`, `messageContainer`*. |
| `GetNote` | `Note GetNote(long id)` | Returns note, given `id`*. |
| `SaveNote` | `bool SaveNote(long noteId, NoteEdit note, string appendText, IMessageContainer messageContainer)` | Saves note, given `noteId`, `note`, `appendText`, `messageContainer`*. |
| `GetNotePdf` | `byte[] GetNotePdf(long caseId, NoteFilter filter)` | Returns note pdf, given `caseId`, `filter`*. |
| `CreateRequest` | `Request CreateRequest()` | Creates request*. |
| `DeleteActivity` | `bool DeleteActivity(long activityId)` | Deletes activity, given `activityId`*. |
| `ValidateContext` | `bool ValidateContext(string caseType, string caseContext,  out string contextName)` | Validates context, given `caseType`, `caseContext`, `contextName`*. |
| `GetJudgmentCodes` | `IEnumerable<JudgmentCode> GetJudgmentCodes()` | Returns judgment codes*. |
| `GetInterestCalcCodes` | `IEnumerable<InterestCalcCode> GetInterestCalcCodes()` | Returns interest calc codes*. |
| `GetCountyCodes` | `IEnumerable<County> GetCountyCodes()` | Returns county codes*. |
| `GetStatusCodes` | `IEnumerable<StatusCode> GetStatusCodes()` | Returns status codes*. |
| `GetCaseSummaryById` | `Case GetCaseSummaryById(long caseId)` | Returns case summary by id, given `caseId`*. |
| `GetActivities` | `IEnumerable<Activity> GetActivities(long caseId)` | Returns activities, given `caseId`*. |
| `GetTransactionCategoryCodes` | `IEnumerable<TransactionCategoryCode> GetTransactionCategoryCodes()` | Returns transaction category codes*. |
| `DeleteTask` | `bool DeleteTask(long id, IMessageContainer messageContainer)` | Deletes task, given `id`, `messageContainer`*. |
| `GetTasks` | `IEnumerable<CollectionTask> GetTasks(CollectionTaskCriteria criteria)` | Returns tasks, given `criteria`*. |
| `SaveTask` | `bool SaveTask(long id, CollectionTaskEdit collectionTaskEdit, IMessageContainer messageContainer)` | Saves task, given `id`, `collectionTaskEdit`, `messageContainer`*. |
| `GetTransaction` | `Transaction GetTransaction(long id)` | Returns transaction, given `id`*. |
| `GetWriteOffApprovalUsers` | `ICollection<WriteOffApprovalUser> GetWriteOffApprovalUsers()` | Returns write off approval users*. |
| `SaveTransaction` | `bool SaveTransaction(long transactionId, TransactionEdit transaction, IMessageContainer messages)` | Saves transaction, given `transactionId`, `transaction`, `messages`*. |

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