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

# iPeriodRatingInfo

`iPeriodRatingInfo` is the interface implemented by policy-period-like objects that carry the rating attributes used to determine premium calculation dates and market classification: anniversary rating date, rating effective date, extension flags, effective/expiration dates, rate tier code, and market type. It extends `IEquatable(Of iPeriodRatingInfo)` and is self-contained: implementations compare equal only when all eight rating attributes match, per [BR-POL-015](../../../../business-rules.md#br-pol-015-period-rating-equality-requires-all-eight-rating-attributes-to-match).

## Purpose
- Expose the rating dates (`AnniversaryRatingDate`, `RatingEffectiveDate`, `EffectiveDate`, `ExpirationDate`) and extension flags (`IsARDExtended`, `IsREDExtended`) that determine when a period's rating applies.
- Expose `RateTierCode` and `MarketType` as classification inputs consumed elsewhere (e.g., `iAdjustedRateProvider`).
- Require a value-based `GetHashCode` so implementations can participate correctly in hash-based collections when combined with `PeriodRatingInfoExtensions.BaseGetHashCode`.

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `AnniversaryRatingDate` | `Property AnniversaryRatingDate() As Date` | The anniversary rating date used for premium calculation. |
| `RatingEffectiveDate` | `Property RatingEffectiveDate() As Date` | The date on which the current rating becomes effective. |
| `IsARDExtended` | `Property IsARDExtended() As Boolean` | Indicates whether the anniversary rating date has been extended. |
| `IsREDExtended` | `Property IsREDExtended() As Boolean` | Indicates whether the rating effective date has been extended. |
| `EffectiveDate` | `Property EffectiveDate() As Date` | The effective date of the period. |
| `ExpirationDate` | `Property ExpirationDate() As Date` | The expiration date of the period. |
| `RateTierCode` | `Property RateTierCode() As String` | The rate tier code applicable to the period. |
| `MarketType` | `Property MarketType() As Enums.MarketTypes` | The market type (assigned risk or voluntary) applicable to the period, per [BR-POL-003](../../../../business-rules.md#br-pol-003-persisted-policy-codes-map-to-fixed-domain-enums). |
| `GetHashCode` | `Function GetHashCode() As Integer` | Returns a hash code for the implementing instance; typically implemented via `PeriodRatingInfoExtensions.BaseGetHashCode`. |


## Behavioral notes
- Source declaration: `Business\SAIF.Business.Policy\iPeriodRatingInfo.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\iPeriodRatingInfo.vb`
