Five Star Restaurant Reservations


Restaurant reservations made easy. Accept reservations and table bookings online. Quickly confirm or reject restaurant reservations, send out custom email notifications, restrict booking times and more.

Includes Gutenberg restaurant block for displaying your reservation form! You can also use the handy restaurant reservation shortcode or set the reservation page directly in the plugin settings.

Key Features

  • Create a customized restaurant reservation form
  • Responsive booking form layout that looks great for mobile reservations and on all devices
  • Add your reservation form to any page via the included Gutenberg restaurant booking block or shortcode, or just choose your reservation page in the settings
  • Quickly confirm or reject a booking
  • Notify a customer by email when their request is confirmed or rejected
  • Receive an email notification when a booking request is made

Create a five star restaurant reservation experience by tailoring your form to yours and your customers’ specific needs. With options to set minimum and maxium party sizes, to require a phone number, to change the date and time format and to write a custom message after a successful online restaurant booking, you can create a familiar and comfortable atmosphere and make the reservation process as easy and effortless as possible.

Additional Restaurant Reservation Features

Our customizable restaurant reservations plugin comes with several additional features that will help ensure you’re able to set it up not only easily, but with all the options you need. It will also allow you to deliver the best and easiest online restaurant booking system for your visitors. These features include:

  • Add and edit bookings directly from the plugin admin panel
  • Set up a specific restaurant schedule by defining the times and dates available for reservation and even add exceptions
  • Support for multiple booking locations when using Business Profile
  • Send customers an email about their booking from the admin panel
  • Customize all notification messages, and date and time formats
  • Custom user role to manage bookings
  • Automatically block bookings when you’re closed, including holidays and one-off openings
  • Ban abusive customers to save money on no-shows
  • Change the language of the datepicker feature

With our reservation system, you can set up the booking schedule for you restaurant. Our settings allow you to be as broad or specific as you want with this, with options for setting the open times, the interval between booking slots, booking in advance, and even the ability to add exceptions to these options.

Premium Restaurant Reservations

With the premium version of our restaurant reservations plugin, you can extend the functionality of your booking form to offer your customers the best possible experience. Premium features include:

  • Custom Fields: Plan your dinner service better by asking for special seating requests, dietary needs and more when customers book online. Similar to open table, this allows you to customize the reservation system to have any field you want, allowing you to gather all the info you need to offer the best experience to your customers
  • Email Templates: Send beautiful email notifications with your own logo and brand colors when your customers make a reservation.
  • Export Bookings: Easily print your restaurant bookings via PDF or export them to an Excel/CSV file so you can analyze patterns, gather customer data and import bookings into other services.
  • MailChimp Integration: Subscribe new reservation requests to your MailChimp mailing list and watch your subscription rates grow effortlessly.

For further information and purchasing options, please visit our WordPress restaurant reservations homepage.

This easy restaurant booking system is one part of our suite of plugins designed to give you the best WordPress restaurant experience. Check out the powerful Restaurant Menu plugin and let your customers view your full menu directly on your site. With its intuitive and easy-to-use interface, you’ll be sure to not lose out on business to your competitors.

For help and support, please see:

  • Our FAQ page, here:
  • Our installation guide, here:
  • Our documentation and user guide, here:
  • The Restaurant Menu support forum, here:

This plugin also comes with hooks that developers can use to extend and customize it. Take a look at the Developer Documentation.


  • Easily manage bookings. View today's bookings or upcoming bookings at-a-glance. Confirm or reject bookings quickly.
  • Easy-to-use booking form with a simple, clear style that is compatible with many themes. Minimal CSS is used to make it easier to style.
  • Great, mobile-friendly date and time pickers to make it easy for your customers.
  • Clear settings page to get it working how you need.
  • Easily adjust when customers can request a booking.
  • Customize the admin notification email when a new booking request is made. Add a quick link to confirm or reject a request straight from the email.
  • Customize the notification email sent to a user when they make a new booking request.
  • Customize the notification email sent to a user when their booking is confirmed. You can also customize the email sent when a booking is rejected.
  • Add and edit bookings from an admin panel.
  • Quickly find bookings before or after a date. You can also filter by status or view just Today's bookings.
  • It also integrates with the Business Profile plugin to support booking for multiple locations.
  • Access a short guide from your Plugins list to help you get started quickly.


This plugin provides 1 block.

Booking Form


  1. Upload the ‘restaurant-reservations’ folder to the ‘/wp-content/plugins/’ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress


  1. Go to the ‘Plugins’ menu in WordPress and click ‘Add New’
  2. Search for ‘Five Star Restaurant Reservations’ and select ‘Install Now’
  3. Activate the plugin when prompted

Getting Started

  1. To place your restaurant booking form on a page:

    • Option 1: Go to the ‘General’ tab in the plugin settings and use the Booking Page dropdown to select the page on which you want your reservation form to appear.
    • Option 2: Place the included reservations Gutenberg block on the page on which you want your reservation form to appear.
    • Option 3: Place the [booking-form] shortcode on the page on which you want your reservation form to appear.
  2. To customize the form:

    • Go to the Settings area of the plugin admin and click the ‘General’ tab. There you’ll be able to set the min and max party size, the successful booking message, the date and time format and make use of our security and privacy features.
    • Also in the Settings area, go to the ‘Booking Schedule’ tab. There you’ll be able to set your restaurant’s schedule, the interval between booking slots, earliest and latest bookings and also create exceptions for the schedule.
  3. To set up notifications.

    • Go to the ‘Notifications’ tab in the settings.
    • Use the Subject and Email fields there to craft your message for each different circumstance
    • There is also a list of template tags there that you can include in your messages to display reservation-specific messages about the table reserved.
  4. To view and manage your bookings:

    • Go to the ‘Bookings’ area of the plugin admin.
    • There you’ll be able to view and modify any bookings that have been placed on your site.
    • You’ll also be able to manually create a new restaurant reservation (e.g. a reservation you took over the phone).

For a list of specific features, see the Restaurant Menu description page here:

For help and support, please see:

  • Our FAQ page, here:
  • Our documentation and user guide, here:
  • The Restaurant Menu support forum, here:


Is there a shortcode to print the booking form?

Yes, use the [booking-form] shortcode.

Can I change the format of the date or time?

Yes, set the format for the datepicker in Bookings > Settings. The format used in the backend will depend on the date and time formats in your WordPress settings.

The datepicker or timepicker is not working.

If you load up the form and no date or time picker is popping up when you select those fields, this is likely caused by a Javascript error from another plugin or theme. You can find the problematic plugin by deactivating other plugins you’re using one-by-one. Test after each deactivation to see if the date and time pickers work.

If you have deactivated all other plugins and still have a problem, try switching to a default theme (one of the TwentySomething themes).

I’m not receiving notification emails for new bookings.

This is almost always the result of issues with your server and can be caused by a number of things. Before posting a support request, please run through the following checklist:

  1. Double-check that the notification email in Bookings > Settings > Notifications is correct.
  2. Make sure that WordPress is able to send emails. The admin email address in the WordPress settings page should receive notifications of new users.
  3. If you’re not able to receive regular WordPress emails, contact your web host and ask them for help sorting it out.
  4. If you’re able to receive regular WordPress emails but not booking notifications, check your spam filters or junk mail folders.
  5. If you still haven’t found the emails, contact your web host and let them know the date, time and email address where you expected to receive a booking. They should be able to check their logs to see what is happening to the email.
Can I make the phone number required?

This is a common request so I have written a small addon to do this for you. Learn more.

Can I translate the booking form?

Yes, everything in this plugin can be translated using the standard translation process and software like PoEdit. If you’re not familiar with that process, I’d recommend you take a look at the Loco Translate plugin, which provides a simple interface in your WordPress admin area for translating themes and plugins.

I set Early or Late Bookings restrictions, but I scan still book during that time

Users with the Administrator and Booking Manager roles are exempt from these restrictions. This is so that they can make last-minute changes to bookings as needed. If you want to test the Early or Late Bookings restrictions, try logging out and testing.

I want to add a field to the form. Can I do that?

The addon, Custom Fields for Restaurant Reservations, will allow you to add a field or modify some of the existing fields of the booking form. Developers who are comfortable coding up plugins for WordPress can add their own fields using the hooks provided. Developers can find a rough guide to coding a custom field in the answer to this support request.

More questions and answers

Find answers to even more questions in the FAQ.


May 3, 2019
I am a restaurant owner, and if you want to have a profitable business, it is essential to have enough guests. They want to make a lunch or dinner reservation in comfort of their home, and Restaurant Reservation ensures them that. It is easy to confirm or reject a booking and much more.
May 3, 2019
And the developer himself provided prompt support when something didn't work! Would recommend. We use it for a multi site restaurant with more than one location.
April 27, 2019
This plugin is easy to configure and does its job well. Good job, thanks!
December 16, 2018
This plugin works really good! If the e-mailing don't work I recommend using the Easy WP SMTP plugin - it did the trick for me. I would like to add a feature: a loading animation while the booking mail is being sent. This process takes a couple of seconds, and without it, it's hard for the user to know if anything is happening.
November 23, 2018
Absolutely great plugin, a must have for any restaurant. We have installed it on a website for a big client and it has been working great for months. The given options are easy to use and thought trough. There are no features we have missed. The only big downside of this all, is that the plugin does not use template files. So changing the html (layout) output is pretty much a hassle staying update proof. Something that is needed when using a frontend framework like UIkit. If this plugin would be using template files you can overwrite in your theme we would never ever have stopped using it.
Read all 96 reviews

Contributors & Developers

“Five Star Restaurant Reservations” is open source software. The following people have contributed to this plugin.


“Five Star Restaurant Reservations” has been translated into 11 locales. Thank you to the translators for their contributions.

Translate “Five Star Restaurant Reservations” into your language.

Interested in development?

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

Change log


  • Name change and new banner and icon

1.8.2 (2019-03-18)

  • Fix: Date and time picker in latest Chromium version

1.8.1 (2018-12-12)

  • Fix: Booking form block loads without correct location in editor

1.8 (2018-12-11)

  • Add: Gutenberg block for the booking form

1.7.8 (2018-09-13)

  • Add: #126 Setting to override the FROM header’s email address
  • Fix: #136 Preserve consent acquired state when booking is edited
  • Update: German, French and Dutch translations

1.7.7 (2018-04-27)

  • Add: #135 Option to collect consent to store data (GDPR)
  • Add: #135 Ability to delete all bookings related to an email address (GDPR)
  • Fix: Some data not updated in confirm/reject emails when changed

1.7.6 (2017-05-15)

  • Fix: Prevent IP address from being modified after initial submission
  • Fix: Schema type for Bakery used when integrating with Business Profile

1.7.5 (2017-03-31)

  • Add: #104 Show count of upcoming pending bookings in admin nav menu
  • Add: #44 Reject invalid email addresses in booking requests
  • Add: Setting to require a phone number
  • Add: Recommended themes with booking form styles listed in the Addons page

1.7.4 (2017-03-21)

  • Fix: Wrong time restrictions for day one month in advance. See #102
  • Add: Disable button when submitted to prevent duplicate submissions
  • Add: Polish translation. h/t Wojciech Sadowski

1.7.3 (2017-03-02)

  • Fix: Apply late bookings restrictions more than 1 day to date picker
  • Fix: Allow multiple email addresses for location-specific admin notifications
  • Fix: Translation textdomain used for Business Profile integration
  • Add: Apply early bookings restrictions to the date picker

1.7.2 (2017-01-12)

  • Fix: acceptsReservations schema property sometimes didn’t appear in Business Profile integration
  • Update: improve early bookings options language. Changed “Up to X days in advance” to “From X days in advance”.

1.7.1 (2016-12-14)

  • Fix: Submitted by date and time in the bookings list
  • Fix: Fatal error when creating a new location with the Business Profile plugin
  • Fix: Remove or archive unexpected “Auto Draft” that was created in some circumstances

1.7 (2016-12-05)

  • Add: Allow customer banning by email and IP address
  • Add: HTML5 required and aria-required attributes where appropriate
  • Add: Disable times in the time picker blocked by late bookings restrictions
  • Add: Option to block same-day bookings
  • Add: Option for minimum party size
  • Fix: Location printed twice in booking details
  • Fix: Allow Bookings Managers to edit bookings in the past
  • Update: Deprecated RTB_LOAD_FRONTEND_ASSETS moved rtb-load-frontend-assets filter
  • Update: Sort bookings by latest date first when viewing All bookings

1.6.3 (2016-10-31)

  • Fix: Exporting bookings by location (addon). Location query args are now support for rtbQuery objects.
  • Add: Option to select start of the week for the datepicker

1.6.2 (2016-08-20)

  • Fix: Broken time picker introduced in 1.6.1

1.6.1 (2016-08-19)

  • Fix: Support location post ids in booking form shortcode
  • Fix: JavaScript error if the time field is hidden
  • Fix: Fix booking detail popup issue when used with custom fields addon
  • Add: Notification template tag for location: {location}
  • Add: Russian language translation. h/t Alexandra Kuksa
  • Update: Spanish language translation. h/t Matias Rodriguez

1.6 (2016-06-20)

  • Fix: Currently visible notice in bookings list on mobile devices
  • Fix: Conflict with WooCommerce that prevented booking managers from viewing bookings
  • Add: Support multi-location bookings
  • Add: Add reservation markup when Business Profile used
  • Add: Allow custom first day of the week for date picker

1.5.3 (2016-03-25)

  • Fix: no bookings found when searching by start and end dates that are the same
  • Add: clarify that early/late bookings restrictions don’t apply to admins
  • Add: Brazilian and Norwegian translations
  • Update: Dutch translation
  • Update: link to new online documentation
  • Other: Tested for compatibility with WP 4.5

1.5.2 (2016-02-29)

  • Fix: booking managers can not confirm/reject bookings

1.5.1 (2016-02-19)

  • Fix: increase security of the quicklink feature for confirming/rejecting bookings
  • Fix: Improve wp-cli compatibility

1.5 (2015-12-17)

  • Fix: pickadate iOS bug
  • Fix: Bookings table’s Today view didn’t respect WordPress timezone setting
  • Add: Allow bookings table columns to be toggled on/off
  • Update: Convert message column/row drop-down to a details modal for all hidden columns
  • Update: Put focus into message field when expanded in booking form

1.4.10 (2015-10-29)

  • Fix: Allow settings page required capability to be filtered later
  • Fix: Compatibility issue with old versions of jQuery
  • Add: Spanish translation from Rafa dMC

1.4.9 (2015-10-06)

  • Fix: iOS 8 bug with date and time pickers
  • Add: newsletter signup prompt to addons page

1.4.8 (2015-08-20)

  • Add: WPML config file for improved multi-lingual compatibility
  • Add: Danish translation by Yusef Mubeen
  • Fix: Allow bookings managers to bypass early/late bookings restrictions
  • Fix: No times available when latest time falls between last interval and midnight
  • Updated: Improve bookings message view on small screens (adapt to 4.3 style)
  • Updated: Simple Admin Pages lib to v2.0.a.10
  • Updated: Dutch translation h/t Roy van den Houten and Clements Tolboom

1.4.7 (2015-07-02)

  • Add: Spanish translation from Joaqin Sanz Boixader
  • Fix: Sorting of bookings by date and name in list table broken
  • Fix: Custom late bookings values more than one day aren’t reflected in date picker
  • Fix: Norwegian doesn’t include time picker translation for some strings
  • Updated: German translation from Roland Stumpp
  • Updated: pickadate.js language translations

1.4.6 (2015-06-20)

  • Add: Remove old schedule exceptions and sort exceptions by date
  • Add: CSS class indicating type of booking form field
  • Fix: Extended Latin can cause Reply-To email headers to fail in some clients
  • Fix: PHP Warning when performing bulk or quick action in bookings panel
  • Fix: Message row lingers after booking trashed in admin panel
  • Updated .pot file

1.4.5 (2015-04-23)

  • Fix: Loading spinner not visible due to 4.2 changes
  • Add: new addon Export Bookings released

1.4.4 (2015-04-20)

  • Fix: low-risk XSS security vulnerability with escaped URLs on admin bookings page

1.4.3 (2015-04-20)

  • Add: Datepickers for start/end date filters in admin bookings list
  • Fix: Disabled weekdays get offset when editing bookings
  • Fix: Start/end date filters in admin bookings list
  • Fix: Booking form shouldn’t appear on password-protected posts
  • Fix: Dutch translation
  • Updated: Dutch and German translations
  • Updated: pickadate.js lib now at v3.5.6

1.4.2 (2015-03-31)

  • Fix: Speed issue if licensed addon active

1.4.1 (2015-03-31)

  • Add: rtbQuery class for fetching bookings
  • Add: Centralized system for handling extension licenses
  • Add: Several filters for the bookings admin list table
  • Add: French translation h/t I-Visio
  • Add: Italian translation h/t Pierfilippo Trevisan
  • Updated: German translation h/t Roland Stumpp
  • Fix: Button label in send email modal

1.4 (2015-02-24)

  • Add: Send a custom email from the bookings list
  • Add: Hebrew translation. h/t Ahrale
  • Add: Default template functions for checkbox, radio and confirmation fields
  • Fix: Replace dialect with more common German in translation file. h/t Roland Stumpp

1.3 (2015-02-03)

  • Add and edit bookings from the admin area
  • Fix: date and time pickers broken on iOS 8 devices
  • Add complete German translation from scolast34
  • Add partial Dutch and Chilean translations
  • Change Party text field to a dropdown selection
  • Bookings admin panel shows upcoming bookings by default
  • Use new HTML5 input types for email and phone
  • Change textdomain to comply with upcoming translation standards
  • Improve WPML compatibility
  • New support for assigning custom classes to fields, fieldsets and legends. h/t Primoz Cigler
  • New filters for email notifications
  • Fix: some bookings menu pages don’t load when screen names are translated
  • Fix: addons list won’t load if allow_url_fopen is disabled

1.2.3 (2014-11-04)

  • Add a {user_email} notification template tag
  • Add filter to notification template tag descriptions for extensions
  • Add Reply-To mail headers and use a more reliable From header
  • Add filter to the datepicker rules for disabled dates
  • Fix: missing “Clear” button translation in time picker for many languages
  • Fix: open time picker in body container to mitigate rare positioning bugs
  • Fix: don’t auto-select today’s date if it’s not a valid date or errors are attached to the date field

1.2.2 (2014-08-24)

  • Fix: custom date formats can break date validation for new bookings
  • Add new booking form generation hooks for easier customization
  • Add support for upcoming MailChimp addon
  • Add new addons page
  • Update Simple Admin Pages library to v2.0.a.7

1.2.1 (2014-08-01)

  • Fix: bulk actions below the bookings table don’t work
  • Fix: PHP Notice generated during validation

1.2 (2014-07-17)

  • Add notification template tags for phone number and message
  • Add automatic selection of date when page is loaded (option to disable this feature)
  • Add option to set time interval of time picker
  • Fix auto-detection of pickadate language from WordPress site language
  • Fix duplicate entry in .pot file that caused PoEdit error

1.1.4 (2014-07-03)

  • Add a .pot file for easier translations
  • Fix notifications that showed MySQL date format instead of user-selected format
  • Fix Arabic translation of pickadate component
  • Add support for the correct start of the week depending on language

1.1.3 (2014-05-22)

  • Fix an error where the wrong date would be selected when a form was reloaded with validation errors

1.1.2 (2014-05-14)

  • Update Simple Admin Pages library to fix an uncommon error when saving Textarea components

1.1.1 (2014-05-14)

  • Update Simple Admin Pages library to fix broken Scheduler in Firefox

1.1 (2014-05-12)

  • Attempt to load the correct language for the datepicker from the WordPress settings
  • Add support for choosing a language for the datepicker if different from WordPress settings
  • Allow late bookings to be blocked 4 hours and 1 day in advance
  • Fix: don’t show settings under WordPress’s core General settings page

1.0.2 (2014-05-08)

  • Remove development tool from codebase

1.0.1 (2014-05-08)

  • Replace dashicons caret with CSS-only caret in booking form

1.0 (2014-05-07)

  • Initial release