@cfxlabsinc/b2b-services
    Preparing search index...

    Type Alias EligibilityFacts

    EligibilityFacts: {
        bankId?: BankId;
        entityType: EngineEntity["type"];
        productId: Product["id"];
    } & (
        | { entity: null }
        | {
            entity: {
                id: string;
                status: EngineEntity["criteria"]["entityStatus"];
            };
            explanations: readonly RouteExplanation[];
            quoteViolations?: ReadonlyMap<string, QuoteInvariantViolation>
            | null;
            resolved: readonly ResolvedFact[];
        }
    )

    Everything buildEligibilityTrace judges, already read.

    Type Declaration

    • { entity: null }
    • {
          entity: { id: string; status: EngineEntity["criteria"]["entityStatus"] };
          explanations: readonly RouteExplanation[];
          quoteViolations?: ReadonlyMap<string, QuoteInvariantViolation> | null;
          resolved: readonly ResolvedFact[];
      }
      • entity: { id: string; status: EngineEntity["criteria"]["entityStatus"] }
      • explanations: readonly RouteExplanation[]

        ProductRouteService.explainRoutes for this one request: the reasons.

      • OptionalquoteViolations?: ReadonlyMap<string, QuoteInvariantViolation> | null

        The quote-math refusal per route for the given amount; absent or null when no amount was given.

      • resolved: readonly ResolvedFact[]

        ProductRouteService.search for this one request, priority order: the verdict.