---
title: Enums
summary: API reference for Enums.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy
reference_type: package
---

# Enums

`Enums` is a static holder class in `SAIF.Business.Policy` that groups the domain's fixed-value enumerations (market type, original user type, financial system, payroll report frequency, sales plan, policy issuance system, policy relationship, renewal/cancellation track, waiver type, policy ownership system, rating plan, and entity group) together with the paired `Convert*` overloaded functions that translate between each enum and its persisted database code string. This is the central translation point through which raw database codes become strongly-typed enum values throughout the policy domain, per [BR-POL-003](../../../../business-rules.md#br-pol-003-persisted-policy-codes-map-to-fixed-domain-enums).

## Purpose
- House the nested enumerations that represent the closed, fixed sets of domain codes used across policy processing (market types, user types, financial systems, etc.).
- Provide `Convert*` overload pairs — one overload converting an enum value to its persisted code string, the other converting a persisted code string to the corresponding enum value — for each enumeration that has a known database code mapping.
- Return a safe default/`Unknown`/`Unassigned` enum value when a persisted code does not match a recognized value, per [BR-POL-004](../../../../business-rules.md#br-pol-004-unrecognized-codes-translate-to-safe-defaults).

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `ConvertMarketType` | `Shared Function ConvertMarketType(MarketTypes) As String` / `Shared Function ConvertMarketType(String) As MarketTypes` | Converts between `MarketTypes` and its persisted code (`"ARP"`/`"VOL"`), defaulting to `Unassigned` for unrecognized codes. |
| `ConvertOriginalUserType` | `Shared Function ConvertOriginalUserType(OriginalUserTypes) As String` / `Shared Function ConvertOriginalUserType(String) As OriginalUserTypes` | Converts between `OriginalUserTypes` and its persisted code (`"AGENT"`, `"CAPS"`, `"SAIF"`, `"NCCI"`, `"TRANS"`), defaulting to `Unassigned`. |
| `ConvertFinancialSystem` | `Shared Function ConvertFinancialSystem(FinancialSystems) As String` / `Shared Function ConvertFinancialSystem(String) As FinancialSystems` | Converts between `FinancialSystems` and its persisted code (`"AR"`, `"WCIS"`, `"WINS"`), defaulting to `Unassigned`. |
| `ConvertPayrollReportFrequency` | `Shared Function ConvertPayrollReportFrequency(PayrollReportFrequencies) As String` / `Shared Function ConvertPayrollReportFrequency(String) As PayrollReportFrequencies` | Converts between `PayrollReportFrequencies` and its persisted code (`"A"`, `"M"`, `"Q"`, `"S"`), defaulting to `Unknown`. |
| `ConvertSalesPlan` | `Shared Function ConvertSalesPlan(SalesPlans) As String` / `Shared Function ConvertSalesPlan(String) As SalesPlans` | Converts between `SalesPlans` and its persisted code (`"STD"`, `"RETRO"`, `"GRRET"`), defaulting to `Unknown`. Superseded per an in-code comment directing callers to the enum on `clsSalesPlan` instead.* |
| `ConvertPolicyIssuanceSystem` | `Shared Function ConvertPolicyIssuanceSystem(PolicyIssuanceSystems) As String` / `Shared Function ConvertPolicyIssuanceSystem(String) As PolicyIssuanceSystems` | Converts between `PolicyIssuanceSystems` and its persisted code (`"PMS"`, `"WINS"`, `"WCIS"`), defaulting to `Unknown`. |
| `ConvertPolicyRelationship` | `Shared Function ConvertPolicyRelationship(PolicyRelationships) As String` / `Shared Function ConvertPolicyRelationship(String) As PolicyRelationships` | Converts between `PolicyRelationships` and its persisted code (`"LEASE"`, `"WRAP"`, `"SUBAC"`, `"OREGN"`), defaulting to `Unknown`. |
| `ConvertRenewalTrack` | `Shared Function ConvertRenewalTrack(RenewalTracks) As String` / `Shared Function ConvertRenewalTrack(String) As RenewalTracks` | Converts between `RenewalTracks` and its persisted code (`"MAN"`, `"AUTO"`), defaulting to `Unknown`. |
| `ConvertCancellationTrack` | `Shared Function ConvertCancellationTrack(CancellationTracks) As String` / `Shared Function ConvertCancellationTrack(String) As CancellationTracks` | Converts between `CancellationTracks` and its persisted code (`"MAN"`, `"AUTO"`), defaulting to `Unknown`. |
| `ConvertWaiverType` | `Shared Function ConvertWaiverType(WaiverTypes) As String` / `Shared Function ConvertWaiverType(String) As WaiverTypes` | Converts between `WaiverTypes` and its persisted code (`"A"`, `"W"`, `"F"`, `"P"`, `"T"`, `"C"`), defaulting to `Unknown`. |
| `ConvertRatingPlan` | `Shared Function ConvertRatingPlan(RatingPlans) As String` / `Shared Function ConvertRatingPlan(String) As RatingPlans` | Converts between `RatingPlans` and its persisted code (`"ERP"`, `"CRP"`, `"MRP"`, `"NON"`, `"SARAP"`), defaulting to `Unknown`. |
| `EntityGroups` (nested enum) | `Public Enum EntityGroups` | Represents the entity organizational structure of a policyholder (`Corporation`, `LimitedLiabilityCompany`, `LimitedLiabilityPartnership`, `Partnership`, `SoleOwner`, `Others`); has no `Convert*` code mapping in this class.* |
| `PolicyOwnershipSystems` (nested enum) | `Public Enum PolicyOwnershipSystems` | Represents which system (`WCIS` or `SAIFQuote`) currently "owns" a policy and is authorized to make changes to it, per [BR-POL-010](../../../../business-rules.md#br-pol-010-ownership-comes-from-the-oracle-submission-ownership-function); has no `Convert*` code mapping in this class. |


## Behavioral notes
- Source declaration: `Business\SAIF.Business.Policy\Enums.vb`.
- Related operations, rules, and SQL are cross-referenced from the library-level documentation.

## Constraints and usage notes
- Consumers should rely on the declared public surface rather than internal implementation details.

> **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
- `Business\SAIF.Business.Policy\Enums.vb`
