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. ποΈ
by Hannan Tariq Β· github.com/hannan-tariq-developer/villa-calendar-manager Β· 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/hannan-tariq-developer/villa-calendar-manager/archive/refs/heads/main.zipReadme
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. ποΈ
π 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! ποΈ