--- sidebar_label: 'Example Rules' sidebar_position: 4 --- # Rule Examples Ready-to-use JSON payloads for common rule types. POST each example to the rules endpoint, adapting the `filter`, `comment`, and `executionIndex` for your use case. See the [API Reference](./api-reference) for a full explanation of every field. **Examples in this article:** - [DisableProduct](#disableproduct) - [EnableProduct](#enableproduct) - [UpsellProduct](#upsellproduct) - [UpsellCategory](#upsellcategory) - [Stockout](#stockout) ## DisableProduct Disables product `12345` for eat-in orders on weekdays, across all stores in GB and SE. ```json { "comment": "disable 12345-TheBestUpsellProduct on weekdays for all stores", "filter": { "products": { "appliesTo": "specific", "values": [ 12345 ] }, "stores": { "appliesTo": "all" }, "storeCountryIsoCodes": { "appliesTo": "specific", "values": [ "GB", "SE" ] }, "orderClasses": { "appliesTo": "specific", "values": [ "EatIn" ] }, "daysOfWeek": { "appliesTo": "specific", "values": [ "monday", "tuesday", "wednesday", "thursday", "friday" ] } }, "activeDuring": { "timeOfDay": { "applies": "always" }, "dates": { "applies": "always" } }, "type": "DisableProduct", "executionIndex": 74 } ``` ## EnableProduct Enables product `12345` for eat-in orders on weekdays. Useful in combination with a `disableProduct` rule that disables the product by default. ```json { "comment": "enable 12345-TheBestUpsellProduct on weekdays for all stores", "filter": { "products": { "appliesTo": "specific", "values": [ 12345 ] }, "stores": { "appliesTo": "all" }, "storeCountryIsoCodes": { "appliesTo": "specific", "values": [ "GB", "SE" ] }, "orderClasses": { "appliesTo": "specific", "values": [ "EatIn" ] }, "daysOfWeek": { "appliesTo": "specific", "values": [ "monday", "tuesday", "wednesday", "thursday", "friday" ] } }, "activeDuring": { "timeOfDay": { "applies": "always" }, "dates": { "applies": "always" } }, "type": "EnableProduct", "executionIndex": 76 } ``` ## UpsellProduct Triggers an upsell screen at checkout recommending product `12345`, regardless of what is in the basket. ```json { "comment": "Upsell from any product or any categories for all stores to 12345-TheBestUpsellProduct", "recommendations": { "triggerEvent": "checkout", "shownOnPage": 1, "productIds": [ 12345 ], "ifInBasket": "recommendAnyway" }, "filter": { "products": { "appliesTo": "all" }, "categories": { "appliesTo": "all" }, "stores": { "appliesTo": "all" }, "storeCountryIsoCodes": { "appliesTo": "specific", "values": [ "GB", "SE" ] }, "orderClasses": { "appliesTo": "specific", "values": [ "EatIn" ] }, "daysOfWeek": { "appliesTo": "all" } }, "activeDuring": { "timeOfDay": { "applies": "always" }, "dates": { "applies": "always" } }, "type": "UpsellProduct", "executionIndex": 73 } ``` ## UpsellCategory Triggers an upsell screen at checkout recommending category `42`, regardless of what is in the basket. ```json { "comment": "Upsell from any product or any categories for all stores to 42-TheBestUpsellCategory", "recommendations": { "triggerEvent": "checkout", "shownOnPage": 1, "categoryIds": [42], "ifInBasket": "recommendAnyway" }, "filter": { "products": { "appliesTo": "all" }, "categories": { "appliesTo": "all" }, "stores": { "appliesTo": "all" }, "storeCountryIsoCodes": { "appliesTo": "specific", "values": [ "GB", "SE" ] }, "orderClasses": { "appliesTo": "specific", "values": [ "EatIn" ] }, "daysOfWeek": { "appliesTo": "all" } }, "activeDuring": { "timeOfDay": { "applies": "always" }, "dates": { "applies": "always" } }, "type": "UpsellCategory", "executionIndex": 73 } ``` ## Stockout Marks product `12345` as stocked out at stores `222` and `111`. For stockout constraints (single rule per store, update-in-place, and batching), see [Stockout](./stockout.md). ```json { "comment": "stockout 12345 for store 222 and 111", "filter": { "products": { "appliesTo": "specific", "values": [ 12345 ] }, "stores": { "appliesTo": "specific", "values": [ "222", "111" ] }, "storeCountryIsoCodes": { "appliesTo": "all" }, "orderClasses": { "appliesTo": "all" }, "daysOfWeek": { "appliesTo": "all" } }, "activeDuring": { "timeOfDay": { "applies": "always" }, "dates": { "applies": "always" } }, "type": "Stockout", "executionIndex": 75 } ```