Table reservations on WhatsApp with aleno: how the chat books without promising a table
A quick "Sure, that works" in the chat isn't a reservation yet. Here's how Fynn checks free tables in aleno, gets the guest's yes along with your terms, and hands groups, deposits and fees to your team.
Deskwoot Team
12 min read
Contents
Friday, 9:40 PM, the kitchen is slammed, and a WhatsApp message comes in: "Do you have a table for 5 tomorrow at 7:30?" Someone types "Sure, that works" and never writes it down. By Saturday, aleno has given that table to someone else through your widget.
Or nobody replies, and the guest books somewhere else. This article shows how Fynn, the AI assistant in Deskwoot, books free tables directly in aleno, and what always stays with your team.
Why a quick "Sure, that works" can cost you
The German hospitality association Dehoga NRW surveyed 250 restaurant and hotel owners, and 87 percent knew no-shows from their own experience. About 40 percent of those affected put the damage at more than 5 percent of their annual revenue (Tageskarte, December 2025).
Of those affected, 38 percent call or email their guests beforehand. 30 percent tell guests at the time of booking that the reservation is binding. Only about 10 percent ask for a deposit or a credit card number.
The table that only exists in the chat
A table promised in the chat and never entered anywhere is a self-inflicted version of the same problem. In the evening, two groups turn up for one table. Or the table sits empty because the guest took a "we'll see" as a no.
That's why reservations by chat should follow the same rules as your widget. The reservation book decides, and the guest knows the terms before saying yes.
How a WhatsApp table reservation works with aleno
Here's an example. A guest writes on Friday at 10:47 PM:
Hi, do you have a table for 4 tomorrow evening?
Fynn only asks for what's missing
Fynn asks for the time and the name for the reservation. That's all he needs. Seating requests and the occasion go into the reservation note.
He never asks about allergies or health. He only passes on what the guest mentions on their own.
The free times come from aleno
Then Fynn asks aleno for free times for exactly that party size. aleno already accounts for your shifts, your capacity, your online limits and public holidays.
Fynn offers at most 3 times at once, with the time zone, and only times that aleno gave him.
The deciding question uses fixed wording
When the guest writes "7 PM, under Lea Brandt", Fynn doesn't word the deciding question himself. It comes from the server, in fixed words. If Fynn is allowed to book on his own at your restaurant, it looks roughly like this:
Book a table for 4 people at Trattoria Lago on Saturday, November 7, 7:00 PM (Berlin time) for Lea Brandt?
Note from the restaurant: We hold your table for 15 minutes. By replying yes you accept the restaurant's privacy policy (link) and terms (link). Reply yes to book it, or tell me another time.
The guest's yes covers exactly what this question says. An AI writing freely might say "that should be fine", and that's how the promises from the start of this article happen.
Deskwoot pulls the note and the links from aleno (more on that below). In the website chat, Deskwoot first asks for an email address, so the confirmation still reaches the guest after the tab is closed.
Who confirms: your team or Fynn
You choose what happens after the yes, separately for new reservations, cancellations and rescheduling.
The default: your team confirms
If you haven't changed anything, Fynn asks whether he should send the team a request. After the yes, the guest reads: "Your request ... is with the team. You'll get the confirmation here."
A card appears in the conversation. Your team confirms with 1 tap, and only then is the reservation created in aleno. If your team declines, it can suggest up to 3 other times along with it.
The other setting: Fynn books on his own
Here Fynn books in aleno right after the guest's yes, and your team gets notified.
Every reservation shows up as a card in its conversation, with its status in aleno (confirmed, cancelled, guest arrived) and a button that opens it in aleno.
The catch with team mode
Until someone on your team taps, aleno holds no table. If nobody checks the phone on Saturday until 5 PM, the time may already be gone online.
To give your team time to confirm at all, Fynn in team mode only offers times whose booking cutoff in aleno is at least 60 minutes away.
Restaurants do better when Fynn books on his own. Deskwoot then books through aleno's online reservations, the same route your widget uses.
If you're unsure, let your team confirm for the first few weeks, read along, and then switch.
When the restaurant confirms the time itself
Some times aleno only accepts online as a request, for example provisional reservations or group reservations. In that case the question also says: "The restaurant confirms this time itself, so it is a request until then."
After the yes, the guest reads that the request is with the restaurant and that the answer will come in the same chat.
You decide in aleno
You decide these requests in aleno, just like any other. The card in Deskwoot shows "Waiting for the restaurant" and has no Confirm button.
As soon as you accept or decline in aleno, Deskwoot finds out through a webhook or its regular check. The guest gets the news in the chat, for example: "Trattoria Lago confirmed your table for 8 people on ..."
WhatsApp's 24 hour window
On the WhatsApp Business Platform, you can only send free text within 24 hours of the guest's last message. After that, only templates approved by Meta get through (Meta, WhatsApp pricing).
If you decide a request when the guest's last message is more than 24 hours old, Deskwoot sends them nothing. The card then shows that the guest doesn't know yet, with a pointer to templates.
So decide requests the same day, or send an approved template (Send WhatsApp templates after 24 hours).
What WhatsApp replies cost
Since October 1, 2026, replies inside the window are no longer free without limit either. According to Meta, each phone number gets 1,000 free service messages a month, and Meta charges for every one from the 1,001st on.
Since then, utility templates cost money too, even while the window is open. Meta (or Twilio, if you connected WhatsApp through Twilio) bills these fees directly to your own account. Deskwoot adds no markup.
What always stays with your team
Your team takes over in these cases:
| Case | What happens |
|---|---|
| The party is bigger (or smaller) than your shifts accept online | Fynn says someone from the team will help and hands over the conversation. |
| The time needs a credit card guarantee or a payment, for example for a no-show fee | Fynn doesn't book it and hands over to your team. |
| Your restaurant asks for an extra consent when booking | Handed over to your team. |
| Cancelling or rescheduling may cost the guest a fee | Your team always decides, even if Fynn may otherwise cancel on his own. |
| aleno isn't responding right now | Fynn says he can't check times at the moment and hands over. |
Large groups
About the first row: aleno writes on its blog that many of its customers accept standard reservations online for up to 10 people, and group requests for 11 to 30 people. For even larger groups, they take no online requests at all.
For groups, aleno recommends a written offer that's available online, for example as a PDF (aleno blog, 2022). That's the vendor's statement about its own customers.
The online maximum of your shifts is also the point where Fynn hands over. So check those values before you connect.
Reservations made by phone or through the widget
Fynn shows, moves or cancels a reservation that came in by phone or through the widget only for a guest whom Deskwoot has reliably identified, and only if their email address or number matches the reservation.
Celebrations and events
These work the same as without aleno. Fynn collects the date, the number of people and the occasion. You decide the menu, the offer and the deposit.
Booking terms guests actually read
In a widget, it's easy to scroll past the terms. In the chat, they sit right in the question the guest answers with yes.
For this, Deskwoot reads two things from aleno:
- the special conditions you've set for the shift or event (aleno help on events),
- the links to your terms and privacy policy, which you enter under Settings > Widget > Consents (aleno help).
How to write the note
The note is cut off after 300 characters, and line breaks turn into spaces. The guest never sees anything past that point in the chat. A few rules help:
- Put the most important thing first, meaning anything that could cost the guest the table or money.
- Numbers instead of adjectives. Nobody can act on "late cancellations", but "cancel by 4 PM on the day of your reservation" is clear.
- One sentence per rule, 3 sentences at most.
- Keep the note in German and English, and in French or Italian if your guests write in those languages. Deskwoot requests it in the language of the chat, and in English for any other language.
- In the German note, use the same form of address as Fynn (the informal du or the formal Sie). He writes in the form you chose for your workspace.
Before and after
Before:
Please note that, in accordance with our terms and conditions, we charge an appropriate fee for cancellations at short notice or no-shows. Thank you for your understanding.
After:
We hold your table for 15 minutes. If you can't make it, please cancel by 4 PM on the day of your reservation. If you cancel later or nobody shows up, we charge €25 per person (see terms).
The second text is barely longer. But now the guest knows when to cancel by and what it costs if they don't.
You set the amount yourself. The legal limits for it are in the next section.
What the law says (Germany)
Under Section 305(2) of the German Civil Code (BGB), standard terms only become part of the contract if you expressly point them out when the contract is made. The guest must be able to take note of their content in a reasonable way and must agree to them.
A link in the question the guest answers with yes follows that logic.
If you want a flat no-show fee in your terms, Section 309 No. 5 BGB sets two limits:
- The flat fee may not exceed the loss that would be expected in the ordinary course of events.
- The guest must be expressly allowed to prove that there was no loss, or a much lower one.
Name and phone number are personal data. Under Art. 13 GDPR, anyone who collects them in the EU has to say at that moment who is responsible, what the data is used for and on what legal basis. That's what the link to your privacy policy in the question is for.
The BGB sections only apply in Germany. Austria and Switzerland have their own rules, and outside the EU the GDPR usually doesn't apply. This is general information, not legal advice.
Connect aleno to Deskwoot
From then on, every reservation Fynn books in the chat shows up in aleno right away, including the 10:47 PM request. Free times, party sizes and the time zone come from aleno. You don't need appointment types or bookable hours for tables.
- In aleno, open the menu at the top right, go to Users/Roles and click New User in the API Users section. Enter Deskwoot as the name of the integration. The account owner can do this, and according to aleno's English help, an admin can too (aleno help: API users).
- Copy the token. aleno shows it only once. If it gets lost, create a new one under Actions, and the old one stops working.
- In Deskwoot, open Settings > Integrations, click the aleno card and, under Restaurant system, click Connect aleno. Paste the token and click Connect.
- Switch on the restaurants where Fynn may book, give each one the name guests know it by and click Save restaurants.
- Turn on "Fynn offers free times", choose who confirms and click Save booking rules.
- Fynn books in every inbox where he answers as a Support Bot. Check that this is the case for your WhatsApp inbox.
Check for yourself that everything works: make the first reservation from your personal phone, then cancel it in aleno. There's more in the announcement Fynn now books appointments in the chat.
If you don't use aleno, Fynn sends your reservation link or passes the request to your team. What else he answers for guests, such as opening hours or allergens from your menu, is on our restaurants page and in the article AI for restaurants.
What it costs and how to get started
You can connect aleno on every Deskwoot plan. Fynn reserves tables on every paid plan. The smallest is Startup:
- $4 per agent per month, or $3.20 with annual billing.
- 50 AI conversations a month for the whole workspace. Each conversation with Fynn counts once per calendar month.
- Beyond those 50, each one costs $0.07 from your prepaid balance (pricing).
Table reservations are in beta. They work today, and details may still change.
Your next step: create a workspace, connect aleno with the token from step 2 and make the test booking from your phone. The trial runs for 7 days on Enterprise, with no credit card and up to 30 seats, yours included.
After that, you choose a paid plan or keep working on the free Hacker plan, just without Fynn booking tables.

