Syrve POS API SDK

Reservations

To schedule events at a restaurant, users can use table reservations functionality. Syrve can be used to schedule the time and place, make up a list of guests, and plan the menu. We divide events into table reservations and banquets.

Using the API, tables can be booked on a website or mobile app, in which case, customers may choose a table in the dining room (e.g. by the window, far from the stage, or next to a power socket).

Table Reservation

This type of reservation is primarily designed to make a small group of customers sure that a table is available at a particular time of the day. In the API, reservations are given as the IReserve type which includes the following information:

The reservation life cycle is simple: it is closed whether at the time the order is taken on the table in question (ActivateReserve) if the customer shows up and the event begins or at the time the reservation is canceled and the reason is specified (CancelReserve) if the customer didn’t show or asked to cancel the reservation. Besides, the reservation can be converted into a banquet by linking it to an order (BindReserveToOrder).

Banquets

Banquet is a reservation and an order linked together (IReserve and IOrder). Together they make it possible to expand the reservation options — agree upon the menu with the customer in advance and take an upfront payment. Usually, this functionality is required when hosting large events so that a restaurant could not only make a reservation (table or an entire dining room), but also provide the kitchen with the necessary food products, decorate the room properly, and so on.

A banquet can be created anew based on the existing order (CreateBanquet) or by linking existing order and a reservation (BindReserveToOrder), in which case, both the order and the reservation should be attached to one and the same table and the expected number of guests in both match.

Since a banquet represents a reservation linked to an order, it is closed at the time the order is closed rather than when customers show up, therefore, its life cycle along with the New and Closed statuses includes an additional intermediate status — Started.

Deletion

Closed reservations, as orders, are removed when a corresponding till shift is closed.

Open reservations and linked banquet orders should theoretically exist until closed, but due to certain data retention specifics, it is not always so. The following does not refer to the API but rather to some implementation specifics that can be changed at any time though can help avoid unpleasant irregularities. Reservations and orders are stored separately and so when new Syrve POS versions are installed, they are updated differently: reservation copies are stored on the Syrve Office server, where Syrve POS import them from at the first new version startup, whereas orders are stored and updated directly on Syrve POS terminals. This may cause data inconsistency: