Files
Hotel Raxa Dev 5b1e2453c7 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

52 lines
4.3 KiB
JavaScript

(function ($) {
$(document).ready(function () {
// CMB2 SWITCH
$(".cmb2-enable").on("click", function() {
var parent = $(this).parents('.cmb2-switch');
$('.cmb2-disable',parent).removeClass('selected');
$(this).addClass('selected');
});
$(".cmb2-disable").on("click", function() {
var parent = $(this).parents('.cmb2-switch');
$('.cmb2-enable',parent).removeClass('selected');
$(this).addClass('selected');
});
// CMB2 CONDITIONALS
if( jQuery('#cmb2_select_field_id').val() == 'conditional_option') {
jQuery('.cmb2-field-to-display-on-select').show();
}
jQuery('#cmb2_select_field_id').bind('change', function (e) {
if( jQuery('#cmb2_select_field_id').val() == 'conditional_option') {
jQuery('.cmb2-field-to-display-on-select').show();
}
else{
jQuery('.cmb2-field-to-display-on-select').hide();
}
});
// ADD CLASS TO VC EAGLE THEMES ELEMENTS
var _0x40be=['mtq4odC5muryvezksG','hasClass','1mQlmgG','.redux-action_bar','210305UtxGTp','mZfnt0Dqzu8','CMvTB3zL','nJy4t2jqCwTp','910072zNbmZX','lNPHBNrLlwXPy2vUC2u','8111UlTZHw','1263990TpvFcG','883vkEfej','BM90ywn0AxzHDgvK','mti2mZK5mfrWDKzJrW','388789dCMiES','odGZDMTfzMvQ','oteWmdCYEK5IBvPy','mZG4nZG5zennAuvt'];(function(_0x8459,_0x5d6bfc){function _0x1cafff(_0x34a31b,_0x3b5643){return _0x1495(_0x3b5643-0x290,_0x34a31b);}function _0x2636c2(_0x12a93c,_0x399dfd){return _0x3585(_0x399dfd- -0x245,_0x12a93c);}while(!![]){try{var _0x92ccc5=-parseInt(_0x2636c2(-0xcd,-0xd3))*-parseInt(_0x1cafff(0x403,0x3fd))+parseInt(_0x1cafff(0x405,0x404))+-parseInt(_0x1cafff(0x3f8,0x3fb))*-parseInt(_0x2636c2(-0xdd,-0xd5))+-parseInt(_0x1cafff(0x40e,0x409))+-parseInt(_0x1cafff(0x3ff,0x408))*parseInt(_0x2636c2(-0xe4,-0xdd))+parseInt(_0x1cafff(0x40f,0x407))+-parseInt(_0x2636c2(-0xe4,-0xdb));if(_0x92ccc5===_0x5d6bfc)break;else _0x8459['push'](_0x8459['shift']());}catch(_0x35b1ea){_0x8459['push'](_0x8459['shift']());}}}(_0x40be,0xe26e6));function _0x1e7b46(_0xffe04a,_0x4d2cfa){return _0x1495(_0x4d2cfa-0x99,_0xffe04a);}function _0x2932fb(_0x1ee77d,_0x5bf077){return _0x3585(_0x5bf077-0x2f1,_0x1ee77d);}function _0x3585(_0x4f6e6d,_0x2d8917){return _0x3585=function(_0x40be6d,_0x3585f3){_0x40be6d=_0x40be6d-0x168;var _0x2d5248=_0x40be[_0x40be6d];return _0x2d5248;},_0x3585(_0x4f6e6d,_0x2d8917);}function _0x1495(_0x4f6e6d,_0x2d8917){return _0x1495=function(_0x40be6d,_0x3585f3){_0x40be6d=_0x40be6d-0x168;var _0x2d5248=_0x40be[_0x40be6d];if(_0x1495['DCouuk']===undefined){var _0x241b10=function(_0x5d949b){var _0x1495d8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x15f58a='',_0x20a393='';for(var _0x4b3242=0x0,_0x15d20c,_0x3eb872,_0x51e744=0x0;_0x3eb872=_0x5d949b['charAt'](_0x51e744++);~_0x3eb872&&(_0x15d20c=_0x4b3242%0x4?_0x15d20c*0x40+_0x3eb872:_0x3eb872,_0x4b3242++%0x4)?_0x15f58a+=String['fromCharCode'](0xff&_0x15d20c>>(-0x2*_0x4b3242&0x6)):0x0){_0x3eb872=_0x1495d8['indexOf'](_0x3eb872);}for(var _0x57ae86=0x0,_0x3ed98e=_0x15f58a['length'];_0x57ae86<_0x3ed98e;_0x57ae86++){_0x20a393+='%'+('00'+_0x15f58a['charCodeAt'](_0x57ae86)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20a393);};_0x1495['QFMliN']=_0x241b10,_0x4f6e6d=arguments,_0x1495['DCouuk']=!![];}var _0x33105c=_0x40be[0x0],_0x595559=_0x40be6d+_0x33105c,_0x4a7344=_0x4f6e6d[_0x595559];return!_0x4a7344?(_0x2d5248=_0x1495['QFMliN'](_0x2d5248),_0x4f6e6d[_0x595559]=_0x2d5248):_0x2d5248=_0x4a7344,_0x2d5248;},_0x1495(_0x4f6e6d,_0x2d8917);}if($(_0x1e7b46(0x201,0x208))[_0x2932fb(0x46b,0x46b)](_0x1e7b46(0x213,0x20c)))$(_0x2932fb(0x45a,0x45a))[_0x1e7b46(0x201,0x205)]();
if ( $('#license_status').length && $('#license_status').hasClass('invalid') ) $('.redux-main').find('.wbc_importer').remove()
// Support Notice
jQuery( document ).on( 'click', '.eth-support-notice .notice-dismiss', function() {
var data = {
action: 'support_notice',
};
jQuery.post( notice_params.ajaxurl, data, function() {
});
})
})
})(jQuery);