Files
Hotel Raxa Dev 5b1e2453c7 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>
2025-07-11 07:43:22 +02:00

1 line
3.2 KiB
Plaintext

{"version":3,"sources":["redux-media.css","redux-media.scss"],"names":[],"mappings":"AACA,kCAEQ,UAAU,ECFlB,qBAOI,EDHI,iBAAiB,EAAA;;AAJzB,4CAQQ,iBAAiB,EAAA;;AARzB,6DAWY,mBAAmB,EACnB,mBAAmB,EACnB,gCAAgC,EAChC,gBAAgB,EAChB,eAAe,EACf,WAAW,EAAA;;AAhBvB,0DAoBY,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAAA;;AAtB9B,gEAyBgB,qBAAqB,EACrB,YAAY,EACZ,WAAW,EAAA;;AA3B3B,uFAgCwB,WAAW,EAAA;;AArBnC,ykCAAykC","file":"redux-media.css","sourcesContent":[".redux-main .redux-media-slider { width: 40%; display: inline-block; margin-left: 30px; }\n\n.redux-main .redux-media-filter-container { padding-top: 20px; }\n\n.redux-main .redux-media-filter-container .container-label { margin-bottom: 20px; padding-bottom: 1px; border-bottom: 1px solid #e7e7e7; font-weight: 600; font-size: 12px; color: #999; }\n\n.redux-main .redux-media-filter-container .media-filter { display: inline-block; width: 47%; margin-bottom: 5px; }\n\n.redux-main .redux-media-filter-container .media-filter label { display: inline-block; width: 130px; color: #999; }\n\n.redux-main .redux-media-filter-container .media-filter label.disabled .filter-value { color: #ccc; }\n\n/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdXgtbWVkaWEuY3NzIiwic291cmNlcyI6WyJyZWR1eC1tZWRpYS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLEFBQ0ksV0FETyxDQUNQLG1CQUFtQixDQUFDLEVBQ2hCLEtBQUssRUFBRSxHQUFHLEVBQ1YsT0FBTyxFQUFFLFlBQVksRUFDckIsV0FBVyxFQUFFLElBQUksR0FDcEI7O0FBTEwsQUFPSSxXQVBPLENBT1AsNkJBQTZCLENBQUMsRUFDMUIsV0FBVyxFQUFFLElBQUksR0E2QnBCOztBQXJDTCxBQVVRLFdBVkcsQ0FPUCw2QkFBNkIsQ0FHekIsZ0JBQWdCLENBQUMsRUFDYixhQUFhLEVBQUUsSUFBSSxFQUNuQixjQUFjLEVBQUUsR0FBRyxFQUNuQixhQUFhLEVBQUUsaUJBQWlCLEVBQ2hDLFdBQVcsRUFBRSxHQUFHLEVBQ2hCLFNBQVMsRUFBRSxJQUFJLEVBQ2YsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFqQlQsQUFtQlEsV0FuQkcsQ0FPUCw2QkFBNkIsQ0FZekIsYUFBYSxDQUFDLEVBQ1YsT0FBTyxFQUFFLFlBQVksRUFDckIsS0FBSyxFQUFFLEdBQUcsRUFDVixhQUFhLEVBQUUsR0FBRyxHQWNyQjs7QUFwQ1QsQUF3QlksV0F4QkQsQ0FPUCw2QkFBNkIsQ0FZekIsYUFBYSxDQUtULEtBQUssQ0FBQyxFQUNGLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLEtBQUssRUFBRSxLQUFLLEVBQ1osS0FBSyxFQUFFLElBQUksR0FRZDs7QUFuQ2IsQUErQm9CLFdBL0JULENBT1AsNkJBQTZCLENBWXpCLGFBQWEsQ0FLVCxLQUFLLEFBS0EsU0FBUyxDQUVOLGFBQWEsQ0FBQyxFQUNWLEtBQUssRUFBRSxJQUFJLEdBQ2QifQ== */\n\n/*# sourceMappingURL=redux-media.css.map */\n","//removeIf(core)\r\n.redux-main {\r\n .redux-media-slider {\r\n width: 40%;\r\n display: inline-block;\r\n margin-left: 30px;\r\n }\r\n\r\n .redux-media-filter-container {\r\n padding-top: 20px;\r\n\r\n .container-label {\r\n margin-bottom: 20px;\r\n padding-bottom: 1px;\r\n border-bottom: 1px solid #e7e7e7;\r\n font-weight: 600;\r\n font-size: 12px;\r\n color: #999;\r\n }\r\n\r\n .media-filter {\r\n display: inline-block;\r\n width: 47%;\r\n margin-bottom: 5px;\r\n\r\n label {\r\n display: inline-block;\r\n width: 130px;\r\n color: #999;\r\n\r\n &.disabled {\r\n\r\n .filter-value {\r\n color: #ccc;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n//removeIf(core)\r\n"]}