Introduction

The Menu Ordering Settings API allows you to retrieve and manage menu ordering settings for a restaurant operation.

Menu ordering settings define the availability of menus for ordering. They allow you to:

  • Define whether a menu is available for online orders. For example, a restaurant may not want to sell items from the "Alcohol" menu online.
  • Define the times that a menu is available. For example, the restaurant may want to offer a unique menu only on Tuesdays.

With the Menu Ordering Settings API, you can:

  • Manage menu ordering settings for a restaurant operation.
  • List menus' availability statuses.

Menu ordering setting objects are created automatically for each menu when the Wix Restaurants Orders (New) app is installed, or subsequently when a new menu is created. Each menu can only be associated with one restaurant operation. Each menu ordering settings object has an operationID that refers to its associated operation. By default, every menu ordering settings object is assigned the ID of the first operation created on the Wix site. This can be changed later.

Likewise, when a menu is deleted, its associated menu ordering setting object is deleted automatically.

Before you begin

  • The Wix user must install the Wix Restaurants Orders (New) app.
  • The Wix user must install the Wix Restaurants Menus (New) app. This app is installed automatically along with the Wix Restaurants Orders (New) app. However, it is possible to uninstall it separately. If this occurs, the Menu Ordering Settings API will still function, but the Menu Ordering Settings objects will no longer relate to any menus.

Terminology

  • Operation: A distinct service that a restaurant offers. For example, a restaurant may offer a takeaway operation and a catering operation, where each would work with different time frames, availabilities, and fees.
Did this help?

Menu Ordering Settings: Supported Filters and Sorting

The following table shows field support for filters and sorting for the menu ordering settings object:

FieldSupported FiltersIs Sortable
id$eq, $ne, $in, $nin, $startsWithSortable
createdDate$eq, $ne, $in, $nin, $startsWith, $lt, $lte, $gt, $gteSortable
updatedDate$eq, $ne, $in, $nin, $startsWith, $lt, $lte, $gt, $gteSortable
operationId$eq, $ne, $in, $nin, $startsWith, $existsSortable
menuId$eq, $ne, $in, $nin, $startsWithSortable
onlineOrderingEnabled$eq, $ne, $in, $nin
availability.type$eq, $ne, $in, min, $startsWith

Related content: API Query Language, Query Menu Ordering Settings

Did this help?


GET

Get Menu Ordering Settings


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Retrieves a menu ordering settings entity.

Permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/menu-ordering-settings/v1/menu-ordering-settings/{menuOrderingSettingsId}

Path Params
menuOrderingSettingsIdstringRequired

ID of the menu ordering settings entity to retrieve.

Response Object
menuOrderingSettingsMenuOrderingSettings

The requested menu ordering settings entity.

Retrieve a menu ordering settings entity
Request
cURL
curl -X GET https://www.wixapis.com/menu-ordering-settings/v1/menu-ordering-settings/48605ac5-53fc-49b4-96b2-87f7636f5ce0 \ -H 'Authorization: <AUTH>'
Response
JSON
{ "menuOrderingSettings": { "id": "f83c385c-1485-4daa-9bba-bc332e12c8ce", "revision": "3", "createdDate": "2024-07-08T13:44:00.443Z", "updatedDate": "2024-07-08T13:50:08.572Z", "operationId": "48605ac5-53fc-49b4-96b2-87f7636f5ce0", "menuId": "bbb65621-6338-4837-8fdd-aebc654523e0", "onlineOrderingEnabled": true, "availability": { "type": "ALWAYS_AVAILABLE", "timeZone": "Asia/Jerusalem" } } }
Did this help?

POST

Upsert Menu Ordering Settings By Menu Id


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Upserts a menu ordering settings entity for a given menuId. Try to create a menu ordering settings, in case it already exists - update the menu ordering settings

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/menu-ordering-settings/v1/menu-ordering-settings/upsert/menu-id/{menuOrderingSettings.menuId}

Path Params
menuOrderingSettings.menuIdstringRequired

ID of the menu these settings apply to.

Body Params
menuOrderingSettingsMenuOrderingSettingsRequired

Details of the menu ordering settings entity to be created or updated.

Response Object
menuOrderingSettingsMenuOrderingSettings

The created or updated menu ordering settings entity.

Event TriggersThis method triggers the following events:
Did this help?

PATCH

Update Menu Ordering Settings


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Updates a menu ordering settings entity.

Each time the menu ordering settings entity is updated, revision increments by 1. The current revision must be specified when updating the menu ordering settings entity. This ensures you're working with the latest entity and prevents unintended overwrites.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
PATCH
https://www.wixapis.com/menu-ordering-settings/v1/menu-ordering-settings/{menuOrderingSettings.id}

Path Params
menuOrderingSettings.idstringRequired

Menu ordering settings object ID.

Body Params
menuOrderingSettingsMenuOrderingSettingsRequired

Details of the menu ordering settings entity to update.

Response Object
menuOrderingSettingsMenuOrderingSettings

Updated menu ordering settings entity.

Update a menu ordering settings entity
Request
cURL
curl -X PATCH https://www.wixapis.com/menu-ordering-settings/v1/menu-ordering-settings/48605ac5-53fc-49b4-96b2-87f7636f5ce0 \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' \ --data-raw '{ "menuOrderingSettings": { { "id": "f83c385c-1485-4daa-9bba-bc332e12c8ce", "revision": "3", "operationId": "48605ac5-53fc-49b4-96b2-87f7636f5ce0", "menuId": "bbb65621-6338-4837-8fdd-aebc654523e0", "onlineOrderingEnabled": true, "availability": { "type": "ALWAYS_AVAILABLE", "timeZone": "Asia/Jerusalem" }, } } }'
Response
JSON
{ "id": "f83c385c-1485-4daa-9bba-bc332e12c8ce", "revision": "3", "createdDate": "2024-07-08T13:44:00.443Z", "updatedDate": "2024-07-08T13:50:08.572Z", "operationId": "48605ac5-53fc-49b4-96b2-87f7636f5ce0", "menuId": "bbb65621-6338-4837-8fdd-aebc654523e0", "onlineOrderingEnabled": true, "availability": { "type": "ALWAYS_AVAILABLE", "timeZone": "Asia/Jerusalem" } }
Event TriggersThis method triggers the following events:
Did this help?

POST

Query Menu Ordering Settings


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Retrieves a list of menu ordering settings entities given the specified paging, filtering, and sorting. Up to 100 entities can be returned per request.

For a detailed list of supported operations, see the Supported Filters and Sorting article. To learn how to query menu ordering settings entities, see API Query Language.

Permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/menu-ordering-settings/v1/menu-ordering-settings/query

Body Params
queryQuery

WQL expression.

Response Object
menuOrderingSettingsArray <MenuOrderingSettings>

List of menu ordering settings entities.


pagingMetadataPagingMetadata

Paging metadata

Query menu ordering settings
Request
cURL
curl -X POST https://www.wixapis.com/menu-ordering-settings/v1/menu-ordering-settings/query \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>' \ --data-raw '{ "query": { "sort": [], "filter": { "name": { "$startsWith": "ASAP" } } } }'
Response
JSON
{ "menu_ordering_settings": [ { "id": "f83c385c-1485-4daa-9bba-bc332e12c8ce", "revision": "3", "createdDate": "2024-07-08T13:44:00.443Z", "updatedDate": "2024-07-08T13:50:08.572Z", "operationId": "48605ac5-53fc-49b4-96b2-87f7636f5ce0", "menuId": "bbb65621-6338-4837-8fdd-aebc654523e0", "onlineOrderingEnabled": true, "availability": { "type": "ALWAYS_AVAILABLE", "timeZone": "Asia/Jerusalem" } } ] }
Did this help?

POST

Bulk Update Menu Ordering Settings


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Updates multiple menu ordering settings entities at once. Each time a menu ordering settings entity is updated, revision increments by 1. The existing revision must be specified when updating the menu ordering settings entity. This ensures you're working with the entity's latest information, and it prevents unintended overwrites.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/menu-ordering-settings/v1/bulk/menu-ordering-settings/update

Body Params
menusOrderingSettingsArray <MaskedMenuOrderingSettings>RequiredminItems 1maxItems 100

Menu ordering settings entities to update.


returnEntityboolean

Whether to receive the entity in the response.

Response Object
resultsArray <BulkMenuOrderingSettingsResult>minItems 1maxItems 100

Results of bulk menu ordering settings entities update.


bulkActionMetadataBulkActionMetadata

Metadata for the API call.

Bulk update menu ordering settings
Request
cURL
curl -X PATCH https://www.wixapis.com/menu-ordering-settings/v1/bulk/menu-ordering-settings/update \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' \ --data-raw '{ "return_full_entity": true, "menuOrderingSettings":[ { "menuOrderingSettings": { "id": "f83c385c-1485-4daa-9bba-bc332e12c8ce", "revision": "3", "operationId": "48605ac5-53fc-49b4-96b2-87f7636f5ce0", "menuId": "bbb65621-6338-4837-8fdd-aebc654523e0", }, "mask": { "paths": [ "operationId", "menuId", ] } } ] }'
Response
JSON
{ "results": [ { "itemMetadata": { "itemId": "f83c385c-1485-4daa-9bba-bc332e12c8ce" }, "menuOrderingSettings": { "id": "f83c385c-1485-4daa-9bba-bc332e12c8ce", "revision": "3", "createdDate": "2024-07-08T13:44:00.443Z", "updatedDate": "2024-07-08T13:50:08.572Z", "operationId": "48605ac5-53fc-49b4-96b2-87f7636f5ce0", "menuId": "bbb65621-6338-4837-8fdd-aebc654523e0", "onlineOrderingEnabled": true, "availability": { "type": "ALWAYS_AVAILABLE", "timeZone": "Asia/Jerusalem" } } } ], "bulkActionMetadata": { "totalSuccesses": 1, "totalFailures": 0, "undetailedFailures": 0 } }
Did this help?

GET

List Menus Availability Status


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Retrieves a list of a menu's availability statuses for a given time slot and restaurant operation. (See the Restaurants Operations API for more information.) Returns the availability status for the given time slot per menu.

Permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/menu-ordering-settings/v1/menu-ordering-settings/menus-availability-status

Query Params
timeSlot.startTimestringformat date-time

The start time of the time slot in ISO-8601 format.


timeSlot.endTimestringformat date-time

The end time of the time slot in ISO-8601 format.


operationIdstring

The ID of the restaurant operation whose menus will be checked. (See the Restaurants Operations API for more information.)


cursorPaging.limitintegerminimum 0maximum 100format int32

Maximum number of items to return in the results.


cursorPaging.cursorstringmaxLength 16000

Pointer to the next or previous page in the list of results.

Pass the relevant cursor token from the pagingMetadata object in the previous call's response. Not relevant for the first request.

Response Object
menusAvailabilityStatusArray <MenuAvailabilityStatus>maxItems 100

The retrieved menus' availability statuses.


pagingMetadataPagingMetadata

The metadata of the paginated results.

List menu availability statuses
Request
cURL
curl -X GET 'https://www.wixapis.com/restaurants/v1/menu-ordering-settings/menus-availability-status' -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>' --data-raw '{ "operationId": "48605ac5-53fc-49b4-96b2-87f7636f5ce0", "timeSlot": { "startTime": "2024-07-16T00:00:00Z", "endTime": "2024-07-16T00:00:00Z" } }'
Response
JSON
{ "menus_availability_status": [ { "menuId": "bbb65621-6338-4837-8fdd-aebc654523e0", "availabilityStatus": "AVAILABLE" }, { "menuId": "8d02b27d-a73f-41de-a538-deb934d55088", "availabilityStatus": "AVAILABLE" }, { "menuId": "74dbb400-4f56-4bb0-8d55-cf23e0485495", "availabilityStatus": "AVAILABLE" } ], "pagingMetadata": { "count": 3, "cursors": { "next": null, "prev": null }, "hasNext": false } }
Did this help?

POST

Update Extended Fields


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Updates extended fields of a menu ordering settings entity without incrementing its revision.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Restaurants - all permissions
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/menu-ordering-settings/v1/menu-ordering-settings/{id}/update-extended-fields

Path Params
idstringRequired

ID of the entity to update.

Body Params
namespacestringRequired

Identifier for the app whose extended fields are being updated.


namespaceDatastructRequired

Data to update. Structured according to the schema defined when the extended fields were configured.

Response Object
menuOrderingSettingsMenuOrderingSettings

The updated menu ordering settings entity.

Update a menu ordering settings entity
Request
cURL
curl -X POST https://www.wixapis.com/menu-ordering-settings/v1/menu-ordering-settings/84cd5bac-2094-4ed1-8dbd-92074fee0a2/update-extended-fields \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' \ --data-raw '{ "id": "84cd5bac-2094-4ed1-8dbd-92074fee0a2b", "namespace": "@restaurants/orders", "namespaceData": { "productDescription": "some product" } }'
Response
JSON
{ "menuOrderingSettings": { "id": "84cd5bac-2094-4ed1-8dbd-92074fee0a2b", "revision": "1", "createdDate": "2024-08-27T16:54:42.395Z", "updatedDate": "2024-08-27T16:54:42.395Z", "operationId": "48605ac5-53fc-49b4-96b2-87f7636f5ce0", "menuId": "6c10c8d4-db5a-4d67-af00-8ff321bbf4a5", "onlineOrderingEnabled": true, "availability": { "type": "ALWAYS_AVAILABLE", "timeZone": "Asia/Jerusalem" }, "extendedFields": { "namespaces": { "@restaurants/orders": { "productDescription": "some product" } } } } }
Did this help?