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

# DocumentBannerInstructions

`DocumentBannerInstructions` builds the routing envelope decision and assembles the physical banner-page text printed ahead of a document batch, driving both DCBS batch routing and the fixed-order insert string that downstream OCR/print processes parse back apart.

## Purpose
- Selects the envelope destination (Left window, Right window, or DCBS batch) for a document via `WhichEnvelope`, enforcing [CORE-BR-001](../../business-rules.md#core-br-001-documents-are-routed-to-a-left-window-right-window-or-dcbs-batch-envelope).
- Assembles banner-page text from six ordered inserts, a language marker, and a "; " delimiter via `CreateBannerPageText`, enforcing [CORE-BR-002](../../business-rules.md#core-br-002-banner-text-order-of-six-inserts-plus-language-marker-and-delimiter-matters-for-parsing).
- Extracts free-form segments back out of an assembled banner string via `GetFreeformText` and related helpers, relying on the same fixed insert order.

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `getBannerInstructionsListFromString` | `List<string> getBannerInstructionsListFromString(string delimitedBannerInstructions)` | Handles get banner instructions list from string, given `delimitedBannerInstructions`*. |
| `HasBannerInstruction` | `bool HasBannerInstruction(IList<string> instructionsList, string particularBannerInstruction)` | Contains the collection of string entries associated with this DocumentBannerInstructions*. |
| `WhichEnvelope` | `string WhichEnvelope(string delimitedBannerInstructions)` | Handles which envelope, given `delimitedBannerInstructions`*. |
| `HasForeignLanguage` | `bool HasForeignLanguage(string delimitedBannerInstructions)` | Indicates whether this DocumentBannerInstructions has foreign language*. |
| `GetTemplateInserts` | `List<string> GetTemplateInserts(string delimitedBannerInstructions)` | Returns template inserts, given `delimitedBannerInstructions`*. |
| `GetFreeformText` | `string GetFreeformText(string delimitedBannerInstructions)` | Returns freeform text, given `delimitedBannerInstructions`*. |
| `CreateBannerPageText` | `string CreateBannerPageText(string envelopeType, bool isForeignLanguage, IList<string> inserts, string freeformText)` | Creates banner page text, given `envelopeType`, `isForeignLanguage`, `inserts`, `freeformText`*. |

## Behavioral notes
- The nested `IncludeInserts` type in this file is a flags-style container used to select which of the six inserts participate in banner assembly*.

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