How to take table reservations alongside your food order system
WooCommerce Restaurant Ordering lets your customers order food online - either for home delivery, collection, or to eat in your restaurant.
There are plenty of WordPress table reservation plugins available, but these are standalone and don't integrate with your food ordering system. This article will show you how to let customers reserve a table and pre-order their food at the same time using the WooCommerce Bookings extension. This is much more user-friendly than using separate systems.
The following instructions assume that you have already used WooCommerce Restaurant Ordering to set up your online food ordering system. If you haven't already done so, do it now.
Step 1 - Set up WooCommerce Bookings
- First, go to Plugins → Add New and install WooCommerce Bookings.
- Go to Products → Add New and call it 'Reserve a table' or similar.
- Select 'Bookable Product' from the 'Product type' dropdown in the 'Product data' section:
- Set up your WooCommerce table reservation product as required. We particularly recommend the following settings for restaurant table bookings:
- Virtual - tick this box.
- Has persons - tick this box, then go to the 'Persons' tab and enter the minimum can maximum number of people that you can cater at each table.
- Availability - add the time slots for your table bookings, and any other rules or restrictions.
- Costs - Set a price if you require a deposit for booking a table, otherwise ignore this and people can make table reservations for free. Lots of restaurants require deposits for large bookings only - you can do this by selecting 'Person count' from the 'Range type' dropdown when you add a cost. Either add a fixed price for the deposit, or a per-person cost.
- Add any information to the product short description, such as details of when to arrive, booking terms, or information about pre-ordering their food.
Your finished 'Reserve a Table' bookable product will look something like this:
Step 2 - Link the table reservations to the food ordering system
Next, you need to create an intuitive navigation structure so that customers are encouraged to book a table and then pre-order their foods. There are several ways to do this, and here is one suggestion:
- Add the 'Reserve a Table' product directly to your navigation menu (Appearance → Menus). If you also want customers to be able to order food online without reserving a table, then you should add your food ordering page to the menu as a separate link.
- When customers click the 'Reserve a Table' link, they will be taken to the page for your bookable product. They can choose a date and time for their table reservation and add it to their cart.
- Next, you can encourage or require customers to pre-order their foods using the WooCommerce Restaurant Ordering plugin. The most user-friendly way to do this is to automatically redirect them to your food ordering page, which you can do with the Add to Cart Redirect plugin. Set it up to redirect people to the food ordering page when they add the 'Reserve a Table' product to the cart.
- Add a clear notice to the top of the food ordering page that the customer should either pre-order their food, or skip straight to the checkout to confirm their table reservation:
This way, customers can reserve a table, pre-order their food and checkout at the same time. If any or all of the products are free - for example, because you don't require a deposit to book a table, or because the foods are free so that people can pay on the day - then they will still be included in the customer's order. You will then receive an email with the details of everything they have ordered, including their table booking and their food selections.
Managing your table bookings
You can view and manage your table reservations in the 'Bookings' section of the WordPress admin. For added convenience, you can also automatically sync your bookings to other systems, for example using the WooCommerce Bookings - Google Calendar integration.