1 line
8.4 KiB
JavaScript
Raw 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
window.wp=window.wp||{},function(i,u){"use strict";u.envato={},u.envato.ajaxNonce=window._wpUpdatesSettings.ajax_nonce,u.envato.shouldRequestFilesystemCredentials=null,u.envato.filesystemCredentials={ftp:{host:null,username:null,password:null,connectionType:null},ssh:{publicKey:null,privateKey:null}},u.envato.updateLock=!1,u.envato.updateDoneSuccessfully=!1,u.envato.updateQueue=[],u.envato.$elToReturnFocusToFromCredentialsModal=null,u.envato.decrementCount=function(e){var a,t=i("#wp-admin-bar-updates .ab-label"),n=i('a[href="update-core.php"] .update-plugins'),o=i("#menu-plugins"),s=t.text();(s=parseInt(s,10)-1)<0||isNaN(s)||(i("#wp-admin-bar-updates .ab-item").removeAttr("title"),t.text(s),n.each(function(e,t){t.className=t.className.replace(/count-\d+/,"count-"+s)}),n.removeAttr("title"),n.find(".update-count").text(s),"plugin"===e&&(a=o.find(".plugin-count").eq(0).text(),(a=parseInt(a,10)-1)<0||isNaN(a)||(o.find(".plugin-count").text(a),o.find(".update-plugins").each(function(e,t){t.className=t.className.replace(/count-\d+/,"count-"+a)}),0<a?i(".subsubsub .upgrade .count").text("("+a+")"):i(".subsubsub .upgrade").remove())))},u.envato.updatePlugin=function(e,t){var a=i(".envato-card-"+t).find(".update-now"),n=a.data("name"),n=u.i18n.sprintf(u.i18n.__("Updating %s...","envato-market"),n);a.attr("aria-label",n),a.addClass("updating-message"),a.html()!==n&&a.data("originaltext",a.html()),a.text(n),u.envato.updateLock?u.envato.updateQueue.push({type:"update-plugin",data:{plugin:e,slug:t}}):(u.envato.updateLock=!0,a={_ajax_nonce:u.envato.ajaxNonce,plugin:e,slug:t,username:u.envato.filesystemCredentials.ftp.username,password:u.envato.filesystemCredentials.ftp.password,hostname:u.envato.filesystemCredentials.ftp.hostname,connection_type:u.envato.filesystemCredentials.ftp.connectionType,public_key:u.envato.filesystemCredentials.ssh.publicKey,private_key:u.envato.filesystemCredentials.ssh.privateKey},u.ajax.post("update-plugin",a).done(u.envato.updateSuccess).fail(u.envato.updateError))},u.envato.updateTheme=function(e){var t=i(".envato-card-"+e).find(".update-now"),a=t.data("name"),a=u.i18n.sprintf(u.i18n.__("Updating %s...","envato-market"),a);t.attr("aria-label",a),t.addClass("updating-message"),t.html()!==a&&t.data("originaltext",t.html()),t.text(a),u.envato.updateLock?u.envato.updateQueue.push({type:"update-theme",data:{theme:e}}):(u.envato.updateLock=!0,t={_ajax_nonce:u.envato.ajaxNonce,theme:e,slug:e,username:u.envato.filesystemCredentials.ftp.username,password:u.envato.filesystemCredentials.ftp.password,hostname:u.envato.filesystemCredentials.ftp.hostname,connection_type:u.envato.filesystemCredentials.ftp.connectionType,public_key:u.envato.filesystemCredentials.ssh.publicKey,private_key:u.envato.filesystemCredentials.ssh.privateKey},u.ajax.post("update-theme",t).done(u.envato.updateSuccess).fail(u.envato.updateError))},u.envato.updateSuccess=function(e){var t=i(".envato-card-"+e.slug),a=t.find(".column-update"),n=t.find(".update-now"),t=t.find(".version"),o=n.data("name"),s=n.data("version"),s=t.attr("aria-label").replace("%s",s),o=(n.addClass("disabled"),u.i18n.sprintf(u.i18n.__("Updating %s...","envato-market"),o));n.attr("aria-label",o),t.text(s),n.removeClass("updating-message").addClass("updated-message"),n.text(u.i18n.__("Updated!","envato-market")),u.a11y.speak(o),a.addClass("update-complete").delay(1e3).fadeOut(),u.envato.decrementCount("plugin"),u.envato.updateDoneSuccessfully=!0,u.envato.updateLock=!1,i(document).trigger("envato-update-success",e),u.envato.queueChecker()},u.envato.updateError=function(e){var t;u.envato.updateDoneSuccessfully=!1,e.errorCode&&"unable_to_connect_to_filesystem"===e.errorCode&&u.envato.shouldRequestFilesystemCredentials?u.envato.credentialError(e,"update-plugin"):((t=i(".envato-card-"+e.slug).find(".update-now")).data("name"),t.attr("aria-label",u.i18n.__("Updating failed","envato-market")),t.removeClass("updating-message"),t.html(u.i18n.sprintf(u.i18n.__("Updating failed %s...","envato-market"),"string"!==e.errorMessage?e.errorMessage:e.error)),u.envato.updateLock=!1,i(document)