Skip to main content

Menu Structure

Item

Menu Structure
{
"request_id": "{request_id_for_troubleshooting_purpose}",
"menus": [
{
"name": "{menu_name}",
"menu_items": [
{
"external_id": "{external_id_for_mapping_purpose}",
"name": "{menu_item_name}",
"internal_name": "{menu_item_internal_name}",
"description": "{menu_item_description}",
"in_stock": {true_or_false},
"price": {menu_item_price_in_integer},
"image": "{menu_item_image_url}",
"operational_hours": {
"sunday": [
{
"start": "{time_when_menu_should_start_shown_in_hh:mm_format}",
"end": "{time_when_menu_should_stop_shown_in_hh:mm_format}"
}
],
"monday": [],
"tuesday": [],
"wednesday": [],
"thursday": [],
"friday": [],
"saturday": []
},
"variant_category_external_ids": [
"{variant_category_id}"
]
}
]
}
],
"variant_categories": [
{
"external_id": "{variant_category_id}",
"internal_name": "{variant_category_name_shown_in_gobiz_app}",
"name": "{variant_category_name_shown_in_gojek_app}",
"rules": {
"selection": {
"min_quantity": {minimum_selection_quantity_in_integer},
"max_quantity": {maximum_selection_quantity_in_integer}
}
},
"variants": [
{
"external_id": "{variant_id}",
"name": "{variant_name}",
"price": {price_addition_or_reduction_variant_in_integer},
"in_stock": {true_or_false}
}
]
}
]
}

Item is the menu displayed on the respective GoFood outlet.

Item Rules and Info

Rule and InfoDescription
What’s the difference among
- menus.name
- menus.items.name
- menus.items.internal_name
- menus.name (string, required, max 150 chars): The name of the menu item collection. Sample: "Green Tea".
- menus.items.name (string, required, max 150 chars): The name of the menu item to be shown in Gojek consumer app. Sample: "Thai Green Tea".
- menus.items.internal_name (string, optional, max 200 chars): The name of the menu item to be shown in GoBiz app. Sample: "Thai Green Tea (A)".
Character limit on item name150 char
Character limit on item description200 char
Maximum image file size1 Mb with 1:1 aspect ratio
Image URL formatThe menu item's image URL needs to be in jpeg or png format, have the correct MIME-type header, and use either the :80 or :443 HTTP port for the GoBiz API to accept it.
What is external_id?Designated for mapping between Gojek item_id and Partner item_id i.e
Cheese Burger on your system has ID B12345 where within Gojek system ID is eyJhbGciO
Is the price tax inclusive?Yes
Do I need to do menu sync before I can start to receive order?Yes
Operational hours - starttime when menu item should be start showing - timezone is following local store time
Operational hours - endtime when menu item should be stop showing - timezone is following local store time

You can set menu availability make set in_stock as true or false; You can also set menu availability by operational hours, this is useful if you have different menu sets on a particular shift i.e available menu for breakfast, dinner, and lunch.

Variant

Variant Response
"variant_categories": [
{
"external_id": "{variant_category_id}",
"internal_name": "{variant_category_name_shown_in_gobiz_app}",
"name": "{variant_category_name_shown_in_gojek_app}",
"rules": {
"selection": {
"min_quantity": {minimum_selection_quantity_in_integer},
"max_quantity": {maximum_selection_quantity_in_integer}
}
},
"variants": [
{
"external_id": "{variant_id}",
"name": "{variant_name}",
"price": {price_addition_or_reduction_variant_in_integer},
"in_stock": {true_or_false}
}
]
}
]
}

Variant is additional items that you can add on top of your menu item. We support Variant group and Variant Item

Variant category

Variant category is options that consumers can choose on top of Items. Example

  • Sugar Level
  • Topping
  • Dressing Selection

Variant item

Variant item is options within a Variant category. Example

  • Extra Sugar, Less Sugar, No Sugar
  • Cheese, Pepperoni, Tuna, Basil, Anchovies
  • Mayonnaise, Italian Sauce, Olive Oil, Mustard, Balsamiq, Thousand Island

Variant Rules

Rule and InfoDescription
Variant category typeVariant category can be set as mandatory or optional
Variant item priceVariant item price can be positive, zero, or negative
Max char for variant category name50 chars
Max character for variant item name50 chars
How to set variant item availability?in_stock - you can set it true or false
How to use this rule?
"rules": { 
"selection": {
"min_quantity": 1,
"max_quantity": 2
}
min_quantity
The minimum variant that the consumer can select. 0 means that the variant is optional. 1 or more means variant is mandatory, and consumer is required to pick one (or more) variant(s).
max_quantity
The maximum variant that the consumer can select.

Variant Availability

Variant is available as long as variant items inside variant category is not out of stock, if all variant items within a variant category is out-of-stock, then variant is automatically out of stock.

note

See detailed request and response params and error response on API Reference