Saksh WP Hotel Booking Lite

Descrição

Saksh WP Hotel Booking Lite turns any WordPress site into a fully functional hotel reservation system. Built on top of WooCommerce, it supports room management, date-based availability, seasonal pricing, extra services, deposit payments, and comes with a reporting dashboard and REST API — all free.

Core Features

  • Room management — Rooms as a custom post type with featured images, amenities (taxonomies), short intro, and up to 5 booking plans per room (e.g., non-refundable, flexible, breakfast-included).
  • WooCommerce integration — Bookings flow through the standard WooCommerce cart and checkout, so you get all 60+ payment gateways, coupons, tax handling, and order management out of the box.
  • Real-time availability checking — Transaction-locked availability checks prevent double bookings even under concurrent traffic.
  • Blackout dates & stay rules — Per-room minimum/maximum stay and blackout date configuration.
  • Seasonal pricing — Configure rate multipliers for date ranges (e.g., “Dec 20 to Jan 5: +30%”). Multiple overlapping rules supported.
  • Extra services / add-ons — Breakfast, parking, airport shuttle, late checkout, etc. Per-booking, per-night, or per-person-per-night pricing.
  • Deposit payments — Choose full payment or configurable deposit percentage (guest pays X% now, remainder at check-in).
  • Email automation — Booking confirmation, pre-arrival reminder (3 days before check-in), and cancellation emails sent automatically via WP Cron.
  • iCal import — Paste Airbnb, Booking.com, Expedia, or VRBO feed URLs per room. Hourly cron fetches and blocks externally-booked dates to prevent double bookings.
  • Reports dashboard — Monthly revenue chart, occupancy rate tracking, and key booking stats with visual charts.
  • REST API — 4 endpoints (rooms list, availability check, bookings list/create) with API key authentication. Namespace: /wp-json/saksh/v1/.
  • Guest account integration — “My Bookings” tab on WooCommerce My Account page shows a guest’s booking history.
  • Translation ready — Full POT file included in /languages.

Shortcodes

  • [SakshRoomSearch] — Displays the room search form with date picker and guest count fields.
  • [SakshRoomBooking] — Lists all rooms with current availability and per-plan pricing.

Use Cases

This plugin is designed for:

  • Small to medium hotels (up to ~50 rooms)
  • Boutique hotels and B&Bs
  • Vacation rentals and guesthouses
  • Properties also listed on Airbnb or Booking.com (via iCal sync)
  • Hostels offering bed/room inventory
  • Holiday villas and serviced apartments

Developer Features

  • Object-oriented validation class (Saksh_Booking_Validator)
  • Action and filter hooks throughout for extensibility
  • Custom REST API with API key authentication
  • Custom bookings database table with indexes
  • Clean separation of features into modular files

Support

For support, feature requests, or custom development:

Instalação

  1. Install and activate the WooCommerce plugin (required).
  2. Upload the saksh-wp-hotel-booking-lite folder to your /wp-content/plugins/ directory, or install through the Plugins screen directly in WordPress.
  3. Activate the plugin through the Plugins screen in WordPress.
  4. On activation, the plugin creates sample rooms and a “Search Room” + “Room Booking” page with the shortcodes.
  5. Configure rooms under Rooms in the admin menu.
  6. Configure global settings under Room Bookings in the admin menu:
    • Extra Services — manage add-on services
    • Payment Settings — choose full vs deposit payment mode
    • Seasonal Pricing — set date-range rate multipliers
    • Reports — view booking analytics
    • API Settings — generate REST API keys

FAQ

Does this plugin require WooCommerce?

Yes. WooCommerce handles the cart, checkout, and payment processing. Install WooCommerce before activating this plugin.

Does it support multiple properties / hotels?

The current release supports a single property with unlimited rooms. Multi-property support is planned for a future release.

Can I sync availability with Airbnb or Booking.com?

Yes — import only. Paste iCal feed URLs into each room’s settings, and the plugin fetches them hourly. Bookings made on your site are not currently pushed back to OTAs (export functionality is planned).

What happens if two guests try to book the same room at the same time?

The plugin uses database transactions with row locking (FOR UPDATE) during the final booking step. Only one of the two requests will succeed; the other gets rejected with an availability error. No double bookings.

How are prices calculated with seasonal pricing?

Each night in the stay range is evaluated individually. If 3 nights of a 5-night booking fall in a peak period (multiplier 1.3), only those 3 nights get the surcharge — the other 2 are at base rate.

Can guests pay a deposit only?

Yes. In Room Bookings Payment Settings, choose “Deposit” mode and set a percentage (1-99). The cart shows the deposit amount now and the remainder due at check-in.

Is the plugin translation-ready?

Yes. A POT file is included in /languages. Translations are loaded from the standard WordPress language directory.

Does it work with any theme?

Yes, as long as your theme supports WooCommerce. The booking form uses basic Bootstrap-style classes that fall back gracefully.

Where do booking emails come from?

Emails are sent via wp_mail() using your site’s configured email. We recommend installing WP Mail SMTP or similar for reliable delivery.

How do I access the REST API?

Generate an API key under Room Bookings API Settings. Send it as the X-Saksh-Api-Key HTTP header. Public endpoints (rooms list, availability check) do not require authentication. See API Settings page for full endpoint documentation.

Does the plugin slow down my site?

No. Admin scripts are conditionally loaded only on plugin admin pages. Availability queries are optimized with database indexes. For very large installations (50+ rooms), use a caching plugin.

Avaliações

There are no reviews for this plugin.

Contribuidores e desenvolvedores

“Saksh WP Hotel Booking Lite” é um software com código aberto. As seguintes pessoas contribuíram para este plugin.

Contribuidores

Registro de alterações

2.1

  • NEW: Stay rules (min/max nights per room)
  • NEW: Blackout dates per room
  • NEW: Extra services / add-ons with flexible pricing
  • NEW: Deposit payment mode
  • NEW: Seasonal pricing with date-range multipliers
  • NEW: Automated emails (confirmation, pre-arrival, cancellation)
  • NEW: REST API with 4 endpoints and API key auth
  • NEW: iCal feed import (Airbnb, Booking.com, etc.)
  • NEW: Reports dashboard with Chart.js visualizations
  • SECURITY: Multiple XSS fixes on admin output
  • SECURITY: Nonce verification added to all admin forms
  • SECURITY: Recursive sanitization of nested POST arrays
  • SECURITY: Auth check added to AJAX endpoints
  • SECURITY: Rate limiting on booking submissions (10/hour/IP)
  • FIX: Race condition in availability check (now uses transaction + row lock)
  • FIX: Taxes were hardcoded to 0 — now properly calculated
  • FIX: Availability off-by-one (>= vs >)
  • FIX: Invalid WooCommerce product status (‘public’ ‘publish’)
  • FIX: Activation hook moved to main file (DB table now creates correctly)
  • FIX: SQL date query passed timestamp where string expected
  • FIX: Duplicate script handles prevented FullCalendar from loading
  • FIX: Notification emails: array/object access mismatch
  • FIX: Crash on rooms without amenities
  • FIX: Admin meta box data was never saving (nonce action mismatch)
  • FIX: Developer email removed from activation
  • FIX: CPT name case inconsistency (design selector was empty)
  • FIX: Redux framework include now optional
  • PERF: Added DB indexes (room_id+date, order_id, user_id, status, dates)
  • PERF: Conditional script loading (only on plugin admin pages)
  • PERF: Limit of 50 rooms on search by default (filterable)
  • Improved DB schema: DECIMAL for money, BIGINT for IDs, proper charset
  • 38 total bug fixes from v2.0 — see FEATURES.md for details

2.0

  • Initial public release with basic booking functionality
  • WooCommerce integration
  • Admin booking calendar

1.0.0

  • First development version