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

    One live product as the route engine resolves it for a subject.

    type ProductAccess = {
        activation: ResolvedRoute["activation"];
        product: Product;
        routeId: string | null;
        status: "ACTIVE" | "INACTIVE" | "NO_ROUTE";
        statusDescription: string;
    }
    Index

    The cross-route rule that removed that route, else its winning activation rule; null when none matched.

    product: Product
    routeId: string | null

    The first ACTIVE candidate route by priority, else the first candidate.

    status: "ACTIVE" | "INACTIVE" | "NO_ROUTE"

    ACTIVE when a candidate route no cross-route rule removes has a winning activation rule that approves.

    statusDescription: string