I am currently investigating what kind of "product range per (multi)site approach" would be best. The business requirement is to have products restricted to one or more sites. So one product could belong to one site or it could belong to multiple sites. The product data is the same for all sites and so is the unique identification of the product which we store in the Code field.Some sites use markets and some don't. Products are imported from a PIM system.
I think the main decision is whether or not to use multiple catalogs (one for each site). What I discovered so far:
So, this makes me conclude that:
Ok, the real question: what are my options?
With the last one I have some concerns regarding the fact that only market exclusions are stored on catalog entries in Episerver. So when a new site is added with additional markets, all existing catalog entries will be available in these markets as well. I think I can make this work by using the (custom) link between a site and its markets.
Any ideas on this? All feedback/help is appriciated.
Totally unrelated to catalogs, but I have seen solutions where products have different prices and use price groups. The doc is available here: https://world.episerver.com/documentation/developer-guides/commerce/customers/Customer-groups/
You could restrict the products by price groups, for example you could use the following logic:
First of all, good question. I appreciate that you did your "homework" and shared your thoughts/considerations. That's very good way to ask questions - keep it up!
Your 1) solution sounds like a good one, but you can use SiteIds instead, so use the site id directly instead of CatalogId. however this come with an issue like excludedmarkets - if you add a new site, you would have to figure out a way to update all products that should be available for that site.
Another approach is to have big category for each site, and if you want the product to be available to one site, you link it there. but that comes with the complications in case you have big/complex catalog structure (like where to link a product)