Hotel Raxa - Advanced Booking System Implementation

🏨 Hotel Booking Enhancements:
- Implemented Eagle Booking Advanced Pricing add-on
- Added Booking.com-style rate management system
- Created professional calendar interface for pricing
- Integrated deals and discounts functionality

💰 Advanced Pricing Features:
- Dynamic pricing models (per room, per person, per adult)
- Base rates, adult rates, and child rates management
- Length of stay discounts and early bird deals
- Mobile rates and secret deals implementation
- Seasonal promotions and flash sales

📅 Availability Management:
- Real-time availability tracking
- Stop sell and restriction controls
- Closed to arrival/departure functionality
- Minimum/maximum stay requirements
- Automatic sold-out management

💳 Payment Integration:
- Maintained Redsys payment gateway integration
- Seamless integration with existing Eagle Booking
- No modifications to core Eagle Booking plugin

🛠️ Technical Implementation:
- Custom database tables for advanced pricing
- WordPress hooks and filters integration
- AJAX-powered admin interface
- Data migration from existing Eagle Booking
- Professional calendar view for revenue management

📊 Admin Interface:
- Booking.com-style management dashboard
- Visual rate and availability calendar
- Bulk operations for date ranges
- Statistics and analytics dashboard
- Modal dialogs for quick editing

🔧 Code Quality:
- WordPress coding standards compliance
- Secure database operations with prepared statements
- Proper input validation and sanitization
- Error handling and logging
- Responsive admin interface

🤖 Generated with Claude Code (https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Hotel Raxa Dev
2025-07-11 07:43:22 +02:00
commit 5b1e2453c7
9816 changed files with 2784509 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,2 @@
<svg width="484" height="422.3" viewBox="0 0 484 422.3" xmlns="http://www.w3.org/2000/svg">
<g><path d="M277.2,422.3h-89.9l-23.2-39.5l54.3-60.5C218.4,322.3,277.2,422.3,277.2,422.3z M142.3,380.5l-37.5,41.8H0 l100.2-113.4L142.3,380.5L142.3,380.5z" fill="black"/><polygon points="154.7,366.7 8.4,118 98.2,118 166.4,233.9 373.2,0 484,0 154.7,366.7" fill="#00a7e5"/></g></svg>

After

Width:  |  Height:  |  Size: 371 B

View File

@@ -0,0 +1,2 @@
<svg width="484" height="422.3" viewBox="0 0 484 422.3" xmlns="http://www.w3.org/2000/svg">
<g><path d="M277.2,422.3h-89.9l-23.2-39.5l54.3-60.5C218.4,322.3,277.2,422.3,277.2,422.3z M142.3,380.5l-37.5,41.8H0 l100.2-113.4L142.3,380.5L142.3,380.5z" fill="white"/><polygon points="154.7,366.7 8.4,118 98.2,118 166.4,233.9 373.2,0 484,0 154.7,366.7" fill="white"/></g></svg>

After

Width:  |  Height:  |  Size: 369 B

View File

@@ -0,0 +1,8 @@
<?php
/**
* Silence is golden.
*
* @package Redux Framework
*/
echo null;

View File

@@ -0,0 +1,8 @@
<?php
/**
* Silence is golden.
*
* @package Redux Framework
*/
echo null;

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -0,0 +1 @@
<svg width="650" height="171.89" viewBox="0 0 650 171.89" xmlns="http://www.w3.org/2000/svg"><g><path d="M565.84,171.89H529.26l-9.46-16.08,22.1-24.61,23.94,40.69Zm-54.94-17-15.25,17H453l40.79-46.15L510.9,154.9ZM333.76,48h29.15v66.83c0,16.55,8,29.63,24.2,29.77s23.4-12,23.4-29.77V48h27.87v66c0,32.41-13.19,57.87-52.67,57.87s-51.95-28-51.95-60V48ZM212.17,48h24.3c9.63,0,20.2-.12,29.67,1.63,36,6.64,53.76,27.47,53.27,61.21s-23.32,61-75.14,61h-32.1V48Zm29.15,26.34v71.2h8.31c22.85,0,40.24-12.46,40.24-35.92,0-22.94-17.4-35.28-38.74-35.28ZM116.42,48h76.66V73.89H145.57v22.4H186v25H145.57V146h47.51v25.91H116.42V48ZM0,48H25.31c12,0,24.19-.55,35.92,2.49,19.86,5.14,29.68,18.1,29.68,37.15,0,15.8-9,27.1-21.73,33.76l35.95,50.48H69.92l-40.77-60.1v60.1H0V48ZM63.13,90.49c.42-13.73-10.55-19.43-25.06-19.43H29.15v39.36H38.2c12,0,24.51-6.55,24.93-19.93Z" fill="white"/><polygon points="515.96 149.27 456.4 48.01 492.98 48.01 520.74 95.22 604.91 0 650 0 515.96 149.27 515.96 149.27" fill="white"/></g></svg>

After

Width:  |  Height:  |  Size: 992 B

View File

@@ -0,0 +1 @@
<svg width="650" height="171.89" viewBox="0 0 650 171.89" xmlns="http://www.w3.org/2000/svg"><g><path d="M565.84,171.89H529.26l-9.46-16.08,22.1-24.61,23.94,40.69Zm-54.94-17-15.25,17H453l40.79-46.15L510.9,154.9ZM333.76,48h29.15v66.83c0,16.55,8,29.63,24.2,29.77s23.4-12,23.4-29.77V48h27.87v66c0,32.41-13.19,57.87-52.67,57.87s-51.95-28-51.95-60V48ZM212.17,48h24.3c9.63,0,20.2-.12,29.67,1.63,36,6.64,53.76,27.47,53.27,61.21s-23.32,61-75.14,61h-32.1V48Zm29.15,26.34v71.2h8.31c22.85,0,40.24-12.46,40.24-35.92,0-22.94-17.4-35.28-38.74-35.28ZM116.42,48h76.66V73.89H145.57v22.4H186v25H145.57V146h47.51v25.91H116.42V48ZM0,48H25.31c12,0,24.19-.55,35.92,2.49,19.86,5.14,29.68,18.1,29.68,37.15,0,15.8-9,27.1-21.73,33.76l35.95,50.48H69.92l-40.77-60.1v60.1H0V48ZM63.13,90.49c.42-13.73-10.55-19.43-25.06-19.43H29.15v39.36H38.2c12,0,24.51-6.55,24.93-19.93Z" fill="black"/><polygon points="515.96 149.27 456.4 48.01 492.98 48.01 520.74 95.22 604.91 0 650 0 515.96 149.27 515.96 149.27" fill="#00a7e5"/></g></svg>

After

Width:  |  Height:  |  Size: 994 B

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 19 19">
<g>
<path d="M10.9,17.7H7.4l-0.9-1.5l2.1-2.4L10.9,17.7L10.9,17.7z M5.6,16.1l-1.5,1.6H0.1L4,13.3L5.6,16.1L5.6,16.1z"/>
<polygon points="6.1,15.6 0.4,5.9 3.9,5.9 6.6,10.4 14.6,1.3 18.9,1.3 6.1,15.6 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,8 @@
<?php
/**
* Silence is golden.
*
* @package Redux Framework
*/
echo null;

View File

@@ -0,0 +1,8 @@
<?php
/**
* Silence is golden.
*
* @package Redux Framework
*/
echo null;

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB