Entities describe the different product offerings by merchants on delivery.com. The different entity types are described here.

Typical Hierarchy

Entity Type (example)
Menu (“Dinner Menu”)
   ->Menu (“Pizzas”)
      ->Item (“Square Pizza”)
         ->Option Group (“Pizza Toppings”)
            ->Option (“Onions”)
            ->Option (“Sausage”)
         ->Option Group (“Crust Type”)
            ->Option (“Thin”)
            ->Option (“Regular”)
   ->Menu (“Hot beverages”)
      ->Item (“Coffee”)
         ->Price Group (“Size”)
            ->Option (“Small”)
            ->Option (“Large”)

Standard Properties

These properties are present in all entity types.

Property Name Value Description
id String Id of this entity.
name String Name of this entity.
description String Description of this entity.
type String See the different types below.
children Entity[] The child entities of this entity. For example, an option group would have an array of options as children.
schedule Integer[] If the entity is only valid at certain times, this array will be present and contain the schedule ids. The schedules are listed in the Menu Endpoint. This property is only included when applicable, and only on menus and items.

Menus are collections of items and menus.

Example

{
	"id": "N1",
	"name": "Weekday Breakfast Menu",
	"description": "Available Monday through Friday, 7am to 4pm.",
	"schedule": [
		2
	],
	"type": "menu",
	"children": [
		... zero to many menus AND zero to many items ...
	]
}

Item Entity

Items are the actual products. They are added to the cart.

Example

{
	"id": "N2668",
	"name": "Chicken Salad",
	"description": "",
	"min_qty": 1,
	"max_qty": 25,
	"price": 3.95,
	"max_price": 3.95,
	"increment": 0.25,
    "qty_name_singular": "lb.",
    "qty_name_plural": "lbs.",
	"type": "item",
	"children": [
            zero to many option groups
            AND zero to many price groups
            AND zero to many options
            AND zero to one images
    ]
},

Properties

Items have the standard properties plus the properties below.

Property Name Value Description
min_qty Float The mininum quantity that you can select of this item. If you have a quantity select, this should be the first option.
max_qty Float The maximum quantity that you can select of this item. If you have a quantity select, this should be the last option.
price Float The base price of this item.
max_price Float How much this item could cost after selecting options.
increment Float How much to increment the quantity select by. This is usually 1, but if you’re buying something like deli meat, it might be 0.25 (for lb.)
qty_name_singular String Sometimes included. Description of the quantity select. For most items, you’re just selecting {increment} {name}, like ’1 Burger’, but sometimes you’re selecting {qty * increment} {qty_name_singular} of {name}, like ’1 lb of Chicken Salad’.
qty_name_plural String Sometimes included. See above, except with the example ’1.5 lbs of Chicken Salad’.

Option Group Entity

Some items have options. An option group (“Pizza Toppings”) is a collection of options (“Cheese, Mushrooms”).

Example

{
	"id": "N53",
	"name": "Slice Toppings",
	"description": "What do you want on your pizza?",
	"min_selection": 0,
	"max_selection": 13,
	"sel_dep": 0,
	"type": "option group",
	"children": [
		zero to many option groups
                AND zero to many options
	]
}

Properties

Items have the standard properties plus the properties below.

Property Name Value Description
min_selection Integer The minimum number of children options that must be selected within this option group.
max_selection Integer The maximum number of children options that can be selected within this option group.
sel_dep 0|1 When this equals 1, the ‘min/max_selection’ values should be multiplied by the quantity that the user selects. For example, if a the item is “Dozen Bagels” with a min and max selection of 12 and the user selects a quantity of 2 (dozen bagels), the actual min and max selection would be 24.

Option Entity

Some items have options. An option group (“Pizza Toppings”) is a collection of options (“Cheese, Mushrooms”).

Example

{
	"id": "N645",
	"name": "Extra Cheese",
	"description": "",
	"price": 1.5,
	"max_price": 0,
	"type": "option",
	"children": [
		... zero to many option groups
            AND zero to many options ...
	]
},
{
	"id": "N646",
	"name": "Pepperoni",
	"description": "",
	"price": 1.5,
	"max_price": 0,
	"type": "option",
	"children": []
},

Properties

Options have the standard properties plus the properties below.

Property Name Value Description
price Float The base price of this option.
max_price Float The maximum price of this option when considering children entities that have additional charges.

Price Group Entity

A price group is just like an option group. The only difference is in how the item is priced.

  • For an item with option group(s), the total price = item price plus the sum of all selected children options’ prices.
  • For an item with a price group, the total price = the price of the selected option under the price group.

Example

{
	"id": "N4",
	"name": "Pick One",
	"description": "",
	"min_selection": "1",
	"max_selection": "1",
	"type": "price group",
	"children": [
		{
			"id": "N5",
			"name": "Small",
			"description": "",
			"price": "1.99",
			"max_price": 0,
			"type": "option",
			"children": []
		},
		{
			"id": "N6",
			"name": "Medium",
			"description": "",
			"price": "2.99",
			"max_price": 0,
			"type": "option",
			"children": []
		},
		{
			"id": "N7",
			"name": "Large",
			"description": "",
			"price": "3.99",
			"max_price": 0,
			"type": "option",
			"children": []
		}
	]
}

Properties

Price groups have the same properties as option groups.

Image Entity

An image is a link to a picture of its parent entity.

Example

{
	"id": "N56",
	"name": "Simple Item IMAGES",
	"url": "/images/path/1234.jpg",
	"description": null,
	"type": "image",
	"children": []
}

Properties

Image Entities have the standard properties plus the properties below.

Property Name Type Description
url String The relative URL of this image. You can find the actual article by prefixing it with https://www.delivery.com.