WP Manifestindependent plugin directory
manifest / events / rentalcore

RentalCore

WordPress rental booking plugin with WooCommerce integration, availability system, and email notifications

by Your Name · github.com/sanchenkowork/rentalcore · website

★ 0stars
0forks

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.zip

A 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

  1. User selects dates on property page
  2. Booking is added to WooCommerce cart
  3. User completes checkout (no payment required)
  4. Booking is saved in the system
  5. Email notification is sent to admin and customer

Demo Setup

  1. Install WooCommerce
  2. Enable "Cash on Delivery" payment method
  3. Create rental properties
  4. Select dates and add booking to cart
  5. Complete checkout to create booking

Demo

Live Demo: https://kvartyrka.com.ua/

Screenshots

Property Page

Property Page

Booking Flow

Booking

Checkout

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

  1. Download the plugin files
  2. Upload the rentalcore folder to /wp-content/plugins/
  3. Activate the plugin through the 'Plugins' menu in WordPress
  4. Install and activate WooCommerce if using booking features
  5. 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: rental or sale (default: rental)
  • featured - Show only featured properties: true or false (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, or sidebar (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 class
  • RentalCore_Availability - Booking availability and validation
  • RentalCore_Booking_System - Booking management
  • RentalCore_WC_Booking_Product - WooCommerce integration
  • RentalCore_Search_Handler - Search functionality

Uninstallation

When the plugin is deleted through WordPress admin:

  1. Custom database table (wp_rental_bookings) is dropped
  2. Plugin options are removed from the database
  3. 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.