🏨 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>
24 lines
3.1 KiB
CSS
24 lines
3.1 KiB
CSS
.redux-container-switch .switch-options { min-height: 30px; margin-right: 10px; }
|
|
|
|
.redux-container-switch .switch-options .label { cursor: pointer; }
|
|
|
|
.redux-container-switch .switch-options input { display: none; }
|
|
|
|
.redux-container-switch .cb-enable, .redux-container-switch .cb-disable { padding: 0 10px; border-width: 1px; border-style: solid; -webkit-appearance: none; white-space: nowrap; -webkit-box-sizing: border-box; box-sizing: border-box; }
|
|
|
|
.redux-container-switch .cb-enable span, .redux-container-switch .cb-disable span { line-height: 30px; display: block; font-weight: 700; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
|
|
|
|
.redux-container-switch .cb-enable, .redux-container-switch .cb-disable, .redux-container-switch .cb-enable span, .redux-container-switch .cb-disable span { display: block; float: left; }
|
|
|
|
.redux-container-switch .cb-enable { border-right: 0; border-radius: 3px 0 0 3px; -moz-border-radius: 3px 0 0 3px; -webkit-border-radius: 3px 0 0 3px; }
|
|
|
|
.redux-container-switch .cb-enable.selected { color: #fff; }
|
|
|
|
.redux-container-switch .cb-disable { border-left: 0; border-radius: 0 3px 3px 0; -moz-border-radius: 0 3px 3px 0; -webkit-border-radius: 0 3px 3px 0; }
|
|
|
|
.redux-container-switch .cb-disable.selected { color: #fff; }
|
|
|
|
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdXgtc3dpdGNoLmNzcyIsInNvdXJjZXMiOlsicmVkdXgtc3dpdGNoLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQUFDSSx1QkFEbUIsQ0FDbkIsZUFBZSxDQUFDLEVBQ1osVUFBVSxFQUFFLElBQUksRUFDaEIsWUFBWSxFQUFFLElBQUksR0FTckI7O0FBWkwsQUFLUSx1QkFMZSxDQUNuQixlQUFlLENBSVgsTUFBTSxDQUFDLEVBQ0gsTUFBTSxFQUFFLE9BQU8sR0FDbEI7O0FBUFQsQUFTUSx1QkFUZSxDQUNuQixlQUFlLENBUVgsS0FBSyxDQUFDLEVBQ0YsT0FBTyxFQUFFLElBQUksR0FDaEI7O0FBWFQsQUFjSSx1QkFkbUIsQ0FjbkIsVUFBVSxFQWRkLHVCQUF1QixDQWVuQixXQUFXLENBQUMsRUFDUixPQUFPLEVBQUUsTUFBTSxFQUNmLFlBQVksRUFBRSxHQUFHLEVBQ2pCLFlBQVksRUFBRSxLQUFLLEVBQ25CLGtCQUFrQixFQUFFLElBQUksRUFDeEIsV0FBVyxFQUFFLE1BQU0sRUFDbkIsVUFBVSxFQUFFLFVBQVUsR0FXekI7O0FBaENMLEFBdUJRLHVCQXZCZSxDQWNuQixVQUFVLENBU04sSUFBSSxFQXZCWix1QkFBdUIsQ0FlbkIsV0FBVyxDQVFQLElBQUksQ0FBQyxFQUNELFdBQVcsRUFBRSxJQUFJLEVBQ2pCLE9BQU8sRUFBRSxLQUFLLEVBQ2QsV0FBVyxFQUFFLEdBQUcsRUFDaEIsbUJBQW1CLEVBQUUsSUFBSSxFQUN6QixnQkFBZ0IsRUFBRSxJQUFJLEVBQ3RCLGVBQWUsRUFBRSxJQUFJLEVBQ3JCLFdBQVcsRUFBRSxJQUFJLEdBQ3BCOztBQS9CVCxBQWtDSSx1QkFsQ21CLENBa0NuQixVQUFVLEVBbENkLHVCQUF1QixDQW1DbkIsV0FBVyxFQW5DZix1QkFBdUIsQ0FvQ25CLFVBQVUsQ0FBQyxJQUFJLEVBcENuQix1QkFBdUIsQ0FxQ25CLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFDYixPQUFPLEVBQUUsS0FBSyxFQUNkLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FBeENMLEFBMENJLHVCQTFDbUIsQ0EwQ25CLFVBQVUsQ0FBQyxFQUNQLFlBQVksRUFBRSxDQUFDLEVBQ2YsYUFBYSxFQUFFLFdBQVcsRUFDMUIsa0JBQWtCLEVBQUUsV0FBVyxFQUMvQixxQkFBcUIsRUFBRSxXQUFXLEdBS3JDOztBQW5ETCxBQWdEUSx1QkFoRGUsQ0EwQ25CLFVBQVUsQUFNTCxTQUFTLENBQUMsRUFDUCxLQUFLLEVBQUUsSUFBSSxHQUNkOztBQWxEVCxBQXFESSx1QkFyRG1CLENBcURuQixXQUFXLENBQUMsRUFDUixXQUFXLEVBQUUsQ0FBQyxFQUNkLGFBQWEsRUFBRSxXQUFXLEVBQzFCLGtCQUFrQixFQUFFLFdBQVcsRUFDL0IscUJBQXFCLEVBQUUsV0FBVyxHQUtyQzs7QUE5REwsQUEyRFEsdUJBM0RlLENBcURuQixXQUFXLEFBTU4sU0FBUyxDQUFDLEVBQ1AsS0FBSyxFQUFFLElBQUksR0FDZCJ9 */
|
|
|
|
/*# sourceMappingURL=redux-switch.css.map */
|