Title: Smooth Entree
Author: H4IT
Published: <strong>септември 21, 2026</strong>
Last modified: октомври 14, 2026

---

Search plugins

![](https://ps.w.org/smooth-entree/assets/banner-772x250.png?rev=3705960)

![](https://ps.w.org/smooth-entree/assets/icon-256x256.png?rev=3705960)

# Smooth Entree

 By [H4IT](https://profiles.wordpress.org/h4it/)

[Download](https://downloads.wordpress.org/plugin/smooth-entree.0.3.0.zip)

 * [Details](https://mk.wordpress.org/plugins/smooth-entree/#description)
 * [Reviews](https://mk.wordpress.org/plugins/smooth-entree/#reviews)
 *  [Installation](https://mk.wordpress.org/plugins/smooth-entree/#installation)
 * [Development](https://mk.wordpress.org/plugins/smooth-entree/#developers)

 [Support](https://wordpress.org/support/plugin/smooth-entree/)

## Description

Built for how a cafe with weekly live music actually works: a band every Sunday,
a pub quiz once a month, tickets that cost a few euros, and bar staff scanning at
the door with a phone.

The plugin does six things, and does those six well:

**Calendar and ticket sales.** Every night is its own page with its own address,
so it can be found on its own. Recurring nights (every week, every two weeks, or
every first Thursday of the month) are scheduled a quarter ahead automatically, 
and you can add or skip dates on a calendar. Free nights that still need a reservation
are part of the same system.

**Payment without a middleman account.** The money goes straight from the guest 
to the venue’s own account. Mollie and Stripe are supported; iDEAL works with both,
and the provider most used in your country is listed first.

**In the guest’s own calendar.** Every night has an “Add to calendar” link: a plain.
ics file with the right time, the venue and the doors time. If a night is called
off, the appointment is marked cancelled instead of quietly disappearing.

**Tickets that arrive.** The ticket email is one of the few emails where delivery
really matters. So the plugin checks SPF, DKIM and DMARC, processes bounces, and
shows on the dashboard which guest did not get their tickets.

**A door scanner that works offline.** The tickets live on the device, signed, so
the scanner can tell on its own whether a QR code is genuine even without wifi. 
Scans are sent along as soon as there is a connection again. A ticket for a different
night is recognised, and on a second scan it tells you what time the first one was.

**And what happens at the bar.** Someone walks in without a ticket: sell one at 
the door, cash or card, and let them straight in. Someone transfers the money or
pays later: mark that order as paid by hand. Both count normally towards revenue,
the VAT return and the head count at the door.

#### What it costs

The plugin is free: no subscription, no monthly costs and no limit on the number
of tickets. For each paid ticket the guest pays a small service fee to Smooth Entree
on top of the ticket price: €0.10 for a ticket under €20, and €0.25 for a ticket
of €20 or more. The guest sees it on the event page before ordering, and as a separate
line on the receipt. Free tickets and reservations have no fee at all. If you prefer,
you can carry the fee yourself; then the guest pays only the ticket price. The transaction
costs of your own payment provider are separate and do not pass through us.

#### Migrating from another plugin

Already running The Events Calendar with Event Tickets? The plugin converts those
events in place: the same page, the same address, the same image and the same SEO
fields. No search results are lost and shared links keep working. Orders and attendees
come along as history.

Selling with Event Tickets Plus through WooCommerce? That comes along too: there
a ticket is a WooCommerce product and an order is a WooCommerce order, and both 
are read. The rest of your shop is left alone. Always start with the dry run: it
changes nothing and shows what would happen.

#### What it deliberately does not do

No seat maps, no time slots, no subscriptions. This is built for nights where people
walk in, not for theatres with numbered rows.

### External services

This plugin can connect to the external services below. Nothing is sent anywhere
until you choose to.

**Mollie (payment provider).** When you connect your Mollie account, the plugin 
creates payments and refunds through the Mollie API on your behalf. The order number,
amount, description and your site’s hostname are sent with each payment. See the
Mollie [terms](https://www.mollie.com/legal/user-agreement) and [privacy policy](https://www.mollie.com/privacy).

**Stripe (payment provider).** When you connect your Stripe account, payments and
refunds are created on your Stripe account through smoothentree.com (see below),
because Stripe only lets the platform add the service fee. The order number, amount,
description, your site’s hostname and the guest’s email address are sent with each
payment. See the Stripe [terms](https://stripe.com/legal) and [privacy policy](https://stripe.com/privacy).

**Postmark (email delivery, optional).** Only when you choose Postmark as the sending
method under Ticket sales, Settings and enter an API token, the plugin sends email
through the Postmark API (api.postmarkapp.com). What is sent, each time an email
is sent: the sender name and address you configured, the recipient’s email address,
the subject, the text and HTML body of the message, and its attachments (the QR 
code images of the tickets). The plugin also reads delivery and bounce notifications
that Postmark sends back to your site, so the dashboard can show which guest did
not receive their tickets. See the Postmark [terms](https://postmarkapp.com/terms-of-service)
and [privacy policy](https://postmarkapp.com/privacy-policy).

**Resend (email delivery, optional).** Only when you choose Resend as the sending
method and enter an API key, the plugin sends email through the Resend API (api.
resend.com). The same data is sent as for Postmark: sender, recipient, subject, 
both bodies and the attachments, each time an email is sent, plus the delivery and
bounce notifications that come back. See the Resend [terms](https://resend.com/legal/terms-of-service)
and [privacy policy](https://resend.com/legal/privacy-policy).

**Pay. (payment provider, disabled by default).** The adapter for Pay. (pay.nl) 
ships with the plugin but is not available in the settings; a site only gets it 
by enabling it with the filter smoothentree_experimental_gateways. If it is enabled
and you enter your Pay. credentials, payments and refunds are created through the
Pay. API (rest.pay.nl): the order number, the amount, a short description of the
event, your Pay. service id and the addresses this site should be sent back to. 
See the Pay. [terms](https://www.pay.nl/en/terms-conditions) and [privacy policy](https://www.pay.nl/privacybeleid).

**smoothentree.com (the connection service for this plugin).** When you click “Connect
with Mollie” or “Connect with Stripe”, your browser is sent to smoothentree.com,
which forwards you to Mollie and receives the access tokens on your behalf; the 
tokens are then handed back to your site in encrypted form. After that, your site
contacts smoothentree.com once a day and before a payment when the token is about
to expire, to refresh the token and to read the current service fee. What is sent:
the refresh token (Mollie), your site’s URL and a connection id. For Stripe, every
payment, status check and refund passes through smoothentree.com, which forwards
it to Stripe on behalf of your account. The service keeps a record of which sites
are connected, which version of the plugin they run (from the user agent the plugin
sends) and when they were last seen; it does not store your tokens. Without the 
connection, paid tickets are not possible; free reservations work without any external
service. See the [terms](https://smoothentree.com/terms.html) and [privacy statement](https://smoothentree.com/privacy.html).

**smoothentree.com (feedback, optional).** Only when someone in the admin sends 
a message from Ticket sales, Feedback, the plugin sends it to smoothentree.com: 
the kind of message (problem, idea or question), the text, the reply email address
entered in the form, the address of your site, the plugin version and the admin 
language. Only if the box for technical details is ticked, it also sends the versions
of WordPress, PHP and the database, the site language and time zone, the theme, 
the permalink setting, the state of background tasks, the email sending method, 
which payment providers are connected (never their keys) and the names and versions
of the other active plugins. The screen shows exactly what will be sent before you
send it. Nothing about guests or orders is ever included. The message is stored 
for at most two years and forwarded to the developer by email. See the [terms](https://smoothentree.com/terms.html)
and [privacy statement](https://smoothentree.com/privacy.html).

**Service fee.** Each paid ticket carries a small service fee for Smooth Entree,
split off during payment: €0.10 for a ticket under €20 and €0.25 for a ticket of
€20 or more. By default the guest pays it on top of the ticket price; it is shown
on the event page before ordering and as a separate line on the receipt, so the 
venue pays nothing. In the settings the venue can choose to carry it instead. Free
tickets and reservations have no fee. This fee is separate from the transaction 
costs charged by your own payment provider, which you agree with them and which 
do not pass through us.

### Included software

The door scanner uses jsQR (https://github.com/cozmo/jsQR, Apache License
 2.0) 
to read QR codes in browsers without a built-in BarcodeDetector, which in practice
means mostly Safari on iOS. The unminified source is in assets/vendor/jsqr.js, with
the licence next to it.

## Screenshots

[⌊The calendar on the site.⌉⌊The calendar on the site.⌉[

The calendar on the site.

[⌊Buying tickets on the page for the night.⌉⌊Buying tickets on the page for the 
night.⌉[

Buying tickets on the page for the night.

[⌊The dashboard on a selling day.⌉⌊The dashboard on a selling day.⌉[

The dashboard on a selling day.

[⌊The door scanner.⌉⌊The door scanner.⌉[

The door scanner.

## Blocks

This plugin provides 1 block.

 *   Calendar

## Installation

 1. Upload the folder to `/wp-content/plugins/`, or install it from the admin screen.
 2. Activate the plugin.
 3. The dashboard shows “Getting started”: five steps that tick themselves off.
 4. Go to Ticket sales, Settings and fill in the name of the venue, a sender address
    on your own domain, and the details of your payment provider.
 5. Create an event and add a ticket to it.
 6. Under Door scanners, set up a device for the bar staff.

After that, take a look at the Health screen: it tells you whether email, caching
and background tasks are set up correctly.

## FAQ

### Does the money pass through you?

No. The plugin creates a payment at the venue’s own provider, with the venue’s own
keys. The money goes straight to that account.

### What happens if two people buy the last ticket at the same time?

Only one of them can win, and that is enforced in the database, not in the code 
around it. The second one is told politely that it just sold out.

### What if someone pays after their reservation has expired?

By default that order is still accepted and marked as an overbooking; you see it
on the dashboard. One extra guest in a cafe is usually less trouble than sending
money back. Refunding automatically is possible too, and that is a setting.

### Can I sell at the door?

Yes, in two places. In the admin under Orders: pick the night and the ticket, the
number, cash or card, and whether the guest goes straight in. And in the door scanner
itself, because the person with the phone is at the door and not behind the bar:
there is a “Sell a ticket” button with that night’s ticket types. In both cases 
the email address may be left empty; then no email is sent, because the guest is
standing right in front of you.

### Can the ticket email have our own look?

Yes. Under Ticket sales, Settings, Ticket email you can add your logo, your own 
colour, a text at the top and a text at the bottom. The same screen shows a preview
and can send you a test email. Each event can also have its own extra text, for 
example about the dress code or which entrance to use.

### Can guests get a PDF ticket?

Yes, if you switch it on under Ticket email. The tickets are then attached to the
email as a PDF, one page per ticket, and guests can also download them from their
tickets page. The QR code on the PDF works at the door just like the one in the 
email.

### I sell with Event Tickets Plus through WooCommerce. Can I switch?

Yes. There the tickets are WooCommerce products and the orders are WooCommerce orders,
including when those already live in WooCommerce’s own tables instead of with the
posts. Both are read, with the attendees and with who was inside at the time. Other
products in your shop are left alone. Do the dry run first: it changes nothing and
shows what would happen.

### Which languages does it speak?

English, Dutch, German, French, Spanish, Italian, Portuguese, Polish, Czech, Hungarian,
Romanian, Greek, Swedish, Danish, Norwegian, Finnish, Turkish and Japanese, with
the regional variants for Belgium, Austria, Switzerland, Canada, Mexico and Brazil,
and formal versions of Dutch and German. The plugin follows the language of your
site: the admin screens, the event page, the checkout, the ticket emails and the
door scanner. Dates, amounts and the web addresses of the pages it creates follow
that language too.

Corrections and improvements are very welcome on translate.wordpress.org.

### Does the door scanner work without internet?

Yes. That night’s tickets are on the device, with a signature the device can use
to see for itself whether a QR code comes from this venue. Scans are kept and sent
as soon as there is a connection again.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Smooth Entree” is open source software. The following people have contributed to
this plugin.

Contributors

 *   [ H4IT ](https://profiles.wordpress.org/h4it/)

“Smooth Entree” has been translated into 6 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/smooth-entree/contributors)
for their contributions.

[Translate “Smooth Entree” into your language.](https://translate.wordpress.org/projects/wp-plugins/smooth-entree)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/smooth-entree/), check
out the [SVN repository](https://plugins.svn.wordpress.org/smooth-entree/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/smooth-entree/) 
by [RSS](https://plugins.trac.wordpress.org/log/smooth-entree/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.3.0

 * Lower service fee: €0.10 for tickets under €20, €0.25 from €20 (was €0.25 for
   every ticket).
 * The event page now shows the service fee per ticket and includes it in the total,
   so the guest sees beforehand what they pay.
 * New: suggested text for your privacy policy, under Settings, Privacy. It follows
   your settings and only mentions the services you use.
 * New: duplicate an event, with its ticket types, from the event list or the event
   screen. The copy is a draft, without sales.
 * New: guests with a ticket get an email when you postpone an event or move it 
   to another date, with an optional message from you. Their tickets stay valid.
 * New: an optional reminder email, 3 to 48 hours before the event, with the tickets
   again. Switch it on under Settings, Ticket email.
 * New: more ways to repeat an event: every week, every two weeks, or every month
   on the first, second, third, fourth or last weekday, such as a pub quiz on the
   first Thursday. A calendar shows which events are coming; click a date to add
   or skip it.
 * Fix: saving the first event of a recurring series created events again that you
   had moved to the trash.
 * New: if the payment provider (or the connection through smoothentree.com) is 
   temporarily down, guests can still order. Their place is reserved for up to 24
   hours, never beyond the start of the event, and they get an email with a payment
   link as soon as paying works again. If the event starts first, they pay at the
   door: the guest list, the orders screen and the door scanner show who still has
   to pay.
 * Fix: a cancellation email marked the order as “tickets sent”, so a failed one
   could show up as a guest who did not get their tickets.
 * Fix: selling at the door, in the admin and in the door scanner, stopped working
   once the event had started. It now works until the end of the event, and also
   for hidden ticket types such as a guest list.
 * Fix: the door sale list showed only the next 20 events; it now shows tonight 
   and everything coming, grouped per event.
 * Door sales no longer carry the Smooth Entree service fee.
 * The calendar links are no longer followed by search engines.

#### 0.2.0

 * New: PDF tickets. Switch them on and the tickets are attached to the ticket email
   as a PDF, one page per ticket. Guests can also download them from their tickets
   page, and every order in the admin has a button to open them, for printing a 
   ticket at the bar.
 * New: your own look for the ticket email: logo, colour, a text at the top and 
   a text at the bottom, with a preview and a test email. Each event can also have
   its own extra text, such as the dress code or which entrance to use.
 * New: a Feedback screen under Ticket sales to send a problem, idea or question
   straight to us, with optional technical details that you see before sending.
 * Fix: the link to the terms and conditions at the bottom of the ticket email showed
   as code instead of a link.
 * Fix: on servers without full language data, amounts in the ticket email could
   show in US notation (25.00 instead of 25,00).

#### 0.1.0

 * First release.

## Meta

 *  Version **0.3.0**
 *  Last updated **10 часа ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 8.1 or higher **
 *  Languages
 * [Czech](https://cs.wordpress.org/plugins/smooth-entree/), [Dutch](https://nl.wordpress.org/plugins/smooth-entree/),
   [Dutch (Belgium)](https://nl-be.wordpress.org/plugins/smooth-entree/), [English (US)](https://wordpress.org/plugins/smooth-entree/),
   [Spanish (Mexico)](https://es-mx.wordpress.org/plugins/smooth-entree/), [Spanish (Spain)](https://es.wordpress.org/plugins/smooth-entree/)
   и [Swedish](https://sv.wordpress.org/plugins/smooth-entree/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/smooth-entree)
 * Tags
 * [event calendar](https://mk.wordpress.org/plugins/tags/event-calendar/)[events](https://mk.wordpress.org/plugins/tags/events/)
   [ideal](https://mk.wordpress.org/plugins/tags/ideal/)[ticketing](https://mk.wordpress.org/plugins/tags/ticketing/)
   [tickets](https://mk.wordpress.org/plugins/tags/tickets/)
 *  [Advanced View](https://mk.wordpress.org/plugins/smooth-entree/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/smooth-entree/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/smooth-entree/reviews/)

## Contributors

 *   [ H4IT ](https://profiles.wordpress.org/h4it/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/smooth-entree/)