Skip to content

Dromlik Tables — Technical Overview

Overview

Dromlik Tables is a multi-tenant, cloud-hosted reservation and front-of-house platform for independent restaurants and hospitality groups. It is a standalone product, separate from the Dromlik cloud phone system, and connects to AI receptionists through a built-in MCP connector.

Tables covers front-of-house work only: reservations, table assignment, kitchen pacing, waitlists, a guest CRM and a public booking page.

Built forWhat they get
Independent and boutique restaurantsFast table management without POS bloat or per-cover booking fees
Hospitality groupsSeparate workspaces per location, switchable from one login
AI receptionist providersReal-time MCP tools to take, change and cancel bookings on calls

Out of scope

Tables deliberately does not include:

  • POS hardware or terminal integrations
  • Payment processing, pre-authorisations or deposits
  • Diner accounts, passwords or loyalty apps
  • A drawn floor-plan editor (tables and sections are managed in list and card views)
  • Marketing email campaigns or public review boards

Access and roles

All staff sign in at tables.dromlik.com. Each restaurant's data is fully isolated from every other restaurant on the platform.

SurfaceAddressUsed by
Staff apptables.dromlik.comManagers and staff
Public booking pagetables.dromlik.com/book?tenant={restaurant-slug}Guests, no login
MCP connectorPrivate per-restaurant URLAI receptionists

Multiple restaurants

A user can belong to several restaurants and switch between them without signing in again.

Roles

RoleCan do
ManagerEverything in the restaurant: tables, sections, combinations, pacing rules, opening hours, location, logo, MCP connector access
StaffCreate, edit and cancel reservations; manage the waitlist; look up guests. View tables and sections; no access to settings or the MCP connector

New restaurants are set up by Dromlik. Contact us to get started.

Reservations and guests

Reservation statuses

StatusMeaning
pendingBooking received, not yet confirmed
confirmedBooking accepted and table held
seatedGuest has arrived and is at the table
completedVisit finished; table released
cancelledBooking withdrawn before the visit
no_showGuest did not arrive

Staff mark a no-show with one tap. If the guest turns up late, Undo restores the reservation with nothing lost.

The reservations view is split into Upcoming (current and future shifts) and Past (history), both with instant guest search.

Guest CRM

Guest profiles build automatically from bookings; diners never create an account.

Profiles are matched only on normalised phone number and email, never on name. Two guests with the same name stay separate, and the same guest booking by phone and online lands on one profile.

Each profile shows total visits, cancellations, no-shows, average party size, dietary and preference notes, and full booking history.

Table assignment and pacing

Tables are assigned automatically by one engine, so a booking made by staff, online or by an AI receptionist is placed the same way.

How assignment works

  • Best fit: the smallest table that fits wins, so a party of 2 gets a 2-top, not a 4-top. Seating preferences are honoured: window, outdoor, wheelchair accessible, or a specific section.
  • Moves: if no free table fits a new booking, the engine checks whether an existing booking can move to another table that still meets its needs, and moves it to make room.
  • Locks: staff can lock a booking to a table so the engine never moves it. Seated guests are never moved.
  • Combinations: managers define joinable tables (e.g. Table 1 + Table 2 = 6 seats). The engine uses a combination when no single table fits a large party.

Kitchen and seating pacing

Pacing rules stop the kitchen and floor being overloaded at peak times. Managers set:

SettingOptions
Pacing interval15, 30 or 60 minutes
Covers per intervalMaximum covers starting in each interval
Simultaneous capMaximum bookings overlapping at any minute

Limits apply to every channel: staff entry, the booking page and the MCP connector. A booking over the limit is rejected unless a Manager authorises a pacing override.

Waitlist

The waitlist has two separate flows: one for walk-ins tonight, one for fully booked future dates.

FlowUse it forCapturesStates
Door queueWalk-ins during serviceParty size, quoted wait (minutes), live elapsed timerWaiting → Notified → Seated or Cancelled
Advance requestsGuests wanting a fully booked dateRequested date, preferred time, party size, contact detailsStaff mark Booked when space opens

Online booking and confirmations

Public booking page

Each restaurant has a public booking page that needs no login:

https://tables.dromlik.com/book?tenant={restaurant-slug}

Diners pick a date, party size and time slot. Available slots are calculated live, using the same opening hours, assignment engine and pacing rules as every other channel.

Guests only see available times. Table layouts, assignments and settings are never shown to them.

WhatsApp confirmations

Tables sends automated booking confirmations to guests over WhatsApp, including bookings taken by an AI receptionist on a call. This requires WhatsApp to be set up on the restaurant's Dromlik phone system.

MCP connector

Every restaurant gets its own MCP (Model Context Protocol) server, so an AI phone receptionist can work as an autonomous front desk: recognise callers, check availability, and take, change or cancel bookings in real time. No scraping or webhook setup is needed.

Endpoint and authentication

  • Transport: JSON-RPC over Streamable HTTP / SSE.
  • Connection: each restaurant has a private connector URL, available to Managers in settings. Paste it into your AI receptionist's MCP configuration.
  • Isolation: a connector only ever reaches its own restaurant's data.
  • Rotation: Managers can rotate the connector credentials at any time. Update the receptionist's configuration after rotating.

Treat the connector URL like a password: keep it out of logs, tickets and shared screenshots.

Tools

ToolWhat it does
lookup_guestIdentifies a caller by phone number. Returns visit stats, notes, no-show rate and active reservations
check_availabilityChecks live availability against opening hours, existing bookings, table assignment and pacing caps
create_reservationCreates a booking and assigns a table, using combinations where needed
get_reservationFetches one existing booking
list_reservationsLists bookings, e.g. a guest's upcoming visits
update_reservationChanges party size, date or time and re-runs assignment; also cancels bookings
add_to_waitlistAdds a walk-in or a caller who couldn't be accommodated to the waitlist
get_waitlist_statusChecks a waitlist entry's progress, or cancels it, by phone number
get_restaurant_infoReturns opening hours, section names, capacity and pacing rules
get_directionsGives the caller directions and a navigation link

There is no separate cancel tool: cancel through update_reservation.

Typical call flow

  1. Call arrives; the receptionist calls lookup_guest with the caller ID.
  2. Known guest: greet by name and note preferences, allergies and any active booking.
  3. Guest asks for a table; the receptionist calls check_availability.
  4. Slot available: create_reservation. Fully booked: offer add_to_waitlist.
  5. The guest gets a WhatsApp confirmation.

To change or cancel, the receptionist finds the booking with get_reservation, list_reservations or lookup_guest (active reservations) and calls update_reservation.

Restaurant settings

Location from Google Maps

Managers paste a Google Maps link into Location settings. Tables resolves it through Google Places and fills in:

  • Street address
  • Verified phone number and website
  • Latitude and longitude
  • A normalised Google Maps link, used for automatic directions (including get_directions on calls)

Branding and languages

Managers can upload the restaurant's logo. The staff app uses the dark "Obsidian" theme, designed for low-light dining rooms.

The interface is available in English, Swedish, French and Spanish. Users switch instantly and their choice is remembered.