Is it possible to add substitution product list that can be displayed along with the selected product. The Idea is to provide users with choice of products that can be an alternate (replacement / upgrade or downgrade) to the one they are ordering. The customer should also be able to search and buy the alternate/substitution products if required.
Would this list of products be similar to a “related / recommended products” section but with a specific list of products for each individual product?
If so, you should be able to set up a solution with metafields. You could use metafields to define substitution products for each main product. For instance, you can create a metafield named “substitute_products” and store the IDs of the alternative products there.
Then in your product template, you’d retrieve these IDs and display the corresponding products as alternatives. This would give you full control over which products are displayed as alternatives for each main product.
I’m not 100% sure though what you mean about searching the substitutions though - how would this experience be different to how search works natively?