createReservation( )

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 new reservation.

createReservation() accepts and requires different fields depending on the status provided and your permissions.

Status and source

If a status is not provided, it will be set to:

  • RESERVED if manual approval is not required for confirmation
  • REQUESTED if manual approval is required for confirmation.

A reservation created with any source other than WALK_IN requires the and reservation.reservee.firstName fields. Attempting to create a reservation without these fields will result in an error.


Including the fields status, source, reservation.details.tableIds, reservation.details.endDate, ignoreReservationLocationConflicts, or ignoreTableCombinationConflicts in the request requires additional permissions. See this API's Introduction article for more information.

If source is not provided, its value is set depending on the permissions of the user making the call. See this API's Introduction article for more information.

Note: createReservation() requires all details of the reservation upfront. The process of creating a reservation can be broken up using createHeldReservation. createHeldReservation creates a temporary reservation that expires automatically unless it is completed with the addition of more details using reserveReservation().

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Reservations (Medium)
Manage Reservations (Full)
Manage Reservations (Basic)
Learn more about permission scopes.
Method Declaration
Method Parameters

Reservation details.


Options for creating the reservation.

Return Type:Promise<Reservation>
Was this helpful?