Description
WebBox Booking Expert is a standalone room booking engine for hotels, guesthouses, and apartments. It does not require WooCommerce. Add room types, let guests check real-time availability and book directly on your site, and accept payments from almost anywhere in the world.
Key features
- Room types with price per night, capacity, unit count, photo gallery, and amenities
- A click-to-select availability calendar guests use to choose their dates
- Payments via Stripe and PayPal (worldwide), an optional Macedonia-specific processor (CaSys/cPay), bank transfer, and pay-at-hotel
- Full admin control: view every booking, confirm or cancel, mark as paid
- A currency selector with 35+ world currencies
- Shortcodes:
[hbmk_rooms]for the room grid,[hbmk_booking]for the booking page,[hbmk_calendar room_id="X"]for a standalone availability calendar - Two-way Booking.com availability sync (iCal) per room type – a Pro add-on
Free vs. Pro
Every feature above is free. The only Pro-only feature is two-way Booking.com iCal sync: your site’s bookings block the room on Booking.com automatically, and reservations made on Booking.com block the room on your site.
Pro is licensed per site: one purchase covers one live site. Local, staging and development copies don’t count against it.
Support
WebBox Booking Expert is built and maintained by Slave Tanushev (WebBox). For support, email slavetanusev@gmail.com.
Pro adds two-way Booking.com availability sync and is available at https://webboxapps.com/booking-expert/ – everything else in this plugin is free and always will be.
Every setting lives in your own site’s database. A fresh install starts with your site name, your admin email, no payment credentials, no room types and no bookings.
External services
This plugin contacts a payment provider only when the site owner has enabled that provider under WebBox Booking Expert -> Settings and entered their own account credentials, and only at the moment a guest submits a booking and chooses that payment method. Nothing is sent to a provider that has not been configured, and the plugin sends nothing anywhere on its own schedule. Card numbers are always entered on the provider’s own hosted page and never reach your site or this plugin.
Stripe
Used to take card payments when the Stripe gateway is enabled.
When a guest chooses to pay by card, the plugin calls Stripe’s API at https://api.stripe.com to create a Checkout Session, and calls it again when the guest returns in order to verify the payment server-side. Sent with each call: the booking amount and currency, the room name, the booking reference, the guest’s email address, and the success and cancel URLs on your own site.
Stripe Services Agreement: https://stripe.com/legal/ssa
Stripe Privacy Policy: https://stripe.com/privacy
PayPal
Used to take PayPal payments when the PayPal gateway is enabled.
When a guest chooses PayPal, the plugin calls PayPal’s API at https://api-m.paypal.com (or https://api-m.sandbox.paypal.com when sandbox mode is switched on) to create an order, and calls it again when the guest returns in order to capture and verify that order server-side. Sent with each call: the booking amount and currency, the booking reference, and the return and cancel URLs on your own site. No guest name or email address is sent to PayPal by this plugin.
PayPal User Agreement: https://www.paypal.com/us/legalhub/useragreement-full
PayPal Privacy Statement: https://www.paypal.com/us/legalhub/privacy-full
CaSys / cPay
Used for card payments through Macedonian banks when the CaSys gateway is enabled. CaSys is the processor behind online card payments for most banks in North Macedonia.
The guest’s browser is handed over to the cPay hosted payment page at https://www.cpay.com.mk/ (the test page https://www.cpay.com.mk/Client/page/default.aspx?xml_id=/mk-MK/.TestLoginToPay/ or the live page https://www.cpay.com.mk/Client/page/default.aspx?xml_id=/mk-MK/.loginToPay/.simple/, depending on the Test mode setting; a different URL can be set in Settings if your merchant guide names one). The form sent to cPay carries the booking amount and currency, the booking reference, a short description containing your site name, your merchant ID and merchant name, the guest’s name, telephone number and email address as the cardholder billing details, the return URLs on your own site, and a checksum computed with your CaSys auth key.
cPay reports the outcome by redirecting the guest’s browser back to your site. That is not proof of payment, so this plugin never marks a booking paid from it: you confirm the transaction in the cPay merchant portal and mark the booking paid yourself.
CaSys Privacy Policy: https://casys.com.mk/privacy-policy/
CaSys merchant portal: https://merchant.cpay.com.mk/
CaSys does not publish a public terms-of-service page. Merchant terms are part of the contract you sign with your acquiring bank when that bank approves you as a merchant through the portal above.
Installation
- Install and activate the plugin. This automatically creates the database table used for bookings.
- Go to WebBox Booking Expert -> Room Types and add your rooms: price per night, maximum guests, number of units of that room type (this is what availability is checked against), a featured image, description, and amenities.
- Go to WebBox Booking Expert -> Settings and fill in your hotel name, notification email, currency, and the payment methods you want to accept. Stripe and PayPal only need API keys from their own dashboards – no local bank registration required. CaSys/cPay is an additional option specific to Macedonian bank cards.
- Create a page with the
[hbmk_rooms]shortcode to list your rooms with a “Book now” button on each. - Create a page with the
[hbmk_booking]shortcode for the booking form – it automatically recognizes which room was selected from[hbmk_rooms]. - Optionally add
[hbmk_calendar room_id="X"]to a room’s own page to show a standalone availability calendar (replace “X” with the room’s ID, shown in the Room Types list or in the URL while editing the room).
FAQ
-
Do I need WooCommerce?
-
No. WebBox Booking Expert is a standalone booking engine with its own database table, availability engine, and checkout – WooCommerce is never required.
-
Does this sync with Booking.com in real time?
-
Not instantly. The Pro edition uses the standard iCal mechanism every property can use without a formal partner application: fast enough in practice to prevent double bookings, but with a delay measured in hours (the sync interval is configurable), not seconds. A true real-time sync would require Booking.com’s own Connectivity Partner certification, which is a separate, formal process outside the scope of this plugin.
-
What’s the difference between Free and Pro?
-
Only one thing: two-way Booking.com iCal sync. Every other feature – room types, availability, bookings, all five payment methods, every currency – is identical in both editions.
-
Can I accept payments from guests outside Macedonia?
-
Yes. Stripe and PayPal both work worldwide and only need API keys from their own dashboards. CaSys/cPay is specifically for Macedonian bank cards and is entirely optional.
-
What if I don’t have my CaSys/cPay merchant credentials yet?
-
Bank transfer and pay-at-hotel work immediately with no external registration. Stripe and PayPal also work as soon as you add your API keys. CaSys/cPay needs a merchant account from your bank (registered at merchant.cpay.com.mk) before it can go live – until then, the other four payment methods cover you.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“WebBox Booking Expert” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “WebBox Booking Expert” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.11.5
- Changed: every long dash in the plugin’s text is now a plain hyphen, so descriptions and admin copy render the same in every font and editor.
1.11.4
- Changed: the Pro upgrade links now point to the Pro page instead of asking people to send an email.
- Added: Plugin URI and Author URI to the plugin header.
1.11.3
- Fixed: CSS and JavaScript are now registered and enqueued through WordPress rather than printed inline, on the CaSys payment hand-off page, the Booking.com sync meta box and the bookings list. No behaviour change.
1.11.2
- Fixed: choosing CaSys/cPay at checkout sent the guest to a URL that does not exist. The gateway now implements the documented cPay integration properly – a signed form POSTed to the real cPay hosted payment page, with the CheckSum/CheckSumHeader the gateway requires – instead of the placeholder it shipped with.
- Added: a Merchant name setting, required by cPay and part of its checksum.
- Changed: the API endpoint setting is now an optional override. The standard cPay test and live pages are built in and selected by the Test mode setting.
- Fixed: the description sent to CaSys for the cardholder’s bank statement could come out as just the word “booking” when the site name is written in Cyrillic. It now falls back to the site’s domain.
- Added: Settings now points out that cPay’s test page signs with a fixed test password, not your own auth key – using the real key in Test mode fails with “CheckSum is not correct”.
- Added: Settings now warns when CaSys is switched on but still missing a required credential, instead of the payment option quietly not appearing at checkout.
- Changed: cPay’s hosted-page integration has no server-to-server notification, so the plugin no longer implies one. Confirm the transaction in the cPay merchant portal and mark the booking paid on the Bookings screen.
1.11.1
- Documented every external service the plugin contacts, what is sent and when, with links to each provider’s terms and privacy policy.
- Removed the “View details” screen from the free edition – WordPress.org provides that for plugins it hosts.
- Security: the CaSys return URL no longer changes payment state. Payment is confirmed only by the server-to-server notification, or by the hotel confirming manually.
- Fixed: with the CaSys API endpoint setting left blank, choosing card payment redirected the guest back to the booking form instead of to the bank. The endpoint now falls back to a default and is validated, and the gateway hides itself if it cannot be used.
1.11.0
- Renamed to WebBox Booking Expert. Same plugin, same settings, same bookings – only the name and the text domain changed.
1.10.1
- New plugin icon and banner.
- The free edition no longer contains the Booking.com sync code at all – it is excluded when the free package is built, rather than shipped and switched off.
- Pro upgrade price shown as $19.
1.10.0
- Added a free “Lite” edition alongside Pro – every feature is free except Booking.com iCal sync, which is Pro-only.
1.9.0
- Added two-way Booking.com availability sync (iCal), configurable per room type with an adjustable sync interval.
- Added a “View details” popup on the Plugins screen with description, installation, FAQ, and changelog tabs.
1.8.0
- Renamed from “Hotel Booking MK” to “WebBox Booking Expert” (cosmetic only – internal function/class prefixes are unchanged, and no stored data is affected).
- Added licensing/contact information for hotels who want to use this on their own site.
1.7.0
- Security: booking confirmation now requires a verified signature on every gateway, closing a gap where a payment return URL could previously be replayed without paying.
- Added a honeypot field and per-IP rate limiting to the booking form.
- Added fully functional Stripe and PayPal gateways for worldwide payments.
- Added a 35+ currency selector; new installs default to USD.
1.6.0
- Removed a duplicated page-title heading on the booking page via scoped CSS.
1.5.0
- Room stats and description now display as two matching cards of equal height.
1.4.0
- Added an “Extra info” field and automatic “m²” formatting for room size.
1.3.0
- The availability calendar now shows two months side by side.
1.2.0
- The availability calendar became click-to-select; manual date fields were removed from the single-room page.
1.1.1
- Guest and admin emails now send from the configured notification address instead of the WordPress default.
1.1.0
- Added a per-room photo gallery and configurable brand color/style settings.
