smartEngin MeetMix

Description

smartEngin MeetMix lets visitors book appointments directly on your website. You define your appointment types and weekly hours; visitors pick a free slot and receive a confirmation with a calendar file and a link to cancel or reschedule — no customer account needed.

What you get

  • Appointment types — phone call, online meeting, you visit the customer, the customer visits you. Each with its own duration, buffer times, lead time and booking horizon, and optionally its own weekly hours.
  • A booking page you place with a shortcode. Visitors see your real availability in their own time zone.
  • Double bookings are prevented by the database, not by a lucky guess. Two visitors can click the same slot at the same moment; only one gets it.
  • Emails that arrive — confirmation with a calendar file, notification to you, reminders before the appointment. Every template can be edited, and reminders run without a paid service.
  • Your customer can cancel or reschedule through a link that contains nothing but a random value. No account, no password.
  • Your own calendar in the admin area — year, month, week and day. Create an appointment by clicking into it, drag it to a new time, cancel it — and you always see the email to your customer before it goes out.
  • Absences with their own colour, an optional yearly repeat, and a switch for whether they block bookings at all — a birthday should not close your working day.
  • Public holidays for all sixteen German federal states, each one individually selectable.
  • Privacy built in: no IP address is ever stored, old bookings are anonymised or deleted on a schedule you set, and the customer link never carries a name or an email address.
  • Works with multilingual sites. The language a visitor booked in is stored with the booking, and every email to that person switches to it — no forced site language, so WPML, Polylang and TranslatePress keep working.
  • The colours follow yours. One accent colour, used everywhere.
  • A manual inside the admin area, and a log that tells you whether an email really went out.

The Pro extension

smartEngin MeetMix Pro is a separate plugin. It adds Google Calendar in both directions with an own Google Meet room per appointment, Telegram messages to your phone, several booking pages, events with a waiting list, paid appointments through the free smartEngin buy plugin, and your calendar on your phone. Nothing in this plugin is locked or waiting to be unlocked — the free plugin is complete in itself, and the extension brings its own code.

What it adds, in one line each: Google Calendar in both directions · an own Google Meet room per appointment · Telegram messages to your phone · several booking views · events with seat limits and a waiting list · paid appointments through the free smartEngin buy plugin · your calendar on your phone. Details: smartengin.de/meetmix

External services

This plugin contacts no external server at all. Nothing is loaded from a CDN, no data leaves the visitor’s browser to a third party, and no IP address is stored — the spam protection turns it into a one-way value that expires after an hour. The Pro extension is where Google and Telegram come in, and it asks for those credentials itself.

Bundled library

FullCalendar 6.1.19 (fullcalendar.io, MIT licence) is shipped inside the plugin so that no visitor request ever goes to a CDN. The readable source of the shipped files is at github.com/fullcalendar/fullcalendar; the exact files, versions and download addresses are documented in assets/vendor/fullcalendar/LIESMICH.txt inside the plugin.

Screenshots

Installation

  1. Install the plugin and activate it.
  2. Open smartEngin MeetMix Appointment types and create your first type — a phone call, a visit, an online meeting. Duration, buffer times and how far ahead it can be booked belong to the type.
  3. Open Availability and set your bookable hours per weekday. Absences and German public holidays are on the same page.
  4. Put the shortcode [smartengin_termin] on any page — that is your booking page. [smartengin_booking] does the same thing under an English name.
  5. Check Settings General for your company name and the address that notifications are sent to.

One thing worth checking once: under Settings General of WordPress itself, your time zone should be a city (for example Berlin), not a fixed offset such as UTC+2. A fixed offset knows no daylight saving time, and every appointment would shift by an hour in autumn. The plugin warns you about this in red if it finds it.

FAQ

Does the visitor need an account?

No. Booking asks only for the fields you chose. The link to cancel or reschedule contains a long random value and nothing else — no name, no email address, no booking number.

What happens if two visitors click the same slot at the same second?

One gets it, the other is told the slot has just been taken. This is decided by the database through a unique key per time unit, not by a check in PHP that could be a moment too late.

Do the reminders work without a paid service?

Yes. They run on WordPress’ own scheduled tasks, and they catch up on whatever is due instead of demanding an exact moment — so a quiet site does not silently skip them. Every reminder is sent once, recorded in the database. WordPress’ scheduler only runs when somebody visits your site; if your site is quiet for long stretches, set up a real cron job at your host. The plugin shows you under Settings Reminders whether the scheduler is healthy, and how to set that up.

Is any personal data sent anywhere?

No. The plugin contacts no external server. No IP address is stored — the spam protection turns it into a one-way value that cannot be turned back and expires after an hour. Under Settings Privacy you set how long booking data is kept and whether old bookings are anonymised or deleted.

Does it work on a multilingual site?

Yes, and it deliberately does not force a language. The language a visitor booked in is stored with the booking, and every email to that person switches to it — including the reminder that goes out from a scheduled task. WPML, Polylang and TranslatePress keep working, because nothing here hooks the site locale. Your own wording (email templates, the names of your appointment types) is never machine-translated.

Can I charge for an appointment?

Not with this plugin alone. Paid appointments need the Pro extension together with the free smartEngin buy plugin, which handles checkout, invoice, coupons and refunds. There is deliberately no second payment system in here. You can enter a price without them, but nothing is ever charged, and the plugin says so on the appointment type.

Which third-party code ships with the plugin?

One library: FullCalendar 6.1.19 (MIT). It is shipped inside the plugin instead of loaded from a CDN, so that no visitor request ever leaves your site. Its readable source is at github.com/fullcalendar/fullcalendar, and assets/vendor/fullcalendar/LIESMICH.txt in the plugin names the exact files and where they came from.

What happens to my data if I delete the plugin?

Nothing, unless you ask for it. Deleting the plugin keeps your appointments and settings, so an accidental click never costs you your bookings. There is a switch under Settings Privacy if you really want everything removed.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“smartEngin MeetMix” is open source software. The following people have contributed to this plugin.

Contributors

Translate “smartEngin MeetMix” into your language.

Interested in development?

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

Changelog

0.33.3

  • The plugin directory page now shows all eight screenshots. Nothing about the plugin itself has changed.

0.33.2

  • The calendar in the admin area now uses the whole height of your window. It had a fixed height, so on a tall screen a wide strip below it stayed empty while the year view had a scrollbar of its own. The list of your calendars on the left no longer decides how tall the box is; it scrolls by itself when there are many appointment types.

0.33.1

  • The calendar for picking a new time on the customer page (the link in the confirmation email) now loads its script through WordPress’ own mechanism instead of a fixed tag in the code, as the plugin directory asks. Nothing you can see changes.

0.33.0

  • Every page of the plugin is now filtered once more at the very moment it is printed. Until now each building block made its values safe while the page was being assembled – which is correct, but the WordPress plugin directory asks for the check to happen at the end, where the page leaves the plugin (“escape late”). That way anything added later in the middle of a page is covered automatically. Nothing you can see changes: the pages were compared before and after, character by character, on 53 screens.
  • The customer page (the link in the confirmation email) loads its stylesheet and your accent colour through WordPress’ own mechanism now instead of a fixed style block in the code.
  • Notices from other plugins that are collected on the plugin’s pages keep their text, links, forms and buttons; a script or style block another plugin put into its notice is dropped there – foreign code has no business running on these pages.

0.32.3

  • An internal reference page has been removed from this plugin. It was a page for building the plugin, not for using it: a sheet showing every button, badge, table and dialog once, reachable only by typing its address and only for administrators. The WordPress plugin directory asks that published plugins ship without development tools, and that is exactly what it was. It now lives in the Pro extension.
  • Nothing you can see or click has changed. The building blocks themselves are untouched – every page of the plugin is still made of them. What went away is only the sheet that showed them side by side.

0.32.2

  • Documentation only – nothing about how the plugin works has changed. The entry for 0.22.0 had gone missing from changelog.txt and is back where it belongs.
  • The shortened list below was trimmed as well: it had grown to 4948 of the 5000 characters the plugin directory shows, and the next entry would have been cut off there without a word. The full history is in changelog.txt inside the plugin.
  • The upgrade note now describes the current release instead of one from several versions ago.

0.32.1

  • The time is now held for 30 minutes while somebody pays, instead of 15. Reason: the shop plugin smartEngin buy can now take Klarna, Amazon Pay, Bancontact and eps. Those send your customer to a site of their own, where they may first have to open an account and confirm a text message – 15 minutes were tight for that. If the time runs out, the appointment still tries to take the slot back; this simply makes that far less likely.
  • The price of it: a payment somebody breaks off blocks the time twice as long as before.
  • The hint at the appointment type now works out that number itself instead of spelling it out, so it can never quietly say something the plugin no longer does.

0.32.0

  • A click on your picture shows it three times larger for two seconds. The little round picture stays small – but a visitor can now see for a moment who they are about to meet. Click again and it goes back straight away.
  • Your picture is loaded in a larger size for that, so it stays sharp when it grows. The file that is loaded is still a scaled one, not the original – a photo from a camera would otherwise be a megabyte for a 56-pixel circle.
  • Privacy and Imprint now open in a new tab. Whoever clicks them in the middle of a booking keeps the booking page – and the half-filled form with it.
  • Without a picture nothing changes: the circle with your initials stays exactly as it was, and it is not a button. A button that does nothing is worse than none.

0.31.0

  • The manual now names the shortcode. It used to say “put the shortcode of your booking view on a page” without ever saying what it is called – not much help if you do not know. It is [smartengin_termin id=”1″], and Booking views shows it ready to copy for each view.
  • Three places you can now find in the manual: Overview, Help & documentation and Log. Those are exactly the three you need when something does not work, and none of them was described anywhere. An AI assistant reading the manual can now send you to the right place instead of guessing.

Older entries: see changelog.txt in the plugin folder.