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

# IBillService

`IBillService` declares a service contract in the Claims / Bills 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 Claims / Bills area*.

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `SendPendBill` | `IValidationResult SendPendBill(SendPendRequest request)` | Sends pend bill, given `request`*. |
| `RegenerateBill` | `IValidationResult RegenerateBill(RegenerateRequest request)` | Regenerates bill, given `request`*. |
| `UpdatePaymentOptions` | `IValidationResult UpdatePaymentOptions(PaymentOptionsRequest request)` | Updates payment options, given `request`*. |
| `GetBillTypes` | `IEnumerable<BillTypeCode> GetBillTypes()` | Returns bill types*. |
| `GetBillStatusHistory` | `IEnumerable<BillStatusItem> GetBillStatusHistory(long billId)` | Returns bill status history, given `billId`*. |
| `GetBillProcedure` | `IEnumerable<BillProcedure> GetBillProcedure(long billId)` | Returns bill procedure, given `billId`*. |
| `GetClaimRequestDecisions` | `IEnumerable<ClaimRequestDecision> GetClaimRequestDecisions(long claimId)` | Returns claim request decisions, given `claimId`*. |
| `GetPaymentSpecialHandling` | `IEnumerable<SpecialHandling> GetPaymentSpecialHandling()` | Returns payment special handling*. |
| `GetPaymentOptions` | `PaymentOptionsRequest GetPaymentOptions(long billId, bool canUpdate)` | Returns payment options, given `billId`, `canUpdate`*. |
| `AllowAllServices` | `bool AllowAllServices(long billId)` | Handles allow all services, given `billId`*. |
| `GetBillHeader` | `BillHeader GetBillHeader(long billId)` | Returns bill header, given `billId`*. |
| `GetBill` | `Bill GetBill(long billId)` | Returns bill, given `billId`*. |

> **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/Claims/Bills/IBillService.cs
