---
title: iTask
summary: API reference for iTask.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business
reference_type: package
---

# iTask

`iTask` is a public interface in `SAIF.Business` that defines the common data and workflow operations required for SAIF task objects.

## Purpose
- Standardizes task identity, scheduling, assignment, and descriptive text across SAIF task implementations.
- Exposes source-system, category, priority, and action-code metadata used to classify and process tasks.
- Defines the task operations used to pend, append to, complete, and copy a task.
- Carries optional claim, policy, and image identifiers alongside general task metadata.

## Context
- Namespace: `SAIF.Business`
- Assembly/package: `SAIF.Business`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `TaskSeqNum` | `ReadOnly Property TaskSeqNum() As Decimal` | Returns the unique task ID. |
| `TaskDate` | `Property TaskDate() As Date` | Gets or sets the date associated with the task. |
| `Text` | `Property Text() As String` | Gets or sets the text or instructions associated with the task. |
| `Category` | `Property Category() As String` | Gets or sets the task category used by the source system. |
| `Priority` | `Property Priority() As String` | Gets or sets the task priority value. |
| `MailID` | `Property MailID() As String` | Gets or sets the mail ID to which the task is assigned. |
| `ActionCode` | `ReadOnly Property ActionCode() As String` | Returns the action code that describes work required before or when completing the task. |
| `SourceSystem` | `ReadOnly Property SourceSystem() As TaskSourceSystem` | Returns the enumerated task source-system value. |
| `SourceCode` | `ReadOnly Property SourceCode() As String` | Returns the source-system code for the task. |
| `DisplayField1` | `ReadOnly Property DisplayField1() As String` | Returns the first task-specific display field. |
| `DisplayField2` | `ReadOnly Property DisplayField2() As String` | Returns the second task-specific display field. |
| `DisplayField3` | `ReadOnly Property DisplayField3() As String` | Returns the third task-specific display field. |
| `RequiresNotePadEntry` | `ReadOnly Property RequiresNotePadEntry() As Boolean` | Indicates whether completing the task requires a NotePad entry. |
| `ClaimID` | `Property ClaimID() As Decimal` | Gets or sets the optional claim ID associated with the task. |
| `PolicyNumber` | `Property PolicyNumber() As Decimal` | Gets or sets the optional policy number associated with the task. |
| `ImageSeqNum` | `Property ImageSeqNum() As Decimal` | Gets or sets the optional image ID associated with the task. |
| `Pend` | `Sub Pend(ByVal inTimeSpan As TimeSpan)` | Pushes the task date out by the supplied time span. |
| `Append` | `Sub Append(ByVal inText As String)` | Appends text to the current task text. |
| `MarkCompleted` | `Sub MarkCompleted()` | Marks the task as completed. |
| `CopyTo` | `Function CopyTo(ByVal inMailID As String) As iTask` | Generates a copy of the current task for a new mail ID and returns it. |

## Behavioral notes
- The contract separates mutable scheduling and assignment fields from read-only identity and source-classification fields.
- `Pend`, `Append`, `MarkCompleted`, and `CopyTo` define the workflow actions that every task implementation must support.
- `ClaimID`, `PolicyNumber`, and `ImageSeqNum` are explicitly documented in source as optional task associations.

## Constraints and usage notes
- This is an interface only; implementations must supply storage, validation, and persistence behavior.
- `CopyTo` returns another `iTask`, so callers should expect a task-compatible clone rather than a primitive status value.
- `Pend` requires a `TimeSpan` argument, and the contract does not define parameterless overloads for pending or copying.

## Sources
- `Business\SAIF.Business\iTask.vb`
