=== Five Star Restaurant Reservations - WordPress Booking Plugin ===
Contributors: Rustaurius
Tested Up To: 6.9
Tags: reservation, reservations, restaurant reservations, reservation form, restaurant, restaurant booking, restaurant reservation form, restaurant booking form, restaurant booking system, reservation system, online reservations, online restaurant booking, dinner reservations, restaurant form, gutenberg reservations, gutenberg restaurant reservations, gutenberg restaurant booking, mobile reservations, responsive reservations, table reservations, open table, book table, reserve table, easy reservations, simple reservations, quick restaurant reservations, custom reservation form, custom restaurant reservations
Stable tag: 2.7.9
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Donate Link: https://www.etoilewebdesign.com/plugin-donations/

Restaurant reservations made easy. Accept bookings online. Quickly confirm or reject reservations, send email notifications, set booking times and more.

== Description ==

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.

👩‍💻 [Demo](https://www.fivestarplugins.com/restaurant-reservations-ultimate-demo/) | 🌟 [Premium](https://www.fivestarplugins.com/plugins/five-star-restaurant-reservations/) | ℹ️ [Support](https://www.fivestarplugins.com/support-center/)

Comes with customizable **Gutenberg restaurant block** and **restaurant reservation shortcode**, so you can display your booking form on any page, no matter which page editing system you are using. We also **include several patterns**, so you can integrate your forms directly into your block-based theme.

### 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
- Set up a specific restaurant schedule by defining the times and dates available for reservation
- Quickly [confirm or reject](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/bookings/confirm-reject-bookings) a booking
- Notify a customer by email when their request is confirmed or rejected
- Receive an [email notification](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/notifications/) when a booking request is made

### Set up in < 5 Minutes!

Five Star Restaurant Reservations comes with a user-friendly walk-through that runs automatically when you activate the plugin and will help you add the booking form to your site and set key options!

[youtube https://www.youtube.com/watch?v=a-dJeE2Ilh4]

### Add the Booking Form to Any Page

Simply insert the *Booking Form* block or the shortcode below to add the reservation form to any page.

`[booking-form]
`

### Automatic Email Notifications

The Five Star Restaurant Reservations plugin automatically sends out email notifications to both the person who made the reservation and to the admin. These are triggered for new pending bookings, both to the customer and to the admin, so you can approve it, as well as for confirmed or denied bookings (to the customer).

You can customize the content of each of the above messages to help streamline your booking and approval processes, including using our built-in [template tags](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/notifications/template-tags) to include specific booking information.

### Customize Your Booking Form

Create a five star restaurant reservation experience by tailoring your form to yours and your customers' specific needs. With options to set minimum and maximum 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
- Add exceptions to your schedule (e.g. for holidays and special events)
- With our intuitive and fully customizable [notification configuration table](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/notifications/email-content), you can create as many different notifications as you need. Choose the action trigger (e.g. setting a booking to confirmed), the recipient (admin or guest), the message type (email or SMS [requires ultimate version, see below]), and write a unique subject and message. We even have [template tags](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/notifications/template-tags) that can be used to dynamically include booking information in the notification message.
- Send customers [an email](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/notifications/send-emails) about their booking from the admin panel
- Option to automatically confirm reservations below a certain party size.
- Customize the date and time formats.
- Automatically [block bookings](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/bookings/schedule) when you're closed, including holidays and one-off openings
- [Ban abusive customers](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/bookings/ban-customers) to save money on no-shows
- Change the language of the datepicker feature

### Customizable Booking Schedule

With our reservation system, you can set up the booking schedule for your 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.

You know your customers best. By setting a custom schedule, enabling features like automatic confirmation and creating custom notifications, you can tailor your restaurant booking form to meet the specific requirements of your restaurant and business. 

### Multiple Locations

If you have multiple restaurant locations, you can easily add this as a choice to your booking form. This is made possible by integrating with the [Five Star Business Profile](https://wordpress.org/plugins/business-profile/) plugin. When you [enable and create multiple locations in that plugin](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/multiple-locations/), they will automatically show up and be included in the Five Star Restaurant Reservations plugin. This lets you:

- Have a dropdown in your booking form to let your guests choose which location they want to reserve at.
- Set separate schedules and exceptions for each location.
- Set separate restrictions and limits at each location (premium feature, see below).

No need to have many separate forms or pages, or a complicated solution, to accept bookings at your multiple locations. Five Star Restaurant Reservations has you covered!

That being said, if you do need to create a separate form for each location, this is easily made possible via a [shortcode attribute](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/multiple-locations/#location-shortcode) that lets you specify the location of the form. This will make it so the location selector does not show in the booking form and so that the booking is automatically assigned to this location.

### Limit the Number of People or Reservations (Requires Premium)

The premium version of our restaurant reservations plugin comes with several features that let you restrict the number of people in your restaurant, so you can be sure to never overbook.

- Set a dining block length used as a guide to apply the restrictions.
- Set a maximum number of reservations allowed per dining block length.
- Or set a maximum number of seats/people allowed per dining block length.
- Additional options to set a maximum number of reservations or seats per dining block length below which all bookings will be automatically confirmed.
- Works in tandem with all other restriction options (e.g. party size, auto-confirmation of bookings, early bookings, etc.) to make sure only available days and time slots that match all settings show in the booking form.
- Multiple Locations: Both the maximum reservation and maximum seats settings are configurable on a per-location basis.

[youtube https://www.youtube.com/watch?v=XsDvPklGgF4]

### Custom Booking Form Fields (Requires Premium)

The premium version of our restaurant booking form plugin comes with the ability to create new custom fields and add them to your reservation form. With options for text input fields, dropdowns, checkboxes or radio buttons, you can use these fields to gather any extra info you need from the people making reservations on your site.

If you offer discount or promo codes, let people specify theirs at reservation time. If you would like to collect allergy info or let people choose from certain dietary concerns, this is easily made possible via custom fields. The possibilities are endless.

### Premium Notifications

The premium version comes with a notifications table feature, via which you can create an unlimited number of unique notifications. You specify a trigger/event (e.g. new pending booking, confirmed booking, closed booking, etc.), a target (person booking or the admin), an email subject and the message. You can use the same template tags to include specific booking information, but now in an unlimited number of emails for any trigger.

[Learn More](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/notifications/notifications-table)

### Premium Restaurant Reservations

The premium version comes with many other features that let you extend the functionality of your booking form to offer your customers the best possible experience. These include:

- Stylish New Layout Options: Choose from multiple modern restaurant form layouts to find the one that best suits your site. 
- 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. This feature also allows you to modify the existing default fields.
- View Bookings Page: Create a page on the front end of your site that displays upcoming bookings and allows you to check in guests who have arrived. Any custom fields you create can also be displayed in the view bookings table. This makes it a great tool for your restaurant manager or host, as they can view the bookings for today and check guests in. There is also an option to make this page private, so it only shows if you're logged in.
- Advanced Notifications: With the intuitive [notification configuration table](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/notifications/notifications-table), you can create an unlimited number of notifications and bind them to any status/trigger/event you wish.
- Email Templates and Designer: Send beautiful email notifications with your own logo and brand colors when your customers make a reservation. A separate template is available for each notification that you create. 
- 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. Includes an option to add a checkbox to the booking form, so guests can choose whether or not to opt in for this.
- Styling Options: Many styling options are included that let you set the color, font-size, borders, etc. for the different elements of the booking form.
- Labelling Options: The premium version of the restaurant reservations plugin comes with options to modify the text of all labels and messages that show on the front end. This includes the booking form fields and validation messages, the cancel reservation form, the view bookings form/table as well as elements specific to the ultimate version (such as the deposit payment page).

### Table Booking (Requires Ultimate)

The ultimate version of Five Star Restaurant Reservations comes with a powerful feature that lets you create sections and tables for your restaurant. You can then add a field to your booking form that lets guests choose which table they want when booking.

You are able to specify how many people each table can accommodate and even which other tables it can be combined with. This then works hand in hand with existing bookings, your dining block length and your reservation/people limits, to ensure the tables available to guests when booking are truly only those that are still free.

There is even an option to include your own table layout graphic, so people can visualize the available tables and choose the most appropriate.

Take table management out of your hands and let the plugin do it for you!

### SMS Alerts (Requires Ultimate)

With the ultimate version, you can send SMS alerts to guests, and even to the admin if you want. Via the same notifications table, for each new notification that you create, you can now choose whether you want the method to be email or SMS. Want both? This is also possible. You can create as many different notifications as you want, including multiple for the same trigger/event.

= Restaurant Reservations Ultimate = 

The ultimate version of our restaurant reservations plugin contains several powerful features to give you and your guests an amazing booking experience, and also to help you reduce the amount of no-shows at your restaurant. These include:

- **Booking by Table**: Add your restaurant's tables to the plugin and allow (or require) guests to select a table when they make their reservation, based on the booking time and party size.
    - You can set a minimum and maximum number of seats at each table.
	- You can also combine tables to let people book for large parties.
    - You can configure your tables on a per-location basis.
    - Upload and display a table layout graphic with your reservation form, so guests can visualize exactly where/what they're booking.
- **Conditional Maximums**: Set separate maximums (reservations or people) for each scheduling rule or exception that you have. Now you can have, for example, a separate capacity for lunch and dinner services, or manage your capacities differently on the weekend. 
- **Booking Deposits**: Require a deposit, either per guest or per reservation, when someone makes a reservation, to help prevent no-shows.
    - Both Stripe and PayPal are available as payment gateways.
        - The Stipe payment gateway now makes use of their **payment intents** system. With this you can enable many different types of payment methods, all directly from within your Stripe account. These include **credit card, Apple Pay, Google Pay, direct debit, Afterpay and many other country- and region-specific methods**.
    - We've also provided a method for you to programatically add a different/your own gateway ([more info](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/payments/custom-gateway)).
    - Options to require deposit only for certain party sizes or only at certain times.
    - Option to set table-specific deposit amounts.
    - Option to take the deposit as a hold and charge/capture payment at a later time (e.g. when you confirm the booking or on the reservation date, etc.).
- **SMS Notifications**: Set the notification type to SMS for any notification trigger event, to the admin or customer, all via the [notification configuration table](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/notifications/notifications-table).
- **Reservation Reminders**: Send an **SMS** or email reminder message before a booking at a time that you specify (e.g. 4 hours before a reservation).
- **Late-Arrival Notices**: Send an **SMS** or email message when a guest is late for their reservation by a specified amount of time.
- **Post-Reservation Follow-Up**: Send a follow-up **SMS** or email message a specified amount of time after the reservation (e.g. 18 hours, 2 days, etc.). This can be used to get customer feedback, request a review, offer a promotion, or anything else!

[youtube https://www.youtube.com/watch?v=0DigZnw_3Qw]

### Five Star Restaurant Manager Mobile App

The ultimate version also syncs directly with our [Five Star Restaurant Manager](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/fsrm/) mobile app, for iOS and Android, which lets you manage your bookings from your phone or tablet without needing to log in to your site/WordPress. With this, you can:

- Receive push notifications every time there is a new booking.
- View all new and existing bookings directly in the app.
- Change the status (e.g. to confirmed) of a booking.
- Check people in as they arrive.
- Includes filtering options, so you can quickly find the booking(s) you are looking for.

The app works in tandem with the restaurant reservations on your site. So, not only do the bookings and statuses immediately sync up, but, for example, when you check someone in via the app, it will tell your site to not send them a late-arrival notification. 

With these features, you can set the app up on a tablet for your host to use front of house to manage the bookings for the day and check people in, or for you to manage them anywhere on the go!

### More Info About Five Star Restaurant Reservations Premium and Ultimate

For further information and purchasing options, please visit our [WordPress restaurant reservations](https://www.fivestarplugins.com/plugins/five-star-restaurant-reservations/) homepage.

*We are pleased to offer a free 7-day trial of either the premium version or the ultimate version, which you can use to test out features like the reservation restrictions, custom fields and payment deposits before buying!*

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](https://wordpress.org/plugins/food-and-drink-menu/) plugin and let your customers view your full menu and place food orders 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 Booking Form Help and Support

- [Plugin documentation](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/)
- Our FAQ pages [here](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/faq) and [here](https://wordpress.org/plugins/restaurant-reservations/faq/)
- [Installation guide and information about the walk-through](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/getting-started/install)
- [Tutorial videos](https://www.youtube.com/playlist?list=PLEndQUuhlvSpWIb_sbRdFsHSkDADYU7JF)
- [Support forum](https://wordpress.org/support/plugin/restaurant-reservations/)
- [Our Support Center](https://www.fivestarplugins.com/support-center/)

### Developer Tools

This plugin also comes with hooks that developers can use to extend and customize it. Take a look at the [Developer Documentation](https://doc.fivestarplugins.com/plugins/restaurant-reservations/developer/) to find out more.

== Installation ==

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

or

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 =

After activating the plugin, **a walk-through will run automatically**, which will help you to add the booking form to your site and set key options.

You can also follow these steps to configure the plugin. 

1. To place your restaurant booking form on a page:
    - Option 1: Go to the Basic 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 Basic tab. There you'll be able to set the minimum and maximum 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 notification configuration table to create all the notifications you need.
    - There is also a list of template tags there that you can include in your messages to display reservation-specific messages about the booking.
	
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 Reservations description page here: https://wordpress.org/plugins/restaurant-reservations/.

### For help and support, please see:

- [Plugin documentation](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/)
- Our FAQ pages [here](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/faq) and [here](https://wordpress.org/plugins/restaurant-reservations/faq/)
- [Installation guide and information about the walk-through](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/getting-started/install)
- [Tutorial videos](https://www.youtube.com/playlist?list=PLEndQUuhlvSpWIb_sbRdFsHSkDADYU7JF)
- [Support forum](https://wordpress.org/support/plugin/restaurant-reservations/)
- [Our Support Center](https://www.fivestarplugins.com/support-center/)

== Frequently Asked Questions ==

= Is there a Gutenberg block to display the booking form? =

Yes, just search for the 'Booking Form' block and add that to your page.

= Is there a shortcode to display 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 *Settings > Basic*.

= 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 *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? =

Yes, there is an option for this in the Basic area of the Settings page.

= 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](https://wordpress.org/plugins/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 premium version does indeed come with a custom fields feature that lets you add new fields and modify existing ones.

= More questions and answers =

Find answers to even more questions in the [FAQ](http://doc.fivestarplugins.com/plugins/restaurant-reservations/user/faq).

### For help and support, please see:

- [Plugin documentation](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/)
- Our FAQ pages [here](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/faq) and [here](https://wordpress.org/plugins/restaurant-reservations/faq/)
- [Installation guide and information about the walk-through](https://doc.fivestarplugins.com/plugins/restaurant-reservations/user/getting-started/install)
- [Tutorial videos](https://www.youtube.com/playlist?list=PLEndQUuhlvSpWIb_sbRdFsHSkDADYU7JF)
- [Support forum](https://wordpress.org/support/plugin/restaurant-reservations/)
- [Our Support Center](https://www.fivestarplugins.com/support-center/)

== Changelog ==

= 2.7.9 (2026-01-09) =
- Patch for low priority/no impact CSRF vulnerability reported by Patchstack.

= 2.7.8 (2025-12-18) =
- Fix: When updating a booking from the admin, notifications were being sent all the time instead of only when the "Send notifications" box was checked.
- Modified: Added more status change triggers for sending notifications after updating a booking via the admin (so, now, notifications can also be sent if moving a booking from confirmed to closed, from closed to confirmed and from cancelled to confirmed).

= 2.7.7 (2025-12-02) =
- Tested with WordPress 6.9.
- Fixed an issue related to reported Wordfence vulnerability.

= 2.7.6 (2025-11-17) =
- Added a new "Admin Ignore Schedule" option, so admins can create bookings outside their created scheduling rules and exceptions.

= 2.7.5 (2025-10-20) =
- Fixed an issue causing an error to sometimes display when clicking the "proceed to deposit" button in the booking form when using the Stripe gateway.

= 2.7.4 (2025-10-16) =
- Update to increase security related to payments and displaying payment summary information.

= 2.7.3 (2025-09-23) =
- Updated admin notice capability.

= 2.7.2 (2025-08-27) =
- Fixed an issue with location-specific maximums being incorrectly calculated.

= 2.7.1 (2025-08-19) =
- Minor bugfix for multiple locations settings

= 2.7.0 (2025-07-30) =
- **IMPORTANT NOTE: Significant updates have been made to the styling of the "Minimal" booking form layout option. If you are using this layout, we highly recommend that you install the update on a staging environment first and test with with the updated style, especially if you have customized the layout and/or CSS.**
- Refresh of the "Minimal" booking form layout.
- Redesign of the plugin admin.
- Added: You can now specify a from alphanumeric sender ID for SMS notifications, to be used instead of the phone number. 
- Added: You can now search for a booking by phone number on the Bookings admin screen.
- Added: A character count warning when creating/editing SMS notifications, to help you prevent sending multiple messages for each notification.
- Changed: Daily summary email now only sends if there are bookings on that day.
- Changed: Added a blank entry at the top of the table select dropdown in the edit booking modal in the admin (to allow admins to make a booking that is not assigned to any table).
- Changed: Dining Block Length setting can now be changed on a per-location basis.
- Fixed: After selecting the required checkbox in the custom field edit screen, and saving your changes, the required checkbox remained unselected within the custom field edit screen.
- Fixed: In the ultimate version, if, on the Advanced settings screen, you used the "Global" dropdown to select a scheduling rule, then opened it again and selected All, it wouldn't populate any options.
- Fixed: In the front-end booking form, if using the blank party size option, if you selected a date and time while the party dropdown was still blank, it would show a false alert saying no table is available, until you selected a party size.

[See changelog for all versions](https://www.fivestarplugins.com/changelogs/restaurant-reservations.txt).