

Offer cards on a page: photo, place, dates, level, instructor, price and a "Sign up" button.
ReservePro is an online booking and payment system for dance and fitness schools, sports clubs and courts, camp and course organisers, shooting ranges and driving schools. You run your offer, sign-ups and payments in the ReservePro panel; your customers book online and pay by card, BLIK or Przelewy24 (through Stripe).
This plugin puts that offer on your WordPress site. Visitors see your classes, dates, prices and free places on your own pages, click “Sign up” and finish the booking and the payment on your ReservePro booking site.
The plugin is free, but it has nothing of its own to show — it displays widgets from your ReservePro account.
Without a ReservePro account the plugin shows nothing.
Add the “ReservePro widget” block in the block editor (search for “ReservePro”), choose the widget, then pick the offer and the group or date (or the gift voucher) from the lists in the block settings — no codes to copy. The editor shows a live preview, and the published page shows exactly the same widget.
Prefer shortcodes, or use a page builder? Every widget is also available as a shortcode:
[reservepro widget="course-card" offer="offer-slug"]
The ready-made shortcode for every widget and offer, with all options, can be copied from your ReservePro panel (Widgets “WordPress” tab). A [reservepro] shortcode in a Shortcode block can be turned into the block with the block toolbar (Transform).
Widget names: sign-up button (cta), offer card (course-card), card grid (grid), “Looking for a gift?” banner (gift-banner), schedule with filters (schedule), weekly calendar (calendar), offer hero (jambo), free places label (remaining), court availability (resources-availability), cabin calendar (stay-calendar), instructors with hours (instructor-hours), QR code (qrcode), AI assistant (beta) (assistant).
Examples:
[reservepro widget="cta" offer="offer-slug" cta="Sign up"]
[reservepro widget="schedule" preset="classes"]
[reservepro widget="jambo" offer="offer-slug"]
[reservepro widget="grid" offers="offer-a,offer-b"]
[reservepro widget="grid" offers="offer-a,voucher-slug"]
[reservepro widget="gift-banner"]
[reservepro widget="gift-banner" voucher="voucher-slug"]
[reservepro widget="qrcode" offer="offer-slug"]
[reservepro widget="assistant" offer="offer-slug"]
Questions? Write to [email protected].
This plugin connects to ReservePro (https://reservepro.app), the booking service that provides the widgets. Without it the plugin has nothing to show. No request is made until an administrator clicks “Connect with ReservePro” or enters the booking site address in Settings ReservePro.
What is sent, when and where:
https://reservepro.app/admin/connect/wordpress, or the panel of the booking site already entered) with the address of the plugin settings screen and a random one-time code. After the administrator logs in and confirms, the browser comes back with the public organiser identifier and booking site address, which the plugin then verifies with the connection check below. No password, key or token is exchanged or stored.<your booking site>/api/tenant (for example https://yourname.reservepro.app/api/tenant). It returns the public name and identifier of the organiser.[reservepro] shortcode or the ReservePro block is displayed (or previewed in the block editor) and the cached copy is older than the cache lifetime: a request from your WordPress server to https://widgets.reservepro.app/api/<organiser identifier>/widgets/<widget> with the shortcode parameters (offer, group, date and display options) in the query string./wp-json/reservepro/v1/widget) for the current widget; your WordPress server answers from its cache or, when the cached copy is older than the cache lifetime, makes the “Widget content” request above. The visitor’s browser does not contact ReservePro for this.https://widgets.reservepro.app/api/offers?tenant=<organiser identifier>. It returns the public list of offers (names, booking types, groups and dates) shown in the block settings. Together with it: a request to <your booking site>/api/voucher-offers, which returns the public list of your published gift vouchers (the plugin keeps only their names and addresses) for the “Looking for a gift?” banner and the card grid. The lists are available only to logged-in users who can edit posts.https://widgets.reservepro.app and the offer photos shown in widgets from your ReservePro booking site, which shares the visitor’s IP address and browser information with ReservePro as with any web resource. Links in widgets lead visitors to your ReservePro booking site.[reservepro widget="assistant"] or the block with “AI assistant”) — the visitor’s browser loads the script <your booking site>/widgets/assistant.js and, when the visitor opens the bubble and asks a question, sends the question, the address of the current page and the optional offer context to <your booking site>/api/assistant/messages; the answer is streamed back. ReservePro processes the question with an AI model to answer it (see the ReservePro privacy policy) and keeps only statistics of the conversation (no message texts). Nothing is sent until the visitor types a question.ReservePro terms of use: https://reservepro.pl/terms-of-use
ReservePro privacy policy: https://reservepro.pl/privacy-policy