[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fiAyvouQ7wCUV-jvmJYT-MZrFeamG_y7zRA6i7O2WXfE":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":17,"tags":18,"homepage":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":141,"crawl_stats":36,"alternatives":149,"analysis":251,"fingerprints":1611},"restaurant-reservations","Five Star Restaurant Reservations – WordPress Booking Plugin","2.7.13","Rustaurius","https:\u002F\u002Fprofiles.wordpress.org\u002Frustaurius\u002F","\u003Cp>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.\u003C\u002Fp>\n\u003Cp>👩‍💻 \u003Ca href=\"https:\u002F\u002Fwww.fivestarplugins.com\u002Frestaurant-reservations-ultimate-demo\u002F\" rel=\"nofollow ugc\">Demo\u003C\u002Fa> | 🌟 \u003Ca href=\"https:\u002F\u002Fwww.fivestarplugins.com\u002Fplugins\u002Ffive-star-restaurant-reservations\u002F\" rel=\"nofollow ugc\">Premium\u003C\u002Fa> | ℹ️ \u003Ca href=\"https:\u002F\u002Fwww.fivestarplugins.com\u002Fsupport-center\u002F\" rel=\"nofollow ugc\">Support\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Comes with customizable \u003Cstrong>Gutenberg restaurant block\u003C\u002Fstrong> and \u003Cstrong>restaurant reservation shortcode\u003C\u002Fstrong>, so you can display your booking form on any page, no matter which page editing system you are using. We also \u003Cstrong>include several patterns\u003C\u002Fstrong>, so you can integrate your forms directly into your block-based theme.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Create a customized restaurant reservation form\u003C\u002Fli>\n\u003Cli>Responsive booking form layout that looks great for mobile reservations and on all devices\u003C\u002Fli>\n\u003Cli>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\u003C\u002Fli>\n\u003Cli>Set up a specific restaurant schedule by defining the times and dates available for reservation\u003C\u002Fli>\n\u003Cli>Quickly \u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fbookings\u002Fconfirm-reject-bookings\" rel=\"nofollow ugc\">confirm or reject\u003C\u002Fa> a booking\u003C\u002Fli>\n\u003Cli>Notify a customer by email when their request is confirmed or rejected\u003C\u002Fli>\n\u003Cli>Receive an \u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fnotifications\u002F\" rel=\"nofollow ugc\">email notification\u003C\u002Fa> when a booking request is made\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Set up in \u003C 5 Minutes!\u003C\u002Fh3>\n\u003Cp>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!\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002Fa-dJeE2Ilh4?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>Add the Booking Form to Any Page\u003C\u002Fh3>\n\u003Cp>Simply insert the \u003Cem>Booking Form\u003C\u002Fem> block or the shortcode below to add the reservation form to any page.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[booking-form]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Automatic Email Notifications\u003C\u002Fh3>\n\u003Cp>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).\u003C\u002Fp>\n\u003Cp>You can customize the content of each of the above messages to help streamline your booking and approval processes, including using our built-in \u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fnotifications\u002Ftemplate-tags\" rel=\"nofollow ugc\">template tags\u003C\u002Fa> to include specific booking information.\u003C\u002Fp>\n\u003Ch3>Customize Your Booking Form\u003C\u002Fh3>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch3>Additional Restaurant Reservation Features\u003C\u002Fh3>\n\u003Cp>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:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Add and edit bookings directly from the plugin admin panel\u003C\u002Fli>\n\u003Cli>Add exceptions to your schedule (e.g. for holidays and special events)\u003C\u002Fli>\n\u003Cli>With our intuitive and fully customizable \u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fnotifications\u002Femail-content\" rel=\"nofollow ugc\">notification configuration table\u003C\u002Fa>, 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 \u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fnotifications\u002Ftemplate-tags\" rel=\"nofollow ugc\">template tags\u003C\u002Fa> that can be used to dynamically include booking information in the notification message.\u003C\u002Fli>\n\u003Cli>Send customers \u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fnotifications\u002Fsend-emails\" rel=\"nofollow ugc\">an email\u003C\u002Fa> about their booking from the admin panel\u003C\u002Fli>\n\u003Cli>Option to automatically confirm reservations below a certain party size.\u003C\u002Fli>\n\u003Cli>Customize the date and time formats.\u003C\u002Fli>\n\u003Cli>Automatically \u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fbookings\u002Fschedule\" rel=\"nofollow ugc\">block bookings\u003C\u002Fa> when you’re closed, including holidays and one-off openings\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fbookings\u002Fban-customers\" rel=\"nofollow ugc\">Ban abusive customers\u003C\u002Fa> to save money on no-shows\u003C\u002Fli>\n\u003Cli>Change the language of the datepicker feature\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Customizable Booking Schedule\u003C\u002Fh3>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch3>Multiple Locations\u003C\u002Fh3>\n\u003Cp>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 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbusiness-profile\u002F\" rel=\"ugc\">Five Star Business Profile\u003C\u002Fa> plugin. When you \u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fmultiple-locations\u002F\" rel=\"nofollow ugc\">enable and create multiple locations in that plugin\u003C\u002Fa>, they will automatically show up and be included in the Five Star Restaurant Reservations plugin. This lets you:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Have a dropdown in your booking form to let your guests choose which location they want to reserve at.\u003C\u002Fli>\n\u003Cli>Set separate schedules and exceptions for each location.\u003C\u002Fli>\n\u003Cli>Set separate restrictions and limits at each location (premium feature, see below).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>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!\u003C\u002Fp>\n\u003Cp>That being said, if you do need to create a separate form for each location, this is easily made possible via a \u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fmultiple-locations\u002F#location-shortcode\" rel=\"nofollow ugc\">shortcode attribute\u003C\u002Fa> 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.\u003C\u002Fp>\n\u003Ch3>Limit the Number of People or Reservations (Requires Premium)\u003C\u002Fh3>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Set a dining block length used as a guide to apply the restrictions.\u003C\u002Fli>\n\u003Cli>Set a maximum number of reservations allowed per dining block length.\u003C\u002Fli>\n\u003Cli>Or set a maximum number of seats\u002Fpeople allowed per dining block length.\u003C\u002Fli>\n\u003Cli>Additional options to set a maximum number of reservations or seats per dining block length below which all bookings will be automatically confirmed.\u003C\u002Fli>\n\u003Cli>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.\u003C\u002Fli>\n\u003Cli>Multiple Locations: Both the maximum reservation and maximum seats settings are configurable on a per-location basis.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FXsDvPklGgF4?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>Custom Booking Form Fields (Requires Premium)\u003C\u002Fh3>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch3>Premium Notifications\u003C\u002Fh3>\n\u003Cp>The premium version comes with a notifications table feature, via which you can create an unlimited number of unique notifications. You specify a trigger\u002Fevent (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.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fnotifications\u002Fnotifications-table\" rel=\"nofollow ugc\">Learn More\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Premium Restaurant Reservations\u003C\u002Fh3>\n\u003Cp>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:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Stylish New Layout Options: Choose from multiple modern restaurant form layouts to find the one that best suits your site. \u003C\u002Fli>\n\u003Cli>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.\u003C\u002Fli>\n\u003Cli>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.\u003C\u002Fli>\n\u003Cli>Advanced Notifications: With the intuitive \u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fnotifications\u002Fnotifications-table\" rel=\"nofollow ugc\">notification configuration table\u003C\u002Fa>, you can create an unlimited number of notifications and bind them to any status\u002Ftrigger\u002Fevent you wish.\u003C\u002Fli>\n\u003Cli>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. \u003C\u002Fli>\n\u003Cli>Export Bookings: Easily print your restaurant bookings via PDF or export them to an Excel\u002FCSV file so you can analyze patterns, gather customer data and import bookings into other services.\u003C\u002Fli>\n\u003Cli>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.\u003C\u002Fli>\n\u003Cli>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.\u003C\u002Fli>\n\u003Cli>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\u002Ftable as well as elements specific to the ultimate version (such as the deposit payment page).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Table Booking (Requires Ultimate)\u003C\u002Fh3>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>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\u002Fpeople limits, to ensure the tables available to guests when booking are truly only those that are still free.\u003C\u002Fp>\n\u003Cp>There is even an option to include your own table layout graphic, so people can visualize the available tables and choose the most appropriate.\u003C\u002Fp>\n\u003Cp>Take table management out of your hands and let the plugin do it for you!\u003C\u002Fp>\n\u003Ch3>SMS Alerts (Requires Ultimate)\u003C\u002Fh3>\n\u003Cp>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\u002Fevent.\u003C\u002Fp>\n\u003Ch4>Restaurant Reservations Ultimate\u003C\u002Fh4>\n\u003Cp>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:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Booking by Table\u003C\u002Fstrong>: 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.\n\u003Cul>\n\u003Cli>You can set a minimum and maximum number of seats at each table.\u003C\u002Fli>\n\u003Cli>You can also combine tables to let people book for large parties.\u003C\u002Fli>\n\u003Cli>You can configure your tables on a per-location basis.\u003C\u002Fli>\n\u003Cli>Upload and display a table layout graphic with your reservation form, so guests can visualize exactly where\u002Fwhat they’re booking.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Conditional Maximums\u003C\u002Fstrong>: 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. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Booking Deposits\u003C\u002Fstrong>: Require a deposit, either per guest or per reservation, when someone makes a reservation, to help prevent no-shows.\n\u003Cul>\n\u003Cli>Both Stripe and PayPal are available as payment gateways.\n\u003Cul>\n\u003Cli>The Stipe payment gateway now makes use of their \u003Cstrong>payment intents\u003C\u002Fstrong> system. With this you can enable many different types of payment methods, all directly from within your Stripe account. These include \u003Cstrong>credit card, Apple Pay, Google Pay, direct debit, Afterpay and many other country- and region-specific methods\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>We’ve also provided a method for you to programatically add a different\u002Fyour own gateway (\u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fpayments\u002Fcustom-gateway\" rel=\"nofollow ugc\">more info\u003C\u002Fa>).\u003C\u002Fli>\n\u003Cli>Options to require deposit only for certain party sizes or only at certain times.\u003C\u002Fli>\n\u003Cli>Option to set table-specific deposit amounts.\u003C\u002Fli>\n\u003Cli>Option to take the deposit as a hold and charge\u002Fcapture payment at a later time (e.g. when you confirm the booking or on the reservation date, etc.).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SMS Notifications\u003C\u002Fstrong>: Set the notification type to SMS for any notification trigger event, to the admin or customer, all via the \u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Fnotifications\u002Fnotifications-table\" rel=\"nofollow ugc\">notification configuration table\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reservation Reminders\u003C\u002Fstrong>: Send an \u003Cstrong>SMS\u003C\u002Fstrong> or email reminder message before a booking at a time that you specify (e.g. 4 hours before a reservation).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Late-Arrival Notices\u003C\u002Fstrong>: Send an \u003Cstrong>SMS\u003C\u002Fstrong> or email message when a guest is late for their reservation by a specified amount of time.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post-Reservation Follow-Up\u003C\u002Fstrong>: Send a follow-up \u003Cstrong>SMS\u003C\u002Fstrong> 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!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F0DigZnw_3Qw?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>Five Star Restaurant Manager Mobile App\u003C\u002Fh3>\n\u003Cp>The ultimate version also syncs directly with our \u003Ca href=\"https:\u002F\u002Fdoc.fivestarplugins.com\u002Fplugins\u002Frestaurant-reservations\u002Fuser\u002Ffsrm\u002F\" rel=\"nofollow ugc\">Five Star Restaurant Manager\u003C\u002Fa> 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\u002FWordPress. With this, you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Receive push notifications every time there is a new booking.\u003C\u002Fli>\n\u003Cli>View all new and existing bookings directly in the app.\u003C\u002Fli>\n\u003Cli>Change the status (e.g. to confirmed) of a booking.\u003C\u002Fli>\n\u003Cli>Check people in as they arrive.\u003C\u002Fli>\n\u003Cli>Includes filtering options, so you can quickly find the booking(s) you are looking for.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>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  &hellip;\u003C\u002Fp>\n","Restaurant reservations made easy. Accept bookings online. Quickly confirm or reject reservations, send email notifications, set booking times and mor &hellip;",10000,1049620,94,209,"2026-02-19T22:15:00.000Z","6.9.4","",[19,20,21,22,4],"reservation","reservation-form","reservations","restaurant","http:\u002F\u002Fwww.fivestarplugins.com\u002Fplugins\u002Ffive-star-restaurant-reservations\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frestaurant-reservations.2.7.13.zip",92,8,0,"2026-01-02 00:00:00","2026-03-15T15:16:48.613Z",[31,47,62,77,91,102,114,128],{"id":32,"url_slug":33,"title":34,"description":35,"plugin_slug":4,"theme_slug":36,"affected_versions":37,"patched_in_version":38,"severity":39,"cvss_score":40,"cvss_vector":41,"vuln_type":42,"published_date":28,"updated_date":43,"references":44,"days_to_patch":46},"CVE-2025-68044","five-star-restaurant-reservations-unauthenticated-insecure-direct-object-reference","Five Star Restaurant Reservations \u003C= 2.7.4 - Unauthenticated Insecure Direct Object Reference","The Five Star Restaurant Reservations – WordPress Booking Plugin plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 2.7.4 due to missing validation on a user controlled key. This makes it possible for unauthenticated attackers to perform an unauthorized action.",null,"\u003C=2.7.4","2.7.5","medium",5.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Authorization Bypass Through User-Controlled Key","2026-01-27 20:52:25",[45],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F9b0b11bb-5da0-4582-b57c-991f11959e9a?source=api-prod",26,{"id":48,"url_slug":49,"title":50,"description":51,"plugin_slug":4,"theme_slug":36,"affected_versions":52,"patched_in_version":53,"severity":39,"cvss_score":54,"cvss_vector":55,"vuln_type":56,"published_date":57,"updated_date":58,"references":59,"days_to_patch":61},"CVE-2025-68601","five-star-restaurant-reservations-cross-site-request-forgery","Five Star Restaurant Reservations \u003C= 2.7.8 - Cross-Site Request Forgery","The Five Star Restaurant Reservations plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 2.7.8. This is due to missing or incorrect nonce validation on a function. This makes it possible for unauthenticated attackers to perform an unauthorized action via a forged request granted they can trick a site administrator into performing an action such as clicking on a link. \r\nCVE-2026-0658 might be a duplicate of this issue.","\u003C=2.7.8","2.7.9",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Cross-Site Request Forgery (CSRF)","2025-12-24 00:00:00","2026-02-10 19:09:06",[60],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F92a35989-2b71-4eca-aae0-c8ea0d60ce40?source=api-prod",49,{"id":63,"url_slug":64,"title":65,"description":66,"plugin_slug":4,"theme_slug":36,"affected_versions":67,"patched_in_version":68,"severity":39,"cvss_score":69,"cvss_vector":70,"vuln_type":71,"published_date":72,"updated_date":73,"references":74,"days_to_patch":76},"CVE-2025-11496","five-star-restaurant-reservations-wordpress-booking-plugin-unauthenticated-stored-cross-site-scripting","Five Star Restaurant Reservations – WordPress Booking Plugin \u003C= 2.7.5 - Unauthenticated Stored Cross-Site Scripting","The Five Star Restaurant Reservations – WordPress Booking Plugin plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'rtb-name' parameter in all versions up to, and including, 2.7.5 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.","\u003C=2.7.5","2.7.7",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2025-12-20 14:14:55","2025-12-21 02:20:30",[75],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F1889c1ba-f49f-474c-8d0a-0ae46fb92deb?source=api-prod",1,{"id":78,"url_slug":79,"title":80,"description":81,"plugin_slug":4,"theme_slug":36,"affected_versions":82,"patched_in_version":83,"severity":39,"cvss_score":54,"cvss_vector":84,"vuln_type":85,"published_date":86,"updated_date":87,"references":88,"days_to_patch":90},"CVE-2025-30861","five-star-restaurant-reservations-missing-authorization-2","Five Star Restaurant Reservations \u003C= 2.6.29 - Missing Authorization","The Five Star Restaurant Reservations – WordPress Booking Plugin plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on a function in all versions up to, and including, 2.6.29. This makes it possible for authenticated attackers, with Booking Manager-level access and above, to perform an unauthorized action.","\u003C=2.6.29","2.6.30","CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Missing Authorization","2025-03-27 00:00:00","2025-04-02 14:28:22",[89],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F9da6adf9-7219-4766-8cad-b8fff230a5e9?source=api-prod",7,{"id":92,"url_slug":93,"title":94,"description":95,"plugin_slug":4,"theme_slug":36,"affected_versions":96,"patched_in_version":97,"severity":39,"cvss_score":54,"cvss_vector":84,"vuln_type":85,"published_date":98,"updated_date":99,"references":100,"days_to_patch":90},"CVE-2024-33596","five-star-restaurant-reservations-missing-authorization","Five Star Restaurant Reservations \u003C= 2.6.16 - Missing Authorization","The Five Star Restaurant Reservations plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on several functions in versions up to, and including, 2.6.16. This makes it possible for unauthenticated attackers to perform unauthorized actions.","\u003C=2.6.16","2.6.17","2024-04-25 00:00:00","2024-05-01 13:03:50",[101],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F62a79a8e-905c-4bed-b24d-84e56d7bb850?source=api-prod",{"id":103,"url_slug":104,"title":105,"description":106,"plugin_slug":4,"theme_slug":36,"affected_versions":107,"patched_in_version":108,"severity":39,"cvss_score":69,"cvss_vector":70,"vuln_type":71,"published_date":109,"updated_date":110,"references":111,"days_to_patch":113},"CVE-2023-34017","five-star-restaurant-reservations-reflected-cross-site-scripting","Five Star Restaurant Reservations \u003C= 2.6.7 - Reflected Cross-Site Scripting","The Five Star Restaurant Reservations plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'filter_name' parameter in versions up to, and including, 2.6.7 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.","\u003C=2.6.7","2.6.8","2023-06-23 00:00:00","2024-01-22 19:56:02",[112],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F6d420e73-24d5-4da8-8257-e0c7f0273031?source=api-prod",214,{"id":115,"url_slug":116,"title":117,"description":118,"plugin_slug":4,"theme_slug":36,"affected_versions":119,"patched_in_version":120,"severity":121,"cvss_score":122,"cvss_vector":123,"vuln_type":85,"published_date":124,"updated_date":110,"references":125,"days_to_patch":127},"CVE-2022-0421","five-star-restaurant-reservations-missing-authorization-to-stored-cross-site-scripting","Five Star Restaurant Reservations \u003C= 2.4.11 - Missing Authorization to Stored Cross-Site Scripting","The Five Star Restaurant Reservations plugin for WordPress is vulnerable to authorization bypass due to a missing capability check on the rtb_stripe_pmt_succeed AJAX action in versions up to, and including, 2.4.11. This makes it possible for unauthenticated attackers to inject malicious JavaScript, that will execute whenever a user accesses the rtb-bookings page.","\u003C=2.4.11","2.4.12","high",7.2,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","2022-10-31 00:00:00",[126],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F1fe257e6-4bdf-49ef-adbb-f82ce378e3e7?source=api-prod",449,{"id":129,"url_slug":130,"title":131,"description":132,"plugin_slug":4,"theme_slug":36,"affected_versions":133,"patched_in_version":134,"severity":39,"cvss_score":135,"cvss_vector":136,"vuln_type":71,"published_date":137,"updated_date":110,"references":138,"days_to_patch":140},"CVE-2021-24965","five-star-restaurant-reservations-subscriber-stored-cross-site-scripting","Five Star Restaurant Reservations \u003C= 2.4.7 - Subscriber+ Stored Cross-Site Scripting","The Five Star Restaurant Reservations WordPress plugin before 2.4.8 does not have capability and CSRF checks in the rtb_welcome_set_schedule AJAX action, allowing any authenticated users to call it. Due to the lack of sanitisation and escaping, users with a role as low as subscriber could perform Cross-Site Scripting attacks against logged in admins","\u003C=2.4.7","2.4.8",6.4,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","2021-12-21 00:00:00",[139],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fa3e61538-0bd9-4319-ba71-a72c9039f4d8?source=api-prod",763,{"slug":142,"display_name":7,"profile_url":8,"plugin_count":143,"total_installs":144,"avg_security_score":145,"avg_patch_time_days":146,"trust_score":147,"computed_at":148},"rustaurius",21,65800,90,716,72,"2026-04-04T05:31:36.430Z",[150,173,196,212,229],{"slug":151,"name":152,"version":153,"author":154,"author_profile":155,"description":156,"short_description":157,"active_installs":158,"downloaded":159,"rating":160,"num_ratings":161,"last_updated":162,"tested_up_to":163,"requires_at_least":164,"requires_php":17,"tags":165,"homepage":168,"download_link":169,"security_score":170,"vuln_count":171,"unpatched_count":76,"last_vuln_date":172,"fetched_at":29},"quick-restaurant-reservations","Quick Restaurant Reservations","1.6.7","Alejandro","https:\u002F\u002Fprofiles.wordpress.org\u002Falejandropascual\u002F","\u003Cblockquote>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fthingsforrestaurants.com\u002Fquick-restaurant-reservations\u002F?utm_medium=link&utm_campaign=free&utm_source=wordpress.org\" rel=\"nofollow ugc\">Quick Restaurant Reservations\u003C\u002Fa> is the easiest way to manage your restaurant bookings. Confirm \u002F Reject reservations and send notifications to your customers. Manage several schedules, dates and time intervals.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FKQyrXhmmeNQ?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&start=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch4>Quick Restaurant Reservations Features\u003C\u002Fh4>\n\u003Cp>The plugin uses default WordPress functionality. Creates custom post types for Restaurants, Bookings and Clients.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Unlimited bookings\u003C\u002Fli>\n\u003Cli>Bookings per restaurant\u003C\u002Fli>\n\u003Cli>Pending, Confirm, Reject, Cancel status.\u003C\u002Fli>\n\u003Cli>Notify customers about their booking status via email.\u003C\u002Fli>\n\u003Cli>Manual confirmation.\u003C\u002Fli>\n\u003Cli>Define min \u002F max party\u003C\u002Fli>\n\u003Cli>Early \u002F Late bookings\u003C\u002Fli>\n\u003Cli>Date format\u003C\u002Fli>\n\u003Cli>Custom message after form submitted\u003C\u002Fli>\n\u003Cli>Custom redirect after form submitted\u003C\u002Fli>\n\u003Cli>Unlimited schedules\u003C\u002Fli>\n\u003Cli>Schedule status open \u002F close\u003C\u002Fli>\n\u003Cli>Define week days and time interval for each schedule\u003C\u002Fli>\n\u003Cli>Customize email notifications (admin, pending, confirmed, rejected, update)\u003C\u002Fli>\n\u003Cli>Clients list\u003C\u002Fli>\n\u003Cli>Form fields: date, party, time, name, email, phone, message\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>NEW PLUGIN FOR RESTAURANT RESERVATIONS 2023\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Check our brand \u003Ca href=\"https:\u002F\u002Falexreservations.com\" rel=\"nofollow ugc\">NEW PLUGIN Alex Reservations\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>New full screen dashboard for managing bookings\u003C\u002Fli>\n\u003Cli>Multiple restaurants (multisite and single site)\u003C\u002Fli>\n\u003Cli>Floor plan with tables management\u003C\u002Fli>\n\u003Cli>Tables designer with drag & drop\u003C\u002Fli>\n\u003Cli>Monthly view\u003C\u002Fli>\n\u003Cli>Weekly view\u003C\u002Fli>\n\u003Cli>Timeline view\u003C\u002Fli>\n\u003Cli>Customers CRM\u003C\u002Fli>\n\u003Cli>Custom emails\u003C\u002Fli>\n\u003Cli>Bookings Tags\u003C\u002Fli>\n\u003Cli>Customers Tags\u003C\u002Fli>\n\u003Cli>Beautiful reports\u003C\u002Fli>\n\u003Cli>Multi language & responsive widget for mobile\u003C\u002Fli>\n\u003Cli>Manage Shifts and Events with different widgets\u003C\u002Fli>\n\u003Cli>Customer can cancel booking\u003C\u002Fli>\n\u003Cli>Ask customers for feedback\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>QRR ADD-ON Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Unlimited restaurants\u003C\u002Fli>\n\u003Cli>Each restaurant has its own page and booking form\u003C\u002Fli>\n\u003Cli>Automatic confirmations\u003C\u002Fli>\n\u003Cli>Set max capacity based on number of seats\u003C\u002Fli>\n\u003Cli>Set max capacity based on tables\u003C\u002Fli>\n\u003Cli>Limit automatic confirmation to max party\u003C\u002Fli>\n\u003Cli>Limit automatic confirmation until X seats reached\u003C\u002Fli>\n\u003Cli>Customize logo of email notifications\u003C\u002Fli>\n\u003Cli>Monthly calendar view\u003C\u002Fli>\n\u003Cli>Daily calendar view\u003C\u002Fli>\n\u003Cli>Unlimited form custom fields\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Make sure to review our \u003Ca href=\"https:\u002F\u002Fthingsforrestaurants.com\u002Fquick-restaurant-reservations\u002F?utm_medium=link&utm_campaign=free&utm_source=wordpress.org\" rel=\"nofollow ugc\">ADD-ONS for Quick Restaurant Reservations\u003C\u002Fa> page for more detailed information.\u003C\u002Fp>\n\u003Ch4>How to use\u003C\u002Fh4>\n\u003Cp>Add the shortcode of the restaurant form in any existing post or page:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[qrr_form id=\"123\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Customization\u003C\u002Fh4>\n\u003Cp>For custom development \u003Ca href=\"https:\u002F\u002Fthingsforrestaurants.com\u002Fcustom-work\u002F\" rel=\"nofollow ugc\">CONTACT US\u003C\u002Fa>\u003C\u002Fp>\n","Manage restaurant reservations the easiest way.",600,25345,98,10,"2023-04-02T16:35:00.000Z","6.2.9","3.5",[166,21,22,4,167],"bookings","table-bookings","http:\u002F\u002Fthingsforrestaurants.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fquick-restaurant-reservations.zip",56,3,"2026-01-26 00:00:00",{"slug":174,"name":175,"version":176,"author":154,"author_profile":177,"description":178,"short_description":179,"active_installs":180,"downloaded":181,"rating":160,"num_ratings":182,"last_updated":183,"tested_up_to":16,"requires_at_least":184,"requires_php":185,"tags":186,"homepage":191,"download_link":192,"security_score":193,"vuln_count":194,"unpatched_count":27,"last_vuln_date":195,"fetched_at":29},"alex-reservations","Alex Reservations: Smart Restaurant Booking","2.3.5","https:\u002F\u002Fprofiles.wordpress.org\u002Falexreservations\u002F","\u003Cp>Alex Reservations is an easy-to-use WordPress restaurant reservations platform plugin.\u003Cbr \u002F>\nIt will streamline your entire booking process and will save time for both the restaurant and the customer.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Efficient management of daily reservations for single or multiple locations\u003C\u002Fli>\n\u003Cli>Interactive dashboard with floor plan, monthly, weekly, and timeline views\u003C\u002Fli>\n\u003Cli>Create multiple schedules with customizable availability\u003C\u002Fli>\n\u003Cli>Customizable booking widget for your website\u003C\u002Fli>\n\u003Cli>Special event organization (Mother’s Day, wine tastings, themed nights)\u003C\u002Fli>\n\u003Cli>Automated and customizable email system\u003C\u002Fli>\n\u003Cli>Reminders to reduce customer no-shows\u003C\u002Fli>\n\u003Cli>Culinary and seating preference options for customers\u003C\u002Fli>\n\u003Cli>Integrated CRM for tagging and exporting customer data\u003C\u002Fli>\n\u003Cli>Multi-site environment compatibility for SAAS solutions\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Benefits of Alex Reservations\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Workflow Optimization: Manage all your reservations from a single intuitive dashboard.\u003C\u002Fli>\n\u003Cli>Enhanced Customer Experience: Offer diners the ability to customize their bookings.\u003C\u002Fli>\n\u003Cli>Reduced No-Shows: Automatic reminder system to maximize attendance.\u003C\u002Fli>\n\u003Cli>Data Analytics: Gain valuable insights about your customers to improve your marketing.\u003C\u002Fli>\n\u003Cli>Scalability: Perfect for single restaurants or multi-location chains.\u003C\u002Fli>\n\u003Cli>Increased Revenue: Maximize table utilization and minimize empty seats.\u003C\u002Fli>\n\u003Cli>Brand Consistency: Customizable emails and widget to match your restaurant’s branding.\u003C\u002Fli>\n\u003Cli>Time-Saving: Automate repetitive tasks and focus on providing great dining experiences.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Who Can Benefit?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Independent Restaurants\u003C\u002Fli>\n\u003Cli>Restaurant Chains\u003C\u002Fli>\n\u003Cli>Fine Dining Establishments\u003C\u002Fli>\n\u003Cli>Cafes and Bistros\u003C\u002Fli>\n\u003Cli>Event Spaces\u003C\u002Fli>\n\u003Cli>Restaurant Management Companies\u003C\u002Fli>\n\u003Cli>SAAS Providers for the Restaurant Industry\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Elevate your restaurant’s booking system with Alex Reservations. From small cafes to large chains, our plugin adapts to your needs, providing a seamless reservation experience for both staff and customers. Say goodbye to booking headaches and hello to efficient, customer-focused reservation management.\u003C\u002Fp>\n\u003Cp>Try Alex Reservations today and transform the way you handle bookings!\u003C\u002Fp>\n\u003Ch4>Features included with the Alex Reservations Free Edition for restaurant reservations:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Limited Bookings\u003C\u002Fstrong> – Receive and manage reservations from your venue.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bookings List View\u003C\u002Fstrong> — Manage the daily list of reservations and create\u002Fupdate them from the same list. Filter them by customer, tags or status.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Monthly View\u003C\u002Fstrong> — General view of monthly reservations. Add or update reservations directly in the view.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Weekly View\u003C\u002Fstrong> — Jump from the monthly view to the weekly view. Show a list of daily reservations per column\u002Fday.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customers List View\u003C\u002Fstrong> — Easy CRM solution for customers. Filter them by tags, last reservation or number of reservations.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Tags\u003C\u002Fstrong>  — Create tags for managing bookings and use them for filtering. Tag customers to know their wine preferences, identify VIP customers or know their food alergies.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Manage Shifts\u003C\u002Fstrong> — Create multiple shifts for breakfast, lunch or dinner.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email Templates\u003C\u002Fstrong> — Customer your notifications to customers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Widget\u003C\u002Fstrong> — Multi language front widget. Mobile friendly. Customize colors and the input fields required to the customer.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Features included with the Alex Reservations PLUS Edition for restaurant reservations:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Unlimited Bookings\u003C\u002Fstrong> – Receive and manage unlimited reservations across all your venues.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Restaurants\u003C\u002Fstrong> — Centralized management with custom dashboards for each restaurant.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User Roles & Multiple Users\u003C\u002Fstrong> — Granular access control with different permissions for each user across restaurants.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mobile Interface\u003C\u002Fstrong> – Responsive design for managing bookings and customers on-the-go.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Floor Plan View\u003C\u002Fstrong> — Intuitive visual management of tables, reservations, and wait lists.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tables Editor\u003C\u002Fstrong> — Powerful drag-and-drop floor plan builder to create and customize restaurant layouts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Print your floor plan per shifts\u003C\u002Fstrong> – Generate shift-specific floor plans for staff guidance.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>360 Panorama Reservation\u003C\u002Fstrong> – Immersive 360-degree views for customers to choose their preferred seating.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Timeline Views\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>\u003Cstrong>Horizontal Timeline\u003C\u002Fstrong> – Clear overview of daily reservations at a glance.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Vertical Timeline\u003C\u002Fstrong> – Chronological list view for quick reservation management.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Global Timeline\u003C\u002Fstrong> – Comprehensive view of all reservations with assigned tables.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Reservation Features\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>\u003Cstrong>Area\u002FTable Selection\u003C\u002Fstrong> – Let customers choose their preferred seating.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Manage shared tables\u003C\u002Fstrong> – Optimize space with communal seating options.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Close days and slots\u003C\u002Fstrong> – Flexible control over availability.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customer Communication\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>\u003Cstrong>Email & SMS reminders\u003C\u002Fstrong> – Automated booking reminders to reduce no-shows.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email notifications\u003C\u002Fstrong> – Comprehensive system for staff and customer alerts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email Logo\u003C\u002Fstrong> – Branded emails with custom headers and footers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customers Reviews\u003C\u002Fstrong> – Automated review requests post-dining.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Payments\u003C\u002Fstrong> – Integrated processing with Stripe, PayPal, and more for deposits or full payments.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Manage Events\u003C\u002Fstrong> — Create and manage special events like Mother’s Day, Christmas, etc.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Widgets\u003C\u002Fstrong> — Customizable booking widgets for different scenarios.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reporting & Analytics\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>\u003Cstrong>Comprehensive Reports\u003C\u002Fstrong> – Insights on bookings, customers, and reviews.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Export Bookings & Customers\u003C\u002Fstrong> – Easy data extraction in CSV and PDF formats.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multilingual Support\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>\u003Cstrong>Translated to 23 languages\u003C\u002Fstrong> – Out-of-the-box support for global clientele.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom translations\u003C\u002Fstrong> – Fully editable text for perfect localization.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User Experience Enhancements\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>\u003Cstrong>Dark mode\u003C\u002Fstrong> – Modern, eye-friendly interface option.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Getting Started with the Alex Restaurant Reservations plugin is Easy\u003C\u002Fh4>\n\u003Cp>Use the built-in Setup Wizard to create your first Restaurant in under 5 minutes.\u003Cbr \u002F>\nNext, just embed the reservations widget on your site using the widget shortcode \u003Ccode>[rr_form id='__' button='Book now']\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FZ6e47dnPcGw?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch4>Who This Reservation System is For\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Single restaurants\u003C\u002Fstrong> — Restaurant owners can use this system for managing their reservations and tables.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple restaurants\u003C\u002Fstrong> — Manage from one dashboard several locations.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WordPress agencies\u003C\u002Fstrong> — Create your own SAAS platform for reservations managing many restaurants.\u003C\u002Fli>\n\u003C\u002Ful>\n","Restaurant reservations solution to help you manage your daily bookings.",200,16825,27,"2026-03-05T05:42:00.000Z","5.1","8.1",[187,188,4,189,190],"appointments","booking","scheduling","tables","https:\u002F\u002Falexreservations.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Falex-reservations.zip",96,2,"2025-11-07 21:13:04",{"slug":197,"name":198,"version":199,"author":200,"author_profile":201,"description":202,"short_description":203,"active_installs":27,"downloaded":204,"rating":205,"num_ratings":194,"last_updated":206,"tested_up_to":16,"requires_at_least":17,"requires_php":207,"tags":208,"homepage":17,"download_link":211,"security_score":205,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"mobile-refuel-table-reservation","Mobile-Refuel Table Reservation","1.2.6","Maxim Ristow","https:\u002F\u002Fprofiles.wordpress.org\u002Fmaksim85\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fmobile-refuel.de\u002Fwordpress-tischreservierung-plugin-pro\u002F\" rel=\"nofollow ugc\">Plugin Website\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fdemo-tisch-rs.mobile-refuel.de\u002F\" rel=\"nofollow ugc\">Live Demo\u003C\u002Fa> | \u003Ca href=\"mailto:plugins@mobile-refuel.de\" rel=\"nofollow ugc\">Support\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Professional table reservation system for restaurants, cafes, and food trucks. Features include:\u003C\u002Fp>\n\u003Cp>📱 \u003Cstrong>Personal smartphone app (PWA):\u003C\u002Fstrong> 💎 (Pro) Turn your reservation system into a native smartphone app. Features include app installation, push notifications, offline functionality, custom branding (app name, icon, colors), and lightning-fast performance. QR code generation for easy installation on iOS and Android devices.\u003C\u002Fp>\n\u003Cp>🖥️ \u003Cstrong>Frontend:\u003C\u002Fstrong> Multi-step reservation form with real-time availability check, responsive design, translated calendar, and smart time management.\u003C\u002Fp>\n\u003Cp>⚙️ \u003Cstrong>Backend:\u003C\u002Fstrong> Comprehensive reservation management with filtering, sorting, status changes, manual bookings, CSV export, and direct guest communication.\u003C\u002Fp>\n\u003Cp>🕒 \u003Cstrong>Opening hours:\u003C\u002Fstrong> Flexible weekly hours, holidays, special opening hours 💎 (Pro), and excluded days. Special hours automatically override regular hours.\u003C\u002Fp>\n\u003Cp>🏖️ \u003Cstrong>Vacation & Season Management:\u003C\u002Fstrong> 💎 (Pro) Define closed periods (e.g. company holidays, seasonal breaks) that automatically block all days within the range for reservations. Configured vacation dates are highlighted in orange in all backend datepickers so you always have a clear overview.\u003C\u002Fp>\n\u003Cp>🍽️ \u003Cstrong>Kitchen Capacity Planning:\u003C\u002Fstrong> 💎 (Pro) Limit the maximum number of guests that can be booked into the same time interval, independent of the overall restaurant seat count. This reflects kitchen throughput: even if the restaurant is not fully seated, a slot is blocked when the sum of already-booked guests in that interval plus the current request exceeds the configured per-interval maximum.\u003C\u002Fp>\n\u003Cp>📧 \u003Cstrong>Emails:\u003C\u002Fstrong> Language-specific templates 💎 (Pro) (9 languages: DE, EN, US, IT, ES, FR, PL, RU, NL) with placeholders, customizable sender, and automatic language selection.\u003C\u002Fp>\n\u003Cp>❌ \u003Cstrong>Cancellations:\u003C\u002Fstrong> Self-cancellation by guests 💎 (Pro) via email link with configurable minimum number of hours before the reservation and automatic notification.\u003C\u002Fp>\n\u003Cp>🎉 \u003Cstrong>Event Management:\u003C\u002Fstrong> 💎 (Pro) Create fully configurable event types (e.g., birthday party, wedding, corporate event) with individual durations per type. Events can be restricted to specific weekdays (e.g., “Lunch  only on Fridays & Saturdays”) or tied to hand-picked special dates with a tile-based date picker instead of a calendar, no unavailable-day confusion. A day that is normally closed can be opened automatically when an event is scheduled on it. Only time slots where the full event duration fits before closing time are shown, preventing uncompletable bookings. If exactly one event type is configured, the form activates it directly without showing extra steps. Event duration display in the frontend is optional.\u003C\u002Fp>\n\u003Cp>📅 \u003Cstrong>Calendar:\u003C\u002Fstrong> Visual calendar view of all reservations with monthly, weekly, and daily views. Dynamic time slots automatically adjust to the configured opening hours. The weekly view shows the earliest to latest times for all days, while the daily view shows only the opening hours for the respective day. Pop-up for managing with a click 💎 (Pro) for status changes and iCal feed subscription 💎 (Pro) for Google Calendar, Apple Calendar, Outlook, and Thunderbird.\u003C\u002Fp>\n\u003Cp>🎨 \u003Cstrong>Design:\u003C\u002Fstrong> Customizable colors (background, text, buttons 💎 (Pro), tile color 💎 (Pro)) and corner radius 💎 (Pro) with live preview 💎 (Pro) directly in the backend – see your changes in a real form preview before saving.\u003C\u002Fp>\n\u003Cp>🌍 \u003Cstrong>Internationalization:\u003C\u002Fstrong> Full translation support for backend, frontend, emails, calendar, and all UI elements. Dynamic language switching. Supports 9 languages: German, English (US), English (UK), Dutch, Italian, Spanish, French, Polish, and Russian.\u003C\u002Fp>\n\u003Cp>🔒 \u003Cstrong>Security and performance:\u003C\u002Fstrong> Nonce verification, input sanitization, SQL injection protection, XSS protection, optimized queries, and efficient AJAX handlers.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fmobile-refuel.de\u002Fwordpress-tischreservierung-plugin-pro\u002F\" rel=\"nofollow ugc\">Plugin Website\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fdemo-tisch-rs.mobile-refuel.de\u002F\" rel=\"nofollow ugc\">Live Demo\u003C\u002Fa> | \u003Ca href=\"mailto:plugins@mobile-refuel.de\" rel=\"nofollow ugc\">Support\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Technical Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>AJAX Integration:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Real-time availability check\u003C\u002Fli>\n\u003Cli>Dynamic loading of email templates\u003C\u002Fli>\n\u003Cli>No page reloading required\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Calendar integration:\u003C\u002Fstrong> * (Pro)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>iCal feed for external calendar apps\u003C\u002Fli>\n\u003Cli>Support for Google Calendar, Apple Calendar, Outlook, Thunderbird\u003C\u002Fli>\n\u003Cli>Token-based secure access\u003C\u002Fli>\n\u003Cli>Automatic synchronization\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Security:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Nonce verification for all forms\u003C\u002Fli>\n\u003Cli>Cleaning of all inputs\u003C\u002Fli>\n\u003Cli>Protection against SQL injection through prepared statements\u003C\u002Fli>\n\u003Cli>XSS protection through escaping\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Performance:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Optimized database queries\u003C\u002Fli>\n\u003Cli>Efficient AJAX handlers\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch3>Getting Started\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Configure general settings:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Go to “Reservations” > ‘Settings’ > “General” tab\u003C\u002Fli>\n\u003Cli>Enter the name of the restaurant\u003C\u002Fli>\n\u003Cli>Configure the email address for notifications\u003C\u002Fli>\n\u003Cli>Set the maximum number of people* (Pro) and length of stay* (Pro)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Set opening hours:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>“Opening Hours” tab > “Regular Weekly Opening Hours”\u003C\u002Fli>\n\u003Cli>Activate the desired days of the week\u003C\u002Fli>\n\u003Cli>Set opening hours (start and end) for each day\u003C\u002Fli>\n\u003Cli>Configure time interval* (Pro) (default: 30 minutes)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Add holidays:\u003C\u002Fstrong> * (Pro)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>“Opening Hours” tab > “Holidays and Special Opening Hours”\u003C\u002Fli>\n\u003Cli>Select a date in the calendar.\u003C\u002Fli>\n\u003Cli>Click “Configure selected date.”\u003C\u002Fli>\n\u003Cli>Select “Closed all day” or “Special opening hours.”\u003C\u002Fli>\n\u003Cli>Save the settings.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Customize email templates:\u003C\u002Fstrong> * (Pro)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>“Emails” tab\u003C\u002Fli>\n\u003Cli>Select the desired language\u003C\u002Fli>\n\u003Cli>Customize the subject and message for each email type\u003C\u002Fli>\n\u003Cli>Use placeholders for dynamic content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Customize design:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>“Design” tab\u003C\u002Fli>\n\u003Cli>Select the background color for the form\u003C\u002Fli>\n\u003Cli>Customize text color\u003C\u002Fli>\n\u003Cli>Customize button colors* (Pro)\u003C\u002Fli>\n\u003Cli>Customize tile color* (Pro)\u003C\u002Fli>\n\u003Cli>Set corner radius* (Pro) (0–50 pixels)\u003C\u002Fli>\n\u003Cli>Use live form preview* (Pro) to view all changes in real time before saving\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Select language:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>“Language” tab\u003C\u002Fli>\n\u003Cli>Select desired language for frontend and backend\u003C\u002Fli>\n\u003Cli>All texts are translated automatically\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Embed form:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Create a new page or edit an existing page\u003C\u002Fli>\n\u003Cli>Add the shortcode \u003Ccode>[reservation-form]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Publish the page\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Managing Reservations\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Reservation list:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Go to “Reservations” > “Reservations”\u003Cbr \u002F>\n– Use filters to view specific reservations\u003Cbr \u002F>\n– Sort by various criteria\u003Cbr \u002F>\n– Click “Confirm” or “Decline” to change the status\u003Cbr \u002F>\n– Click “Edit” to change details\u003Cbr \u002F>\n– Click “Delete” to remove a reservation\u003Cbr \u002F>\n– Switch between table view and map view (optimized for mobile\u002Fdesktop)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Add manual reservation:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Go to “Reservations” > “New Reservation”\u003Cbr \u002F>\n– Fill in all fields\u003Cbr \u002F>\n– Select date and time (special opening hours are automatically taken into account)\u003Cbr \u002F>\n– Optional: Send an email confirmation to the guest\u003Cbr \u002F>\n– Click on “Create reservation”\u003C\u002Fp>\n\u003Cp>\u003Cstrong>CSV export:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Go to “Reservations” > “Reservations.”\u003Cbr \u002F>\n– Optionally, select a filter.\u003Cbr \u002F>\n– Click on “Export CSV.”\u003Cbr \u002F>\n– The file will be downloaded.\u003C\u002Fp>\n\u003Ch3>Smartphone App (PWA) (PRO)\u003C\u002Fh3>\n\u003Cp>The Pro version includes a Progressive Web App (PWA) feature that transforms your reservation system into a native smartphone application.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>App installation:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Direct installation on smartphones without an app store\u003Cbr \u002F>\n– Native app experience with your branding\u003Cbr \u002F>\n– Installable on iOS and Android devices\u003Cbr \u002F>\n– QR code for easy installation\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Push notifications:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Send reservation confirmations as push messages\u003Cbr \u002F>\n– Automatic reminders for upcoming reservations\u003Cbr \u002F>\n– Real-time updates sent directly to guests’ devices\u003Cbr \u002F>\n– VAPID-based secure notification system\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Offline functionality:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Works without an internet connection\u003Cbr \u002F>\n– Automatic synchronization when reconnected\u003Cbr \u002F>\n– Intelligent caching system\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Custom branding:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Customizable app name and short name\u003Cbr \u002F>\n– Upload your own app icon\u003Cbr \u002F>\n– Set the colors of the app theme\u003Cbr \u002F>\n– Professional appearance that matches your restaurant’s branding\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Performance:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Lightning-fast loading times\u003Cbr \u002F>\n– Intelligent caching for optimal speed\u003Cbr \u002F>\n– Progressive enhancement for all devices\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Configuration:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Go to “Reservations” > ‘Settings’ > “App” tab (Pro only)\u003Cbr \u002F>\n– Enable PWA functionality\u003Cbr \u002F>\n– Configure app name, icon, and colors\u003Cbr \u002F>\n– Enable push notifications\u003Cbr \u002F>\n– Generate a QR code for installation\u003Cbr \u002F>\n– Test push notifications\u003C\u002Fp>\n\u003Cp>The PWA feature is available exclusively in the Pro version. Upgrade to offer your guests a modern, app-like reservation experience.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, questions, or feedback, please visit https:\u002F\u002Fmobile-refuel.de\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Developed by Maxim Ristow \u002F maksim85 for Mobile-Refuel.\u003C\u002Fp>\n","Professional table reservation system for restaurants. Manage bookings, opening hours, and guest communication via your personal app.",743,100,"2026-03-13T15:22:00.000Z","7.4",[19,22,209,4,210],"restaurant-booking","table-reservation","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmobile-refuel-table-reservation.1.2.6.zip",{"slug":213,"name":214,"version":215,"author":216,"author_profile":217,"description":218,"short_description":219,"active_installs":220,"downloaded":221,"rating":222,"num_ratings":194,"last_updated":223,"tested_up_to":224,"requires_at_least":225,"requires_php":17,"tags":226,"homepage":227,"download_link":228,"security_score":205,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"guestplan-booking-widget","Guestplan Booking Widget","1.0.11","guestplan","https:\u002F\u002Fprofiles.wordpress.org\u002Fguestplan\u002F","\u003Cp>Install Guestplan Booking Widget on your website and turn visitors into guests. Blazing fast set up – only enter your API key!\u003C\u002Fp>\n\u003Cp>Modern and minimalist widget design ensures fast loading speed without any clutter or slowdown. High conversion rates thanks to user friendly and simple user interface.\u003C\u002Fp>\n\u003Cp>Guestplan – Reservations Done Right!\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Available in 21 languages\u003C\u002Fli>\n\u003Cli>Set your brand color\u003C\u002Fli>\n\u003Cli>Support customisations\u003C\u002Fli>\n\u003Cli>Accept payments \u003C\u002Fli>\n\u003Cli>Seamless integration\u003C\u002Fli>\n\u003Cli>Fast, secure and safe\u003C\u002Fli>\n\u003Cli>24\u002F7 Support from Guestplan\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Is Guestplan Free?\u003C\u002Fh3>\n\u003Cp>Guestplan offers a \u003Cstrong>30-day free trial\u003C\u002Fstrong>. After this period, you’ll need to upgrade to one of our paid plans to continue using the service. You can find more details on our pricing by visiting \u003Ca href=\"https:\u002F\u002Fguestplan.com\u002F#pricing\" rel=\"nofollow ugc\">our pricing page\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Do I Need a Guestplan Account?\u003C\u002Fh3>\n\u003Cp>Yes, a Guestplan account is required to manage your reservations. You can easily \u003Cstrong>sign up for a free trial account\u003C\u002Fstrong> on \u003Ca href=\"https:\u002F\u002Fguestplan.com\u002F\" rel=\"nofollow ugc\">our website\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Questions or Comments?\u003C\u002Fh3>\n\u003Cp>We’re here to help! Please don’t hesitate to send an email to \u003Cstrong>hello@guestplan.com\u003C\u002Fstrong>, and we’ll get back to you as soon as possible.\u003C\u002Fp>\n","Turn website visitors into guests with our Guestplan Booking Widget for your website. Install our booking widget on your website and turn your visitor &hellip;",1000,7983,80,"2026-01-10T17:29:00.000Z","6.8.5","5.0",[166,21,22],"https:\u002F\u002Fguestplan.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fguestplan-booking-widget.1.0.11.zip",{"slug":230,"name":231,"version":232,"author":233,"author_profile":234,"description":235,"short_description":236,"active_installs":237,"downloaded":238,"rating":239,"num_ratings":240,"last_updated":241,"tested_up_to":242,"requires_at_least":243,"requires_php":244,"tags":245,"homepage":248,"download_link":249,"security_score":250,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"easyreservations","easyReservations","6.0-alpha.23","feryaz","https:\u002F\u002Fprofiles.wordpress.org\u002Fferyaz\u002F","\u003Cp>easyReservations is the perfect plugin for receiving, managing and handling bookings easily. It’s designed to be used for any reservable business like hotels, cars, events, B&Bs, appointments or conferences.\u003Cbr \u002F>\nIt’s very flexible and intuitive and has a huge amount of functions and possibilities. Of course it’s completely translatable.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Feasyreservations.org\u002F\" title=\"Website!\" rel=\"nofollow ugc\">Website\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Resource Catalog\u003C\u002Fli>\n\u003Cli>Availability calendar\u003C\u002Fli>\n\u003Cli>Unlimited customizable reservation forms\u003C\u002Fli>\n\u003Cli>Property management\u003C\u002Fli>\n\u003Cli>Half-hourly, hourly, daily, nightly and weekly billing\u003C\u002Fli>\n\u003Cli>Flexible price filters, rates, discounts and availability\u003C\u002Fli>\n\u003Cli>Live price calculation and error handling\u003C\u002Fli>\n\u003Cli>And a lot more!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Feasyreservations.org\u002Fknowledgebase\u002F\" title=\"Documentation\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"http:\u002F\u002Feasyreservations.org\u002Fforums\u002Fforum\u002Fbug-reports\u002F\" title=\"Report bugs\" rel=\"nofollow ugc\">Report bugs\u003C\u002Fa> | \u003Ca href=\"http:\u002F\u002Feasyreservations.org\u002Fpremium\u002F\" title=\"Support the development!\" rel=\"nofollow ugc\">Premium\u003C\u002Fa>\u003C\u002Fp>\n","This powerful property and reservation management plugin allows you to receive, schedule and handle your bookings easily!",900,221525,74,62,"2021-11-28T10:46:00.000Z","5.7.15","5.4","7.0",[188,246,247,20,21],"calendar","hotel","http:\u002F\u002Fwww.easyreservations.org","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasyreservations.zip",85,{"attackSurface":252,"codeSignals":1032,"taintFlows":1416,"riskAssessment":1597,"analyzedAt":1610},{"hooks":253,"ajaxHandlers":872,"restRoutes":1016,"shortcodes":1017,"cronEvents":1026,"entryPointCount":478,"unprotectedCount":291},[254,261,265,269,271,275,279,284,288,293,297,302,306,308,313,316,319,323,326,330,333,335,337,341,345,349,353,356,360,363,366,369,372,374,377,381,385,388,393,397,401,406,408,410,412,415,419,423,425,427,429,432,434,437,440,443,448,451,454,456,460,462,464,466,469,473,475,479,483,487,490,493,495,498,500,502,506,509,511,515,519,522,526,530,534,538,542,545,546,550,554,558,561,565,567,568,572,575,578,580,583,586,589,593,598,600,602,604,606,607,610,612,615,617,620,623,626,630,633,636,638,642,645,647,648,651,655,658,661,664,667,671,675,679,682,684,686,689,691,695,698,701,704,708,711,713,716,718,721,725,728,731,733,735,739,742,745,748,751,753,756,759,761,764,767,770,774,778,781,783,787,790,793,796,800,803,806,810,814,816,819,822,824,826,828,832,834,836,840,842,846,849,852,855,857,861,863,866,869],{"type":255,"name":256,"callback":257,"priority":258,"file":259,"line":260},"action","admin_menu","register_menu_screen",11,"includes\\AboutUs.class.php",16,{"type":255,"name":256,"callback":262,"priority":205,"file":263,"line":264},"add_menu_page","includes\\Addons.class.php",15,{"type":255,"name":266,"callback":267,"file":263,"line":268},"rtb_addons_pre","add_subscribe_pompt",18,{"type":255,"name":256,"callback":262,"file":270,"line":182},"includes\\AdminBookings.class.php",{"type":255,"name":272,"callback":273,"file":270,"line":274},"admin_footer-toplevel_page_rtb-bookings","print_modals",30,{"type":255,"name":276,"callback":277,"file":270,"line":278},"rtb_validate_booking_submission","validate_admin_fields",50,{"type":280,"name":281,"callback":282,"priority":161,"file":270,"line":283},"filter","rtb_insert_booking_data","insert_booking_data",53,{"type":255,"name":285,"callback":286,"priority":287,"file":270,"line":170},"rtb_bookings_table_actions","print_columns_config_button",9,{"type":280,"name":289,"callback":290,"priority":291,"file":270,"line":292},"rtb_booking_form_fields","add_admin_fields",20,362,{"type":280,"name":294,"callback":295,"priority":205,"file":296,"line":222},"admin_init","process_action","includes\\AdminPageSettingLicenseKey.class.php",{"type":255,"name":298,"callback":299,"file":300,"line":301},"init","register","includes\\Blocks.class.php",17,{"type":280,"name":303,"callback":304,"file":300,"line":305},"block_categories_all","add_block_category",19,{"type":255,"name":294,"callback":307,"file":300,"line":283},"register_admin",{"type":280,"name":309,"callback":310,"priority":161,"file":311,"line":312},"load_textdomain_mofile","load_old_textdomain","includes\\Compatibility.class.php",24,{"type":280,"name":314,"callback":315,"file":311,"line":182},"rtb_bookings_table_views_date_range","rtn_bookings_table_views_schedule",{"type":255,"name":294,"callback":317,"file":311,"line":318},"check_rtb_version",29,{"type":280,"name":320,"callback":321,"file":322,"line":268},"cron_schedules","add_cron_interval","includes\\Cron.class.php",{"type":280,"name":324,"callback":325,"file":322,"line":291},"sanitize_option_rtb-settings","check_cron_on_settings_save",{"type":255,"name":327,"callback":328,"file":322,"line":329},"rtb_cron_jobs","handle_reminder_task",22,{"type":255,"name":327,"callback":331,"file":322,"line":332},"handle_late_arrivals_task",23,{"type":255,"name":327,"callback":334,"file":322,"line":312},"handle_post_reservation_follow_up_task",{"type":255,"name":327,"callback":336,"file":322,"line":46},"handle_table_notifications",{"type":255,"name":276,"callback":338,"file":339,"line":340},"validate_custom_fields_input","includes\\CustomFields.class.php",40,{"type":280,"name":342,"callback":343,"file":339,"line":344},"rtb-setting-require-phone","never_require_phone",43,{"type":280,"name":346,"callback":347,"priority":161,"file":339,"line":348},"rtb_insert_booking_metadata","insert_booking_metadata",46,{"type":255,"name":350,"callback":351,"priority":161,"file":339,"line":352},"rtb_booking_load_post_data","load_booking_meta_data",47,{"type":280,"name":354,"callback":355,"priority":161,"file":339,"line":278},"rtb_notification_template_tags","add_notification_template_tags",{"type":280,"name":357,"callback":358,"file":339,"line":359},"rtb_notification_template_tag_descriptions","add_notification_template_tag_descriptions",51,{"type":255,"name":361,"callback":362,"file":339,"line":283},"admin_enqueue_scripts","enqueue_scripts",{"type":255,"name":298,"callback":364,"file":365,"line":329},"load_cpts","includes\\CustomPostTypes.class.php",{"type":255,"name":298,"callback":367,"file":365,"line":368},"set_booking_statuses",25,{"type":280,"name":370,"callback":371,"file":365,"line":46},"rtb_post_statuses_args","add_arrived_status",{"type":280,"name":370,"callback":373,"file":365,"line":182},"add_cancelled_status",{"type":280,"name":370,"callback":375,"file":365,"line":376},"add_payment_failed_status",28,{"type":255,"name":378,"callback":379,"file":365,"line":380},"admin_footer","show_pending_count",31,{"type":255,"name":382,"callback":383,"file":365,"line":384},"rtb_insert_booking","update_pending_count",34,{"type":255,"name":386,"callback":383,"file":365,"line":387},"rtb_update_booking",35,{"type":255,"name":389,"callback":390,"priority":391,"file":365,"line":392},"transition_post_status","maybe_update_pending_count",999,36,{"type":280,"name":394,"callback":395,"file":396,"line":160},"cffrtb_pointers","cffrtb_register_pointers","includes\\custom_fields_pointers.php",{"type":255,"name":256,"callback":398,"priority":399,"file":400,"line":260},"add_dashboard_to_menu",99,"includes\\Dashboard.class.php",{"type":255,"name":402,"callback":403,"file":404,"line":405},"current_screen","maybe_add_survey","includes\\DeactivationSurvey.class.php",13,{"type":255,"name":361,"callback":407,"file":404,"line":268},"enqueue_deactivation_scripts",{"type":255,"name":378,"callback":409,"file":404,"line":305},"add_deactivation_html",{"type":255,"name":256,"callback":262,"priority":291,"file":411,"line":332},"includes\\Editor.class.php",{"type":255,"name":298,"callback":413,"priority":76,"file":414,"line":380},"load_template_options","includes\\EmailTemplates.class.php",{"type":280,"name":416,"callback":417,"file":418,"line":340},"ebfrtb_export_csv_booking_headers","add_location_header","includes\\Export.CSV.class.php",{"type":280,"name":420,"callback":421,"priority":161,"file":418,"line":422},"ebfrtb_export_csv_booking","add_location",41,{"type":280,"name":416,"callback":424,"file":418,"line":348},"add_privacy_header",{"type":280,"name":420,"callback":426,"priority":161,"file":418,"line":352},"add_privacy",{"type":280,"name":416,"callback":428,"priority":287,"file":418,"line":359},"add_table_header",{"type":280,"name":420,"callback":430,"priority":287,"file":418,"line":431},"add_table",52,{"type":280,"name":416,"callback":433,"file":418,"line":170},"add_deposit_header",{"type":280,"name":420,"callback":435,"priority":161,"file":418,"line":436},"add_deposit",57,{"type":280,"name":416,"callback":438,"file":418,"line":439},"add_custom_fields_header",60,{"type":280,"name":420,"callback":441,"priority":161,"file":418,"line":442},"add_custom_fields",61,{"type":280,"name":444,"callback":445,"file":446,"line":447},"ebfrtb_mpdf_after_details","add_booking_table_to_pdf","includes\\Export.PDF.class.php",75,{"type":280,"name":449,"callback":445,"file":446,"line":450},"ebfrtb_tcpdf_after_details",76,{"type":280,"name":444,"callback":452,"file":446,"line":453},"add_custom_fields_to_mpdf",79,{"type":280,"name":449,"callback":455,"file":446,"line":222},"add_custom_fields_to_tcpdf",{"type":255,"name":457,"callback":458,"file":459,"line":329},"admin_notices","make_mpdf_dir_writable","includes\\ExportHandler.class.php",{"type":255,"name":294,"callback":461,"file":459,"line":368},"register_exports",{"type":255,"name":294,"callback":463,"file":459,"line":376},"load_export",{"type":255,"name":285,"callback":465,"file":459,"line":380},"print_button",{"type":255,"name":272,"callback":467,"priority":287,"file":459,"line":468},"print_export_options_modal",32,{"type":280,"name":289,"callback":470,"priority":76,"file":471,"line":472},"get_default_fields","includes\\Field.Controller.class.php",58,{"type":280,"name":289,"callback":474,"priority":291,"file":471,"line":442},"modify_form_fields",{"type":280,"name":476,"callback":477,"file":471,"line":478},"rtb_bookings_table_columns","modify_bookings_columns",64,{"type":280,"name":480,"callback":481,"file":471,"line":482},"rtb_bookings_all_table_columns","modify_all_bookings_columns",65,{"type":280,"name":484,"callback":485,"priority":161,"file":471,"line":486},"rtb_bookings_table_column","add_custom_column_value",66,{"type":255,"name":256,"callback":488,"file":489,"line":392},"register_install_screen","includes\\Import.class.php",{"type":255,"name":294,"callback":491,"file":489,"line":492},"import_bookings",38,{"type":255,"name":361,"callback":494,"file":489,"line":340},"enqueue_import_scripts",{"type":255,"name":457,"callback":496,"file":489,"line":497},"display_notice",91,{"type":255,"name":457,"callback":496,"file":489,"line":499},186,{"type":255,"name":256,"callback":488,"file":501,"line":405},"includes\\InstallationWalkthrough.class.php",{"type":255,"name":503,"callback":504,"file":501,"line":505},"admin_head","hide_install_screen_menu_item",14,{"type":255,"name":294,"callback":507,"priority":508,"file":501,"line":264},"redirect",9999,{"type":255,"name":503,"callback":510,"file":501,"line":301},"admin_enqueue",{"type":280,"name":512,"callback":513,"file":514,"line":332},"rtb_set_locations_post_type","rtb_bp_maybe_enable_bp_locations","includes\\integrations\\business-profile.php",{"type":280,"name":516,"callback":517,"file":514,"line":518},"bpfwp_default_display_settings","rtb_bp_booking_link_default",37,{"type":280,"name":520,"callback":521,"file":514,"line":239},"bpwfwp_component_callbacks","rtb_bp_add_booking_link_callback",{"type":280,"name":523,"callback":524,"file":514,"line":525},"bpfwp_widget_display_toggles","rtb_bp_add_booking_link_widget_option",136,{"type":280,"name":527,"callback":528,"file":514,"line":529},"bp_schema_types","rtb_bp_schema_types",180,{"type":280,"name":531,"callback":532,"file":514,"line":533},"etfrtb_designer_setup","etfrtb_bp_designer_setup",272,{"type":255,"name":535,"callback":536,"priority":291,"file":514,"line":537},"customize_register_email_designer","etfrtb_bp_customize_register",376,{"type":255,"name":539,"callback":540,"file":514,"line":541},"customize_register","etfrtb_bp_customize_register_settings",410,{"type":255,"name":294,"callback":543,"file":544,"line":264},"closure","includes\\integrations\\page-builder.php",{"type":255,"name":298,"callback":543,"file":544,"line":250},{"type":255,"name":547,"callback":548,"file":544,"line":549},"elementor\u002Felements\u002Fcategories_registered","rtb_add_elementor_widget_categories",102,{"type":255,"name":551,"callback":552,"file":544,"line":553},"elementor\u002Fwidgets\u002Fregister","rtb_elmntr_register_new_widgets",384,{"type":280,"name":555,"callback":556,"file":557,"line":291},"woocommerce_prevent_admin_access","rtb_woocommerce_allow_booking_managers_access","includes\\integrations\\woocommerce.php",{"type":255,"name":294,"callback":559,"priority":291,"file":560,"line":486},"load_plugin_updater","includes\\Licenses.class.php",{"type":280,"name":562,"callback":563,"priority":205,"file":560,"line":564},"rtb_settings_page","add_licenses_tab",69,{"type":255,"name":361,"callback":566,"file":560,"line":147},"enqueue_assets",{"type":255,"name":457,"callback":457,"file":560,"line":447},{"type":280,"name":569,"callback":570,"file":571,"line":90},"customize_loaded_components","etfrtb_customize_init_blank_state","includes\\load-customizer.php",{"type":255,"name":573,"callback":574,"file":571,"line":26},"customize_controls_enqueue_scripts","etfrtb_customize_control_assets",{"type":255,"name":576,"callback":577,"file":571,"line":287},"customize_controls_init","etfrtb_customize_inject_url_param",{"type":255,"name":535,"callback":579,"file":571,"line":161},"etfrtb_customize_register",{"type":255,"name":581,"callback":582,"file":571,"line":258},"customize_preview_init","etfrtb_customize_preview_init",{"type":255,"name":584,"callback":585,"priority":76,"file":571,"line":387},"wp_loaded","etfrtb_customize_reset_register",{"type":255,"name":539,"callback":587,"file":571,"line":588},"etfrtb_customize_register_settings",924,{"type":280,"name":590,"callback":591,"file":571,"line":592},"template_include","etfrtb_customize_preview_load_email_designer",980,{"type":255,"name":594,"callback":595,"priority":205,"file":596,"line":597},"rtb_send_notification_before","etfrtb_notification_email_template","includes\\load-notifications.php",78,{"type":255,"name":298,"callback":298,"file":599,"line":312},"includes\\MailChimp.class.php",{"type":280,"name":289,"callback":601,"priority":161,"file":599,"line":318},"add_optin_field",{"type":255,"name":276,"callback":603,"file":599,"line":468},"validate_optin_request",{"type":280,"name":382,"callback":605,"file":599,"line":387},"enqueue_subscription_call",{"type":280,"name":298,"callback":605,"file":599,"line":392},{"type":280,"name":346,"callback":608,"priority":161,"file":599,"line":609},"add_booking_meta",39,{"type":255,"name":350,"callback":611,"priority":291,"file":599,"line":422},"reload_booking_meta",{"type":255,"name":613,"callback":614,"file":599,"line":359},"mcfrtb_list_merge_fields","maybe_add_location_merge_field",{"type":255,"name":613,"callback":616,"file":599,"line":431},"maybe_add_merge_options",{"type":255,"name":361,"callback":618,"file":599,"line":619},"enqueue_admin_assets",55,{"type":280,"name":621,"callback":622,"priority":161,"file":599,"line":564},"mcfrtb_merge_fields_data","maybe_send_location_merge_field",{"type":280,"name":621,"callback":624,"priority":161,"file":599,"line":625},"maybe_send_merge_fields",70,{"type":255,"name":627,"callback":628,"priority":205,"file":629,"line":340},"plugins_loaded","load","includes\\MultipleLocations.class.php",{"type":255,"name":298,"callback":631,"priority":220,"file":629,"line":632},"register_taxonomy",73,{"type":255,"name":634,"callback":635,"file":629,"line":447},"before_delete_post","delete_location",{"type":255,"name":289,"callback":637,"priority":161,"file":629,"line":450},"add_location_field",{"type":255,"name":639,"callback":640,"file":629,"line":641},"rtb_view_bookings_form_filters","add_view_bookings_location_field",77,{"type":255,"name":643,"callback":644,"file":629,"line":597},"rtb_pre_validate_booking_submission","validate_location",{"type":255,"name":382,"callback":646,"file":629,"line":453},"save_booking_location",{"type":255,"name":386,"callback":646,"file":629,"line":222},{"type":255,"name":350,"callback":649,"priority":161,"file":629,"line":650},"load_booking_location",81,{"type":280,"name":652,"callback":653,"priority":161,"file":629,"line":654},"rtb_query_args","modify_query",82,{"type":280,"name":480,"callback":656,"file":629,"line":657},"add_location_column",83,{"type":280,"name":484,"callback":659,"priority":161,"file":629,"line":660},"print_location_column",84,{"type":255,"name":662,"callback":663,"file":629,"line":250},"edit_form_after_title","add_meta_nonce",{"type":255,"name":665,"callback":665,"file":629,"line":666},"add_meta_boxes",86,{"type":280,"name":668,"callback":669,"file":629,"line":670},"the_content","append_to_content",87,{"type":280,"name":672,"callback":673,"priority":161,"file":629,"line":674},"rtb_notification_email_to_email","notification_to_email",88,{"type":280,"name":676,"callback":677,"priority":161,"file":629,"line":678},"rtb_notification_email_from_email","notification_from_email",89,{"type":280,"name":680,"callback":681,"priority":161,"file":629,"line":145},"rtb_notification_email_from_name","notification_from_name",{"type":280,"name":354,"callback":683,"priority":161,"file":629,"line":497},"notification_template_tags",{"type":280,"name":357,"callback":685,"file":629,"line":25},"notification_template_tag_descriptions",{"type":255,"name":294,"callback":687,"file":629,"line":688},"fix_autodraft_term_error",93,{"type":255,"name":294,"callback":690,"file":629,"line":13},"remove_location_select_setting",{"type":280,"name":692,"callback":693,"file":629,"line":694},"rtb_booking_form_init","pass_location_data_to_js",95,{"type":280,"name":696,"callback":697,"priority":161,"file":629,"line":193},"rtb-payment-summary-data","add_payment_summary",{"type":280,"name":699,"callback":543,"file":629,"line":700},"rtb_pickadate_args",871,{"type":255,"name":298,"callback":702,"file":703,"line":348},"register_notifications","includes\\Notifications.class.php",{"type":255,"name":298,"callback":705,"priority":706,"file":703,"line":707},"maybe_send_daily_summary",1001,48,{"type":255,"name":298,"callback":709,"file":710,"line":268},"rtb_add_pattern_category","includes\\Patterns.class.php",{"type":255,"name":298,"callback":712,"file":710,"line":305},"rtb_add_patterns",{"type":255,"name":298,"callback":714,"priority":258,"file":715,"line":283},"handle_ipn","includes\\PaymentGatewayPayPal.class.php",{"type":255,"name":298,"callback":717,"file":715,"line":170},"ob_start",{"type":255,"name":719,"callback":720,"file":715,"line":436},"shutdown","flush_ob_end",{"type":280,"name":722,"callback":723,"file":715,"line":724},"rtb-payment-gateway-register","register_gateway",213,{"type":255,"name":692,"callback":726,"file":727,"line":268},"process_payment","includes\\PaymentGatewayStripe.class.php",{"type":280,"name":729,"callback":730,"priority":274,"file":727,"line":46},"rtb_booking_metadata_defaults","default_booking_stripe_info",{"type":255,"name":350,"callback":732,"priority":274,"file":727,"line":182},"populate_booking_stripe_info",{"type":280,"name":346,"callback":734,"priority":274,"file":727,"line":376},"save_booking_gateway_info",{"type":280,"name":736,"callback":737,"priority":274,"file":727,"line":738},"rtb_admin_bookings_list_row_classes","add_hold_class",33,{"type":280,"name":740,"callback":741,"priority":274,"file":727,"line":384},"rtb_bookings_table_column_details","add_hold_detail",{"type":280,"name":743,"callback":744,"priority":274,"file":727,"line":387},"rtb_bookings_table_bulk_actions","add_bulk_action",{"type":280,"name":746,"callback":747,"priority":274,"file":727,"line":392},"rtb_bookings_table_bulk_action","charge_the_hold",{"type":255,"name":749,"callback":750,"file":727,"line":518},"rtb_payment_summary","payment_summary",{"type":280,"name":722,"callback":723,"file":727,"line":752},752,{"type":255,"name":298,"callback":754,"priority":161,"file":755,"line":439},"load_basics","includes\\PaymentManager.class.php",{"type":255,"name":382,"callback":757,"file":755,"line":758},"maybe_schedule_payment_pending_event",63,{"type":280,"name":289,"callback":760,"priority":274,"file":755,"line":205},"add_field_booking_form_gateway",{"type":255,"name":276,"callback":762,"file":755,"line":763},"validate_booking_form_gateway",104,{"type":280,"name":346,"callback":765,"priority":274,"file":755,"line":766},"save_booking_gateway_used",107,{"type":255,"name":350,"callback":768,"priority":274,"file":755,"line":769},"populate_booking_gateway_used",110,{"type":280,"name":771,"callback":772,"priority":161,"file":773,"line":660},"posts_where","title_filter","includes\\Query.class.php",{"type":280,"name":775,"callback":776,"file":773,"line":777},"posts_orderby","orderby_status",196,{"type":255,"name":457,"callback":779,"file":780,"line":405},"maybe_add_review_ask","includes\\ReviewAsk.class.php",{"type":255,"name":361,"callback":782,"file":780,"line":329},"enqueue_review_ask_scripts",{"type":255,"name":298,"callback":784,"priority":161,"file":785,"line":786},"check_permissions","includes\\Settings.class.php",364,{"type":255,"name":298,"callback":788,"priority":258,"file":785,"line":789},"set_defaults",366,{"type":255,"name":298,"callback":791,"priority":258,"file":785,"line":792},"set_selectable_options",368,{"type":255,"name":298,"callback":794,"priority":706,"file":785,"line":795},"set_location_and_timeslot_options",370,{"type":255,"name":298,"callback":797,"priority":798,"file":785,"line":799},"load_settings_panel",1002,372,{"type":280,"name":562,"callback":801,"priority":258,"file":785,"line":802},"maybe_add_location_and_timeslot_settings",374,{"type":280,"name":324,"callback":804,"priority":205,"file":785,"line":805},"clean_schedule_exceptions",377,{"type":280,"name":740,"callback":807,"priority":161,"file":808,"line":809},"add_details_column_items","includes\\WP_List_Table.BookingsTable.class.php",193,{"type":255,"name":811,"callback":812,"file":808,"line":813},"rtb_bookings_table_top","admin_notice_bulk_actions",931,{"type":255,"name":811,"callback":812,"file":808,"line":815},965,{"type":255,"name":627,"callback":817,"file":818,"line":564},"plugin_loaded_action_hook","restaurant-reservations.php",{"type":255,"name":298,"callback":820,"priority":76,"file":818,"line":821},"load_textdomain",71,{"type":255,"name":298,"callback":823,"file":818,"line":632},"output_buffer_start",{"type":255,"name":719,"callback":825,"file":818,"line":239},"output_buffer_end",{"type":255,"name":298,"callback":827,"file":818,"line":694},"add_roles",{"type":255,"name":829,"callback":830,"priority":161,"file":818,"line":831},"upgrader_process_complete","load_migrations",126,{"type":255,"name":457,"callback":833,"priority":399,"file":818,"line":525},"display_header_area",{"type":255,"name":361,"callback":618,"file":818,"line":835},137,{"type":255,"name":837,"callback":838,"file":818,"line":839},"wp_enqueue_scripts","register_assets",138,{"type":280,"name":668,"callback":669,"file":818,"line":841},202,{"type":255,"name":843,"callback":844,"file":818,"line":845},"widgets_init","register_widgets",205,{"type":280,"name":847,"callback":847,"priority":161,"file":818,"line":848},"plugin_action_links",208,{"type":255,"name":294,"callback":850,"priority":26,"file":818,"line":851},"maybe_delete_payment_pending_reservations",228,{"type":255,"name":294,"callback":853,"file":818,"line":854},"maybe_delete_older_reservations",229,{"type":280,"name":324,"callback":853,"priority":205,"file":818,"line":856},230,{"type":255,"name":858,"callback":859,"priority":194,"file":818,"line":860},"wp_footer","assets_footer",233,{"type":255,"name":378,"callback":859,"priority":194,"file":818,"line":862},234,{"type":255,"name":457,"callback":864,"file":818,"line":865},"maybe_display_helper_notice",237,{"type":255,"name":457,"callback":867,"file":818,"line":868},"maybe_display_new_plugin_notice",241,{"type":255,"name":294,"callback":870,"file":818,"line":871},"display_help_bubble",245,[873,878,881,883,885,887,889,891,893,895,897,900,902,905,907,909,913,914,917,918,922,923,926,927,930,931,934,937,940,943,945,947,949,951,953,955,957,959,961,963,965,968,970,972,974,976,978,980,983,985,987,991,992,995,996,999,1000,1002,1004,1006,1008,1012],{"action":874,"nopriv":875,"callback":876,"hasNonce":877,"hasCapCheck":877,"file":259,"line":505},"rtb_send_feature_suggestion",false,"send_feature_suggestion",true,{"action":879,"nopriv":877,"callback":880,"hasNonce":875,"hasCapCheck":875,"file":270,"line":738},"rtb-admin-booking-modal","nopriv_ajax",{"action":879,"nopriv":875,"callback":882,"hasNonce":877,"hasCapCheck":877,"file":270,"line":384},"booking_modal_ajax",{"action":884,"nopriv":877,"callback":880,"hasNonce":875,"hasCapCheck":875,"file":270,"line":387},"rtb-admin-trash-booking",{"action":884,"nopriv":875,"callback":886,"hasNonce":877,"hasCapCheck":877,"file":270,"line":392},"trash_booking_ajax",{"action":888,"nopriv":877,"callback":880,"hasNonce":875,"hasCapCheck":875,"file":270,"line":518},"rtb-admin-email-modal",{"action":888,"nopriv":875,"callback":890,"hasNonce":877,"hasCapCheck":877,"file":270,"line":492},"email_modal_ajax",{"action":892,"nopriv":877,"callback":880,"hasNonce":875,"hasCapCheck":875,"file":270,"line":609},"rtb-admin-column-modal",{"action":892,"nopriv":875,"callback":894,"hasNonce":877,"hasCapCheck":877,"file":270,"line":340},"column_modal_ajax",{"action":896,"nopriv":877,"callback":880,"hasNonce":875,"hasCapCheck":875,"file":270,"line":422},"rtb-admin-ban-modal",{"action":896,"nopriv":875,"callback":898,"hasNonce":877,"hasCapCheck":877,"file":270,"line":899},"ban_modal_ajax",42,{"action":901,"nopriv":877,"callback":880,"hasNonce":875,"hasCapCheck":875,"file":270,"line":344},"rtb-admin-delete-modal",{"action":901,"nopriv":875,"callback":903,"hasNonce":877,"hasCapCheck":877,"file":270,"line":904},"delete_modal_ajax",44,{"action":906,"nopriv":877,"callback":880,"hasNonce":875,"hasCapCheck":875,"file":270,"line":348},"rtb_set_reservation_arrived",{"action":906,"nopriv":875,"callback":908,"hasNonce":877,"hasCapCheck":877,"file":270,"line":352},"set_booking_arrived",{"action":910,"nopriv":875,"callback":911,"hasNonce":877,"hasCapCheck":875,"file":912,"line":240},"rtb_get_available_time_slots","get_time_slots","includes\\Ajax.class.php",{"action":910,"nopriv":877,"callback":911,"hasNonce":877,"hasCapCheck":875,"file":912,"line":758},{"action":915,"nopriv":875,"callback":916,"hasNonce":877,"hasCapCheck":875,"file":912,"line":482},"rtb_find_reservations","get_reservations",{"action":915,"nopriv":877,"callback":916,"hasNonce":877,"hasCapCheck":875,"file":912,"line":486},{"action":919,"nopriv":875,"callback":920,"hasNonce":877,"hasCapCheck":875,"file":912,"line":921},"rtb_cancel_reservations","cancel_reservation",68,{"action":919,"nopriv":877,"callback":920,"hasNonce":877,"hasCapCheck":875,"file":912,"line":564},{"action":924,"nopriv":875,"callback":925,"hasNonce":877,"hasCapCheck":875,"file":912,"line":821},"rtb_get_available_party_size","get_available_party_size",{"action":924,"nopriv":877,"callback":925,"hasNonce":877,"hasCapCheck":875,"file":912,"line":147},{"action":928,"nopriv":875,"callback":929,"hasNonce":877,"hasCapCheck":875,"file":912,"line":239},"rtb_get_available_tables","get_available_tables",{"action":928,"nopriv":877,"callback":929,"hasNonce":877,"hasCapCheck":875,"file":912,"line":447},{"action":932,"nopriv":875,"callback":933,"hasNonce":877,"hasCapCheck":875,"file":912,"line":641},"rtb_reset_notifications","reset_notifications",{"action":935,"nopriv":875,"callback":936,"hasNonce":877,"hasCapCheck":875,"file":400,"line":291},"rtb_hide_upgrade_box","hide_upgrade_box",{"action":938,"nopriv":875,"callback":939,"hasNonce":877,"hasCapCheck":875,"file":400,"line":143},"rtb_display_upgrade_box","display_upgrade_box",{"action":941,"nopriv":877,"callback":942,"hasNonce":875,"hasCapCheck":875,"file":411,"line":46},"cffrtb-save-field","ajax_nopriv",{"action":941,"nopriv":875,"callback":944,"hasNonce":877,"hasCapCheck":877,"file":411,"line":182},"ajax_save_field",{"action":946,"nopriv":877,"callback":942,"hasNonce":875,"hasCapCheck":875,"file":411,"line":376},"cffrtb-save-order",{"action":946,"nopriv":875,"callback":948,"hasNonce":877,"hasCapCheck":877,"file":411,"line":318},"ajax_save_order",{"action":950,"nopriv":877,"callback":942,"hasNonce":875,"hasCapCheck":875,"file":411,"line":274},"cffrtb-load-field",{"action":950,"nopriv":875,"callback":952,"hasNonce":877,"hasCapCheck":877,"file":411,"line":380},"ajax_load_field",{"action":954,"nopriv":877,"callback":942,"hasNonce":875,"hasCapCheck":875,"file":411,"line":468},"cffrtb-delete-field",{"action":954,"nopriv":875,"callback":956,"hasNonce":877,"hasCapCheck":877,"file":411,"line":738},"ajax_delete_field",{"action":958,"nopriv":877,"callback":942,"hasNonce":875,"hasCapCheck":875,"file":411,"line":384},"cffrtb-enable-field",{"action":958,"nopriv":875,"callback":960,"hasNonce":877,"hasCapCheck":877,"file":411,"line":387},"ajax_enable_field",{"action":962,"nopriv":877,"callback":942,"hasNonce":875,"hasCapCheck":875,"file":411,"line":392},"cffrtb-reset-all",{"action":962,"nopriv":875,"callback":964,"hasNonce":877,"hasCapCheck":877,"file":411,"line":518},"ajax_reset_all",{"action":966,"nopriv":877,"callback":967,"hasNonce":875,"hasCapCheck":875,"file":501,"line":305},"rtb-welcome-add-menu-page","admin_nopriv_ajax",{"action":966,"nopriv":875,"callback":969,"hasNonce":877,"hasCapCheck":877,"file":501,"line":291},"add_reservations_page",{"action":971,"nopriv":877,"callback":967,"hasNonce":875,"hasCapCheck":875,"file":501,"line":143},"rtb-welcome-set-schedule",{"action":971,"nopriv":875,"callback":973,"hasNonce":877,"hasCapCheck":877,"file":501,"line":329},"set_schedule",{"action":975,"nopriv":877,"callback":967,"hasNonce":875,"hasCapCheck":875,"file":501,"line":332},"rtb-welcome-set-options",{"action":975,"nopriv":875,"callback":977,"hasNonce":877,"hasCapCheck":877,"file":501,"line":312},"set_options",{"action":979,"nopriv":877,"callback":967,"hasNonce":875,"hasCapCheck":875,"file":599,"line":472},"mcfrtb-get-lists",{"action":979,"nopriv":875,"callback":981,"hasNonce":877,"hasCapCheck":877,"file":599,"line":982},"ajax_get_lists",59,{"action":984,"nopriv":877,"callback":967,"hasNonce":875,"hasCapCheck":875,"file":599,"line":240},"mcfrtb-load-merge-fields",{"action":984,"nopriv":875,"callback":986,"hasNonce":877,"hasCapCheck":877,"file":599,"line":758},"ajax_load_merge_fields",{"action":988,"nopriv":877,"callback":989,"hasNonce":877,"hasCapCheck":875,"file":599,"line":990},"mcfrtb-subscribe","subscribe",67,{"action":988,"nopriv":875,"callback":989,"hasNonce":877,"hasCapCheck":875,"file":599,"line":921},{"action":993,"nopriv":875,"callback":994,"hasNonce":877,"hasCapCheck":875,"file":727,"line":291},"rtb_stripe_get_intent","create_stripe_pmtIntnt",{"action":993,"nopriv":877,"callback":994,"hasNonce":877,"hasCapCheck":875,"file":727,"line":143},{"action":997,"nopriv":875,"callback":998,"hasNonce":877,"hasCapCheck":875,"file":727,"line":332},"rtb_stripe_pmt_succeed","stripe_sca_succeed",{"action":997,"nopriv":877,"callback":998,"hasNonce":877,"hasCapCheck":875,"file":727,"line":312},{"action":1001,"nopriv":877,"callback":967,"hasNonce":875,"hasCapCheck":875,"file":780,"line":260},"rtb-hide-review-ask",{"action":1001,"nopriv":875,"callback":1003,"hasNonce":877,"hasCapCheck":877,"file":780,"line":301},"hide_review_ask",{"action":1005,"nopriv":877,"callback":967,"hasNonce":875,"hasCapCheck":875,"file":780,"line":305},"rtb-send-feedback",{"action":1005,"nopriv":875,"callback":1007,"hasNonce":877,"hasCapCheck":877,"file":780,"line":291},"send_feedback",{"action":1009,"nopriv":875,"callback":1010,"hasNonce":877,"hasCapCheck":877,"file":818,"line":1011},"rtb_hide_helper_notice","hide_helper_notice",238,{"action":1013,"nopriv":875,"callback":1014,"hasNonce":877,"hasCapCheck":877,"file":818,"line":1015},"rtb_hide_new_plugin_notice","hide_new_plugin_notice",242,[],[1018,1022],{"tag":1019,"callback":1020,"file":1021,"line":332},"booking-form","rtb_booking_form_shortcode","includes\\template-functions.php",{"tag":1023,"callback":1024,"file":1021,"line":1025},"view-bookings-form","rtb_display_bookings_form_shortcode",335,[1027,1029],{"hook":327,"callback":327,"file":322,"line":1028},54,{"hook":1030,"callback":1030,"file":755,"line":1031},"rtb_booking_payment_pending",128,{"dangerousFunctions":1033,"sqlUsage":1034,"outputEscaping":1044,"fileOperations":1410,"externalRequests":1410,"nonceChecks":518,"capabilityChecks":278,"bundledLibraries":1411},[],{"prepared":26,"raw":171,"locations":1035},[1036,1039,1042],{"file":1037,"line":899,"context":1038},"includes\\Migration.class.php","$wpdb->query() with variable interpolation",{"file":629,"line":1040,"context":1041},751,"$wpdb->get_col() with variable interpolation",{"file":629,"line":1043,"context":1041},761,{"escaped":1045,"rawEcho":1046,"locations":1047},731,216,[1048,1050,1052,1053,1055,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1075,1077,1079,1081,1083,1084,1085,1087,1089,1091,1093,1095,1097,1099,1101,1103,1105,1107,1109,1111,1112,1114,1115,1117,1119,1120,1122,1124,1126,1127,1129,1131,1133,1134,1136,1137,1139,1141,1143,1144,1146,1148,1150,1152,1154,1156,1158,1160,1161,1162,1163,1165,1167,1169,1171,1173,1175,1176,1177,1178,1179,1180,1181,1182,1183,1185,1186,1188,1190,1192,1193,1195,1197,1198,1199,1200,1201,1203,1204,1206,1208,1210,1212,1214,1216,1218,1219,1220,1221,1222,1224,1225,1227,1228,1229,1230,1231,1233,1234,1235,1237,1238,1239,1241,1243,1245,1247,1249,1251,1252,1254,1256,1258,1260,1262,1263,1264,1265,1267,1268,1269,1270,1271,1273,1275,1277,1279,1281,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1301,1303,1304,1305,1307,1309,1311,1313,1315,1316,1317,1319,1321,1323,1325,1326,1327,1329,1331,1333,1335,1337,1338,1339,1341,1343,1345,1347,1349,1350,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1372,1374,1376,1378,1379,1380,1381,1382,1383,1384,1385,1387,1389,1391,1393,1395,1397,1400,1403,1404,1407,1408],{"file":259,"line":344,"context":1049},"raw output",{"file":259,"line":1051,"context":1049},101,{"file":259,"line":549,"context":1049},{"file":259,"line":1054,"context":1049},103,{"file":259,"line":766,"context":1049},{"file":259,"line":1057,"context":1049},108,{"file":259,"line":1059,"context":1049},109,{"file":259,"line":1061,"context":1049},113,{"file":259,"line":1063,"context":1049},114,{"file":259,"line":1065,"context":1049},115,{"file":259,"line":1067,"context":1049},119,{"file":259,"line":1069,"context":1049},120,{"file":259,"line":1071,"context":1049},121,{"file":259,"line":1073,"context":1049},125,{"file":259,"line":831,"context":1049},{"file":259,"line":1076,"context":1049},127,{"file":259,"line":1078,"context":1049},131,{"file":259,"line":1080,"context":1049},132,{"file":259,"line":1082,"context":1049},133,{"file":259,"line":835,"context":1049},{"file":259,"line":839,"context":1049},{"file":259,"line":1086,"context":1049},139,{"file":259,"line":1088,"context":1049},144,{"file":259,"line":1090,"context":1049},145,{"file":259,"line":1092,"context":1049},150,{"file":259,"line":1094,"context":1049},151,{"file":259,"line":1096,"context":1049},156,{"file":259,"line":1098,"context":1049},157,{"file":259,"line":1100,"context":1049},162,{"file":259,"line":1102,"context":1049},163,{"file":259,"line":1104,"context":1049},168,{"file":259,"line":1106,"context":1049},169,{"file":259,"line":1108,"context":1049},174,{"file":259,"line":1110,"context":1049},175,{"file":259,"line":529,"context":1049},{"file":259,"line":1113,"context":1049},181,{"file":259,"line":499,"context":1049},{"file":259,"line":1116,"context":1049},187,{"file":259,"line":1118,"context":1049},192,{"file":259,"line":809,"context":1049},{"file":259,"line":1121,"context":1049},198,{"file":259,"line":1123,"context":1049},199,{"file":259,"line":1125,"context":1049},204,{"file":259,"line":845,"context":1049},{"file":259,"line":1128,"context":1049},211,{"file":259,"line":1130,"context":1049},217,{"file":259,"line":1132,"context":1049},223,{"file":259,"line":854,"context":1049},{"file":259,"line":1135,"context":1049},235,{"file":259,"line":868,"context":1049},{"file":259,"line":1138,"context":1049},247,{"file":263,"line":1140,"context":1049},346,{"file":270,"line":1142,"context":1049},166,{"file":270,"line":841,"context":1049},{"file":270,"line":1145,"context":1049},451,{"file":296,"line":1147,"context":1049},251,{"file":912,"line":1149,"context":1049},297,{"file":912,"line":1151,"context":1049},846,{"file":912,"line":1153,"context":1049},856,{"file":912,"line":1155,"context":1049},950,{"file":365,"line":1157,"context":1049},394,{"file":400,"line":1159,"context":1049},97,{"file":400,"line":1094,"context":1049},{"file":400,"line":841,"context":1049},{"file":400,"line":851,"context":1049},{"file":400,"line":1164,"context":1049},236,{"file":400,"line":1166,"context":1049},244,{"file":400,"line":1168,"context":1049},257,{"file":400,"line":1170,"context":1049},264,{"file":400,"line":1172,"context":1049},277,{"file":400,"line":1174,"context":1049},289,{"file":404,"line":436,"context":1049},{"file":404,"line":472,"context":1049},{"file":404,"line":982,"context":1049},{"file":404,"line":758,"context":1049},{"file":404,"line":478,"context":1049},{"file":404,"line":478,"context":1049},{"file":404,"line":482,"context":1049},{"file":404,"line":921,"context":1049},{"file":411,"line":1184,"context":1049},173,{"file":411,"line":113,"context":1049},{"file":411,"line":1187,"context":1049},267,{"file":411,"line":1189,"context":1049},321,{"file":411,"line":1191,"context":1049},387,{"file":411,"line":1157,"context":1049},{"file":411,"line":1194,"context":1049},398,{"file":1196,"line":1159,"context":1049},"includes\\Export.CAL.class.php",{"file":1196,"line":160,"context":1049},{"file":1196,"line":399,"context":1049},{"file":1196,"line":205,"context":1049},{"file":1196,"line":549,"context":1049},{"file":446,"line":1202,"context":1049},232,{"file":446,"line":860,"context":1049},{"file":446,"line":1205,"context":1049},262,{"file":446,"line":1207,"context":1049},263,{"file":446,"line":1209,"context":1049},330,{"file":446,"line":1211,"context":1049},331,{"file":459,"line":1213,"context":1049},303,{"file":489,"line":1215,"context":1049},270,{"file":489,"line":1217,"context":1049},273,{"file":501,"line":113,"context":1049},{"file":501,"line":862,"context":1049},{"file":501,"line":868,"context":1049},{"file":501,"line":868,"context":1049},{"file":501,"line":1223,"context":1049},250,{"file":501,"line":1223,"context":1049},{"file":501,"line":1226,"context":1049},344,{"file":501,"line":1226,"context":1049},{"file":501,"line":1226,"context":1049},{"file":501,"line":1226,"context":1049},{"file":501,"line":795,"context":1049},{"file":501,"line":1232,"context":1049},373,{"file":501,"line":1232,"context":1049},{"file":501,"line":805,"context":1049},{"file":501,"line":1236,"context":1049},380,{"file":501,"line":1236,"context":1049},{"file":544,"line":1135,"context":1049},{"file":544,"line":1240,"context":1049},371,{"file":571,"line":1242,"context":1049},1004,{"file":599,"line":1244,"context":1049},326,{"file":703,"line":1246,"context":1049},337,{"file":703,"line":1248,"context":1049},342,{"file":703,"line":1250,"context":1049},343,{"file":715,"line":450,"context":1049},{"file":727,"line":1253,"context":1049},154,{"file":727,"line":1255,"context":1049},167,{"file":727,"line":1257,"context":1049},659,{"file":727,"line":1259,"context":1049},681,{"file":755,"line":1261,"context":1049},439,{"file":1021,"line":13,"context":1049},{"file":1021,"line":1159,"context":1049},{"file":1021,"line":399,"context":1049},{"file":1021,"line":1266,"context":1049},142,{"file":1021,"line":1255,"context":1049},{"file":1021,"line":1011,"context":1049},{"file":1021,"line":868,"context":1049},{"file":1021,"line":1015,"context":1049},{"file":1021,"line":1272,"context":1049},271,{"file":1021,"line":1274,"context":1049},285,{"file":1021,"line":1276,"context":1049},396,{"file":1021,"line":1278,"context":1049},399,{"file":1021,"line":1280,"context":1049},408,{"file":1021,"line":1280,"context":1049},{"file":1021,"line":1283,"context":1049},466,{"file":1021,"line":1285,"context":1049},470,{"file":1021,"line":1287,"context":1049},699,{"file":1021,"line":1289,"context":1049},700,{"file":1021,"line":1291,"context":1049},701,{"file":1021,"line":1293,"context":1049},704,{"file":1021,"line":1295,"context":1049},728,{"file":1021,"line":1297,"context":1049},729,{"file":1021,"line":1299,"context":1049},730,{"file":1021,"line":1045,"context":1049},{"file":1021,"line":1302,"context":1049},733,{"file":1021,"line":1302,"context":1049},{"file":1021,"line":1302,"context":1049},{"file":1021,"line":1306,"context":1049},757,{"file":1021,"line":1308,"context":1049},758,{"file":1021,"line":1310,"context":1049},759,{"file":1021,"line":1312,"context":1049},760,{"file":1021,"line":1314,"context":1049},762,{"file":1021,"line":1314,"context":1049},{"file":1021,"line":1314,"context":1049},{"file":1021,"line":1318,"context":1049},792,{"file":1021,"line":1320,"context":1049},793,{"file":1021,"line":1322,"context":1049},795,{"file":1021,"line":1324,"context":1049},799,{"file":1021,"line":1324,"context":1049},{"file":1021,"line":1324,"context":1049},{"file":1021,"line":1328,"context":1049},800,{"file":1021,"line":1330,"context":1049},826,{"file":1021,"line":1332,"context":1049},827,{"file":1021,"line":1334,"context":1049},829,{"file":1021,"line":1336,"context":1049},833,{"file":1021,"line":1336,"context":1049},{"file":1021,"line":1336,"context":1049},{"file":1021,"line":1340,"context":1049},834,{"file":1021,"line":1342,"context":1049},859,{"file":1021,"line":1344,"context":1049},860,{"file":1021,"line":1346,"context":1049},861,{"file":1021,"line":1348,"context":1049},862,{"file":1021,"line":1348,"context":1049},{"file":1021,"line":1348,"context":1049},{"file":1021,"line":1352,"context":1049},863,{"file":1021,"line":1354,"context":1049},885,{"file":1021,"line":1356,"context":1049},887,{"file":1021,"line":1358,"context":1049},908,{"file":808,"line":1360,"context":1049},461,{"file":808,"line":1362,"context":1049},472,{"file":808,"line":1364,"context":1049},583,{"file":808,"line":1366,"context":1049},991,{"file":808,"line":1368,"context":1049},994,{"file":808,"line":1370,"context":1049},997,{"file":808,"line":220,"context":1049},{"file":808,"line":1373,"context":1049},1012,{"file":808,"line":1375,"context":1049},1160,{"file":1377,"line":348,"context":1049},"includes\\WP_Widget.BookingFormWidget.class.php",{"file":1377,"line":61,"context":1049},{"file":1377,"line":359,"context":1049},{"file":1377,"line":431,"context":1049},{"file":1377,"line":478,"context":1049},{"file":1377,"line":482,"context":1049},{"file":1377,"line":482,"context":1049},{"file":818,"line":1322,"context":1049},{"file":818,"line":1386,"context":1049},821,{"file":818,"line":1388,"context":1049},869,{"file":1390,"line":1096,"context":1049},"templates\\conversations.php",{"file":1390,"line":1392,"context":1049},215,{"file":1394,"line":688,"context":1049},"templates\\impressions.php",{"file":1394,"line":1396,"context":1049},140,{"file":1398,"line":1399,"context":1049},"templates\\mpdf.php",135,{"file":1401,"line":1402,"context":1049},"templates\\statement.php",116,{"file":1401,"line":1113,"context":1049},{"file":1405,"line":1406,"context":1049},"templates\\stationary.php",106,{"file":1405,"line":1402,"context":1049},{"file":1409,"line":422,"context":1049},"templates\\tcpdf.php",4,[1412],{"name":1413,"version":1414,"knownCves":1415},"TCPDF","1.0.004",[],[1417,1438,1450,1462,1479,1490,1501,1509,1519,1527,1540,1548,1558,1566,1576,1586],{"entryPoint":1418,"graph":1419,"unsanitizedCount":76,"severity":39},"ajax_delete_field (includes\\Editor.class.php:678)",{"nodes":1420,"edges":1435},[1421,1426,1430],{"id":1422,"type":1423,"label":1424,"file":411,"line":1425},"n0","source","$_POST",727,{"id":1427,"type":1428,"label":1429,"file":411,"line":1425},"n1","transform","→ print_field()",{"id":1431,"type":1432,"label":1433,"file":411,"line":1187,"wp_function":1434},"n2","sink","echo() [XSS]","echo",[1436,1437],{"from":1422,"to":1427,"sanitized":875},{"from":1427,"to":1431,"sanitized":875},{"entryPoint":1439,"graph":1440,"unsanitizedCount":171,"severity":39},"ajax_enable_field (includes\\Editor.class.php:738)",{"nodes":1441,"edges":1447},[1442,1445,1446],{"id":1422,"type":1423,"label":1443,"file":411,"line":1444},"$_POST (x3)",785,{"id":1427,"type":1428,"label":1429,"file":411,"line":1444},{"id":1431,"type":1432,"label":1433,"file":411,"line":1187,"wp_function":1434},[1448,1449],{"from":1422,"to":1427,"sanitized":875},{"from":1427,"to":1431,"sanitized":875},{"entryPoint":1451,"graph":1452,"unsanitizedCount":1461,"severity":39},"\u003CEditor.class> (includes\\Editor.class.php:0)",{"nodes":1453,"edges":1458},[1454,1456,1457],{"id":1422,"type":1423,"label":1455,"file":411,"line":1425},"$_POST (x5)",{"id":1427,"type":1428,"label":1429,"file":411,"line":1425},{"id":1431,"type":1432,"label":1433,"file":411,"line":1187,"wp_function":1434},[1459,1460],{"from":1422,"to":1427,"sanitized":875},{"from":1427,"to":1431,"sanitized":875},5,{"entryPoint":1463,"graph":1464,"unsanitizedCount":76,"severity":39},"rtb_print_booking_form (includes\\template-functions.php:32)",{"nodes":1465,"edges":1476},[1466,1469,1472,1474],{"id":1422,"type":1423,"label":1467,"file":1021,"line":1468},"$_GET",105,{"id":1427,"type":1432,"label":1470,"file":1021,"line":835,"wp_function":1471},"header() [Header Injection]","header",{"id":1431,"type":1423,"label":1473,"file":1021,"line":854},"$_GET['selected_date']",{"id":1475,"type":1432,"label":1433,"file":1021,"line":854,"wp_function":1434},"n3",[1477,1478],{"from":1422,"to":1427,"sanitized":875},{"from":1431,"to":1475,"sanitized":877},{"entryPoint":1480,"graph":1481,"unsanitizedCount":76,"severity":39},"\u003Ctemplate-functions> (includes\\template-functions.php:0)",{"nodes":1482,"edges":1487},[1483,1484,1485,1486],{"id":1422,"type":1423,"label":1467,"file":1021,"line":1468},{"id":1427,"type":1432,"label":1470,"file":1021,"line":835,"wp_function":1471},{"id":1431,"type":1423,"label":1473,"file":1021,"line":854},{"id":1475,"type":1432,"label":1433,"file":1021,"line":854,"wp_function":1434},[1488,1489],{"from":1422,"to":1427,"sanitized":875},{"from":1431,"to":1475,"sanitized":877},{"entryPoint":1491,"graph":1492,"unsanitizedCount":27,"severity":1500},"process_action (includes\\AdminPageSettingLicenseKey.class.php:336)",{"nodes":1493,"edges":1498},[1494,1496],{"id":1422,"type":1423,"label":1467,"file":296,"line":1495},369,{"id":1427,"type":1432,"label":1470,"file":296,"line":1497,"wp_function":1471},379,[1499],{"from":1422,"to":1427,"sanitized":877},"low",{"entryPoint":1502,"graph":1503,"unsanitizedCount":27,"severity":1500},"\u003CAdminPageSettingLicenseKey.class> (includes\\AdminPageSettingLicenseKey.class.php:0)",{"nodes":1504,"edges":1507},[1505,1506],{"id":1422,"type":1423,"label":1467,"file":296,"line":1495},{"id":1427,"type":1432,"label":1470,"file":296,"line":1497,"wp_function":1471},[1508],{"from":1422,"to":1427,"sanitized":877},{"entryPoint":1510,"graph":1511,"unsanitizedCount":27,"severity":1500},"get_reservations (includes\\Ajax.class.php:84)",{"nodes":1512,"edges":1517},[1513,1514],{"id":1422,"type":1423,"label":1424,"file":912,"line":497},{"id":1427,"type":1432,"label":1515,"file":912,"line":1065,"wp_function":1516},"get_results() [SQLi]","get_results",[1518],{"from":1422,"to":1427,"sanitized":877},{"entryPoint":1520,"graph":1521,"unsanitizedCount":27,"severity":1500},"\u003CAjax.class> (includes\\Ajax.class.php:0)",{"nodes":1522,"edges":1525},[1523,1524],{"id":1422,"type":1423,"label":1424,"file":912,"line":497},{"id":1427,"type":1432,"label":1515,"file":912,"line":1065,"wp_function":1516},[1526],{"from":1422,"to":1427,"sanitized":877},{"entryPoint":1528,"graph":1529,"unsanitizedCount":27,"severity":1500},"validate_submission (includes\\Booking.class.php:387)",{"nodes":1530,"edges":1538},[1531,1534],{"id":1422,"type":1423,"label":1424,"file":1532,"line":1533},"includes\\Booking.class.php",778,{"id":1427,"type":1432,"label":1535,"file":1532,"line":1536,"wp_function":1537},"file_get_contents() [SSRF\u002FLFI]",781,"file_get_contents",[1539],{"from":1422,"to":1427,"sanitized":877},{"entryPoint":1541,"graph":1542,"unsanitizedCount":27,"severity":1500},"\u003CBooking.class> (includes\\Booking.class.php:0)",{"nodes":1543,"edges":1546},[1544,1545],{"id":1422,"type":1423,"label":1424,"file":1532,"line":1533},{"id":1427,"type":1432,"label":1535,"file":1532,"line":1536,"wp_function":1537},[1547],{"from":1422,"to":1427,"sanitized":877},{"entryPoint":1549,"graph":1550,"unsanitizedCount":27,"severity":1500},"hide_review_ask (includes\\ReviewAsk.class.php:86)",{"nodes":1551,"edges":1556},[1552,1553],{"id":1422,"type":1423,"label":1424,"file":780,"line":688},{"id":1427,"type":1432,"label":1554,"file":780,"line":193,"wp_function":1555},"update_option() [Settings Manipulation]","update_option",[1557],{"from":1422,"to":1427,"sanitized":877},{"entryPoint":1559,"graph":1560,"unsanitizedCount":27,"severity":1500},"\u003CReviewAsk.class> (includes\\ReviewAsk.class.php:0)",{"nodes":1561,"edges":1564},[1562,1563],{"id":1422,"type":1423,"label":1424,"file":780,"line":688},{"id":1427,"type":1432,"label":1554,"file":780,"line":193,"wp_function":1555},[1565],{"from":1422,"to":1427,"sanitized":877},{"entryPoint":1567,"graph":1568,"unsanitizedCount":27,"severity":1500},"advanced_filters (includes\\WP_List_Table.BookingsTable.class.php:341)",{"nodes":1569,"edges":1574},[1570,1573],{"id":1422,"type":1423,"label":1571,"file":808,"line":1572},"$_GET['status']",497,{"id":1427,"type":1432,"label":1433,"file":808,"line":1572,"wp_function":1434},[1575],{"from":1422,"to":1427,"sanitized":877},{"entryPoint":1577,"graph":1578,"unsanitizedCount":27,"severity":1500},"add_notification (includes\\WP_List_Table.BookingsTable.class.php:1123)",{"nodes":1579,"edges":1584},[1580,1582],{"id":1422,"type":1423,"label":1467,"file":808,"line":1581},1131,{"id":1427,"type":1432,"label":1433,"file":808,"line":1583,"wp_function":1434},1159,[1585],{"from":1422,"to":1427,"sanitized":877},{"entryPoint":1587,"graph":1588,"unsanitizedCount":27,"severity":1500},"\u003CWP_List_Table.BookingsTable.class> (includes\\WP_List_Table.BookingsTable.class.php:0)",{"nodes":1589,"edges":1594},[1590,1591,1592,1593],{"id":1422,"type":1423,"label":1571,"file":808,"line":1572},{"id":1427,"type":1432,"label":1433,"file":808,"line":1572,"wp_function":1434},{"id":1431,"type":1423,"label":1467,"file":808,"line":1581},{"id":1475,"type":1432,"label":1433,"file":808,"line":1583,"wp_function":1434},[1595,1596],{"from":1422,"to":1427,"sanitized":877},{"from":1431,"to":1475,"sanitized":877},{"summary":1598,"deductions":1599},"The \"restaurant-reservations\" plugin v2.7.13 exhibits a mixed security posture. On the positive side, the plugin demonstrates good practices in several areas, including a high percentage of SQL queries using prepared statements (73%) and a substantial number of correctly escaped outputs (77%). The presence of numerous nonce and capability checks (37 and 50 respectively) also suggests an effort to secure its functionalities. However, significant concerns arise from the attack surface. With 64 total entry points, 20 of which lack authentication checks, there is a considerable risk of unauthorized access and malicious manipulation of plugin features. This is further exacerbated by the 5 flows with unsanitized paths identified during taint analysis.\n\nThe vulnerability history is also a cause for concern. While there are currently no unpatched CVEs, the plugin has accumulated 8 known vulnerabilities, with one high and seven medium severity issues. The common types of these vulnerabilities – Authorization Bypass, CSRF, XSS, and Missing Authorization – highlight recurring security weaknesses that attackers could exploit. The presence of these past issues, despite the current lack of unpatched vulnerabilities, suggests a history of insecure coding practices. The bundled TCPDF v1.0.004 library, being an older version, also poses a potential risk if it contains known vulnerabilities not accounted for in the plugin's CVE history.\n\nIn conclusion, while the plugin has implemented some robust security measures, the substantial number of unprotected AJAX handlers and the history of medium and high severity vulnerabilities indicate a notable risk. The findings from static analysis, particularly regarding the attack surface and unsanitized paths, coupled with the historical vulnerability patterns, necessitate careful review and potential mitigation. The outdated bundled library adds another layer of potential risk that should be addressed.",[1600,1602,1604,1606,1608],{"reason":1601,"points":161},"Unprotected AJAX handlers",{"reason":1603,"points":161},"Flows with unsanitized paths",{"reason":1605,"points":264},"High severity known CVEs (1)",{"reason":1607,"points":90},"Medium severity known CVEs (7)",{"reason":1609,"points":1410},"Bundled outdated library (TCPDF v1.0.004)","2026-03-16T17:45:00.167Z",{"wat":1612,"direct":1629},{"assetPaths":1613,"generatorPatterns":1620,"scriptPaths":1621,"versionParams":1622},[1614,1615,1616,1617,1618,1619],"\u002Fwp-content\u002Fplugins\u002Frestaurant-reservations\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Frestaurant-reservations\u002Fcss\u002Frtb-frontend.css","\u002Fwp-content\u002Fplugins\u002Frestaurant-reservations\u002Fcss\u002Frtb-frontend-simple.css","\u002Fwp-content\u002Fplugins\u002Frestaurant-reservations\u002Fjs\u002Fadmin.js","\u002Fwp-content\u002Fplugins\u002Frestaurant-reservations\u002Fjs\u002Frtb-frontend.js","\u002Fwp-content\u002Fplugins\u002Frestaurant-reservations\u002Fjs\u002Frtb-frontend-simple.js",[],[1617,1618,1619],[1623,1624,1625,1626,1627,1628],"restaurant-reservations\u002Fcss\u002Fadmin.css?ver=","restaurant-reservations\u002Fcss\u002Frtb-frontend.css?ver=","restaurant-reservations\u002Fcss\u002Frtb-frontend-simple.css?ver=","restaurant-reservations\u002Fjs\u002Fadmin.js?ver=","restaurant-reservations\u002Fjs\u002Frtb-frontend.js?ver=","restaurant-reservations\u002Fjs\u002Frtb-frontend-simple.js?ver=",{"cssClasses":1630,"htmlComments":1652,"htmlAttributes":1656,"restEndpoints":1660,"jsGlobals":1662,"shortcodeOutput":1665},[1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651],"rtb-booking-form","rtb-booking-confirmation","rtb-booking-summary","rtb-field-label","rtb-field-wrap","rtb-input-text","rtb-input-email","rtb-input-tel","rtb-input-date","rtb-input-time","rtb-input-select","rtb-input-textarea","rtb-input-checkbox","rtb-input-radio","rtb-button","rtb-error","rtb-required","rtb-admin-booking-list","rtb-admin-booking-details","rtb-admin-settings","rtb-widget-booking-form",[1653,1654,1655],"\u003C!-- The booking form -->","\u003C!-- Booking confirmation message -->","\u003C!-- Booking summary -->",[1657,1658,1659],"data-rtb-field-id","data-rtb-field-type","data-rtb-booking-id",[1661],"\u002Fwp-json\u002Frtb\u002Fv1\u002Fbookings",[1663,1664],"rtb_frontend_params","rtb_admin_params",[1666,1667,1668],"[rtb_booking_form]","[rtb_booking_confirmation]","[rtb_booking_summary]"]