Skip to content
Tracon

IVoicePricingReader

Namespace Tracon · Assembly Tracon.Abstractions.dll

Reads the configured voice model’s pricing.

public interface IVoicePricingReader

The HTTP layer uses this abstraction to show voice pricing; pricing resolution is inside Tracon.Voice, and the HTTP layer cannot reference that package (the package direction rule). Tracon does not fabricate a price: if there is no match, null is returned — not zero.

DI lifetime — singleton. Registered as a singleton with TryAdd; a consumer’s own registration wins.

Tenant behavior — TENANT-INDEPENDENT. Pricing is configured process-wide, not per tenant; no member here takes a tenant parameter.

The currency label shown in reports.

string? Currency { get; }

string?

Computes a character-based generation’s cost.

decimal? ForCharacters(decimal characters)

characters decimal

The billed character count.

decimal?

The amount; null if pricing is undefined.