Files

2 lines
7.5 KiB
JavaScript
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
/*! elementor - v3.24.0 - 15-10-2024 */
(()=>{var e={2557:(e,r,t)=>{"use strict";var o=t(73203);Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n=o(t(40131)),a=o(t(78983)),s=o(t(42081)),i=function deprecatedMessage(e,r,t,o){var n="`".concat(r,"` is ").concat(e," deprecated since ").concat(t);o&&(n+=" - Use `".concat(o,"` instead")),elementorDevTools.consoleWarn(n)},u=function(){function Deprecation(){(0,a.default)(this,Deprecation)}return(0,s.default)(Deprecation,[{key:"deprecated",value:function deprecated(e,r,t){this.isHardDeprecated(r)?function hardDeprecated(e,r,t){i("hard",e,r,t)}(e,r,t):function softDeprecated(e,r,t){elementorDevToolsConfig.isDebug&&i("soft",e,r,t)}(e,r,t)}},{key:"parseVersion",value:function parseVersion(e){var r=e.split(".");if(r.length<3||r.length>4)throw new RangeError("Invalid Semantic Version string provided");var t=(0,n.default)(r,4),o=t[0],a=t[1],s=t[2],i=t[3],u=void 0===i?"":i;return{major1:parseInt(o),major2:parseInt(a),minor:parseInt(s),build:u}}},{key:"getTotalMajor",value:function getTotalMajor(e){var r=parseInt("".concat(e.major1).concat(e.major2,"0"));return r=Number((r/10).toFixed(0)),e.major2>9&&(r=e.major2-9),r}},{key:"compareVersion",value:function compareVersion(e,r){var t=this;return[this.parseVersion(e),this.parseVersion(r)].map((function(e){return t.getTotalMajor(e)})).reduce((function(e,r){return e-r}))}},{key:"isSoftDeprecated",value:function isSoftDeprecated(e){return this.compareVersion(e,elementorDevToolsConfig.deprecation.current_version)<=elementorDevToolsConfig.deprecation.soft_version_count}},{key:"isHardDeprecated",value:function isHardDeprecated(e){var r=this.compareVersion(e,elementorDevToolsConfig.deprecation.current_version);return r<0||r>=elementorDevToolsConfig.deprecation.hard_version_count}}]),Deprecation}();r.default=u},26415:(e,r,t)=>{"use strict";var o=t(73203);Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n=o(t(9833)),a=o(t(40131)),s=o(t(78983)),i=o(t(42081)),u=o(t(93231)),l=(o(t(2557)),function(){function Module(e){(0,s.default)(this,Module),(0,u.default)(this,"deprecation",void 0),this.deprecation=e}return(0,i.default)(Module,[{key:"notifyBackendDeprecations",value:function notifyBackendDeprecations(){var e=this,r=elementorDevToolsConfig.deprecation.soft_notices;Object.entries(r).forEach((function(r){var t,o=(0,a.default)(r,2),s=o[0],i=o[1];(t=e.deprecation).deprecated.apply(t,[s].concat((0,n.default)(i)))}))}},{key:"consoleWarn",value:function consoleWarn(){for(var e,r='font-size: 12px; background-image: url("'.concat(elementorDevToolsConfig.urls.assets,'images/logo-icon.png"); background-repeat: no-repeat; background-size: contain;'),t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];o.unshift("%c %c",r,""),(e=console).warn.apply(e,o)}}]),Module}());r.default=l},98106:e=>{e.exports=function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,o=new Array(r);t<r;t++)o[t]=e[t];return o},e.exports.__esModule=!0,e.exports.default=e.exports},17358:e=>{e.exports=function _arrayWithHoles(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},34102:(e,r,t)=>{var o=t(98106);e.exports=function _arrayWithoutHoles(e){if(Array.isArray(e))return o(e)},e.exports.__esModule=!0,e.exports.default=e.exports},78983:e=>{e.exports=function _classCallCheck(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},42081:(e,r,t)=>{var o=t(74040);function _defineProperties(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,o(n.key),n)}}e.exports=function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports},93231:(e,r,t)=>{var o=t(74040);e.exports=function _defineProperty(e,r,t){return(r=o(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e},e.exports.__e