# Manage & Publish Your Menu

UrbanPiper integration allows you to centrally manage your menu content for all ordering channels.

If your menu is managed on your POS, please [ingest the menu ](/business-manager/importing-your-menus.md)from the POS to the UrbanPiper platform.\
\
Once the menu is updated on UrbanPiper, you can [publish the changes](/business-manager/publishing-your-menu.md) to Zomato by performing a menu publish.

You can track the status of your menu publishing requests in the Publish Logs.

* If the publishing is successful, your changes will reflect on Zomato.
* If any errors occur, check the Error Report, make the required corrections, and republish the menu.

### Handling errors

Below are the common menu publish error with possible resolutions.

<table data-header-hidden><thead><tr><th width="256.7109375">Error message</th><th>Description</th><th>Possible Fix</th></tr></thead><tbody><tr><td><pre><code>"message":"No 
Zomato restaurant 
is mapped with 
Outlet Id: 16397"
</code></pre></td><td>Store is not integrated</td><td>Kindly initiate go live from your end to onboard the location.</td></tr><tr><td><pre><code>"value":["`tags`: 
root item tagged 
with services must 
have GST of 5%."
</code></pre></td><td>Tax is not configured or incorrectly tagged between services and packaged goods items.</td><td>If it is a "service item" tax of value 5% needs to be configured. <br><br>If it is a MRP or a packaged goods item "packaged-good" tag needs to be added for all such items.</td></tr><tr><td><pre><code>"message":"Item 
Image URL must be 
end with either 
.png or .jpg or 
.ashx"
</code></pre></td><td>The item image is in a wrong format</td><td>The item image should be in .png or .jpg</td></tr><tr><td><pre><code>"value":["Multiple 
items with same 
name not allowed 
inside a category
</code></pre></td><td>Multiple items with same name is associated with a category</td><td>Remove the duplicate items present in the category.</td></tr><tr><td><pre><code>"value":["zero 
`price.price` 0 
at index 0 is not 
allowed for root 
catalogues"
</code></pre></td><td>Price at item level is zero and there is no variant added for the item</td><td>Either add the price at item level or add a variant with a price.</td></tr><tr><td><pre><code>{"value":["`max` 
should be at least 
1"]
</code></pre></td><td>The number of modifier in a group will be less than the minimum selectable</td><td>Reduce the minimum selectable or add more numbers of modifier</td></tr><tr><td><pre><code>{"value":["`tags`: 
GST Unregistered 
restaurant cannot 
sell goods."]}
</code></pre></td><td>You cannot sell packaged good, if the store has not registered the GST with Zomato</td><td>You should contact your Zomato POC and get the GST updated.</td></tr><tr><td><pre><code>{"catalogue":
{"value":["Empty 
catalogues list"]}
</code></pre></td><td>Category is passed without any item</td><td>All items should be associated with an active category.</td></tr><tr><td><pre><code>{"value":["Multiple
 order level 
 charges not 
 supported"]}
</code></pre></td><td>Multiple charges are associated with the item</td><td>Edit the item to have only one active charge.</td></tr><tr><td><pre><code>["Multiple charges
 for same service"]}
</code></pre></td><td>Multiple charges are associated with the item</td><td>Edit the item to have only one active charge.</td></tr><tr><td><pre><code>"value":["Same tax
 group has been 
 applied more 
 than once"
</code></pre></td><td>Multiple taxes are associated with the item</td><td>Edit the item to have only one active tax of same value.</td></tr><tr><td><pre><code>DELIVERY - only 
interval of 30 
minutes is 
supported TAKEAWAY 
- only interval of 
30 minutes is 
supported
</code></pre></td><td>Timing groups can have timing only with the interval of 30 minutes. Ex: Timing can be either 1:00 or 1:30 not 1:50</td><td>Fix the timing groups so that the minutes are in the interval of 30 mins. Either .00 mins or .30 mins</td></tr><tr><td><pre><code>Non-veg items must 
not contain "veg" 
item tags
</code></pre></td><td>Veg tag has been applied on an item which contains a word indicating non-veg item name or non veg item name in the description for example  "Buffalo mozzarella”</td><td>Check the configured food type for the item or add “[Veg Preparation]” in the item description.</td></tr><tr><td><pre><code>"value": Price 
cannot be greater 
than 4000
</code></pre></td><td>Check the Items who has price more then 4000</td><td>Edit the price value to be less than 4000.</td></tr><tr><td><pre><code>{"code":422,
"status":"failed",
"message":"Data 
validation failed",
"error":"",
"validation_errors":
{"MODIFIER_GROUP":
{"values":{
"mg881552":{"value":
["Cannot be mapped 
to catalogue `Fruit 
Oasis Almond Cake`",
"Cannot be mapped 
to catalogue 
`Rasmalai Elegance 
Harmony Cake`"

</code></pre></td><td>Celebration-Cake tag is missing in item</td><td>Add the tag “Celebration-Cake” and repush the menu</td></tr><tr><td><pre><code>Your outlet is not
live for online
ordering </code></pre></td><td>O2 (online ordering) is not enabled</td><td> Get in touch with the aggregator POC to enable</td></tr><tr><td><pre><code>code': 422, 'status':
'failed', 'message':
'Data validation
failed', 'error': '',
'validation\_errors':
{'CATALOGUE\_PROPERTY\_VALUE':
{'values':
{'pv4834514-59691170':
{'value': \['Invalid
`value` specified' </code></pre></td><td>Name of the modifier is in Decimal or only numerical term</td><td>Update the modifier name and ensure it contains only alphabetical characters.</td></tr></tbody></table>

If you continue to experience issues with your menu publish, please [contact support](/basics/contact-us.md) for further assistance.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.urbanpiper.com/ordering-channels/zomato/manage-and-publish-your-menu.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
