queryReservations( )


Developer Preview

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

Creates a query to retrieve a list of reservations.

The queryReservations() function builds a query to retrieve a list of reservations and returns a ReservationsQueryBuilder object.

The returned object contains the query definition, which is used to run the query using the find() function.

You can refine the query by chaining ReservationsQueryBuilder functions onto the query. ReservationsQueryBuilder functions enable you to filter, sort, and control the results that queryReservations() returns.

queryReservations() runs with the following ReservationsQueryBuilder defaults, which you can override:

The following ReservationsQueryBuilder functions are supported for queryReservations(). For a full description of the reservation object, see the object returned for the items property in ReservationsQueryResult.

PROPERTYSUPPORTED FILTERS & SORTING
_ideq(),ne(),in()
statuseq(),ne(),in()
details.startDateeq(),ne(),in(),lt(),gt(),le(),ge(),ascending(),descending()
Authentication

This function requires elevated permissions and runs only on the backend and on dashboard pages.

Permissions
Manage Reservations (Full)
Manage Reservations (Medium)
Manage Restaurants - all permissions
Learn more about app permissions.
Method Declaration
Copy
function queryReservations(): ReservationsQueryBuilder;
Request
This method does not take any parameters
Returns

This function call requires elevation to get the necessary permissions.

JavaScript
import { reservations } from "wix-table-reservations.v2"; import { elevate } from "wix-auth"; import { Permissions, webMethod } from "wix-web-module"; export const myQueryReservationsFunction = webMethod( Permissions.Anyone, async () => { const elevatedQueryReservations = elevate(reservations.queryReservations); try { const retrievedReservations = await elevatedQueryReservations() .gt("details.startDate", new Date("2024-12-04T10:30:00Z")) .lt("details.startDate", new Date("2024-12-04T17:30:00Z")) .find(); const nextCursor = retrievedReservations._nextCursor; const status = retrievedReservations._items[0].status; return retrievedReservations; } catch (error) { console.error(error); // Handle the error } }, ); /* Promise resolves to: * { * "_items": [ * { * "status": "RESERVED", * "source": "ONLINE", * "details": { * "reservationLocationId": "fab8cc1f-31cf-462f-b5bb-392594624bf2", * "tableIds": [ * "1ed802ae-708f-4da6-9177-54c3df5d3dd5" * ], * "startDate": "2024-12-04T12:30:00.000Z", * "endDate": "2024-12-04T14:00:00.000Z", * "partySize": 2 * }, * "revision": "1", * "migrationNotes": [], * "tablesWithReservationConflicts": [], * "_id": "1e3db995-5614-4748-8903-cbe7c74c5753", * "_createdDate": "2024-01-22T07:25:51.008Z", * "_updatedDate": "2024-01-22T07:25:51.008Z" * }, * { * "status": "RESERVED", * "source": "ONLINE", * "details": { * "reservationLocationId": "fab8cc1f-31cf-462f-b5bb-392594624bf2", * "tableIds": [ * "1ed802ae-708f-4da6-9177-54c3df5d3dd5" * ], * "startDate": "2024-12-04T14:30:00.000Z", * "endDate": "2024-12-04T16:00:00.000Z", * "partySize": 2 * }, * "revision": "1", * "migrationNotes": [], * "tablesWithReservationConflicts": [], * "_id": "3e09e2fb-0cc8-476e-9874-f134b3add055", * "_createdDate": "2024-01-22T07:33:10.651Z", * "_updatedDate": "2024-01-22T07:33:10.651Z" * } * ], * "_originQuery": { * "filterTree": { * "$and": [ * { * "details.startDate": { * "$gt": "2024-12-04T10:30:00.000Z" * } * }, * { * "details.startDate": { * "$lt": "2024-12-04T17:30:00.000Z" * } * } * ] * }, * "invalidArguments": [], * "encoder": {}, * "transformationPaths": {}, * "sort": [], * "paging": {}, * "pagingMethod": "CURSOR", * "builderOptions": { * "cursorWithEmptyFilterAndSort": true * } * }, * "_limit": 50, * "_nextCursor": "", * "_prevCursor": "", * "cursors": { * "next": "", * "prev": "" * } * } */
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Did this help?