Title: PlaneviaApp Booking for Planevia
Author: planeviaapp
Published: <strong>5 de mayo de  2026</strong>
Last modified: 11 de octubre de  2026

---

Buscar plugins

![](https://ps.w.org/planevia-reservation-en-ligne/assets/icon-256x256.png?rev=3628926)

# PlaneviaApp Booking for Planevia

 Por [planeviaapp](https://profiles.wordpress.org/planeviaapp/)

[Descargar](https://downloads.wordpress.org/plugin/planevia-reservation-en-ligne.1.3.2.zip)

 * [Detalles](https://es-ar.wordpress.org/plugins/planevia-reservation-en-ligne/#description)
 * [Valoraciones](https://es-ar.wordpress.org/plugins/planevia-reservation-en-ligne/#reviews)
 *  [Instalación](https://es-ar.wordpress.org/plugins/planevia-reservation-en-ligne/#installation)
 * [Desarrollo](https://es-ar.wordpress.org/plugins/planevia-reservation-en-ligne/#developers)

 [Soporte](https://wordpress.org/support/plugin/planevia-reservation-en-ligne/)

## Descripción

**PlaneviaApp Booking for Planevia** integrates the [Planevia](https://planevia.ca)
booking system into your WordPress website with just a few clicks.

Planevia is an all-in-one management platform for spas, hair salons, beauty institutes,
clinics, and wellness centers. This plugin is developed by the Planevia team and
requires an active Planevia account.

#### Features

 * **Booking Floating Button** — A floating button opens the booking window over
   your page; visitors never leave your site
 * **Always up to date** — The booking flow is served by Planevia, so improvements
   reach your site without updating the plugin
 * **Follows your site language** — French pages open the booking flow in French,
   English pages in English
 * **Booking Shortcodes** — Embed the booking form, a booking button, or a service
   grid anywhere on your site
 * **Gutenberg Block** — Drag and drop a booking button in the block editor
 * **Fully Customizable** — Booking button color, text, size, and position
 * **Responsive** — Works perfectly on mobile and tablet
 * **Pre-filtering** — Open the booking flow directly on a specific service, optionally
   with a staff member preselected
 * **Service Grid** — Display your Planevia services as clickable booking cards,
   rendered in your page HTML (good for search engines)
 * **Manual Booking Trigger** — Add `class="planevia-book"` to any of your own buttons
   to open the booking modal

#### Available Shortcodes

 * `[planevia]` — Full booking widget (inline iframe)
 * `[planevia_button]` — Booking button in page content
 * `[planevia_button text="Book Now" color="#10b981"]` — Customized booking button
 * `[planevia service="massage-60min"]` — Widget pre-filtered for a specific service
 * `[planevia service="massage-60min" staff="PROFESSIONAL-ID"]` — Widget opened 
   on a service, with a staff member preselected
 * `[planevia_services]` — Service grid — loads your services from Planevia as clickable
   cards
 * `[planevia_services columns="2" category="massage"]` — 2-column grid filtered
   by category

#### Manual Integration

Add `class="planevia-book"` to any button or link on your site to open the Planevia
booking overlay:

    ```
    <button class="planevia-book">Book Now</button>
    <a href="#" class="planevia-book" data-planevia-service="massage-60min">Book this service</a>
    ```

#### How It Works

 1. Create your account at [planevia.ca](https://planevia.ca)
 2. Configure your services and your team
 3. Generate an API key in Settings > WordPress
 4. Install this plugin and enter your API key
 5. Your clients can book directly from your website!

### Third-Party Service

This plugin connects to the **Planevia** platform ([planevia.ca](https://planevia.ca))
to provide online booking functionality.

This plugin is developed and maintained by the Planevia team.

#### Data transmitted

 * Your API key (to authenticate requests)
 * Your organization slug (to identify your account)
 * Your visitors’ interactions with the booking widget (via iframe from planevia.
   ca)

#### When data is transmitted

 * On every page where the plugin is active: the script `https://planevia.ca/embed.
   js` is loaded in the visitor’s browser
 * When the `[planevia_services]` shortcode is used: your WordPress server (not 
   the visitor’s browser) requests `https://api.planevia.ca/api/public/services`
   to load your service list, at most once every ten minutes
 * When a visitor opens the booking window: an iframe to `https://planevia.ca/embed/{
   org}` is loaded

#### Important links

 * [Planevia Terms of Service](https://planevia.ca/terms)
 * [Planevia Privacy Policy](https://planevia.ca/privacy)

## Bloques

Este plugin provee 1 bloque.

 *   Planevia – Bouton Reservation

## Instalación

 1. In your WordPress dashboard, go to Plugins > Add New and search for “Planevia” (
    or upload the ZIP)
 2. Activate the plugin in the WordPress ‘Plugins’ menu
 3. Go to the ‘PlaneviaApp’ menu item in your dashboard
 4. Enter your API key and your organization slug
 5. Customize the booking button appearance and visibility
 6. The booking button will appear automatically on your site!

## Preguntas frecuentes

### Do I need a Planevia account?

Yes, you must have an active account at [planevia.ca](https://planevia.ca) with 
the online booking module enabled.

### How do I get my API key?

In your Planevia dashboard, go to Settings > WordPress and click “Generate a key”.

### Will the plugin slow down my site?

No. The booking window is only loaded when a visitor opens it, and the service grid
is rendered by your server and cached for ten minutes.

### Can I customize the colors?

Yes. You can choose the primary color, booking button text, position, and size from
the plugin settings page.

### Is it compatible with popular themes?

Yes, the plugin works with all WordPress themes (Divi, Elementor, Astra, OceanWP,
Kadence, GeneratePress, etc.).

### Can I show the booking button only on certain pages?

Yes. You can configure the booking FAB to display on all pages, on the homepage 
only, or hide it entirely (the booking shortcodes still work in that case).

### Can a button open the booking flow on one specific service?

Yes. Add `data-planevia-service="your-service"` to a button that has `class="planevia-
book"`, or use `[planevia_button service="your-service"]`. Each card of the `[planevia_services]`
grid already does it. The value is the service slug shown in Planevia.

### In which language does the booking flow open?

In the language of the page being viewed: French or English. This follows multilingual
plugins such as WPML, Polylang and TranslatePress. Any other language falls back
to the visitor’s browser language.

### I also use another booking system (hotel rooms, another activity). Will the plugin take over its buttons?

No. Auto-capture only takes over buttons that stay on your own website. A button
that leads to another booking site keeps working as it is. To send one specific 
button to Planevia, add `class="planevia-book"` to it, point its link to `#reserver`,
or use `[planevia_button]`.

### Planevia replaces my previous booking tool, and its old links are still on my site

Check “Also take over buttons that lead to another website” in the plugin settings:
those links will open Planevia instead.

### My existing “Réserver” button doesn’t open the modal, why?

Make sure “Auto-capture booking buttons” is enabled in the plugin settings (it is
by default). Any button or link containing “Réserver / Book / Rendez-vous / Appointment”
in its text or href will then trigger the booking modal automatically. If auto-capture
is disabled, add `class="planevia-book"` to the button manually.

## Reseñas

No hay reseñas para este plugin.

## Colaboradores y desarrolladores

“PlaneviaApp Booking for Planevia” es un software de código abierto. Las siguientes
personas han colaborado con este plugin.

Colaboradores

 *   [ planeviaapp ](https://profiles.wordpress.org/planeviaapp/)

[Traduce “PlaneviaApp Booking for Planevia” a tu idioma.](https://translate.wordpress.org/projects/wp-plugins/planevia-reservation-en-ligne)

### ¿Interesado en el desarrollo?

[Revisa el código](https://plugins.trac.wordpress.org/browser/planevia-reservation-en-ligne/),
echa un vistazo al [repositorio SVN](https://plugins.svn.wordpress.org/planevia-reservation-en-ligne/),
o suscríbete al [log de desarrollo](https://plugins.trac.wordpress.org/log/planevia-reservation-en-ligne/)
por [RSS](https://plugins.trac.wordpress.org/log/planevia-reservation-en-ligne/?limit=100&mode=stop_on_copy&format=rss).

## Registro de cambios

#### 1.3.2

 * Change: auto-capture no longer takes over buttons that lead to another website.
   If you keep another booking system (for example for hotel rooms), its buttons
   keep working as they are. A new setting, “Links to another booking site”, restores
   the previous behaviour for sites where Planevia replaces a former booking tool.
 * Fix: auto-capture never takes over an email or phone link.

#### 1.3.1

 * Fix: the `[planevia_services]` grid was empty. It is now loaded by your WordPress
   server and rendered in the page, with the same price rules as the booking flow(
   free, on request, “from”, promotions, several durations).
 * Fix: “Button Size” and “Show on Mobile” had no effect since 1.3.0. They work 
   again.
 * Fix: a staff member set on a button or on `[planevia]` is now passed to the booking
   flow.
 * New: the booking flow opens in the language of the page (French or English), 
   including on multilingual sites.
 * Tested with WordPress 7.1.

#### 1.3.0

 * Le mode bouton delegue lui aussi a embed.js. Le plugin affichait sa propre liste
   de
    soins, construite depuis l’API : elle divergeait du tunnel a chaque version
   et ignorait les regles metier — un visiteur pouvait y choisir un soin qui exige
   une consultation prealable, et ne se faire refuser qu’apres avoir choisi sa date.
 * La capture automatique ne reprend plus les liens qui menent a la page ou le tunnel
   est
    deja integre : le lien « Reservation » du menu conduit a la page au lieu
   d’ouvrir une fenetre par-dessus.
 * Le shortcode [planevia] delegue desormais l’affichage a embed.js, servi par Planevia.
   
   Le tunnel integre recoit ainsi les ameliorations faites cote Planevia sans mise
   a jour du plugin : hauteur suivant le contenu (fini le cadre fige de 700 px et
   son defilement interne), typographie heritee du site, fond transparent, en-tete
   et mention retires.
 * L’attribut staff est enfin pris en compte. Il etait transmis depuis la version
   1.0 mais
    ignore : [planevia staff=”…”] n’avait aucun effet.
 * Couleur par defaut alignee sur la charte Planevia (#4F7CC9) au lieu de l’ancien
   indigo.

#### 1.2.4

 * Fix (mobile): the booking modal now uses `100dvh` (dynamic viewport height) instead
   of `100vh` so the iframe content is no longer cut off by the iOS Safari URL bar
   at the top or by the iPhone home indicator at the bottom. The close button is
   also offset using `env(safe-area-inset-top)` so it stays reachable on devices
   with a notch / Dynamic Island.
 * Fix (mobile): full-width modal on phones — `100vw` with safe-area-inset paddings
   on all four sides, no border radius, no drop shadow. The visible viewport is 
   now fully reserved for the booking widget on every phone size.

#### 1.2.3

 * Fix: the booking modal no longer closes prematurely after a reservation is submitted.
   The Planevia booking widget sends a `Planevia-booking-confirmed` postMessage 
   as soon as the reservation is persisted (between step 4 and step 5), which the
   plugin previously treated as a “close the modal” signal. Visitors never saw the
   payment step (Stripe form when the business has online payment enabled) nor the
   final confirmation screen with the booking summary. The plugin now only closes
   the modal when the visitor explicitly clicks the close button inside the booking
   widget (which sends `Planevia-booking-close`).
 * Flow that now works end-to-end inside the iframe:
    1. Category  Service  Staff/Date/Time  Contact form  Reservation created in Planevia
    2. Payment (Stripe, if `allowOnlinePayment` is enabled on the organization)
    3. Confirmation screen with booking summary and a close button
 * No backend / spa-management change required — pure plugin-side fix.

#### 1.2.2

 * Fix: the booking modal now opens the Planevia booking widget directly inside 
   the iframe (https://planevia.ca/embed/{org}) instead of fetching organization
   data and rendering a custom intermediate card. The custom card introduced in 
   1.2.0 was blocked by cross-origin (CORS) restrictions on api.planevia.ca, which
   caused “Impossible de charger les données” errors on every modal open. Visitors
   now see the full booking widget (cover, categories, services and calendar) immediately
   when clicking the floating button, an auto-captured booking link, or any `.planevia-
   book` trigger.
 * Note: auto-capture (introduced in 1.2.1) still works the same way — any button
   or link containing “Réserver / Book / Rendez-vous / Appointment” opens the modal
   automatically.

#### 1.2.1

 * New: auto-capture is back. Any button or link on your site containing “Réserver”,“
   Reserv”, “Book”, “Prendre rendez-vous”, “Rendez-vous” or “Appointment” is automatically
   converted into a Planevia trigger — no HTML change required. Can be disabled 
   in the settings page if you prefer manual integration.
 * Improvement: auto-captured triggers open the new category picker introduced in
   1.2.0 (same flow as the floating button and as `.planevia-book` triggers without
   filters).

#### 1.2.0

 * New: category picker modal — the floating button (and any generic `.planevia-
   book` trigger) now opens a clean two-column card first. Left column shows the
   organization cover, name, address and phone. Right column lists categories with
   thumbnails, service counts and an info popover. Clicking a category loads the
   booking iframe pre-filtered for that category.
 * New: rendered natively in the plugin (no extra iframe load, no remote `/embed.
   js` script). Two public endpoints power the card: `/api/public/organizations/{
   slug}` and `/api/public/services?org={slug}`.
 * New: navigation arrows in the modal footer match the Booxi-style flow (prev disabled
   on first step, next opens the booking iframe with no filter for visitors who 
   want to browse all services).
 * New: hover and focus states pick up your organization’s `primaryColor` automatically.
 * Change: the floating button is again a booking trigger (the brief 1.1.0 chat-
   FAB experiment is deferred — chat will return in a future release once the chat
   embed page is in production).
 * Fix: the modal close listener now accepts both the legacy string `postMessage`
   and the object form (`{type:'Planevia-booking-close'}`) sent by the embed page.
   The booking modal now closes automatically after a confirmed reservation.
 * JS API: `window.PlaneviaBooking.open()` (smart picker/iframe), `.openIframe({
   service,staff,category})`, `.openCategories()`, `.close()`.

#### 1.1.0

 * Brief chat-FAB experiment (now superseded by 1.2.0). The floating button targeted`/
   embed/{org}/chat`. Removed because the chat embed page was not yet deployed in
   production.

#### 1.0.6

 * Fix: booking modal is now fully responsive across mobile, tablet and desktop.
   The previous max-width of 520px forced the embed page into mobile single-column
   mode on every screen, hiding the company banner and info panel. New breakpoints:
   full-screen on mobile (<= 640px), 92% width on tablet (641-1024px), capped at
   1100px on desktop (>= 1025px). The two-column layout with the company cover image
   and details now displays correctly on desktop and tablet.

#### 1.0.5

 * Improvement: auto-capture is now enabled by default. Any button or link containing“
   Réserver”, “Reserv”, “Book”, “Prendre rendez-vous”, “Rendez-vous”, or “Appointment”
   automatically opens the Planevia booking modal — no code change required on the
   client’s site. The setting can still be disabled in the plugin settings.

#### 1.0.4

 * Improvement: Planevia URL and Planevia API URL are now hardcoded constants (PLANEVIA_SERVER_URL,
   PLANEVIA_API_URL) instead of admin-editable settings. These point to the Planevia
   platform and are not meant to be customized by clients. Removes two unnecessary
   configuration fields from the plugin settings page.

#### 1.0.3

 * Fix: corrected default server URL from app.planevia.ca (non-existent subdomain)
   to planevia.ca. Existing installations are auto-migrated on plugin load. This
   was preventing the floating button and booking modal from appearing on client
   websites.
 * New: separate API URL setting (default https://api.planevia.ca) used by the [
   planevia_services] shortcode. The booking iframe and floating button stay on 
   planevia.ca; the public API is now correctly called on api.planevia.ca.

#### 1.0.2

 * Fix: floating button now loads correctly (corrected widget script path from /
   widget/planevia-widget.js to /embed.js)

#### 1.0.1

 * Updated plugin name to “PlaneviaApp Booking for Planevia” and requested slug “
   planeviaapp-booking”
 * Translated all descriptions and settings to English
 * Removed arbitrary custom CSS insertion; use the WordPress Customizer for custom
   CSS
 * Replaced direct script/style tags with wp_enqueue_script() and wp_add_inline_script()
 * Replaced json_encode() with wp_json_encode() throughout
 * Added full type and sanitize_callback declarations to all register_setting() 
   calls
 * Removed load_plugin_textdomain() (not required for WordPress.org hosted plugins
   since WP 4.6)

#### 1.0.0

 * Initial release
 * Floating button (FAB) with customization
 * Inline widget via shortcode
 * Gutenberg block
 * Service/staff pre-filtering support
 * Color, text, position, and size customization
 * Mobile-responsive
 * Secure API key communication

## Meta

 *  Versión **1.3.2**
 *  Última actualización **hace 7 días**
 *  Instalaciones activas **Menos de 10**
 *  Versión de WordPress ** 5.0 o superior **
 *  Testeado hasta **7.1.3**
 *  Versión de PHP ** 7.4 o superior **
 *  Idioma
 * [English (US)](https://wordpress.org/plugins/planevia-reservation-en-ligne/)
 * Etiquetas:
 * [appointment](https://es-ar.wordpress.org/plugins/tags/appointment/)[booking](https://es-ar.wordpress.org/plugins/tags/booking/)
   [reservation](https://es-ar.wordpress.org/plugins/tags/reservation/)[salon](https://es-ar.wordpress.org/plugins/tags/salon/)
   [spa](https://es-ar.wordpress.org/plugins/tags/spa/)
 *  [Vista avanzada](https://es-ar.wordpress.org/plugins/planevia-reservation-en-ligne/advanced/)

## Valoraciones

Todavía no se enviaron reseñas.

[Your review](https://wordpress.org/support/plugin/planevia-reservation-en-ligne/reviews/#new-post)

[Ver todas las reseñas](https://wordpress.org/support/plugin/planevia-reservation-en-ligne/reviews/)

## Colaboradores

 *   [ planeviaapp ](https://profiles.wordpress.org/planeviaapp/)

## Soporte

¿Tenés algo que decir? ¿Necesitás ayuda?

 [Ver el foro de asistencia](https://wordpress.org/support/plugin/planevia-reservation-en-ligne/)