How to set Basic Product Data

Product types

When syncing products to Deliverect, you need to specify the relevant productType value, which is an integer that corresponds to it's intended function. These are defined in the table below;

Product TypeInteger ValueInteger Value
ProductA 'top level' item on a menu (can also be grouped within a modifier group or bundle)1
ModifierOptions selectable when ordering a product, typically modifications of the product2
Modifier GroupA grouping of modifiers (can also group products)3
BundleCan only contain products which are offered as part of a 'Meal Deal' and which Deliverect will set to zero value. Exception to this is where Overloads are set4

PLU

The PLU is typically something that's easier for the customer to use, and it should be the same across all locations for the same product. The PLU is what will be used for mapping orders coming from the channels to your integrated POS.

Price

Price is stored as an int with 2 decimal digits, for example, 5 euros is stored as 500.

{
  "name": "Ginger Beer",
  "productType": 1,
  "plu": "DRNK-03",
  "price": 500
}

Tax

It is important to specify the sales tax rate which applies to any item. The sales tax which applies can be differentiated between the order types of;

  • Delivery (deliveryTax)
  • Takeaway (takeawayTax)
  • Eat-in (eatInTax)

Tax rates should be stored as an int with 3 decimal digits e.g. 5% would be 5000

It's acceptable to have a 0% tax


{
  "productType": 1,
  "plu": "GB-02",
  "name": "Ginger Beer",
  "deliveryTax": 5000,
  "takeawayTax": 5000,
  "eatInTax": 0
}

Categories

Menu categories and sort order will be managed within Deliverect, but a POS can provide the structure to facilitate an initial menu import.

Products can be in one or more categories denoted by an array of posCategoryIds , these Ids are defined within "categories" as shown in the example below;

POS Menu Import
Correctly set categories are needed for the POS Menu Import feature to be utilised in customer onboardings, see link here for further reference.

AttributeDefinitionType
posCategoryIdsA list of POS category IDs used to associate a product with one or more categories. Each value must correspond to a posCategoryId defined within the categories array.array[string]
categoriesDefines the categories that can be assigned to products using posCategoryIds. Each category is represented as an object containing its identifier and display information.array[object]
categories[].nameThe display name of the category.string
categories[].posCategoryIdThe unique identifier for the category. This value is referenced by a product's posCategoryIds attribute to associate the product with the category.string
categories[].descriptionAn optional description of the category.string
categories[].imageUrlAn optional URL pointing to an image representing the category.string
{
  "products": [
    {
      "name": "Chicken Sate",
      "productType": 1,
      "plu": "P-SATE",
      "price": 450,
      "deliveryTax": 9000,
      "takeawayTax": 9000,
      "eatInTax": 9000,
      "posCategoryIds": [
        "CHK"
      ],
    },
    {
      "name": "Veggie Burger",
      "productType": 1,
      "plu": "P-BURG-VEG",
      "price": 750,
      "deliveryTax": 9000,
      "takeawayTax": 9000,
      "eatInTax": 9000,
      "posCategoryIds": [
        "STK"
      ],
    }
  ],
  "categories": [
    {
      "name": "Chicken",
      "posCategoryId": "CHK",
      "description": "",
      "imageUrl": "https://storage.googleapis.com/ikona-bucket-staging/images/618a2c5306a6208df4e9d061/Chicken-6772a111d6ff7c6facadf7ea.jpeg"
    },
    {
      "name": "Steak & Burgers",
      "posCategoryId": "STK",
      "description": "",
      "imageUrl": "https://storage.googleapis.com/ikona-bucket-staging/images/618a2c5306a6208df4e9d061/Steaks%20and%20Burgers-6772a08c467817883c7ae27d.jpg"
    },
  ]
}

See related guides

Did this page help you?