Plugin Directory

mee-table – Restaurant Reservations, Gift Cards & Event Tickets

mee-table – Restaurant Reservations, Gift Cards & Event Tickets

Description

mee-table lets you accept table reservations from your own WordPress site, with a booking calendar, capacity per time slot and a confirmation email to the guest.

Free, with no account and no key. Reservations, the booking calendar, basic capacity, the confirmation email and events with ticket sales all run on your own WordPress, in your own database, using your own site email address. Nothing to sign up for, nothing to pay.

This is the Lite version, and it is free forever. With a mee-table account you also get prepayments and no-show protection (card or digital wallet), gift cards, the guest assistant, WhatsApp and SMS reminders, time-based discounts, staff accounts with the Waiter Dashboard, reports, and colours that match your theme. These run through the mee-table service at api.mee-table.com, so there is no server for you to maintain.

Every installation starts with a 14-day trial of the full version. When the trial ends the plugin does not switch off: it carries on at the free level, and your venues and bookings stay where they are.

Main features:

  • Table reservations with availability, opening hours, rules on the number of guests, a weekly closing day and a quick-block calendar for one-off closures.
  • Guests manage their booking on YOUR site. The link in every email and message opens your own booking widget, on your own pages, in edit mode: the guest moves the date, the time or the number of guests, or cancels, inside the limits you set. A per-venue cap says how many people one booking may bring (the venue capacity is a separate number), and an optional notice window closes online changes some hours before the table, after which the guest is asked to call you.
  • Move a booking instead of losing it. The guest can change the day, the time or the number of people from the link in their confirmation email, without calling: the free tables are re-checked live, and you decide how many times they may do it before they are asked to phone you. Your own staff can move any booking from the Waiter Dashboard, with no limit, the phone rings there.
  • Your own time zone, so opening hours and reminders are right even when the venue and the server are in different countries.
  • Prepayment by time band. An “Aperitivo” rate from 19:00 to 20:00 and a different one for dinner, each with its own days of the week and minimum number of guests. The guest is only ever offered the rate that covers the time they picked, and when a rate covers it the prepayment replaces the no-show card guarantee: nobody is asked to pay twice for the same evening.
  • Choose which emails reach you. Everything that happens to a booking sends you an email by default, confirmed, declined, cancelled or moved, including what your own staff did from the dashboard. Untick the ones you do not want; your guests keep receiving theirs either way.
  • No-show guarantee: the guest’s card is authorised, not charged. Nothing is taken unless they fail to turn up, and staff release or charge it from the Waiter Dashboard.

The full feature list continues in the “All the features” section below.

External services

This plugin relies on external services. Below is what each one is, when it is contacted, and what is sent to it.

1. mee-table backend (https://api.mee-table.com): always required

The plugin is a client for the mee-table SaaS. Every page of the admin and every booking talks to it. Data sent: reservation details (guest name, email, phone, number of guests, date, notes), location configuration, prepayment and gift-card records, staff accounts, and any photo you upload for a cooking class. Without this service the plugin cannot show availability, take payments or store bookings. Provided by mee-table. Terms: https://mee-table.com/terms | Privacy: https://mee-table.com/privacy

Two calls to the same provider happen outside the admin pages, and are listed here separately so it is clear when they occur:

  • Activating the plugin sends nothing anywhere. The first contact happens when you enter your licence key and press Activate: at that moment, once, the plugin asks https://mee-table.com/api/provisioning whether this domain already has a mee-table account, so the site connects to its own restaurant without anyone typing a token. Data sent: the site URL (get_site_url()) and nothing else. If it fails, the plugin simply carries on unconfigured. Until a licence key is entered, the plugin contacts no server at all.
  • Once a day, a scheduled task asks https://api.mee-table.com/api/license/validate whether the subscription is still active. Data sent: the site URL, the licence key the site owner entered, and the name of the product asking (mee-table), so a key bought for mee-class does not unlock bookings. How that data is handled: https://mee-table.com/privacy This call does not happen at all until a licence key has been entered: with no key the task returns immediately.

No guest data is involved in either of these two calls.

2. Payment providers: only when you enable and connect them

Mollie, Stripe or PayPal are contacted to create payments, authorise no-show guarantees and issue refunds. Data sent: amount, currency, reservation reference, and the guest’s payment details entered on the provider’s own hosted page. Card numbers never pass through WordPress. Mollie: https://www.mollie.com/en/user-agreement | https://www.mollie.com/en/privacy Stripe: https://stripe.com/legal | https://stripe.com/privacy PayPal: https://www.paypal.com/legalhub/home

3. SMS providers: only if you choose one, and only for the messages you send

If you configure an SMS provider, your site sends the reminder text and the guest’s phone number to it. Two paths exist: reminders are dispatched by the mee-table backend, while the “Send test SMS” button sends one message directly from your own WordPress server to the provider, using the credentials you typed in. Nothing is sent to any of these companies unless you select them and save credentials. The panel also accepts a custom HTTP gateway: in that case the same two pieces of data go to the endpoint address you type in yourself, and to nobody else.

Twilio: https://www.twilio.com/en-us/legal Skebby (Commify Italia S.r.l.): terms https://www.skebby.it/wp-content/uploads/Contratto-SKEBBY.pdf | privacy https://www.skebby.it/wp-content/uploads/Informativa-Privacy-Estesa-SKEBBY.pdf Aruba SMS: https://hosting.aruba.it/documents/term_conditions/condizioni_fornitura_servizisms_aruba-it_v-1-2.aspx | https://www.aruba.it/documents/tc-files/it/11_it_privacy_policy_aruba_spa.aspx Brevo: https://www.brevo.com/legal/ Vonage: https://www.vonage.com/legal/ (its SMS endpoint is still the old brand name, https://rest.nexmo.com)

SMSGate (https://api.sms-gate.app): only if you choose the Android phone gateway

If you pick “Android phone” as the SMS route, your site does not talk to the phone directly: it sends the reminder text and the guest’s phone number to the SMSGate cloud at https://api.sms-gate.app/3rdparty/v1, which passes the message to the free SMSGate app on your own phone, and the message then leaves from your own SIM. This happens only for the messages you send, and only after you have installed the app and saved its username and password in the panel. SMSGate is an open-source project (the app is at https://github.com/capcom6/android-sms-gateway) and the cloud service is run by its authors.

SMSGate: https://sms-gate.app/terms-of-service/ | https://sms-gate.app/privacy/

A “generic HTTP” option exists for providers not in the list: there the endpoint is the one you type in, and you are responsible for it.

4. Meta / WhatsApp Business Cloud API (https://graph.facebook.com): only if you set up WhatsApp messages

If you fill in the WhatsApp fields of a location (phone number ID, WhatsApp Business Account ID and access token, all obtained from your own Meta Business account), your WordPress site talks to Meta directly in three cases, and never otherwise:

  • “Create the message templates on Meta”: reads the message templates that already exist on your WhatsApp Business Account and submits the missing ones for Meta’s approval. Data sent: the wording of the booking messages and your access token. No guest data.
  • “Send test WhatsApp”: sends one real confirmation message, filled with sample values, to the number you type into that field, to check the setup works. Data sent: that phone number, the sample values and your access token. No guest data.
  • The reminder texts themselves are fetched from https://mee-table.com/api/whatsapp/modelli, a public page of the mee-table site that only returns the wording of those messages. Nothing is sent to it.

The WhatsApp Business Account is yours: you own the number and you pay Meta directly. mee-table neither resells messages nor owns any number. Terms: https://www.whatsapp.com/legal/business-terms | Privacy: https://www.whatsapp.com/legal/business-data-processing-terms Meta Platform Terms: https://developers.facebook.com/terms | Privacy: https://www.facebook.com/privacy/policy

5. Mailchimp: only if you enter an API key

Used to add newsletter subscribers to your audience. Data sent: the email address and the consent flag of guests who opted in. https://mailchimp.com/legal/terms/ | https://mailchimp.com/legal/privacy/

6. Groq: only if you enter a Groq API key for the guest assistant

Used by the guest assistant on your booking page. When a visitor types a question, that question is sent, together with your restaurant’s public information (name, address, phone, opening times, which time slots are still free in the next 7 days, discounts and events), to Groq, which produces the answer. The request is made server-to-server through the mee-table backend using your own Groq account, so the key never appears in a public page.

Never sent: names, phone numbers or e-mail addresses of your guests, and no booking of theirs. Free seats are counted; who booked them is not sent.

Nothing at all is sent to Groq unless you have entered a key in mee-table -> Guest assistant. Leaving that field empty keeps the assistant off and the script is not even loaded. Groq does not retain these questions for inference requests and is not permitted to use them to train its models.

Getting a key is free and takes about two minutes at https://console.groq.com/keys, the plugin explains the steps on that settings page. The Groq account is yours: the agreement for it is between you and Groq. Terms: https://console.groq.com/docs/legal/services-agreement Privacy: https://groq.com/privacy-policy Acceptable use: https://console.groq.com/docs/legal/ai-policy

Answers are generated by an automated system and can be wrong, and the assistant tells the visitor that it is automatic. Any answer containing a percentage is discarded before the visitor sees it. An answer containing an amount is discarded too, unless you have published prices on the pages you ticked and that exact figure appears there: the assistant repeats what you wrote, it never composes a price. On allergens it answers only by repeating what your own pages say, and any request for a guarantee about a guest’s own health is sent to your phone instead.

Privacy

This plugin sends reservation data, prepayment details, gift-card information, and location configuration to the mee-table backend at https://api.mee-table.com. If you enable the WhatsApp reminders, the guest’s phone number is also sent to Meta’s WhatsApp Business Cloud API so the message can be delivered, using the WhatsApp Business Account that belongs to you. The data is used solely to provide the booking service, payment processing, and no-show protection. No data is sold, shared with third parties for marketing, or used for advertising. If you enable the guest assistant, visitors’ questions and your restaurant’s public information are sent to Groq through your own Groq account, as described under External services above; no guest personal data is included. For full details, please read the mee-table Privacy Policy.

Retention: identifying data on a reservation (guest name, email, phone and notes) is irreversibly erased 180 days after the reservation date, by a daily job on the backend. The reservation row itself is kept – date, number of guests, amount, payment gateway – because accounting needs it and none of those fields identifies anyone on their own. That same 180-day window is the furthest back the repeat no-show policy can look.

Screenshots

Installation

  1. Upload the plugin folder to /wp-content/plugins/ or install via the WordPress plugin directory.
  2. Activate the plugin through the ‘Plugins’ menu. 3. Go to mee-table -> Settings, paste your licence key (from your mee-table.com dashboard), and click Activate licence.
  3. Set up your location(s), opening hours and payment methods on the Locations and Settings pages. 5. Optional: to switch the guest assistant on, open mee-table -> Guest assistant and paste a Groq key. Until you do, nothing is sent anywhere and the chat does not appear.

FAQ

Where should my Google Business Profile booking link point?

To your dedicated booking page, not to your homepage, even if the widget is on the homepage too. A link always opens at the top of a page: on a long homepage the guest lands on the header and has to scroll to find the widget, on the booking page they land right on it. The plugin creates that page for you (see mee-table -> Settings) and the floating booking pill brings guests there from every other page of your site.

Does mee-table store guest data on my WordPress server?

No: all reservation, prepayment, and gift-card data is stored on the mee-table SaaS backend (api.mee-table.com). Local WordPress tables are kept for caching only.

Does the AI guest assistant cost anything, and is it on by default?

It is off until you paste a Groq API key in mee-table -> Guest assistant, and while that field is empty the plugin contacts no AI service at all and the chat is not even loaded on your pages. The key is free to create at https://console.groq.com/keys and the account is yours, so the free allowance is yours alone and the plugin never resells anything.

What does the assistant tell guests about allergens?

If you have ticked your menu page and the answer is written there, it repeats what you wrote and says it read it from you. What it never does is promise a guest that a dish is safe for their own allergy: a question like “I am allergic to hazelnuts, can I eat this?” always goes to your phone, whatever your menu says. Cross-contamination is decided in your kitchen, not on a menu, and only you know how you work.

And about prices?

The same rule. If your menu with prices is on a page you ticked, it can repeat a figure you wrote. If it is not published, it tells the guest to ask you. It never invents a figure, and it never says a percentage: on time-slot discounts it tells the guest which times are discounted and that they are marked on the list, so the number is read from your own page and cannot be misquoted.

The admin panel is in the wrong language. Where do I change it?

By default the panel follows Settings -> General -> Site Language. If you want it pinned to one language regardless, set it in mee-table -> Settings -> Panel language.

Where can I manage my licence or upgrade?

Log into your dashboard at https://mee-table.com/dashboard. There you can manage your location(s), billing, and staff accounts.

Why does the plugin need to connect to api.mee-table.com?

The connection is required for the booking widget, payment processing, and no-show protection to work. Without it, Mee-Table cannot retrieve availability, process payments, or update reservations.

What is the difference between the no-show guarantee and the prepayment tiers?

They are two different things, each with its own refund setting. The no-show guarantee only authorises the card: no money is taken, so there is nothing to refund. Its setting is a deadline, up to when the guest may cancel without a penalty. The prepayment tiers take real money at booking time, for a fixed-price menu you have already shopped for: that setting decides whether it is refundable at all, and defaults to non-refundable. A venue can run a flexible guarantee alongside a non-refundable tasting menu, which a single shared setting made impossible.

I set up an SMS provider. How do I know the credentials are right?

Use the “Send test SMS” button under the credentials. It sends one real message, using what is typed in the form even if you have not saved yet, and it costs one credit of your plan. Missing fields are reported before anything is dispatched, and the button locks for ten seconds after each attempt so a double click cannot burn credits. Note that the test leaves from your own site while real reminders leave from the mee-table servers: if your provider filters by IP address, the test can succeed where real sending fails.

What photo should I use for a cooking class?

A horizontal one, and as large as you can. The picture sits in a wide band on the flyer and in the email, so a portrait shot only shows a central strip of itself. When you pick the file the plugin crops it to 3:2, tells you which print sizes that photo can actually carry (A3 needs about 2200 px of width, A4 about 1550) and compresses it below 600 KB before it leaves your computer, so the 15 MB a modern phone produces is never uploaded. No compression invents pixels that were never there: a small photo stays small.

Which paper size should I print the flyer on?

A3 for a poster read from a distance, A4 for a window or a wall, A5 for a table stand, portrait or landscape. Each size is laid out separately rather than being a scaled copy, because what makes text readable is the distance it is read from, not the size of the sheet. The flyer always shows the next scheduled event: if nothing is scheduled it says so instead of printing a date that has passed.

How do I enable the WhatsApp contact button?

Go to mee-table Location, edit the location, and fill in the “WhatsApp (digits only)” field with the number in international format, digits only (e.g. an Italian number +39 333 123 4567 becomes 393331234567). Once saved, a WhatsApp chat button appears automatically under the booking widget on your site, linking to a direct chat with that number. This uses the free wa.me link: no paid service, no extra setup, available on every plan tier.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“mee-table – Restaurant Reservations, Gift Cards & Event Tickets” is open source software. The following people have contributed to this plugin.

Contributors

“mee-table – Restaurant Reservations, Gift Cards & Event Tickets” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “mee-table – Restaurant Reservations, Gift Cards & Event Tickets” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.1

  • Free version: bookings, calendar and confirmation email, with no account.
  • 14-day trial on activation, then the plugin drops to the free level.
  • Events and ticket sales work on the free level too.
  • The free confirmation email uses the same wording as the paid one.
  • The floor log now lives on the mee-table service, not in the site database.
  • Events page: four PHP notices fixed.
  • The author name in the plugin list links to mee-table.com.

Le versioni precedenti stanno in changelog.txt, dentro la cartella del plugin. Older releases are listed in changelog.txt, in the plugin folder.