Introduction

Variants are a group of products that are of different sizes, flavors, or other differences. The objective is to be able to display the cheapest price of the variant group first. Here are some example variants you could use:

🍕A pizza variant containing a large, medium, and small pizza.

🥤A cola variant containing a regular cola and a diet cola.

🍦An ice cream variant containing chocolate ice cream and vanilla ice cream.

Example

Here's an example of a variant product with three variations.

Chicken tenders: €8

  • 3 pieces: + €0
  • 6 pieces: + €3
  • 9 pieces: + €5.50

The POS would receive the variant product and the specific chosen variant with any additional modifiers:

  • 3 pieces: €8 (shown below)
  • 6 pieces: €11
  • 9 pieces: €13.50

The example payload below shows how an order will be received by the POS via Orders Webhook URL.

"items": [{
    "plu": "VAR-PROD-1",
    "name": "Chicken tenders",
    "sortOrder": 0,
    "price": 0,
    "quantity": 1,
    "productType": 1,
    "subItems": [{
        "plu": "VAR-1",
        "name": "3 Pieces",
        "sortOrder": 0,
        "price": 800,
        "quantity": 1,
        "productType": 1,
        "subItems": [{
            "plu": "SAUCE-02",
            "name": "Hot Sauce",
            "sortOrder": 0,
            "price": 50,
            "quantity": 1,
            "productType": 2,
            "subItems": [],
        }],
        "productTags": []
    }],
    "productTags": []
}]

In order to check how to insert a variant product from the POS please see "Example 6- Variant products" via Insert/Update Products enpdoint.

  "products": [
    {
      "productType": 1,
      "plu": "VAR-PROD-1",
      "price": 0,
      "name": "Chicken Tenders",
      "posProductId": "POS-001",
      "posCategoryIds": [
        "CHK"
      ],
      "imageUrl": "https://storage.googleapis.com/ikona-bucket-staging/images/5ff6ee089328c8aefeeabe33/chicken-62285f90db5986001ebf58d5.jpg",
      "description": "Choose 3, 6 or 9 Pieces of Delicious Fried Chicken",
      "isVariant": true,
      "deliveryTax": 9000,
      "takeawayTax": 9000,
      "eatInTax": 9000,
      "subProducts": [
        "MG-VAR-1"
      ]
    },
    {
      "productType": 3,
      "plu": "MG-VAR-1",
      "name": "How many pieces?",
      "posProductId": "POS-002",
      "description": "",
      "isVariantGroup": true,
      "subProducts": [
        "VAR-1",
        "VAR-2",
        "VAR-3"
      ],
      "min": 1,
      "max": 1
    },
    {
      "productType": 1,
      "plu": "VAR-1",
      "price": 800,
      "name": "3 Pieces",
      "posProductId": "POS-003",
      "imageUrl": "",
      "description": "",
      "deliveryTax": 9000,
      "takeawayTax": 9000,
      "eatInTax": 9000
    },
    {
      "productType": 1,
      "plu": "VAR-2",
      "price": 1100,
      "name": "6 Pieces",
      "posProductId": "POS-004",
      "imageUrl": "",
      "description": "",
      "deliveryTax": 9000,
      "takeawayTax": 9000,
      "eatInTax": 9000
    },
    {
      "productType": 1,
      "plu": "VAR-3",
      "price": 1350,
      "name": "9 Pieces",
      "posProductId": "POS-005",
      "imageUrl": "",
      "description": "",
      "deliveryTax": 9000,
      "takeawayTax": 9000,
      "eatInTax": 9000
    }
  ],
  "categories": [
    {
      "name": "Chicken",
      "posCategoryId": "CHK"
    }
  ]
}
'