TPR Villa Calendar Manager
A professional WordPress plugin for villa & vacation property management. Features frontend-based reservation system, AJAX-powered calendar, access code protection, minimum stay rules, custom color schemes & Elementor support. No dashboard login needed for daily management. ποΈ
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/hannan-tariq-developer/villa-calendar-manager/archive/refs/heads/main.zipA professional WordPress plugin for villa & vacation property management. Features frontend-based reservation system, AJAX-powered calendar, access code protection, minimum stay rules, custom color schemes & Elementor support. No dashboard login needed for daily management. ποΈ
π Features
- Frontend-Based Management - Manage reservations without WordPress dashboard access
- Visitor View - Clean calendar display for guests to check availability
- Manager View - Powerful reservation management interface with access code protection
- AJAX-Powered - Smooth, no-reload experience
- Minimum Stay Rules - Enforce minimum night requirements
- Range Selection - Select multiple dates with single clicks
- Reservations Panel - View, filter, and manage all bookings
- Fully Responsive - Works perfectly on desktop, tablet, and mobile
- Customizable Colors - Match your brand with custom color schemes
- Elementor Compatible - Use shortcodes in Elementor and page builders
π¦ Installation
- Upload the
tpr-villa-calendar-managerfolder to/wp-content/plugins/ - Activate the plugin through the 'Plugins' menu in WordPress
- Navigate to Villa Calendar in the admin menu to configure settings
π― Usage
Basic Setup
-
Configure Settings
- Go to WordPress Admin β Villa Calendar
- Set your access code (optional but recommended)
- Configure minimum nights (default: 3)
- Customize calendar colors
-
Create Pages
- Create a page for visitors: "Check Availability"
- Create a page for manager: "Manage Reservations"
-
Add Shortcodes
- Visitor page:
[villa_calendar id="1"] - Manager page:
[villa_calendar_manager id="1"]
- Visitor page:
Shortcodes
Visitor Calendar
[villa_calendar id="1"]
Displays availability calendar for visitors (view-only)
Manager Calendar
[villa_calendar_manager id="1"]
Displays full management interface with:
- Date selection
- Booking controls
- Reservations list
- Optional access code protection
For Managers (Daily Use)
-
Access the Manager Page
- Navigate to your manager page
- Enter access code if enabled
- No WordPress login needed!
-
Create a Reservation
- Click start date
- Click end date (auto-selects range)
- Click "Book Selected Dates"
- Done! Instant update.
-
View Reservations
- See all reservations in the side panel
- Filter by: All, Upcoming, Past
- Click "Highlight" to see dates on calendar
- Click "Delete" to remove a reservation
-
Delete a Reservation
- Option 1: Click on any booked date
- Option 2: Use "Delete" button in reservations list
βοΈ Admin Settings
Access Control
- Enable Access Code: Protect manager interface
- Access Code: Set or generate a secure code
Booking Rules
- Minimum Nights: Set minimum stay requirement (1-30 nights)
Calendar Colors
- Available Dates: Default green (#22c55e)
- Booked Dates: Default dark grey (#374151)
- Selected Dates: Default blue (#3b82f6)
- Disabled Dates: Default light grey (#e5e7eb)
π¨ Customization
Color Scheme
Customize colors in Villa Calendar β Color Settings
CSS Customization
Override styles by adding custom CSS:
:root {
--tpr-color-available: #your-color;
--tpr-color-booked: #your-color;
--tpr-color-selected: #your-color;
}
π± Mobile Responsive
The plugin is fully responsive and optimized for:
- Desktop (1024px+)
- Tablet (768px - 1023px)
- Mobile (< 768px)
π Security Features
- AJAX nonce verification
- Access code protection (optional)
- Data sanitization
- Input validation
- SQL injection protection
- XSS prevention
ποΈ Database Structure
Tables Created
wp_tpr_reservations- Stores reservation detailswp_tpr_booked_dates- Individual booked dates for quick lookups
Data Storage
All settings stored in: wp_options β tpr_villa_settings
π Performance
- Lightweight code
- Optimized database queries
- AJAX for instant updates
- Minimal HTTP requests
- Fast page loads
π Compatibility
- WordPress: 5.0+
- PHP: 7.4+
- MySQL: 5.6+
- Browsers: All modern browsers
- Page Builders: Elementor, Gutenberg, Classic Editor
π Minimum Requirements
- WordPress 5.0 or higher
- PHP 7.4 or higher
- MySQL 5.6 or higher
- Modern web browser with JavaScript enabled
π― Use Cases
Perfect for:
- Villa rentals
- Vacation properties
- Airbnb management
- Holiday homes
- Beach houses
- Cabin rentals
- Any property booking system
π οΈ Support
For issues or questions:
- Check the settings are configured correctly
- Clear browser cache
- Ensure JavaScript is enabled
- Check browser console for errors
π Changelog
Version 1.0.0
- Initial release
- Visitor calendar view
- Manager calendar interface
- Access code protection
- Minimum nights enforcement
- Range date selection
- Reservations management
- Responsive design
- Custom color schemes
- AJAX functionality
- Shortcode support
π¨βπ» Development
Built with:
- PHP (WordPress standards)
- JavaScript (ES6+)
- jQuery
- CSS3
- HTML5
File Structure
tpr-villa-calendar-manager/
βββ tpr-villa-calendar-manager.php (Main plugin file)
βββ includes/
β βββ class-tpr-database.php
β βββ class-tpr-settings.php
β βββ class-tpr-calendar.php
β βββ class-tpr-ajax.php
β βββ class-tpr-shortcodes.php
βββ admin/
β βββ settings-page.php
βββ assets/
β βββ css/
β β βββ admin.css
β β βββ frontend.css
β βββ js/
β βββ admin.js
β βββ frontend.js
βββ README.md
π License
This plugin is proprietary software developed for villa management.
π Credits
Developed by Hannan Tariq - hannantariq.developer@gmail.com
- Professional villa calendar management
- Clean, modern design
- User-friendly interface
- Production-ready code
Enjoy managing your villa reservations! ποΈ