RentalCore
WordPress rental booking plugin with WooCommerce integration, availability system, and email notifications
by Your Name · github.com/sanchenkowork/rentalcore · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/sanchenkowork/rentalcore/archive/refs/heads/master.zipA professional WordPress plugin for managing apartment rentals and property sales in Ukraine, with integrated WooCommerce booking functionality.
Description
RentalCore is a comprehensive property management solution designed for real estate agencies and property owners. It provides a complete system for listing rental apartments and properties for sale, managing bookings, and processing payments through WooCommerce integration.
The plugin features a modern, user-friendly interface with advanced search capabilities, interactive property galleries, and automated email notifications for booking requests.
Booking Flow
- User selects dates on property page
- Booking is added to WooCommerce cart
- User completes checkout (no payment required)
- Booking is saved in the system
- Email notification is sent to admin and customer
Demo Setup
- Install WooCommerce
- Enable "Cash on Delivery" payment method
- Create rental properties
- Select dates and add booking to cart
- Complete checkout to create booking
Demo
Live Demo: https://kvartyrka.com.ua/
Screenshots
Property Page

Booking Flow

Checkout

Features
Property Management
- Dual Property Types: Separate post types for rental properties and sale properties
- Custom Taxonomies: Location, property type, and amenities categorization
- Rich Meta Fields: Comprehensive property details including price, area, rooms, and features
- Gallery Support: Multiple image galleries with lightbox functionality
- Interactive Maps: Google Maps integration for property locations
Booking System
- Availability Checking: Real-time availability validation for rental properties
- Date Validation: Secure date format validation and conflict detection
- WooCommerce Integration: Seamless booking-to-cart functionality
- Custom Product Type: Dedicated "Apartment Booking" product type
- Automated Pricing: Dynamic price calculation based on rental duration
Search & Filtering
- Advanced Search: Filter by location, property type, price range, and amenities
- Search Shortcodes: Flexible search forms for hero sections, sidebars, or compact layouts
- Property Grid Display: Responsive property card layouts with featured filtering
Security & Standards
- SQL Injection Protection: Prepared statements and sanitized queries
- Input Validation: Comprehensive date and user input validation
- ABSPATH Guards: Direct file access prevention on all PHP files
- Nonce Verification: CSRF protection on all AJAX requests
- Data Sanitization: Proper escaping and sanitization throughout
Email Notifications
- Booking Notifications: Automated emails for new bookings
- Contact Requests: Email alerts for property inquiries
- Sanitized Content: All email content properly escaped and validated
Requirements
- WordPress: 5.0 or higher
- PHP: 7.4 or higher
- WooCommerce: 4.0 or higher (for booking functionality)
- MySQL: 5.6 or higher
Installation
- Download the plugin files
- Upload the
rentalcorefolder to/wp-content/plugins/ - Activate the plugin through the 'Plugins' menu in WordPress
- Install and activate WooCommerce if using booking features
- Configure plugin settings in the RentalCore admin panel
Usage
Shortcodes
Property Grid
Display a grid of properties with optional filtering:
[rc_properties type="rental" featured="true" limit="6"]
Parameters:
type- Property type:rentalorsale(default:rental)featured- Show only featured properties:trueorfalse(default:false)limit- Number of properties to display (default:12)
Search Form
Display a property search form:
[rc_search_form style="hero"]
Parameters:
style- Form style:hero,compact, orsidebar(default:hero)
Custom Post Types
Rental Properties
- Post Type:
rental_property - Archive:
/rental-property/ - Single:
/rental-property/{slug}/
Sale Properties
- Post Type:
sale_property - Archive:
/sale-property/ - Single:
/sale-property/{slug}/
Taxonomies
rc_property_location- Property locations (hierarchical)rc_property_type- Property types (e.g., apartment, house, studio)rc_property_amenities- Available amenities
Database Tables
The plugin creates the following custom table:
wp_rental_bookings- Stores booking information and availability data
Development
File Structure
rentalcore/
├── assets/
│ ├── css/
│ └── js/
├── includes/
│ ├── admin/
│ ├── bookings/
│ ├── post-types/
│ └── woo/
├── templates/
│ ├── archive/
│ ├── card/
│ ├── form/
│ ├── partials/
│ ├── search/
│ └── single/
├── rental-core.php
├── uninstall.php
└── README.md
Key Classes
RentalCore- Main plugin classRentalCore_Availability- Booking availability and validationRentalCore_Booking_System- Booking managementRentalCore_WC_Booking_Product- WooCommerce integrationRentalCore_Search_Handler- Search functionality
Uninstallation
When the plugin is deleted through WordPress admin:
- Custom database table (
wp_rental_bookings) is dropped - Plugin options are removed from the database
- Cached transients are cleared
Note: Custom post types and taxonomies data will remain in WordPress unless manually deleted.
Security
This plugin follows WordPress security best practices:
- ✅ SQL injection prevention with prepared statements
- ✅ Input validation and sanitization
- ✅ Output escaping
- ✅ Nonce verification on forms and AJAX
- ✅ ABSPATH guards on all PHP files
- ✅ Capability checks where appropriate
License
This plugin is licensed under the GPL v2 or later.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Author
Developed as a portfolio project demonstrating WordPress plugin development best practices.
Changelog
Version 1.0.0
- Initial release
- Dual property types (rental/sale)
- WooCommerce booking integration
- Advanced search functionality
- Security hardening and WordPress standards compliance
- Email notification system
- Custom database table for bookings
- Uninstall cleanup functionality
Note: This plugin is designed for demonstration and portfolio purposes. For production use, additional features like payment gateway integration, advanced reporting, and multi-language support may be desired.