Files

3 lines
236 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 */
/*! For license information please see ai-layout.min.js.LICENSE.txt */
(()=>{var n={66535:(n,o,a)=>{"use strict";var i=a(7501);Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;_interopRequireWildcard(a(87363));var l=_interopRequireWildcard(a(61533)),u=a(37634);function _getRequireWildcardCache(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,a=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(n){return n?a:o})(n)}function _interopRequireWildcard(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!==i(n)&&"function"!=typeof n)return{default:n};var a=_getRequireWildcardCache(o);if(a&&a.has(n))return a.get(n);var l={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in n)if("default"!==c&&Object.prototype.hasOwnProperty.call(n,c)){var p=u?Object.getOwnPropertyDescriptor(n,c):null;p&&(p.get||p.set)?Object.defineProperty(l,c,p):l[c]=n[c]}return l.default=n,a&&a.set(n,l),l}var c={render:function render(n,o){var a;try{var i=(0,u.createRoot)(o);i.render(n),a=function unmountFunction(){i.unmount()}}catch(i){l.render(n,o),a=function unmountFunction(){l.unmountComponentAtNode(o)}}return{unmount:a}}};o.default=c},70299:(n,o,a)=>{"use strict";var i=a(73203);Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var l=i(a(78983)),u=i(a(42081)),c=i(a(77266)),p=i(a(58724)),w=i(a(71173)),C=i(a(74910)),x=i(a(93231)),S=a(38003),O=a(36619),j=a(25455);function _createSuper(n){var o=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(n){return!1}}();return function _createSuperInternal(){var a,i=(0,C.default)(n);if(o){var l=(0,C.default)(this).constructor;a=Reflect.construct(i,arguments,l)}else a=i.apply(this,arguments);return(0,w.default)(this,a)}}var k=function(n){(0,p.default)(AiLayoutBehavior,n);var o=_createSuper(AiLayoutBehavior);function AiLayoutBehavior(){var n;(0,l.default)(this,AiLayoutBehavior);for(var a=arguments.length,i=new Array(a),u=0;u<a;u++)i[u]=arguments[u];return n=o.call.apply(o,[this].concat(i)),(0,x.default)((0,c.default)(n),"previewContainer",null),n}return(0,u.default)(AiLayoutBehavior,[{key:"ui",value:function ui(){return{aiButton:".e-ai-layout-button",addTemplateButton:".elementor-add-template-button"}}},{key:"events",value:function events(){return{"click @ui.aiButton":"onAiButtonClick"}}},{key:"onAiButtonClick",value:function onAiButtonClick(n){n.stopPropagation(),window.elementorAiCurrentContext=this.getOption("context"),(0,O.renderLayoutApp)({parentContainer:elementor.getPreviewContainer(),mode:j.MODE_LAYOUT,at:this.view.getOption("at"),onInsert:this.onInsert.bind(this),onRenderApp:function onRenderApp(n){n.previewContainer.init()},onGenerate:function onGenerate(n){n.previewContainer.reset()}})}},{key:"hideDropArea",value:function hideDropArea(){this.view.onCloseButtonClick()}},{key:"onInsert",value:function onInsert(n){this.hideDropArea(),(0,O.importToEditor)({parentContainer:elementor.getPreviewContainer(),at:this.view.getOption("at"),template:n,historyTitle:(0,S.__)("AI Layout","elementor")})}},{key:"onRender",value:function onRender(){var n=jQuery("<div>",{class:"e-ai-layout-button elementor-add-section-area-button e-button-primary",title:(0,S.__)("Build with AI","elementor"),role:"button"});n.html('\n\t\t\t<div class="e-ai-layout-button--sparkle"></div>\n\t\t\t<div class="e-ai-layout-button--sparkle"></div>\n\t\t\t<div class="e-ai-layout-button--sparkle"></div>\n\t\t\t<div class="e-ai-layout-button--sparkle"></div>\n\t\t\t<div class="e-ai-layout-button--sparkle"></div>\n\t\t\t<div class="e-ai-layout-button--sparkle"></div>\n\t\t\t<div class="e-ai-layout-button--sparkle"></div>\n\t\t\t<i class="eicon-ai"></i>\n\t\t'),this.ui.addTemplateButton.after(n)}}]),AiLayoutBehavior}(Marionette.Behavior);o.default=k},46183:(n,o,a)=>{"use strict";var i=a(73203);Object.defineProperty(o,"__esModule",{value:!0}),o.uploadImage=o.toggleFavoriteHistoryItem=o.setStatusFeedback=o.setGetStarted=