About this plugin
Guests who found your apartment on Booking.com or Airbnb will happily book with you directly, if you make it as easy as the portal does. That means a calendar they can see, dates they can pick, and a button that starts the booking. Not a phone number and a hope. This plugin puts exactly that on your WordPress site: the same availability calendar and booking button your guests already see on your erphome.pl reservation page. Same apartment, same free dates, same prices, no commission taken out of the booking. You need an erphome.pl account This plugin is a bridge, not a booking system on its own. It displays a widget from an existing account on erphome.pl , a commission-free booking platform for apartment and vacation rental owners. If you do not have an account yet, the plugin will show an empty settings page and nothing else. What lives in erphome.pl (not in WordPress): apartment details and prices, reservations, guest messages, payments, and calendar sync with the portals. What the plugin adds to WordPress Shortcode [erphome_widget] , which works anywhere shortcodes do: posts, pages, text widgets, page builders. Block “ErpHome — Booking Widget”, with a live preview right in the editor and sidebar controls for apartment, language and size. Elementor element “ErpHome — Booking Widget”, draggable straight onto the canvas with the same controls, so nobody has to hunt for the Shortcode element and type [erphome_widget] into it. Classic sidebar widget for themes built around the Widgets screen. Settings page (Settings → ErpHome) where you paste the link copied from your erphome.pl panel. The account and apartment slugs are read out of it automatically, so nobody has to explain what a “slug” is. Accounts with several apartments get a real dropdown, read from the account. Fits the page instead of sitting in a box The widget reports how tall it actually is, and the plugin sizes the frame to match. No empty space underneath, and nothing cut off when the widget sits in a narrow column or on a phone. Turn it off in Settings → ErpHome if you would rather pin a fixed height. Tells search engines what your page is about The widget is an iframe, and search engines do not read inside one. So a page with only a widget on it says nothing about your apartment: no photos, no rooms, no ratings, nothing for Google or an AI assistant to quote. Switch on “Add apartment structured data” and the plugin publishes a schema.org VacationRental block on your page, built from your erphome.pl listing: photos, size, bedrooms and beds, amenities, check-in and check-out times, guest ratings and reviews, and your FAQ. It describes your page and links back to your erphome.pl listing as the same place, so the two do not compete. It runs only on single posts and pages, and only where the widget is in the content, never from a sidebar. It is off by default, so it can never surprise an SEO plugin that already publishes this data. Measurable When a guest picks their dates and hits the booking button, the plugin pushes an erphome_booking_start event into dataLayer , with the dates, number of nights and guest count. Pick it up in Google Tag Manager or GA4 and you will see how many visitors actually start a booking, not just how many loaded the page. Speaks your visitors’ language The widget follows the language of your WordPress site, so an English site gets an English widget and a Polish site gets a Polish one. Polish and English are both built in. Running a bilingual site? Set the language per embed: [erphome_widget lang="en"] The same control sits in the block sidebar and in the classic widget. The apartment’s own content (title, description) follows whichever languages you enabled for it in the erphome.pl panel, so an owner who translated the listing gets translated content here too. Your calendars stay in one place If your erphome.pl account syncs availability from Airbnb or Booking.com over iCal, the widget shows that same combined, up-to-date availability. Sync is configured once, in erphome.pl, and nothing about it needs repeating in WordPress. Several apartments? The apt attribute embeds a different apartment than the default one from Settings → ErpHome, so each apartment can have its own page: [erphome_widget apt="dom-nad-morzem"] Available on the block and the sidebar widget too. Why a plugin instead of pasting a script The erphome.pl panel also gives you a <script> snippet for any website. On WordPress that snippet has a habit of disappearing: the block editor strips <script> from HTML blocks in some setups, caching and minification plugins defer external scripts until the widget arrives late or not at all, and security plugins block third-party scripts inside post content. This plugin renders a plain <iframe> server-side instead. It has a known width and height before the page paints, so nothing jumps around while loading, and there is no external JavaScript for another plugin to break. External services Everything below talks to one service: erphome.pl , specifically your account’s subdomain your-name.erphome.pl , operated by ERP HOME Sp. z o.o. The plugin contacts nothing else. There are two separate connections, and they are worth telling apart. 1. The visitor’s browser loads the widget (always). The widget is an <iframe> pointing at erphome.pl. On every page where you embed it (shortcode, block, or sidebar widget), each visitor’s browser connects directly to erphome.pl to fetch the current availability calendar. The address carries your account slug, optionally the apartment slug, and a two-letter language code taken from your site’s language setting (for example ?widget=1&lang=en). The plugin adds no visitor data to it. If you switch on height fitting, the widget and the page also exchange postMessage calls: the widget sends its content height and, when a guest presses the booking button, the dates, night count and guest count they chose. That data stays in the visitor’s browser. The plugin puts the booking-button event into dataLayer , where your own analytics tools (if you use any) can read it. Nothing is sent anywhere by the plugin itself. 2. Your server asks erphome.pl for your listing (only for two features). When you use the apartment dropdown, or switch on structured data, your WordPress server calls the public erphome.pl API over HTTPS ( ?api=apartments and ?api=1 ) to read your own listing: title, description, photos, amenities, ratings and so on. This is a plain GET with no authentication, it sends nothing about your visitors, and the answer is cached for six hours. The same data is already public on your erphome.pl booking page. Leave both features off and your server never contacts erphome.pl at all. erphome.pl’s data-processing terms (including the visitor’s IP address and browser data, which any HTTP request sends by default): Privacy policy · Polityka prywatności .