Files

1 line
12 KiB
Plaintext
Raw Permalink Normal View History

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
{"version":3,"sources":["redux-spinner.scss","redux-spinner.css"],"names":[],"mappings":"AAAA,yCAAA,kBACI,ECEI,cAAc,EDHtB,YAAA,ECKQ,gBAAgB,EAAA;;ADLxB,wDAAA,6BAiCe,ECxBH,UAAU,EDTtB,sBAmDI,ECxCQ,uBAAuB,EDXnC,2BA4DiB,EC/CL,oCAAoC,EDbhD,0BAmEiB,ECpDL,yBAAyB,ED4ErC,2BACoB,EAAA;;AA5FpB,uCCuBQ,gBAAgB,EDmFxB,eAAiB,EAAA;;AA1GjB,+CC6BQ,kBAAkB,EDwG1B,UAAA,EAAA;;AArIA,yDCkCQ,WAAW,EACX,kBAAkB,EAClB,MAAM,EACN,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAGf,oFAAoF,EACpF,kDAA0C,EAA1C,0CAA0C,EAC1C,sBAAsB,EACtB,YAAY,EACZ,wBAAwB,EAExB,gBAAgB,EAAA;;ADhDxB,8FCuDQ,oFAAoF,EACpF,kDAA0C,EAA1C,0CAA0C,EAC1C,yBAAyB,EAAA;;ADzDjC,4GCgEQ,0BAA0B,EAAA;;ADhElC,4GCuEQ,0BAA0B,EAAA;;ADvElC,uDC4EY,MAAM,EACN,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,EACT,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EAAA;;AAK7B,uFAII,qBAAqB,EACrB,8BAAsB,EAAtB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EAAA;;AAGhB,mBACI,kBAAkB,EAAA;;AAGtB,iIAEI,WAAW,EACX,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,WAAW,EACX,yCAAyC,EACzC,uBAAuB,EAAA;;AAV3B,mJAaQ,yBAAyB,EAAA;;AAIjC,uBACI,4BAA4B,EAC5B,+BAA+B,EAAA;;AAGnC,uBACI,2BAA2B,EAC3B,8BAA8B,EAAA;;AAGlC,yBACI,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,oBAAoB,EACpB,iGAEuC,EAFvC,yFAEuC,EAAA;;AAP3C,kCAUQ,sBAAsB,EAAA;;AA7G9B,y5HAAy5H","file":"redux-spinner.css","sourcesContent":[".redux-container-spinner {\n .spinner-wrpr {\n position: relative;\n display: block;\n height: 30px;\n overflow: hidden;\n\n .spinner-input {\n position: relative !important;\n z-index: 1;\n width: 75px !important;\n height: 30px !important;\n background: #eee !important;\n border: 1px solid #bfbfbf !important;\n border-right: 0 !important;\n border-left: 0 !important;\n -webkit-border-radius: 0 !important;\n -moz-border-radius: 0 !important;\n border-radius: 0 !important;\n }\n }\n\n .ui-spinner {\n position: static;\n display: inline;\n }\n\n\n .ui-spinner-buttons {\n position: absolute;\n padding: 0;\n }\n\n .ui-widget .ui-spinner-button {\n color: #fff;\n position: absolute;\n top: 0;\n padding: 0 0 30px;\n overflow: hidden;\n cursor: pointer;\n background: -moz-linear-gradient(#fff, #f3f3f3);\n background: -o-linear-gradient(#fff, #f3f3f3);\n background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f3f3f3));\n background: linear-gradient(#fff, #f3f3f3);\n background-color: #fff;\n border: none;\n -webkit-box-shadow: none;\n -moz-box-shadow: none;\n box-shadow: none;\n }\n\n .ui-spinner-button:hover,\n .ui-state-hover {\n background: -moz-linear-gradient(#f3f3f3, #fff);\n background: -o-linear-gradient(#f3f3f3, #fff);\n background: -webkit-gradient(linear, left top, left bottom, from(#f3f3f3), to(#fff));\n background: linear-gradient(#f3f3f3, #fff);\n background-color: #f3f3f3;\n }\n\n .ui-corner-tr,\n .ui-spinner-button .ui-icon-triangle-1-n {\n -webkit-border-radius: 0 5px 5px 0;\n -moz-border-radius: 0 3px 3px 0;\n border-radius: 0 3px 3px 0;\n }\n\n .ui-corner-br,\n .ui-spinner-button .ui-icon-triangle-1-s {\n -webkit-border-radius: 5px 0 0 5px;\n -moz-border-radius: 3px 0 0 3px;\n border-radius: 3px 0 0 3px;\n }\n\n .ui-spinner-button {\n .ui-icon {\n top: 0;\n display: block;\n width: 28px;\n height: 28px;\n margin: 0;\n border: 1px solid #b7b7b7;\n background-image: initial;\n text-indent: 0;\n text-align: center;\n font-size: 18px;\n line-height: 26px;\n }\n }\n}\n\n.dp-numberPicker,\n.dp-numberPicker-add,\n.dp-numberPicker-sub,\n.dp-numberPicker-input {\n display: inline-block;\n box-sizing: border-box;\n text-align: center;\n vertical-align: top;\n height: 30px