Snooze / Unsnooze Products

Webhook events will be sent when items are snoozed or unsnoozed

Overview

When customers want to make one or more products or modifiers temporarily unavailable online, they will action a 'Snooze' request to prevent the item being ordered for a certain period of time. This would typically be a response to items going out of stock. When the snooze timeframe lapses, or if the snoozed status is removed manually, items will be 'Unsnoozed'

Both the Snooze and Unsnooze events will be communicated to all channels hosting a menu containing the snoozed items. The details of how to process these requests as below.

❗️

Snooze events trigger only for items in active menus

Only when a menu is published successfully to a channel, will snooze events be triggered for items contained in the menu.

Expected Response

The intended purpose of snoozing a product is that it will no longer be available for a specified time period. As such, there is a need for this snoozed state to be clear on the customer facing menu. Two UI details that are commonly applied as follows;

  • Items in view but clearly marked unavailable - a snoozed item can be visible but not available to select e.g. by greying out the product image.
  • Showing estimated unsnooze time - as snooze requests contain the intended length of time for an item to be unavailable, it is therefore possible to show an estimate of when the product will become available again.

If your channel does not support the above suggested UI for displaying snoozed products, removing them from view altogether will achieve the same intended outcome.

Who keeps track of when to unsnooze?

Although a snooze event will include the time when a product should become unsnoozed, Deliverect will still deliver a seperate unsnooze request at the time the specified snooze period ends. As users can also manually unsnooze items when required i.e. items are back in stock, it is important to expect that items can be unsnoozed at any time before the originally specified snooze period ends.

Request format

When one or more products are snoozed or unsnoozed, you can expect the request format shown below to be delivered to your specified webhook.

{
    "accountId":"5b****71c6489f0029****d4",
    "locationId":"5c****ecc6489f0001****b8",
    "channelLinkId":"5e****abc11dec0001****9b",
    "operations":[
        {
            "action":"snooze",
            "data":{
                "items":[
                   {
                        "plu":"PIE1",
                        "snoozeStart":"2020-03-24T16:21:54Z",
                        "snoozeEnd":"2020-03-24T22:21:54Z"
                    },
                    {
                        "plu":"MSB1",
                        "snoozeStart":"2020-03-24T16:21:54Z",
                        "snoozeEnd":"2020-03-24T22:21:54Z"
                    }
                ]
            }
        }
    ]
}
{
    "accountId":"5b****71c6489f0029****d4",
    "locationId":"5c****ecc6489f0001****b8",
    "channelLinkId":"5e****abc11dec0001****9b",
    "operations":[
        {
            "action":"snooze",
            "data":{
                "items":[
                    {
                        "plu":"PIE1",
                        "snoozeStart":"2020-03-24T16:21:54.955000Z",
                        "snoozeEnd":"2020-03-24T22:21:54.955000Z"
                    }
                ],
                "allSnoozedItems":[
                    {
                        "plu":"PIE1",
                        "snoozeStart":"2020-03-24T16:21:54.955000Z",
                        "snoozeEnd":"2020-03-24T22:21:54.955000Z"
                    },
                    {
                        "plu":"MSB1",
                        "snoozeStart":"2020-03-24T16:21:54.955000Z",
                        "snoozeEnd":"2020-03-24T22:21:54.955000Z"
                    }
                ]
            }
        }
    ]
}
{
    "accountId": "5b****71c6489f0029****d4",
    "locationId": "5c****ecc6489f0001****b8",
    "channelLinkId": "5e****abc11dec0001****9b",
    "operations": [
        {
            "action": "unsnooze",
            "data": {
                "items": [
                    {
                        "plu": "PIE1",
                        "snoozeStart": "2020-03-24T16:21:54.955000Z",
                        "snoozeEnd": "2020-03-24T22:21:54.955000Z"
                    },
                    {
                        "plu": "MSB1",
                        "snoozeStart": "2020-03-24T16:21:54.955000Z",
                        "snoozeEnd": "2020-03-24T22:21:54.955000Z"
                    }
                ],
                "allSnoozedItems": []
            }
        }
    ]
}
accountIdThe ID of the customer accountstr
locationIdThe ID of a specific location in the customer accountstr
channelLinkIdThe unique id of the store on the channel platformstr
action"snooze" or "unsnooze"str
data.itemsa list of items showing the period during which they each should be snoozed
pluThe items should be snoozed based on the PLU.str
snoozeStartWhen snooze status should begin, timestamp is in UTC yyyy-MM-ddTHH:mm:ssZstr
snoozeEndWhen snooze status should end, timestamp is in UTC yyyy-MM-ddTHH:mm:ssZstr
allSnoozedItemsEach time you receive a snooze request for your channel, you will also receive the complete list of all items (allSnoozedItems) that should currently be in a snoozed state i.e. all previously snoozed items included will be included with each request. This additional list of items can be disabled if required via Channel settings.
"ok"
"not found"
Language