Descripció
A visitor lands on your page and types «can I get a personal training session next Friday at 10?» — and walks away with a priced, confirmed booking, with a reference number and a payment taken. You did nothing.
That is the whole idea. Reservai adds an AI booking assistant to your WordPress site, backed by a real scheduling engine that knows your rooms, staff, courts, vehicles and equipment, your deposits, and your cancellation policy. The same engine also renders as an ordinary booking widget, because plenty of people would rather click than chat.
Nothing is stored in WordPress. There are no booking tables in your database, no payment gateway to configure on your site, and no wp-cron deciding whether tonight’s reminders actually go out. You install the plugin, paste one API key, and place a block.
What it costs
The plugin is free. So is getting started with Reservai — there is no per-site licence, no monthly fee on the Starter plan, and no cap on how many bookings you take.
You pay 3% + $0.26 only when a booking completes. A quiet month costs you nothing.
The AI assistant is an optional paid add-on on top of that. Everything else described below — the booking widget, the services catalog, the customer portal, resources, deposits, notifications — works without it.
Booking by chat, start to finish
The assistant is not a lead-capture bot that hands off to a human. It runs the entire booking:
- Lists and describes your services, and answers questions about them
- Picks the service, the branch, and the specific resource or staff member
- Sets party size for group services and rental days for multi-day hires
- Offers real available dates and times — never a slot that is already taken
- Adds or removes priced add-ons, including required option groups
- Sets up a recurring series (daily, weekly, biweekly, monthly)
- Verifies the customer’s identity before it commits anything
- Takes the payment method and confirms, returning a real booking reference
Then the customer comes back to the same chat later and changes it themselves: find my bookings, move the time, add an extra rental day, add an add-on, or cancel. On a recurring series it asks whether they mean this one occurrence or the whole series, and it settles any price difference.
One engine, two front doors
Chat and widget are not two systems. They are two entrances to the same booking engine, so there is no second set of rules to configure and nothing to keep in sync. A booking made by chat is subject to exactly the same availability, deposits, buffers and cancellation policy as one made through the widget.
The AI is also fully managed. You do not need an OpenAI or Gemini account, you do not hold an API key, and you do not get a second unpredictable bill from an AI vendor. It is one add-on with a monthly token allowance on the same statement as everything else.
Scheduling that fits how you actually work
Many booking plugins model «a staff member with working hours». Reservai can also model the real thing:
- Every asset is bookable — rooms, courts, vehicles, devices, chairs, instructors — each with its own schedule
- A service can need several at once — a practitioner and a room and a machine, all free at the same time or no slot is offered
- Pools — «any free one of these five», so the engine assigns the instructor or the court instead of making the customer choose
- Exclusive capacity — one booking locks the window (a treatment room, a charter, a 1-to-1 session)
- Shared session capacity — several bookings share the same window up to a limit (a class, a boat trip selling seats)
- Rolling capacity — overlapping bookings share instantaneous capacity (parking, rolling gym entry)
- Multi-day rentals with turnaround time enforced between hires
- Group bookings with a maximum party size
- Recurring series, paid as you go or in full upfront
- Buffers after a booking, and per-branch availability
Deposits, cancellations and no-shows
Set it once per service and the engine enforces it, on chat and widget alike: require a deposit as a fixed amount or a percentage; set a free-cancel window; set separate refund percentages for the deposit and for the total, before and after that deadline; retain a percentage on a late cancellation; and collect a no-show fee. The policy text you write is shown to the customer before they commit.
Runs off your site, so it cannot break with it
- No booking tables in your WordPress database
- Reminders, confirmations, auto-confirm and no-show handling run on Reservai’s infrastructure, not on
wp-cron— a quiet week on your site does not mean missed reminders - Notifications go out over email, SMS, WhatsApp and in-app, from editable templates
- Nothing extra on your site to keep patched, and no card data touching your server
Blocks and shortcodes
Three blocks in the editor: Reservai Single Booking, Reservai Services, Reservai Portal.
Or shortcodes, which work anywhere shortcodes work — the block editor, the classic editor, Elementor, Divi, page-builder text widgets:
[reservai_booking service="your-service-slug"] — the booking wizard for one service. Without a service attribute it shows the catalog.
[reservai_services] — your service catalog with prices and Book now.
[reservai_portal] — the customer portal. `view="bookings"` for My Bookings only, `view="new"` for New Booking only.
[reservai_chat] — force the AI chat bubble onto that page.
Payments
You connect your own Stripe account (PayPal where available), so customer money lands in your account, not ours. Take the full amount, a deposit only, or let customers pay at the venue. Wallet credit and offline payment are supported, and tax is applied per your country policy.
Beyond the booking
A point of sale for walk-ins, retail products added onto a booking, staff accounts with role-based permissions, multiple branches, customer reviews, disputes, payout requests, monthly statements, and revenue, bookings, services, customers, commission and payout reports.
Requirements
A Reservai account (free — create one at https://getreservai.com), WordPress 6.2 or newer, PHP 8.1 or newer, and an API key from your account.
External service disclosure
This plugin communicates with the Reservai service (getreservai.com / reservai.ae) to verify your API key, list your public catalog, register your site domain for embedding, and render the booking, portal and chat widgets. Booking, payments, and customer records stay on Reservai. They are not copied into WordPress.
If a visitor is logged in to WordPress and booking prefill is enabled, the plugin may send their name, email, and phone (when available, for example from WooCommerce billing fields) to Reservai so the booking form can be filled in. If POS lookup is enabled, Reservai staff may search those same fields on this site. Passwords, roles, and order history are never sent.
Terms and Conditions: https://getreservai.com/terms-conditions
Privacy Policy: https://getreservai.com/privacy-policy
Source code
The plugin is GPLv2-or-later and its source is fully readable. The unminified source for the editor blocks ships in the src/ folder; the compiled files in build/ are generated from it with:
npm install && npm run build
The build uses @wordpress/scripts (wp-scripts) and the commands are listed in package.json. No code is obfuscated, and there are no third-party libraries bundled beyond the build output of the block sources themselves.
Captures











Blocs
Aquesta extensió proporciona 3 blocs.
- Reservai Portal Customer portal: book a service and/or manage existing bookings. Choose both tabs, My Bookings only, or New Booking only. Not the same as the Reservai Services catalog block.
- Reservai Services Catalog of services with prices and Book now. Use Single Booking when you want one service’s wizard.
- Reservai Single Booking Embed the booking wizard for one service. With no service selected, the services catalog is shown.
Instal·lació
- Install and activate the plugin.
- Open Reservai in the WordPress admin sidebar.
- In your Reservai account, go to Settings API Keys Create key. You will see the full key only once — copy it.
- Paste the key into the plugin and click Connect. Your site domain is registered for embedding automatically.
- Add a Reservai block in the editor, or paste a shortcode on a page.
A full illustrated guide is at https://getreservai.com/wordpress
PMF
-
Is the plugin free? Is there a per-site licence?
-
The plugin is free and there is no licence to buy, for one site or a hundred. The Reservai Starter plan is free monthly and does not limit how many bookings you take. You pay 3% + $0.26 when a booking completes. Starter covers one location, five services and three staff members; beyond that you either move to a larger plan or pay a small per-item fee.
-
Do I need a Reservai account?
-
Yes. The plugin is the WordPress front end for your Reservai account, which is where your services, calendar, customers and payments live. Creating one is free.
-
Does the AI assistant cost extra? Do I need my own OpenAI key?
-
The assistant is an optional paid add-on, billed monthly with an included token allowance and a metered rate beyond it. You do not need an OpenAI or Gemini account and you never handle an AI API key — it is managed, on the same statement as the rest of your billing. Without the add-on, every other feature still works.
-
Can customers change or cancel their own bookings?
-
Yes, both in the AI chat and in the customer portal. Changes are checked against your availability and your cancellation policy, and any price difference is settled.
-
Can I take a deposit, and keep something on a late cancellation or a no-show?
-
Yes. Per service you can require a deposit (fixed or percentage), set a free-cancel window, set different refund percentages before and after that deadline for the deposit and for the total, and collect a no-show fee.
-
Can it handle rooms, vehicles or instructors — several at once for one booking?
-
Yes. Each is a bookable resource with its own schedule, and a service can consume several at the same time. Pools let the engine pick any free one instead of asking the customer.
-
Can it do multi-day rentals, classes, or weekly recurring bookings?
-
All three. Rentals are priced by day with a turnaround gap enforced between hires; classes use shared-session capacity with a party size; recurring series can be paid per occurrence or upfront.
-
Will reminders still go out if my site is quiet?
-
Yes. Reminders and booking lifecycle jobs run on Reservai’s servers, not on
wp-cron, so they do not depend on someone visiting your site. -
Does it work with Elementor, Divi or a classic theme?
-
Yes. Use the blocks in the block editor, or the shortcodes anywhere else.
-
Where are bookings and customer data stored?
-
On Reservai. WordPress stores only your connection settings, including the API key in
wp_options— the same as other plugins that call an external API. -
Can I keep the API key out of the database?
-
Yes. In
wp-config.phpadd:define( 'RESERVAI_API_KEY', 'rsv_live_…' );When that constant is set, the settings field is disabled.
-
How do payments reach me?
-
Through your own connected Stripe account, in your own currency. Reservai does not sit between you and the customer’s card.
-
Does it sync with Google Calendar?
-
Not yet. Your bookings live in the Reservai calendar and scheduler, and staff are notified by email, SMS, WhatsApp and in-app notifications. Two-way calendar sync is on the roadmap.
-
Can staff take walk-in bookings?
-
Yes, through the point of sale in your Reservai account, against the same availability as online bookings.
-
Does it slow my site down?
-
No. The widgets are embedded and rendered by Reservai, so there are no booking queries against your database and no extra scheduled tasks on your site.
-
Is it translation-ready?
-
Yes. Text domain
reservai-ai-booking-appointments. Translations are managed through translate.wordpress.org, and RTL styles are included. -
How do I remove it cleanly?
-
Deactivate and delete. Scheduled tasks are always cleared. Settings are only removed if you tick the option to delete them on uninstall.
-
Local development against a self-signed certificate
-
Only on a debug site, you may add:
define( 'RESERVAI_API_BASE', 'https://reservai.test' ); define( 'RESERVAI_DISABLE_SSL_VERIFY', true );Never set
RESERVAI_DISABLE_SSL_VERIFYon a live site. The plugin honours it only whenWP_DEBUGis true. -
Where do I get help?
-
Use the support forum on this plugin’s WordPress.org page, or open a ticket from Support inside your Reservai account.
Ressenyes
No hi ha ressenyes per a aquesta extensió.
Col·laboradors i desenvolupadors
«Reservai — AI Booking & Appointments» és programari de codi obert. La següent gent ha col·laborat en aquesta extensió.
Col·laboradorsTraduïu «Reservai — AI Booking & Appointments» a la vostra llengua.
Interessats en el desenvolupament?
Navegueu pel codi, baixeu-vos el repositori SVN, o subscriviu-vos al registre de desenvolupament per fisl de subscripció RSS.
Registre de canvis
1.0.1
- Text domain updated to reservai-ai-booking-appointments to match the new slug.
- Removed comparative wording from the description.
- Included the unminified block sources in src/ and documented the build process.
- Removed bundled translation files; translations are handled via translate.wordpress.org.
1.0.0
- Connect a WordPress site to Reservai with an API key.
- Booking, services, and portal blocks and shortcodes.
- Optional AI chat bubble with display rules.
- Optional booking prefill from the logged-in WordPress user.
