Rule configuration lives in Components → Conditional Products. Plugin enablement lives in System → Plugins. Storefront module options consume rules but do not edit them. Bridge sid_map lives in Bridge options. Keep those three admin areas separate in your head or you will fix the wrong product during an incident.
Each rule has a title, enabled switch, qualification logic any or all, eligibility cart toggle, eligibility history toggle, ineligible behavior hide disabled or message, optional ineligible message text, and ordering. Qualification logic any means one qualifying product from the set can satisfy the rule when configured that way; all means every qualifying product listed must be satisfied per your design.
Eligibility cart considers qualifying products present in the current cart when enabled. Eligibility history considers paid order history with selected order states when enabled. Many membership unlock flows use history after the qualifying order completes. Deposit-before-add-on flows often use cart presence during the same session. Misconfigure these toggles and shoppers with the qualifier in cart still look blocked because you expected history instead.
Hide removes or suppresses dependent presentation depending on integration context. Disabled shows dependents but blocks purchase attempts. Message shows dependents with your custom ineligible message when shoppers try to buy too early. Pick behavior that matches how RCA Storefront presents locked cards if Storefront is in the stack.
Qualifying products and dependent products use J2Commerce ProductMultiselect fields with multiple selection. Save the rule, then re-open it and confirm every product ID remained selected. Version 1.0.9 specifically fixed saves dropping multiselect membership. Treat re-open verification as mandatory admin hygiene, not paranoia.
Order state IDs multiselect limits which completed order statuses count when eligibility history is on. Match the states your shop uses for paid or completed orders. Wrong states mean qualifiers never count even though the customer paid.
The OSB fieldset stores qualifying and dependent OS Services Booking service IDs as textarea lists when you gate booking routes related to services, alongside product rules. These complement product-based rules when booking SKUs do not map one-to-one to J2Commerce products. Bridge sid_map still owns product mapping after hold.
J2Commerce - RCA Conditional Products uses rule records from the component. Confirm the plugin is enabled after every upgrade. Component options may include OSB integration toggles; disable OSB integration in component options if you only gate cart products and leave the OSB gate plugin off.
RCA Storefront Product Catalog can set product source to Conditional Products rule or enable eligibility mode on other sources. Rule role grouped, all, qualifying, or dependent changes which rule products appear in the grid. Storefront reads rule membership and eligibility state; it does not change rule definitions.
RCA OSB to J2C Bridge maps service IDs to J2Commerce product IDs for hold to cart. Conditional Products does not replace sid_map. Configure both when consult purchase must gate booking and hold must land the correct cart product afterward.