ChannelAPI.json
To start testing please follow the instructions in Github Swagger UI Editor
{
"openapi": "3.1.0",
"info": {
"title": "Channel API",
"description": " Simplify online ordering for your restaurant or grocery store with Deliverect. Our platform seamlessly integrates multiple online ordering systems, consolidating orders from all channels into one easy-to-manage dashboard.",
"version": "1.0.0"
},
"servers": [
{
"url": "https://api.staging.deliverect.com"
}
],
"security": [
{
"bearerAuth": []
}
],
"tags": [
{
"name": "Authentication",
"description": " "
},
{
"name": "Endpoints",
"description":"(Deliverect Endpoints)"
}
],
"webhooks": {
"/yourwebhook.com/register": {
"post": {
"summary": "Channel Registration flow",
"tags": ["Partner Webhook"],
"requestBody": {
"content": {
"application/json": {
"examples": {
"register": {
"value": {
"status": "register",
"channelLocationId": "{{externalChannelLocationId}}",
"channelLinkId": "{{channelLinkId}}",
"locationId": "{{locationId}}",
"channelLinkName": "Order Boss"
}
},
"active": {
"value": {
"status": "active",
"channelLocationId": "{{externalChannelLocationId}}",
"channelLinkId": "{{channelLinkId}}",
"locationId": "{{locationId}}",
"channelLinkName": "Order Boss"
}
},
"inactive": {
"value": {
"status": "inactive",
"channelLocationId": "{{externalChannelLocationId}}",
"channelLinkId": "{{channelLinkId}}",
"locationId": "{{locationId}}",
"channelLinkName": "Order Boss"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChannelRegistration"
}
}
}
}
}
}
},
"/yourwebhook.com/menu_update": {
"post": {
"summary": "Customers will publish their menu to a provided webhook URL",
"tags": ["Partner Webhook"],
"parameters": [
{
"name": "accountId",
"in": "path",
"schema": {
"type": "string"
},
"required": true
}
],
"requestBody": {
"content": {
"application/json": {
"examples": {
"menu_update": {
"value": [
{
"availabilities": [
{
"dayOfWeek": 1,
"endTime": "17:00",
"startTime": "09:00"
},
{
"dayOfWeek": 2,
"endTime": "17:00",
"startTime": "09:00"
},
{
"dayOfWeek": 3,
"endTime": "17:00",
"startTime": "09:00"
},
{
"dayOfWeek": 4,
"endTime": "17:00",
"startTime": "09:00"
},
{
"dayOfWeek": 5,
"endTime": "17:00",
"startTime": "09:00"
},
{
"dayOfWeek": 6,
"endTime": "17:00",
"startTime": "09:00"
},
{
"dayOfWeek": 6,
"endTime": "22:00",
"startTime": "19:00"
},
{
"dayOfWeek": 7,
"endTime": "17:00",
"startTime": "09:00"
}
],
"bundles": {},
"categories": [
{
"_id": "65********************87",
"name": "Steak & Burgers",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"posLocationId": "",
"posCategoryType": "",
"posCategoryId": "",
"imageUrl": "",
"subCategories": [],
"products": [],
"availabilities": [],
"level": 1,
"menu": "65********************79",
"sortedChannelProductIds": [],
"subProducts": [
"65********************30",
"65********************8f",
"65********************5e",
"65********************5f"
],
"subProductSortOrder": []
},
{
"_id": "65********************88",
"name": "Pizza",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"posLocationId": "",
"posCategoryType": "",
"posCategoryId": "",
"imageUrl": "",
"subCategories": [],
"products": [],
"availabilities": [],
"level": 1,
"menu": "65********************79",
"sortedChannelProductIds": [],
"subProducts": ["65********************9c"],
"subProductSortOrder": []
},
{
"_id": "65********************89",
"name": "Chicken",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"posLocationId": "",
"posCategoryType": "",
"posCategoryId": "",
"imageUrl": "",
"subCategories": [],
"products": [],
"availabilities": [],
"level": 1,
"menu": "65********************79",
"sortedChannelProductIds": [],
"subProducts": [
"65********************4b",
"65********************a1"
],
"subProductSortOrder": []
},
{
"_id": "65********************8a",
"name": "Poke Bowl",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"posLocationId": "",
"posCategoryType": "",
"posCategoryId": "",
"imageUrl": "",
"subCategories": [],
"products": [],
"availabilities": [],
"level": 1,
"menu": "65********************79",
"sortedChannelProductIds": [],
"subProducts": ["65********************ad"],
"subProductSortOrder": []
},
{
"_id": "65********************8b",
"name": "Sides",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"posLocationId": "",
"posCategoryType": "",
"posCategoryId": "",
"imageUrl": "",
"subCategories": [],
"products": [],
"availabilities": [],
"level": 1,
"menu": "65********************79",
"sortedChannelProductIds": [],
"subProducts": [
"65********************6b",
"65********************6f"
],
"subProductSortOrder": []
},
{
"_id": "65********************8c",
"name": "Drinks",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"posLocationId": "",
"posCategoryType": "",
"posCategoryId": "",
"imageUrl": "",
"subCategories": [],
"products": [],
"availabilities": [],
"level": 1,
"menu": "65********************79",
"sortedChannelProductIds": [],
"subProducts": [
"65********************65",
"65********************66",
"65********************67"
],
"subProductSortOrder": []
}
],
"channelLinkId": "65********************7f",
"currency": 3,
"description": "",
"descriptionTranslations": {
"fr": "Un exemple de menu de diffu00e9rentes configurations de produits, profitez-enu00a0!"
},
"menu": "Example Menu",
"menuId": "65********************79",
"menuImageURL": "",
"menuType": 0,
"modifierGroups": {
"65********************31": {
"_id": "65********************31",
"name": "Cooking instructions",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {
"es": "Cocinado",
"fr": "Cuisson"
},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 1,
"min": 1,
"multiply": 1,
"plu": "MOD-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"productTags": [],
"productType": 3,
"subProducts": [
"65********************32",
"65********************33",
"65********************34"
],
"parentId": "65********************30",
"snoozed": false,
"subProductSortOrder": []
},
"65********************35": {
"_id": "65********************35",
"name": "Add a side",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {
"es": "Elige tu acompau00f1amiento",
"fr": "Choisissez votre garniture"
},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 1,
"multiply": 1,
"plu": "MOD-02",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"productTags": [],
"productType": 3,
"subProducts": [
"65********************36",
"65********************37",
"65********************38"
],
"parentId": "65********************30",
"snoozed": false,
"subProductSortOrder": []
},
"65********************60": {
"_id": "65********************60",
"name": "Fries Selection",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 1,
"min": 1,
"multiply": 1,
"plu": "MG-FRS",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"productTags": [],
"productType": 3,
"subProducts": [
"65********************61",
"65********************62",
"65********************63"
],
"parentId": "65********************5b",
"snoozed": false,
"subProductSortOrder": []
},
"65********************64": {
"_id": "65********************64",
"name": "Add a Drink? (not included)",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"isUpsell": true,
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiMax": 1,
"multiply": 1,
"plu": "UPSLL-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"productTags": [],
"productType": 3,
"subProducts": [
"65********************65",
"65********************66",
"65********************67"
],
"parentId": "65********************5b",
"snoozed": false,
"subProductSortOrder": []
},
"65********************95": {
"_id": "65********************95",
"name": "Choose your First Topping",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 1,
"min": 1,
"multiply": 1,
"plu": "FREE-TOP",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"productTags": [],
"productType": 3,
"subProducts": [
"65********************90",
"65********************91",
"65********************92",
"65********************93",
"65********************94"
],
"parentId": "65********************51",
"snoozed": false,
"subProductSortOrder": []
},
"65********************9b": {
"_id": "65********************9b",
"name": "Add extra toppings",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiMax": 10,
"multiply": 1,
"plu": "PIZZ-TOP",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"productTags": [],
"productType": 3,
"subProducts": [
"65********************96",
"65********************97",
"65********************98",
"65********************99",
"65********************9a"
],
"parentId": "65********************51",
"snoozed": false,
"subProductSortOrder": []
},
"65********************4c": {
"_id": "65********************4c",
"name": "How many pieces?",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"isVariantGroup": true,
"location": "65********************32",
"max": 1,
"min": 1,
"multiply": 1,
"plu": "MG-VAR-1",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"productTags": [],
"productType": 3,
"subProducts": [
"65********************9d",
"65********************9e",
"65********************9f"
],
"parentId": "65********************4b",
"snoozed": false,
"subProductSortOrder": []
},
"65********************6c": {
"_id": "65********************6c",
"name": "Choose a sauce",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiMax": 99,
"multiply": 1,
"plu": "MG-SAUCES",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"productTags": [],
"productType": 3,
"subProducts": [
"65********************6d",
"65********************6e"
],
"parentId": "65********************6f",
"snoozed": false,
"subProductSortOrder": []
},
"65********************6a": {
"_id": "65********************6a",
"name": "Rice Selection",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiMax": 99,
"multiply": 1,
"plu": "MG-RICE",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"productTags": [],
"productType": 3,
"subProducts": [
"65********************6b",
"65********************6f"
],
"parentId": "65********************69",
"snoozed": false,
"subProductSortOrder": []
},
"65********************a6": {
"_id": "65********************a6",
"name": "Choose Your Protein",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 6000,
"location": "65********************32",
"max": 1,
"min": 1,
"multiply": 1,
"plu": "BNDL-01-SML",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"productTags": [],
"productType": 3,
"subProducts": [
"65********************a3",
"65********************a4",
"65********************a5"
],
"takeawayTax": 6000,
"parentId": "65********************3c",
"snoozed": false,
"subProductSortOrder": []
},
"65********************aa": {
"_id": "65********************aa",
"name": "Choose Your Protein",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 1,
"min": 1,
"multiply": 1,
"plu": "BNDL-LG",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"productTags": [],
"productType": 3,
"subProducts": [
"65********************a9",
"65********************a4",
"65********************a5"
],
"parentId": "65********************41",
"snoozed": false,
"subProductSortOrder": []
},
"65********************ac": {
"_id": "65********************ac",
"name": "Choose your size",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 1,
"min": 1,
"multiply": 1,
"plu": "POKE-SZ",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"productTags": [],
"productType": 3,
"subProducts": [
"65********************a7",
"65********************ab"
],
"parentId": "65********************3a",
"snoozed": false,
"subProductSortOrder": []
}
},
"modifiers": {
"65********************32": {
"_id": "65********************32",
"name": "Rare",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {
"es": "Poco hecho",
"fr": "Saignant"
},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "COOK-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************31",
"snoozed": false,
"subProductSortOrder": []
},
"65********************33": {
"_id": "65********************33",
"name": "Medium Rare",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {
"es": "Al punto",
"fr": "u00c0 point"
},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "COOK-02",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************31",
"snoozed": false,
"subProductSortOrder": []
},
"65********************34": {
"_id": "65********************34",
"name": "Well Done",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {
"es": "Muy hecho",
"fr": "Bien cuit"
},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "COOK-03",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************31",
"snoozed": false,
"subProductSortOrder": []
},
"65********************36": {
"_id": "65********************36",
"name": "Fries",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {
"es": "Patatas fritas",
"fr": "Frites"
},
"account": "62********************f1",
"capacityUsages": [],
"defaultQuantity": 1,
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "SI-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************35",
"snoozed": false,
"subProductSortOrder": []
},
"65********************37": {
"_id": "65********************37",
"name": "Salad",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {
"es": "Ensalada",
"fr": "Salade"
},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "SI-02",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 200,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************35",
"snoozed": false,
"subProductSortOrder": []
},
"65********************38": {
"_id": "65********************38",
"name": "Mashed Potato",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {
"es": "Puru00e9 de patata",
"fr": "Puru00e9e de pommes de terre"
},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "SI-03",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 100,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************35",
"snoozed": false,
"subProductSortOrder": []
},
"65********************90": {
"_id": "65********************90",
"name": "Pepperoni",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "PEPP-#O0#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************52",
"snoozed": false,
"subProductSortOrder": []
},
"65********************91": {
"_id": "65********************91",
"name": "Bacon",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "BAC-#O0#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************52",
"snoozed": false,
"subProductSortOrder": []
},
"65********************92": {
"_id": "65********************92",
"name": "Red Onion",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "RONION-#O0#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************52",
"snoozed": false,
"subProductSortOrder": []
},
"65********************93": {
"_id": "65********************93",
"name": "Mushroom",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "MUSH-#O0#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************52",
"snoozed": false,
"subProductSortOrder": []
},
"65********************94": {
"_id": "65********************94",
"name": "Red Pepper",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "REDPEPP-#O0#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************52",
"snoozed": false,
"subProductSortOrder": []
},
"65********************96": {
"_id": "65********************96",
"name": "Pepperoni",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "PEPP-#O1#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 100,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************58",
"snoozed": false,
"subProductSortOrder": []
},
"65********************97": {
"_id": "65********************97",
"name": "Bacon",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "BAC-#O1#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 100,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************58",
"snoozed": false,
"subProductSortOrder": []
},
"65********************98": {
"_id": "65********************98",
"name": "Red Onion",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "RONION-#O1#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 100,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************58",
"snoozed": false,
"subProductSortOrder": []
},
"65********************99": {
"_id": "65********************99",
"name": "Mushroom",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "MUSH-#O1#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 100,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************58",
"snoozed": false,
"subProductSortOrder": []
},
"65********************9a": {
"_id": "65********************9a",
"name": "Red Pepper",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "REDPEPP-#O1#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 100,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************58",
"snoozed": false,
"subProductSortOrder": []
},
"65********************6d": {
"_id": "65********************6d",
"name": "Sate Sauce",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "SAUCE-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 50,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************6c",
"snoozed": false,
"subProductSortOrder": []
},
"65********************6e": {
"_id": "65********************6e",
"name": "Hot Sauce",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "SAUCE-02",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 50,
"productTags": [],
"productType": 2,
"subProducts": [],
"parentId": "65********************6c",
"snoozed": false,
"subProductSortOrder": []
},
"65********************61": {
"_id": "65********************61",
"name": "French Fries",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "P-FRS-S",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 200,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************60",
"snoozed": false,
"subProductSortOrder": []
},
"65********************62": {
"_id": "65********************62",
"name": "Curly Fries",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "P-FRS-M",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 200,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************60",
"snoozed": false,
"subProductSortOrder": []
},
"65********************63": {
"_id": "65********************63",
"name": "Seasoned Fries",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "P-FRS-L",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 250,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************60",
"snoozed": false,
"subProductSortOrder": []
},
"65********************65": {
"_id": "65********************65",
"name": "Coca Cola",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "DRNK-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 400,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************8c",
"snoozed": false,
"subProductSortOrder": []
},
"65********************66": {
"_id": "65********************66",
"name": "Diet Coke",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "DRNK-02",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 400,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************8c",
"snoozed": false,
"subProductSortOrder": []
},
"65********************67": {
"_id": "65********************67",
"name": "Ginger Beer",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"bottleDepositPrice": 100,
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "DRNK-03",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 500,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************8c",
"snoozed": false,
"subProductSortOrder": []
},
"65********************9d": {
"_id": "65********************9d",
"name": "3 Pieces",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "VAR-1-#V0#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************4c",
"snoozed": false,
"subProductSortOrder": []
},
"65********************9e": {
"_id": "65********************9e",
"name": "6 Pieces",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "VAR-2-#V300#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 300,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************4c",
"snoozed": false,
"subProductSortOrder": []
},
"65********************9f": {
"_id": "65********************9f",
"name": "9 Pieces",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "VAR-3-#V550#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 550,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************4c",
"snoozed": false,
"subProductSortOrder": []
},
"65********************6b": {
"_id": "65********************6b",
"name": "White Rice",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "RICE-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 450,
"productTags": [],
"productType": 1,
"subProducts": ["65********************6c"],
"parentId": "65********************8b",
"snoozed": false,
"subProductSortOrder": []
},
"65********************6f": {
"_id": "65********************6f",
"name": "Yellow Rice",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "RICE-02",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 450,
"productTags": [],
"productType": 1,
"subProducts": ["65********************6c"],
"parentId": "65********************8b",
"snoozed": false,
"subProductSortOrder": []
},
"65********************a3": {
"_id": "65********************a3",
"name": "Yuzu Salmon",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "PRT-01###PRNT-#O0#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 180,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************3d",
"snoozed": false,
"subProductSortOrder": []
},
"65********************a4": {
"_id": "65********************a4",
"name": "Spicy Tuna",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "PRT-02###PRNT",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************42",
"snoozed": false,
"subProductSortOrder": []
},
"65********************a5": {
"_id": "65********************a5",
"name": "Teriyaki Chicken",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "PRT-03###PRNT",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************42",
"snoozed": false,
"subProductSortOrder": []
},
"65********************a9": {
"_id": "65********************a9",
"name": "Yuzu Salmon",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "PRT-01###PRNT-#O1#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 250,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************42",
"snoozed": false,
"subProductSortOrder": []
},
"65********************a7": {
"_id": "65********************a7",
"name": "Mini Poke Bowl",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "SZ-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 800,
"productTags": [],
"productType": 1,
"subProducts": ["65********************a6"],
"parentId": "65********************3b",
"snoozed": false,
"subProductSortOrder": []
},
"65acf053bbeb2812b77874ab": {
"_id": "65********************ab",
"name": "Large Poke Bowl",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "SZ-02",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 1200,
"productTags": [],
"productType": 1,
"subProducts": ["65********************aa"],
"parentId": "65********************3b",
"snoozed": false,
"subProductSortOrder": []
}
},
"menuTranslations": {
"fr": "Exemple de Menu"
},
"nestedModifiers": true,
"products": {
"65********************30": {
"_id": "65********************30",
"name": "Delicious Steak and Frites ud83dude0b",
"description": "",
"descriptionTranslations": {
"fr": "Exemple de produit de base avec - groupes de modificateurs - variables min/max - su00e9lection par du00e9faut - traductions"
},
"nameTranslations": {
"es": "Deliciosos Bistecs Fritos",
"fr": "Steak Frites Du00e9licieux"
},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "STK-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 1500,
"productTags": [],
"productType": 1,
"subProducts": [
"65********************31",
"65********************35"
],
"parentId": "65********************87",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "STK-01"
},
"65********************5e": {
"_id": "65********************5e",
"name": "Cheeseburger",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiMax": 1,
"multiply": 1,
"plu": "P-BURG-CHE",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 850,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************87",
"snoozed": true,
"snoozeId": "65********************5e",
"subProductSortOrder": [],
"referenceId": "P-BURG-CHE"
},
"65********************5f": {
"_id": "65********************5f",
"name": "Veggie Burger",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "P-BURG-VEG",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 750,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************87",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "P-BURG-VEG"
},
"65********************61": {
"_id": "65********************61",
"name": "French Fries",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "P-FRS-S",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 200,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************60",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "P-FRS-S"
},
"65********************62": {
"_id": "65********************62",
"name": "Curly Fries",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "P-FRS-M",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 200,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************60",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "P-FRS-M"
},
"65********************63": {
"_id": "65********************63",
"name": "Seasoned Fries",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "P-FRS-L",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 250,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************60",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "P-FRS-L"
},
"65********************65": {
"_id": "65********************65",
"name": "Coca Cola",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "DRNK-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 400,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************8c",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "DRNK-01"
},
"65********************66": {
"_id": "65********************66",
"name": "Diet Coke",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "DRNK-02",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 400,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************8c",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "DRNK-02"
},
"65********************67": {
"_id": "65********************67",
"name": "Ginger Beer",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"bottleDepositPrice": 100,
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "DRNK-03",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 500,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************8c",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "DRNK-03"
},
"65********************8f": {
"_id": "65********************8f",
"name": "Burger Combo (Drink not Included)",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"isCombo": true,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "P-BRGR",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 950,
"productTags": [],
"productType": 1,
"subProducts": [
"65********************8e",
"65********************60",
"65********************64"
],
"parentId": "65********************87",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "P-BRGR"
},
"65********************9c": {
"_id": "65********************9c",
"name": "Build your own Pizza",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "PIZZ-00",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 800,
"productTags": [],
"productType": 1,
"subProducts": [
"65********************95",
"65********************9b"
],
"parentId": "65********************88",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "PIZZ-00"
},
"65********************9d": {
"_id": "65********************9d",
"name": "3 Pieces",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "VAR-1-#V0#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************4c",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "VAR-1"
},
"65********************9e": {
"_id": "65********************9e",
"name": "6 Pieces",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "VAR-2-#V300#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 300,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************4c",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "VAR-2"
},
"65********************9f": {
"_id": "65********************9f",
"name": "9 Pieces",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "VAR-3-#V550#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 550,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************4c",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "VAR-3"
},
"65********************4b": {
"_id": "65********************4b",
"name": "Chicken Tenders",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"isVariant": true,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "VAR-PROD-1",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 800,
"productTags": [],
"productType": 1,
"subProducts": ["65********************4c"],
"parentId": "65********************89",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "VAR-PROD-1"
},
"65********************6b": {
"_id": "65********************6b",
"name": "White Rice",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "RICE-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 450,
"productTags": [],
"productType": 1,
"subProducts": ["65********************6c"],
"parentId": "65********************8b",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "RICE-01"
},
"65********************6f": {
"_id": "65********************6f",
"name": "Yellow Rice",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "RICE-02",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 450,
"productTags": [],
"productType": 1,
"subProducts": ["65********************6c"],
"parentId": "65********************8b",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "RICE-02"
},
"65********************a1": {
"_id": "65********************a1",
"name": "Chicken Sate",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "P-SATE",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 450,
"productTags": [104, 108],
"productType": 1,
"subProducts": ["65********************6a"],
"parentId": "65********************89",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "P-SATE"
},
"65********************a3": {
"_id": "65********************a3",
"name": "Yuzu Salmon",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "PRT-01###PRNT-#O0#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 180,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************3d",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "PRT-01"
},
"65********************a4": {
"_id": "65********************a4",
"name": "Spicy Tuna",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "PRT-02###PRNT",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************42",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "PRT-02"
},
"65********************a5": {
"_id": "65********************a5",
"name": "Teriyaki Chicken",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "PRT-03###PRNT",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************42",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "PRT-03"
},
"65********************a7": {
"_id": "65********************a7",
"name": "Mini Poke Bowl",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "SZ-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 800,
"productTags": [],
"productType": 1,
"subProducts": ["65********************a6"],
"parentId": "65********************3b",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "SZ-01"
},
"65********************a9": {
"_id": "65********************a9",
"name": "Yuzu Salmon",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "PRT-01###PRNT-#O1#-",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 250,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************42",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "PRT-01"
},
"65********************ab": {
"_id": "65********************ab",
"name": "Large Poke Bowl",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "SZ-02",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 1200,
"productTags": [],
"productType": 1,
"subProducts": ["65********************aa"],
"parentId": "65********************3b",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "SZ-02"
},
"65********************44": {
"_id": "65********************44",
"name": "Sushi Rice",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "BS-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************43",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "BS-01"
},
"65********************45": {
"_id": "65********************45",
"name": "Cruncy Cabbage Slaw",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "BS-02",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************43",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "BS-02"
},
"65********************47": {
"_id": "65********************47",
"name": "Spicy Tofu",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "XTRA-TOF",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************46",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "XTRA-TOF"
},
"65********************48": {
"_id": "65********************48",
"name": "Crispy Onions",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "XTRA-CONI",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************46",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "XTRA-CONI"
},
"65********************49": {
"_id": "65********************49",
"name": "Smashed Avocado",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "XTRA-AVO",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************46",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "XTRA-AVO"
},
"65********************ad": {
"_id": "65********************ad",
"name": "Build a Poke Bowl",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"isCombo": true,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "P-PB-01",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 1000,
"productTags": [],
"productType": 1,
"subProducts": [
"65********************ac",
"65********************43",
"65********************46"
],
"parentId": "65********************8a",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "P-PB-01"
},
"65********************b0": {
"_id": "65********************b0",
"name": "Cheeseburger",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiMax": 1,
"multiply": 1,
"plu": "P-BURG-CHE###",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************87",
"snoozed": true,
"snoozeId": "65********************b0",
"subProductSortOrder": [],
"referenceId": "P-BURG-CHE"
},
"65********************b1": {
"_id": "65********************b1",
"name": "Veggie Burger",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"imageUrl": "",
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "P-BURG-VEG###",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************87",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "P-BURG-VEG"
},
"65********************b2": {
"_id": "65********************b2",
"name": "Sushi Rice",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "BS-01###",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************43",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "BS-01"
},
"65********************b3": {
"_id": "65********************b3",
"name": "Cruncy Cabbage Slaw",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "BS-02###",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************43",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "BS-02"
},
"65********************b4": {
"_id": "65********************b4",
"name": "Spicy Tofu",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "XTRA-TOF###",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************46",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "XTRA-TOF"
},
"65********************b5": {
"_id": "65********************b5",
"name": "Crispy Onions",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "XTRA-CONI###",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************46",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "XTRA-CONI"
},
"65********************b6": {
"_id": "65********************b6",
"name": "Smashed Avocado",
"description": "",
"descriptionTranslations": {},
"nameTranslations": {},
"account": "62********************f1",
"capacityUsages": [],
"deliveryTax": 9000,
"eatInTax": 9000,
"takeawayTax": 9000,
"location": "65********************32",
"max": 0,
"min": 0,
"multiply": 1,
"plu": "XTRA-AVO###",
"posCategoryIds": [],
"posProductCategoryId": "",
"posProductId": "",
"price": 0,
"productTags": [],
"productType": 1,
"subProducts": [],
"parentId": "65********************46",
"snoozed": false,
"subProductSortOrder": [],
"referenceId": "XTRA-AVO"
}
},
"productTags": [104, 108],
"snoozedProducts": {
"65********************5e": {
"location": "65********************32",
"name": "Cheeseburger",
"plu": "P-BURG-CHE",
"snoozeEnd": "YYYY-MM-DD HH:mm:ss.000000+00:00",
"snoozeStart": "YYYY-MM-DD HH:mm:ss.000000+00:00"
},
"65acf053bbeb2812b77874b0": {
"location": "65********************32",
"name": "Cheeseburger",
"plu": "P-BURG-CHE###",
"snoozeEnd": "YYYY-MM-DD HH:mm:ss.000000+00:00",
"snoozeStart": "YYYY-MM-DD HH:mm:ss.000000+00:00"
}
},
"validations": []
}
]
}
}
}
}
},
"responses": {
"200": {
"description": "Ok"
},
"400": {
"description": "Not Found"
}
}
}
},
"/yourwebhook.com/snooze": {
"post": {
"summary": "Snooze / Unsnooze Products",
"tags": ["Partner Webhook"],
"requestBody": {
"content": {
"application/json": {
"examples": {
"Snooze Products": {
"value": {
"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"
}
]
}
}
]
}
},
"Where allSnoozedItems is set": {
"value": {
"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"
}
]
}
}
]
}
},
"Unsnooze Products": {
"value": {
"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": []
}
}
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "Ok"
},
"400": {
"description": "Not Found"
}
}
}
},
"/yourwebhook.com/busy_mode": {
"post": {
"summary": "Store Closed temporary",
"tags": ["Partner Webhook"],
"requestBody": {
"content": {
"application/json": {
"examples": {
"Enable Busy Mode": {
"value": {
"accountId": "5b****71c6489f0029****d4",
"locationId": "5c****ecc6489f0001****b8",
"channelLinkId": "5e****abc11dec0001****9b",
"status": "PAUSED"
}
},
"Disable Busy Mode": {
"value": {
"accountId": "5b****71c6489f0029****d4",
"locationId": "5c****ecc6489f0001****b8",
"channelLinkId": "5e****abc11dec0001****9b",
"status": "ONLINE"
}
},
"Busy mode orange": {
"value": {
"accountId": "61e14f0c888c8389fa5908bb",
"locationId": "633d62de0f******f893bdf",
"channelLinkId": "647618*******166c858de0b0",
"status": "BUSY",
"delay": 30
}
}
}
}
}
},
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
}
}
}
}
}
},
"/yourwebhook.com/prep_time": {
"post": {
"summary": "Preparation time update from POS",
"tags": ["Partner Webhook"],
"requestBody": {
"content": {
"application/json": {
"examples": {
"Preparation time update": {
"value": {
"channelOrderId": "X7CESD",
"orderId": "5e****abc11dec0001****9b",
"location": "5e****abc11dec0001****0b",
"status": 20,
"pickupTime": "2021-04-20T16:20:00Z"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
}
}
}
}
}
},
"/yourwebhook.com/order_status": {
"post": {
"summary": "Order Status Update sent by the POS",
"tags": ["Partner Webhook"],
"requestBody": {
"content": {
"application/json": {
"examples": {
"Order Accepted": {
"value": {
"orderId": "61********************b4",
"status": 20,
"timeStamp": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"receiptId": "",
"reason": "",
"channelOrderId": "TEST******4206",
"location": "61********************b4",
"channelLink": "61********************c3"
}
},
"Order Cancelled": {
"value": {
"orderId": "61********************b4",
"status": 110,
"timeStamp": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"receiptId": "",
"reason": "Item out of stock",
"channelOrderId": "TEST******4206",
"location": "61********************b4",
"channelLink": "61********************c3"
}
},
"Order Failed": {
"value": {
"orderId": "61********************b4",
"status": 120,
"timeStamp": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"receiptId": "",
"reason": "",
"channelOrderId": "TEST******4206",
"location": "61********************b4",
"channelLink": "61********************c3"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
}
}
}
}
}
},
"/yourwebhook.com/courier_update": {
"post": {
"summary": "Courier Status Update sent by the Dispatch partner",
"tags": ["Partner Webhook"],
"requestBody": {
"content": {
"application/json": {
"examples": {
"Courier Status Update": {
"value": {
"orderId": "651142e93c54c5405****6a3",
"channelOrderId": "TEST12341156",
"status": 83,
"courierName": "DRIVER NAME"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
}
}
}
}
}
}
},
"paths": {
"/oauth/token": {
"401": {
"description": "Unauthorized",
"headers": {
"Date": {
"schema": {
"type": "string",
"examples": [
"Wed, 20 Feb 2019 13:11:39 GMT"
]
}
},
"Content-Type": {
"schema": {
"type": "string",
"examples": [
"application/json"
]
}
},
"Content-Length": {
"schema": {
"type": "integer",
"examples": [
"60"
]
}
},
"Connection": {
"schema": {
"type": "string",
"examples": [
"keep-alive"
]
}
},
"X-Auth0-RequestId": {
"schema": {
"type": "string",
"examples": [
"1bb8a6bbea0c249b00dd"
]
}
},
"X-RateLimit-Limit": {
"schema": {
"type": "integer",
"examples": [
"30"
]
}
},
"X-RateLimit-Remaining": {
"schema": {
"type": "integer",
"examples": [
"29"
]
}
},
"X-RateLimit-Reset": {
"schema": {
"type": "integer",
"examples": [
"1550668300"
]
}
},
"WWW-Authenticate": {
"schema": {
"type": "string",
"examples": [
"Basic realm={{Users}}"
]
}
},
"Cache-Control": {
"schema": {
"type": "string",
"examples": [
"private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
]
}
}
},
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {
"error": "access_denied",
"error_description": "Unauthorized"
}
}
}
},
"post": {
"tags": [
"Authentication"
],
"summary": "Machine 2 Machine Access Token",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "string",
"examples": [
{
"client_id": "{{clientId}}",
"client_secret": "{{clientSecret}}",
"audience": "https://api.satging.deliverect.com",
"grant_type": "token"
}
]
}
}
}
},
"parameters": [],
"responses": {
"200": {
"description": "OK",
"headers": {
"Accept": {
"schema": {
"type": "string",
"examples": [
"application/json"
]
}
},
"Content-Type": {
"schema": {
"type": "string",
"examples": [
"application/json"
]
}
}
}
}
},
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {
"access_token": "ey**-**-Q",
"expires_at": 1620899002,
"token_type": "Bearer",
"scope": "genericPOS provisioning"
}
}
}
}
},
"/{channelName}/order/{channelLinkId}": {
"post": {
"tags": ["Endpoints"],
"summary": "Create Order",
"description": "Your generic channel integration can use this endpoint to place a new order for a linked location. Note that, when sending a new order, Deliverect will check whether the party sending the order has the correct **scope** to do so. If not, they are considered unauthorized. The scope for generic channels is communicated to integrating parties together with the API Keys, and is checked in the request target URL only.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateOrder",
"examples": [
{
"channelOrderId": "{{channelOrderId-001}}",
"channelOrderDisplayId": "{{channelOrderDisplayId-001}}",
"channelLinkId": "{{channelLinkId-001}}",
"by": "",
"orderType": 2,
"table": "Table 23",
"channel": 10000,
"pickupTime": "2020-03-09T17:17:38Z",
"estimatedPickupTime": "2020-03-09T17:17:38Z",
"deliveryTime": "2020-03-09T17:17:38Z",
"deliveryIsAsap": true,
"courier": "restaurant",
"customer": {
"name": "Customer name",
"companyName": "Deliverect",
"phoneNumber": "0123456789",
"email": "[email protected]",
"tin": "taxIdentificationNumber"
},
"deliveryAddress": {
"street": "The Krook",
"streetNumber": "4",
"postalCode": "9000",
"city": "Gent",
"extraAddressInfo": ""
},
"orderIsAlreadyPaid": true,
"payment": {
"amount": 975,
"type": 3
},
"note": "This is a test note",
"items": [
{
"plu": "T5",
"name": "Bier (Hertog Jan)",
"price": 325,
"quantity": 1,
"remark": "",
"subItems": [
{
"plu": "SI2",
"name": "Fluitje",
"price": 0,
"quantity": 1,
"remark": "",
"subItems": []
}
]
},
{
"plu": "SO1",
"name": "Cali SALMON",
"price": 550,
"quantity": 1,
"remark": "Don't add peper",
"subItems": []
}
],
"decimalDigits": 2,
"numberOfCustomers": 1,
"deliveryCost": 0,
"serviceCharge": 0,
"discountTotal": 0,
"tip": 100
}
]
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "channelName",
"in": "path",
"schema": {
"type": "string"
},
"required": true
},
{
"name": "channelLinkId",
"in": "path",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"default": {
"description": "default",
"content": {
"application/json": {
"schema": {
"type": "string"
},
"Example": null
}
}
}
}
}
},
"/{channelName}/order/{channelLinkId}/": {
"post": {
"tags": ["Endpoints"],
"summary": "Cancel Order",
"description": "Your channel integration can process a cancellation using the same endpoint used create a new order.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CancelOrder",
"examples": [
{
"channelOrderId": "channelOrderId",
"channelOrderDisplayId": "channelDisplayOrderId",
"channelLinkId": "5e****abc11dec0001****9b",
"status": 100,
"cancellationReason": "Customer requests order cancellation"
}
]
}
}
}
},
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "channelName",
"in": "path",
"schema": {
"type": "string"
},
"required": true
},
{
"name": "channelLinkId",
"in": "path",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"default": {
"description": "default",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CancelOrder"
},
"Example": null
}
}
}
}
}
},
"/{channelName}/menuStatus/{_id}": {
"post": {
"tags": ["Endpoints"],
"summary": "Menu Update (Async)",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MenuUpdateCallbackAsync",
"examples": [
{
"status": "ONLINE",
"comment": "string"
}
]
}
}
}
}
},
"parameters": [
{
"name": "channelName",
"in": "path",
"schema": {
"type": "string"
},
"required": true
},
{
"name": "_id",
"in": "path",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"/{channelName}/updateStoreStatus/{channelLinkId}": {
"post": {
"tags": ["Endpoints"],
"summary": "Update Store Status (open/closed)",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateStoreStatus",
"examples": [
{
"status": "closed",
"reason": "Too many failed orders"
}
]
}
}
}
},
"parameters": [
{
"name": "channelName",
"in": "path",
"schema": {
"type": "string"
},
"required": true
},
{
"name": "channelLinkId",
"in": "path",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {}
}
}
}
}
},
"/{channelName}/courierUpdate/{channelLinkId}": {
"post": {
"tags": ["Endpoints"],
"summary": "Update Courier Status",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateCourierOrGuestStatus"
},
"example": [
{
"channelOrderId": "63171d******d34b5efe",
"courierUpdate": {
"status": 85,
"arrivalTime": "2022-10-25T16:24:40.482000Z",
"deliveryTime": "2022-10-25T16:24:40.482000Z",
"courier": {
"firstName": "Joe",
"lastName": "Driver",
"phoneNumber": "+44 20 3936 1162",
"coordinates": {
"coordinates": [-0.0785, 51.52081]
}
}
}
}
]
}
}
}
},
"parameters": [
{
"name": "channelName",
"in": "path",
"schema": {
"type": "string"
},
"required": true
},
{
"name": "channelLinkId",
"in": "path",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {}
}
}
}
},
"/fulfillment/validate": {
"post": {
"tags": ["Endpoints"],
"summary": "Dispatch Availability",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DispatchAvailability",
"examples": {
"deliveryLocations": {
"packageSize": "unknown",
"name": "None",
"phone": "None",
"coordinates": {
"coordinates": [-113, -113]
},
"street": "customer street and number",
"city": "customer city",
"country": "customer country",
"postalCode": "postal code",
"deliveryTime": "2024-10-17T10:00:00Z"
},
"channelLinkId": "61bcc34f657cc48c23eb60d5"
}
}
}
}
},
"responses": {
"200": {
"validationId": "63171d81a8f1fd71d34b5efe",
"available": true,
"expiresAt": "2022-09-06 10:24:25.445709",
"deliveryTimeETA": "2022-08-08 11:00:00",
"price": 0
}
}
}
},
"/tables/{locationId}": {
"get": {
"tags": ["Endpoints"],
"summary": "GET POS tables",
"description": "Retrieves all tables and floors registered in a POS at a specific location.",
"parameters": [
{
"name": "locationId",
"in": "path",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetPOStables"
}
}
}
},
"422": {
"description": "Get tables action is not supported for this locatio"
},
"400": {
"description": "failed to get tables: Error messag"
}
}
}
},
"/allAllegens": {
"get": {
"tags": [
"Endpoints"
],
"summary": "Allergens and tags",
"description": "This allows a channel to get allergens and tags existing in Deliverect.",
"responses": {
"200": {
"description": "200",
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": [
{
"name": "Alcohol",
"allergenId": 1
},
{
"name": "Halal",
"allergenId": 2
},
{
"name": "Kosher",
"allergenId": 3
},
{
"name": "Vegan",
"allergenId": 4
},
{
"name": "Vegetarian",
"allergenId": 5
}
]
}
}
}
}
}
},
"/{channelName}/updateRating": {
"post": {
"tags": ["Endpoints"],
"summary": "Order Rating Update",
"description": "Your generic channel integration can use this endpoint to update rating for previously placed order. Note that, when sending rating update, Deliverect will check whether the party sending the order has the correct scope to do so. If not, they are considered unauthorized. The scope for generic channels is communicated to integrating parties, and is checked in the request target URL only. Therefore, make sure this URL correctly contains the scope. As a payload we always expect a JSON that contains: * Channel order id (`channelOrderId`) * Date(UTC) when order was placed in ISO 8601 format (`orderDate`) * Id of the channel link (`channelLinkId`) * Array of rating objects (`rating`) * Subject of the rating. See allowed values in Rating Subjects table (`subject`) * Rating value from 0 to 10 (`rating`) * [Optional] Comment for the rating (`comment`) * [Optional] Reason for negative rating. See allowed values in Rating Reasons table (`reason`) #### Rating Subjects | Subject | Integer value | | - | - | | Restaurant | 1 | | Delivery | 2 | #### Rating reasons | Reason | Integer value | | - | - | | Item missing | 1 | | Order issue | 2 | | Order is wrong | 3 | | Food isn't fresh | 4 | | Food is cold | 5 | | Box was opened | 6 | | Delivery late | 7 | | Delivery issue | 8 | | Rude staff | 9 | | No issues | 10000 |",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrderRatingUpdate",
"examples": [
{
"channelOrderId": "CXTDBKMZ-1229",
"orderDate": "2021-04-13T11:53:34.453000Z",
"channelLinkId": "606d8489fcd8eddf13b121a6",
"rating": [
{
"reason": 10000,
"rating": 5,
"comment": "Food was amazing.",
"subject": 1
},
{
"rating": 5,
"subject": 2
}
]
}
]
}
}
}
},
"parameters": [
{
"name": "Authorization",
"in": "header",
"schema": {
"type": "string"
},
"Example": "{authToken}"
},
{
"name": "channelName",
"in": "path",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {}
}
}
}
}
}
},
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer"
}
},
"schemas": {
"Machine2MachineAccessTokenRequest": {
"title": "Get Access Token",
"required": ["client_id", "client_secret", "audience", "grant_type"],
"type": "object",
"properties": {
"client_id": {
"type": "string"
},
"client_secret": {
"type": "string"
},
"audience": {
"type": "string"
},
"grant_type": {
"type": "string"
}
},
"examples": [
{
"client_id": "{{clientId}}",
"client_secret": "{{clientSecret}}",
"audience": "https://api.deliverect.com",
"grant_type": "client_credentials"
}
]
},
"CreateOrder": {
"title": "Create Order",
"required": [
"channelOrderId",
"channelOrderDisplayId",
"orderType",
"courier",
"payment",
"payment.amount",
"payment.type",
"taxes.total",
"items",
"items.plu",
"items.name",
"items.price",
"items.quantity",
"deliveryIsAsap",
"decimalDigits"
],
"type": "object",
"properties": {
"channelOrderId": {
"type": "string"
},
"channelOrderDisplayId": {
"type": "string"
},
"courier": {
"type": "integer"
},
"payment": {
"type": "object"
},
"payment.amount": {
"type": "integer"
},
"payment.type": {
"type": "integer"
},
"taxes.totaL": {
"type": "integer"
},
"items": {
"type": "array"
},
"items.plu": {
"type": "string"
},
"items.name": {
"type": "string"
},
"items.price": {
"type": "string"
},
"items.quantity": {
"type": "string"
},
"decimalDigits": {
"type": "integer"
},
"deliveryIsAsap": {
"type": "boolean"
}
},
"examples": [
{
"items": [
{
"plu": "P-SATE",
"name": "Chicken Sate",
"price": 450,
"quantity": 1,
"remark": "well done",
"subItems": [
{
"plu": "RICE-01",
"name": "White Rice",
"price": 450,
"deliveryTax": 9000,
"quantity": 1,
"subItems": [
{
"plu": "SAUCE-01",
"name": "Sate Sauce",
"price": 50,
"deliveryTax": 9000,
"quantity": 1
}
]
}
]
}
]}
],
"decimalDigits": 2,
"by": "Deliverect",
"courier": "restaurant",
"channel": 1,
"payment": {
"amount": 1750,
"type": 0,
"rebate": 0,
"commissionType": "regular"
},
"orderType": 2,
"deliveryAddress": {
"street": "Adelaide Street East",
"streetNumber": "207",
"postalCode": "M5A1N4",
"area": "Distillery District",
"city": "Toronto",
"extraAddressInfo": "1st floor",
"coordinates": {
"latitude": 43.65152,
"longitude": -79.37128
}
},
"deliveryCost": 300,
"serviceCharge": 400,
"discountTotal": -100,
"note": "extra spicy",
"customer": {
"name": "John ",
"companyName": "Deliverect",
"phoneNumber": "0618776767",
"phoneAccessCode": "1123",
"email": "[email protected]",
"tin": "tax identification number",
"note": "call once you arrive"
},
"orderIsAlreadyPaid": true,
"deliveryIsAsap": true,
"deliveryTime": "2023-05-12T11:39:22.876Z",
"bagFee": 0,
"tip": 200,
"discounts": [
{
"type": "order_flat_off",
"provider": "channel",
"name": "Test discount",
"channelDiscountCode": "test 1234",
"referenceId": "testId",
"value": 100,
"amount": 100
}
],
"pickupTime": "2023-05-12T11:39:22.876Z",
"channelOrderId": "TEST16838915628",
"channelOrderDisplayId": "T8915628"
},
"CancelOrder": {
"title": "Cancel Order",
"required": [
"channelOrderId",
"channelOrderDisplayId",
"channelLinkId",
"status",
"cancellationReason"
],
"type": "object",
"properties": {
"channelOrderId": {
"type": "string"
},
"channelOrderDisplayId": {
"type": "string"
},
"channelLinkId": {
"type": "string"
},
"status": {
"type": "integer"
},
"cancellationReason": {
"type": "string"
}
},
"examples": [
{
"channelOrderId": "CXTDBKMZ-1229",
"channelOrderDisplayId": "1229",
"channelLinkId": "5e****abc11dec0001****9b",
"status": 100,
"cancellationReason": "Customer requests order cancellation"
}
]
},
"MenuUpdateCallbackAsync": {
"title": "Menu Update Callback (Async)",
"required": ["channelName", "_id"],
"type": "object",
"properties": {
"channelName": {
"type": "string"
},
"_id": {
"type": "string"
}
},
"examples": [
{
"status": "ONLINE",
"comment": "string"
}
]
},
"UpdateStoreStatus": {
"title": "Update Store Status (open/closed)",
"required": ["status", "reason"],
"type": "object",
"properties": {
"status": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"examples": [
{
"status": "closed",
"reason": "Too many failed orders"
}
]
},
"UpdateCourierOrGuestStatus": {
"title": "Update Courier/Guest Status",
"required": ["channelOrderId", "courierUpdate.status"],
"type": "object",
"properties": {
"channelOrderId": {
"type": "string"
},
"courierUpdate.status": {
"type": "string"
}
},
"examples": [
{
"channelOrderId": "63171d******d34b5efe",
"courierUpdate": {
"status": 85,
"arrivalTime": "2022-10-25T16:24:40.482000Z",
"deliveryTime": "2022-10-25T16:54:40.482000Z",
"courier": {
"firstName": "Joe",
"lastName": "Driver",
"phoneNumber": "+44 20 3936 1162",
"pickupNotes": "Red Jeep, Parking spot 1a"
}
}
}
]
},
"DispatchAvailability": {
"title": "Dispatch Availability",
"required": [
"channelLinkId",
"deliveryLocations",
"deliveryTime",
"coordinates",
"street",
"streetNumber",
"city",
"country",
"postalCode"
],
"type": "object",
"properties": {
"channelLinkId": {
"type": "string"
},
"deliveryLocations": {
"type": "object"
},
"deliveryLocations.deliveryTime": {
"type": "Date"
},
"coordinates": {
"type": "array"
},
"street": {
"type": "string"
},
"streetNumber": {
"type": "string"
},
"city": {
"type": "string"
},
"postalCode": {
"type": "string"
}
},
"examples": [
{
"deliveryLocations": {
"packageSize": "unknown",
"name": "None",
"phone": "None",
"coordinates": {
"coordinates": [-113, -113]
},
"street": "customer street and number",
"city": "customer city",
"country": "customer country",
"postalCode": "postal code",
"deliveryTime": "2024-10-17T10:00:00Z"
},
"channelLinkId": "61bcc34f657cc48c23eb60d5"
}
]
},
"GetPOStables": {
"title": "Get POS tables",
"required": ["locationId"],
"type": "object",
"properties": {
"locationId": {
"type": "string"
}
},
"examples": [
{
"tables": [
{
"id": "barSeat#1",
"name": "Bar seat #1",
"floorId": "bar",
"seats": 1
},
{
"id": "barSeat#2",
"name": "Bar seat #2",
"floorId": "bar",
"seats": 1
},
{
"id": "barSeat#3",
"name": "Bar seat #3",
"floorId": "bar",
"seats": 1
},
{
"id": "table#1",
"name": "Table #1",
"floorId": "restaurant",
"seats": 6
},
{
"id": "table#2",
"name": "Table #2",
"floorId": "restaurant",
"seats": 8
},
{
"id": "Delivery",
"name": "delivery"
}
],
"floors": [
{
"id": "bar",
"name": "Bar"
},
{
"id": "restaurant",
"name": "Restaurant"
}
]
}
]
},
"OrderRatingUpdate": {
"title": "Order Rating Update",
"required": ["channelOrderId", "orderDate", "channelLinkId", "rating"],
"type": "object",
"properties": {
"channelOrderId": {
"type": "string"
},
"orderDate": {
"type": "string"
},
"channelLinkId": {
"type": "string"
},
"rating": {
"type": "array"
}
},
"examples": [
{
"rating": [
{
"reason": 10000,
"rating": "5",
"comment": "Food was amazing.",
"subject": 1
}
]
}
]
},
"ChannelRegistration": {
"title": "Channel Registration",
"required": [
"statusUpdateURL",
"menuUpdateURL",
"snoozeUnsnoozeURL",
"busyModeURL"
],
"type": "object",
"properties": {
"statusUpdateURL": {
"type": "string"
},
"menuUpdateURL": {
"type": "string"
},
"snoozeUnsnoozeURL": {
"type": "string"
},
"busyModeURL": {
"type": "string"
}
},
"examples": [
{
"ChannelRegistration": [
{
"statusUpdateURL": "{{https://integrator.com/orderstatusUpdate}}",
"menuUpdateURL": "{{https://integrator.com/menuUpdate}}",
"snoozeUnsnoozeURL": "{{https://integrator.com/snoozeUnsnooze}}",
"busyModeURL": "{{https://integrator.com/busyMode}}",
"updatePrepTimeURL": "{{https://integrator.com/updatePrepTimeURL}}",
"courierUpdateURL": "{{https://integrator.com/courierUpdateURL}}"
}
]
}
]
}
}
},
"x-readme": {
"explorer-enabled": true,
"proxy-enabled": true
}
}