Hi,
More than often we have where products cannot be purchased, whether that's temporarily or always. For example:
- Coming soon products
- Old products
We have built some workaround over the years, but what would be much better is to have a brand new Product Type so that we can avoid customizations. Here's are some of the implications:
- We need to disable/invalidate any "Add to Cart" behavior in the frontend
- Components, Favorite detail, Express Buy, ...
- We (may) need to exclude them from the search - depends on the project
- We need to add some orderline notification subscribers
- To remove orderlines in case the user adds them to the cart somehow - frontend bug, exploiting the system, "reorder", ...
While some of this would come from Swift, the basic need is to have a specific Product type that is non-purchasable, in which case the Shopping cart app and webapi have some knowledge over it (much like it does with Services, excluding them for weight/shipping calculations), so that then the frontend implementation (Swift or otherwise) can more appropriately rely on it.
Other usages for this product type (or similar ones):
- Can be added as a discount/free product, but not purchased
- Are part of a Kit, but cannot be purchased separately
Best Regards,
Nuno Aguiar