10Web AI lets you add an online table reservation system to your restaurant website, allowing guests to book tables based on real-time availability.
You can configure seating areas, tables, reservation schedules, booking rules, deposits, and waitlists using prompts or through your restaurant's WordPress dashboard.
This guide explains how to set up online reservations, manage bookings, and configure advanced reservation features.
If you haven't set up your website yet, start with How to Create and Manage a Restaurant Website With 10Web AI.
Step 1. Enable online table reservations
You can add a table reservation system when generating your restaurant website or enable it later through AI.
For example, include the following in your initial website prompt:
Create a modern restaurant website with an online table reservation system. Allow guests to choose a date, time, and party size, and provide their contact details and any special requests when booking.
If you've already generated your restaurant website, you can ask AI to add reservation functionality.
Example prompt:
Enable online table reservations for my restaurant. Allow guests to book tables for up to 8 people, with bookings available up to 30 days in advance.
Enable reservations manually
- Open your website's WordPress Admin Dashboard.
- Navigate to Restaurant → Settings → Switches.
- Enable Table bookings.
- Click Save Changes.
The Switches tab also lets you enable additional booking features:
- Deposits and cards on file: Require deposits or saved payment cards for selected reservations.
- The waitlist: Allow guests to join a waiting list when their preferred time is unavailable.
These features can be configured later in this guide.
Note:
Disabling table bookings prevents new reservations and hides the related management screens, but existing reservations and table configurations are preserved. Future bookings remain valid.
Step 2. Set up seating areas and tables
The booking system uses your restaurant's seating configuration to determine which tables are available for different party sizes.
You can configure seating with AI.
Example prompt:
Set up two seating areas for my restaurant: Indoor Dining and Outdoor Terrace. Add six tables for 2 people and four tables for 4 people indoors, and five tables for 4 people on the terrace.
To manage seating manually, navigate to Restaurant → Tables in your WordPress dashboard.
The Tables section contains four tabs: Tables, Joined tables, Areas, and Closing.
Create seating areas
Open the Areas tab to manage the different seating areas in your restaurant.
To add a seating area:
- Under Add New Area, enter the area name, such as Indoor, Terrace, or Private Dining.
- Optionally, provide a description.
- Click Add Area.
The existing areas are displayed with their table counts.
Every location must have at least one seating area. If your restaurant has only one area, guests will not see an area selection step during booking.
Add and manage tables
The Tables tab displays all tables, including their names, assigned seating areas, and seating capacities.
To add a table:
- Under Add New Table, enter a table name or number.
- Choose its Area.
- Specify the Smallest party and Largest party the table can accommodate.
- Click Add Table.
You can edit or remove existing tables using the corresponding actions in the table list.
The reservation system uses these capacities to automatically assign suitable tables to guests.
Configure joined tables
The Joined tables tab allows you to combine multiple tables to accommodate larger groups.
To create a joined table:
- Open the Joined tables tab.
- Select two or more tables from the same seating area.
- Enter a name for the joined table.
- Specify the minimum and maximum party size.
- Click Add Joined Table.
You can leave the maximum party size empty to use the combined capacity of the selected tables.
The reservation system uses joined tables when no suitable individual table is available. All tables in the combination must be available for the full booking duration.
Example prompt:
Allow tables T5 and T6 in Indoor Dining to be joined for parties of 5 to 8 guests.
Temporarily close tables or seating areas
The Closing tab lets you make a specific table or an entire seating area unavailable for a selected period.
For example, you may want to close your terrace during winter or reserve a dining area for a private event.
To configure a closure:
- Open the Closing tab.
- Under What, select the table or seating area you want to close.
- Set the start and end dates using From and Until.
- Under Only on, optionally select specific days of the week. Leave all days unchecked to apply the closure to every day within the selected date range.
- Enter a Reason.
- Click Check Bookings First to review any existing reservations that may be affected before proceeding.
Example prompt:
Close the outdoor terrace from November 1 through March 31 for the winter season. Keep all indoor tables available.
Closed tables and areas are excluded from new reservations. Existing bookings are flagged for staff to move rather than automatically cancelled.
Step 3. Configure reservation settings
Reservation settings determine when guests can book, how long tables are reserved, and which times are offered.
Each restaurant location can have its own booking rules.
You can update these settings using AI.
Example prompt:
Allow bookings up to 45 days in advance, require at least 2 hours' notice, and offer reservation times every 30 minutes. Limit online bookings to 8 guests.
To configure these settings manually:
- In the WordPress dashboard, navigate to Restaurant → Locations.
- Select the restaurant location you want to configure.
- Open the Booking settings tab.
The following settings are available:
| Setting | Description |
|---|---|
| Booking length by party size | Set reservation duration based on the number of guests. Add or remove party-size ranges using + Add Party Band. |
| How far ahead guests can book (days) | Control the maximum number of days in advance guests can reserve a table. |
| Minimum notice online (minutes) | Set how much advance notice is required for an online booking. |
| Largest party online | Set the maximum party size accepted through online reservations. |
| Online cancellation up to (hours before) | Define how long before a reservation guests can cancel online. |
| Time step between offered times (minutes) | Set the interval between available reservation times. |
| Pending time to pay (minutes) | Define how long a selected time is held while a guest completes a required payment or card step. |
| Waitlist pay window (minutes) | Set how long a guest has to accept an available table and complete any required payment. |
| Pacing | Limit the number of guests who can arrive within the same booking interval. |
| Guests choose an area | Allow guests to select a seating area or choose No Preference. |
| Booking hours | Set reservation hours that differ from the location's regular opening hours. |
By default, bookings can be made 30 days in advance, require 60 minutes' notice, and are offered at 15-minute intervals.
The default reservation duration is 90 minutes for 1–2 guests, 120 minutes for 3–6 guests, and 150 minutes for larger parties.
Configure arrival pacing
Pacing helps prevent too many guests from arriving at the same time.
For example, you can limit arrivals to 20 guests every 15 minutes, even when additional tables are available.
Example prompt:
Enable pacing and allow a maximum of 20 guests to arrive every 15 minutes during dinner service.
Allow guests to choose a seating area
By default, the reservation system assigns a suitable table automatically.
If you enable Guests choose an area, visitors can choose between the available seating areas or select No preference.
Example prompt:
Allow customers to choose between Indoor Dining and Outdoor Terrace when booking a table. Also include a No Preference option.
The booking engine only offers times when a suitable table is available in the selected area.
Click Save Booking Settings after making changes.
Step 4. Manage table reservations
Once reservations are enabled, customers can book tables directly through your website.
The booking process allows guests to select their preferred date, party size, available time, and seating area if enabled.
Guests then enter their contact details, allergy information, and any additional requests before confirming.
View and manage bookings
Navigate to Restaurant → Bookings in your WordPress dashboard.
The Bookings section provides two views:
- List: Displays reservations with their date and time, guest details, party size, assigned table, notes, deposit information, status, and booking source.
- Timeline: Displays reservations across tables and seating areas, making it easier to review availability and manage table assignments.
In the List view, you can select a date, use Filter to narrow the displayed reservations, and click Export to download booking information.
You can also switch between upcoming, cancelled, no-show, and all bookings using the available filters.
Add a reservation manually
Staff can create reservations for guests who call the restaurant or arrive without booking online.
To create a booking:
- Navigate to Restaurant → Bookings.
- Click Add New Booking.
- Select the reservation Day.
- Enter the number of Guests.
- Click Show free times to check availability.
- Select an available time.
- Under Table, leave Choose for me (smallest that fits) selected for automatic assignment, or choose a specific table.
- If needed, use Another time to enter a different time. You can also select Book past full or pacing when intentionally overriding availability limits.
- Enter the guest's name, phone number, and email address, if available.
- Add any allergy information under Any allergies? and additional instructions under Note for the restaurant.
- Save the booking.
For walk-ins, you can create a booking with just a first name or without a name.
If a guest's phone number or email matches an existing customer record, the booking can be associated with that customer.
Manage booking statuses and changes
Reservations can have the following statuses:
- Booked: The reservation is confirmed.
- Seated: The guests have arrived and been seated.
- Completed: The guests have finished their visit.
- Cancelled: The reservation has been cancelled.
By opening any booking staff can update reservation details, including the date, time, party size, duration, seating area, and assigned table.
The system checks availability again when relevant booking details change.
Guests cannot reschedule bookings online. They can cancel within the configured cancellation window and make a new reservation.
Note:
Only the restaurant owner can permanently delete bookings. Regular cancellations preserve the booking record and its history.
Step 5. Set up and manage the waitlist
The waitlist allows guests to request a table when their preferred reservation time is unavailable.
When a suitable table becomes available, the system can offer it to a waiting guest.
Enable the waitlist
- Navigate to Restaurant → Settings → Switches.
- Enable The waitlist.
- Click Save Changes.
You can also enable it using AI.
Example prompt:
Enable a waitlist for fully booked reservation times. Allow guests to specify their preferred time range and give them 30 minutes to accept an available table.
Manage waitlist entries
Navigate to Restaurant → Waitlist.
This screen displays the waitlist for a selected date, including guest details, party size, preferred time range, seating area, contact information, and current status.
You can filter entries by their state, export the list, and review how many bookings have been made from the waitlist.
Add a guest to the waitlist manually
- Click Add New Entry.
- Select the requested Day.
- Enter the Party size.
- Specify the preferred time range using the Between fields.
- Enter the guest's Name, Phone, and Email.
- Optionally, add a Note.
- Click Add to the Waitlist.
In the displayed manual-entry form, email is required so the guest can receive the availability notification.
When a suitable table becomes available, the system offers it to the first matching guest. If that guest does not accept within the configured window, the offer moves to the next eligible guest.
The waitlist is checked when availability changes, such as after cancellations, booking changes, or table reopenings.
Step 6. Configure deposits and payment requirements
Deposits and cards on file help protect your restaurant against last-minute cancellations and no-shows.
These features are optional and require a connected payment provider.
Enable deposits and cards on file
- Navigate to Restaurant → Settings → Switches.
- Enable Deposits and cards on file.
- Click Save Changes.
Before applying payment rules, make sure a payment provider is connected through the Payments integration.
Important:
Payment functionality is not tied to the Restaurant plugin. It is a site-wide solution that you configure once and use to collect payments for different features across your website. If the Payments section does not appear after you enable deposits and gift cards, open the 10Web Editor and prompt AI: “Enable payments on my site.” The AI will ask which functionality you want to enable payments for. Select the relevant option or skip the question to continue.
Integrate payment method
The Payments → Integrations section lets you connect a payment provider to your website so restaurant bookings and other supported features can accept payments through the same account.
You only need to connect one provider. Available options include Stripe, PayPal, Square, Braintree, Authorize.net, Razorpay, Mollie, Paystack, Mercado Pago, and iyzico.
Configure a payment provider
Find the provider you want to connect.
Select the appropriate Mode: Live or Test.
Enter the required API credentials. The fields vary by provider and may include API keys, client ID and secret, access tokens, merchant IDs, or webhook credentials.
Click Save & verify to save the configuration and verify the connection.
Each provider includes a Where to find these keys link to help you locate its credentials.
Configure checkout mode
At the top of the page, Checkout mode controls the overall checkout behavior. In Automatic mode, checkout uses live payments when a live connection is available; otherwise, it uses test mode. Click Save to apply the setting.
The individual provider's Mode setting determines whether that provider uses Live or Test credentials.
Why payment integration matters for restaurant bookings
Connecting a payment provider is necessary if you want to require deposits or saved cards for reservations.
For example, after connecting Stripe, you can configure a rule under Restaurant → Deposits to require a deposit for large parties or a card on file for guests with previous no-shows.
Important:
If no payment provider is connected, restaurant bookings can still be made, but deposit and card-on-file requirements cannot be enforced. Hosted payment providers also have different capture behavior, so check the provider's supported processing options before configuring booking payment rules.
Create a deposit or card-on-file rule
Navigate to Restaurant → Deposits.
The Rules tab displays existing payment rules, what they require, which bookings and locations they apply to, and whether they are enabled.
To create a new rule, click Add New Rule.
The rule editor contains the following options:
What it asks for
- Name: Enter a descriptive name for the rule.
- Asks for: Choose between a deposit paid during booking and a card on file that may be charged for a no-show or late cancellation.
- Amount: Set a fixed amount per person or per booking.
When it applies
- Days: Select the days when the rule applies.
- Booking times: Specify the applicable time range.
- Parties of at least: Set a minimum party size, or use 0 for any size.
- Guests: Optionally apply the rule only to guests with a previous no-show.
Staff and waitlist bookings
Choose whether the rule also applies to bookings made by staff or from the waitlist.
Finally, enable Rule is on and click Save Rule.
You can also configure these requirements using AI.
Example prompts:
Require a $10 deposit per person for dinner reservations on Fridays and Saturdays after 6 PM.
Require a $50 deposit for reservations of 6 or more guests.
Require a card on file for guests who previously missed a reservation, with a $25 no-show fee.
If multiple rules match the same booking, deposit requirements take priority over card-on-file requirements. When multiple deposit rules apply, the highest amount is used.
Manage refunds and fees
You can configure deposit refunds, late cancellation fees, and payment collection rules from Restaurant → Settings → Money in your WordPress dashboard.
Deposits
- Deposits can be refunded: Enable or disable deposit refunds for guest cancellations.
- Refund if cancelled at least: Set how many hours before the reservation guests must cancel to receive a refund. By default, this is 24 hours.
Guests who cancel within the allowed cancellation window receive their deposit back automatically. Restaurant-initiated cancellations are always refunded in full, while no-shows are non-refundable.
Cards on file and fees
- Charge a late cancellation fee: Enable fees for cancellations made after the allowed cancellation window.
- Fees are charged: Choose whether fees are charged automatically or require your approval for each charge.
- Block online booking for clients who owe money: Prevent customers with unpaid fees from making new online reservations until their outstanding balance is settled. When disabled, customers can still book, but staff will see a warning.
Click Save Changes to apply your settings.
Configure cancellation reasons
Cancellation reasons help distinguish guest-requested cancellations from restaurant-initiated cancellations.
To manage them:
- Navigate to Restaurant → Settings → Cancel reasons.
- Review the existing reasons.
- Click + Add Reason to create another.
- Enter the reason and select whether it counts as Guest asked or Restaurant.
- Click Save Changes.
The cancellation category is important for payment handling. Restaurant-initiated cancellations result in a full deposit refund without a cancellation fee.
The system also includes built-in reasons such as Not paid and Location closed.
Step 7. Configure booking messages and notifications
The Restaurant Plugin can automatically send messages to guests and staff about reservations, payments, and waitlist activity.
Configure email delivery settings
You can control how reservation notifications are sent and customize their appearance through Restaurant → Settings → Email in your WordPress dashboard.
The following options are available:
- Send through: Choose between WordPress mail and an SMTP server for sending restaurant emails.
- Sender name: Set the restaurant or business name displayed as the email sender.
- Reply-to: Enter the email address that receives replies from customers.
- Button colour: Set the color of email headers and buttons using a hexadecimal color code.
- Morning list at: Choose when staff members who have enabled the Morning list notification receive the day's reservation summary. The time follows each restaurant location's time zone.
Click Save Changes to apply your email settings.
You can manage the content of individual messages, notification schedules, and staff notification preferences from Restaurant → Messages, as described below.
This section contains three tabs: Messages, Log, and My notifications.
Configure automated messages
The Messages tab displays available notification templates, their recipients, sending times, subjects, and whether they are enabled.
Reservation-related messages include booking confirmations, reminders, changes, cancellations, deposit refunds, fee charges, waitlist updates, and payment requests.
Click a message name to edit its configuration and wording.
You can also enable or disable supported messages using their switches. Booking confirmations are always enabled.
By default, reservation reminders are sent 2 hours before the booking.
You can also configure automated messages via AI prompts.
Example prompt:
Change reservation reminders to send 24 hours before the booking and include a message asking guests to arrive 10 minutes early.
Update our booking confirmation message to include the restaurant address, reservation details, and cancellation policy.
Review the message log
The Log tab records outgoing messages and their delivery results.
You can filter messages by:
- Waiting
- Sent
- Failed
- Not sent
The log helps you identify delivery problems and understand why a message was not sent.
You can also use Send a Test to Myself to test the messaging configuration.
Configure your own staff notifications
The My notifications tab lets you choose which restaurant events trigger an email to your WordPress account address.
Available notifications include:
- New booking: Receive an email for every new reservation.
- Cancellation: Get notified when a booking is cancelled.
- Booked from the waitlist: Receive an email when a waitlisted guest books a table.
- Morning list: Receive a daily summary of the day's reservations.
- A fee could not be charged: Receive an alert when a no-show or late-cancellation charge fails.
Use the switches to enable or disable the notifications you want to receive. Changes are saved automatically.
What's next?
Your restaurant is now configured to accept and manage online table reservations.
You can continue improving your restaurant operations by managing customer profiles, offering digital gift cards, assigning staff permissions, and reviewing business performance.
For more information, see How to Manage Restaurant Customers, Gift Cards, Staff, and Reports.
If you haven't yet completed your restaurant website and menu setup, see How to Create and Manage a Restaurant Website With 10Web AI.