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>
This commit is contained in:
65
wp-includes/blocks/post-comments-form/block.json
Normal file
65
wp-includes/blocks/post-comments-form/block.json
Normal file
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"$schema": "https://schemas.wp.org/trunk/block.json",
|
||||
"apiVersion": 3,
|
||||
"name": "core/post-comments-form",
|
||||
"title": "Comments Form",
|
||||
"category": "theme",
|
||||
"description": "Display a post's comments form.",
|
||||
"textdomain": "default",
|
||||
"attributes": {
|
||||
"textAlign": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"usesContext": [ "postId", "postType" ],
|
||||
"supports": {
|
||||
"html": false,
|
||||
"color": {
|
||||
"gradients": true,
|
||||
"heading": true,
|
||||
"link": true,
|
||||
"__experimentalDefaultControls": {
|
||||
"background": true,
|
||||
"text": true
|
||||
}
|
||||
},
|
||||
"spacing": {
|
||||
"margin": true,
|
||||
"padding": true
|
||||
},
|
||||
"typography": {
|
||||
"fontSize": true,
|
||||
"lineHeight": true,
|
||||
"__experimentalFontStyle": true,
|
||||
"__experimentalFontWeight": true,
|
||||
"__experimentalLetterSpacing": true,
|
||||
"__experimentalTextTransform": true,
|
||||
"__experimentalDefaultControls": {
|
||||
"fontSize": true
|
||||
}
|
||||
},
|
||||
"__experimentalBorder": {
|
||||
"radius": true,
|
||||
"color": true,
|
||||
"width": true,
|
||||
"style": true,
|
||||
"__experimentalDefaultControls": {
|
||||
"radius": true,
|
||||
"color": true,
|
||||
"width": true,
|
||||
"style": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"editorStyle": "wp-block-post-comments-form-editor",
|
||||
"style": [
|
||||
"wp-block-post-comments-form",
|
||||
"wp-block-buttons",
|
||||
"wp-block-button"
|
||||
],
|
||||
"example": {
|
||||
"attributes": {
|
||||
"textAlign": "center"
|
||||
}
|
||||
}
|
||||
}
|
||||
6
wp-includes/blocks/post-comments-form/editor-rtl.css
Normal file
6
wp-includes/blocks/post-comments-form/editor-rtl.css
Normal file
@@ -0,0 +1,6 @@
|
||||
.wp-block-post-comments-form *{
|
||||
pointer-events:none;
|
||||
}
|
||||
.wp-block-post-comments-form .block-editor-warning *{
|
||||
pointer-events:auto;
|
||||
}
|
||||
1
wp-includes/blocks/post-comments-form/editor-rtl.min.css
vendored
Normal file
1
wp-includes/blocks/post-comments-form/editor-rtl.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.wp-block-post-comments-form *{pointer-events:none}.wp-block-post-comments-form .block-editor-warning *{pointer-events:auto}
|
||||
6
wp-includes/blocks/post-comments-form/editor.css
Normal file
6
wp-includes/blocks/post-comments-form/editor.css
Normal file
@@ -0,0 +1,6 @@
|
||||
.wp-block-post-comments-form *{
|
||||
pointer-events:none;
|
||||
}
|
||||
.wp-block-post-comments-form .block-editor-warning *{
|
||||
pointer-events:auto;
|
||||
}
|
||||
1
wp-includes/blocks/post-comments-form/editor.min.css
vendored
Normal file
1
wp-includes/blocks/post-comments-form/editor.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.wp-block-post-comments-form *{pointer-events:none}.wp-block-post-comments-form .block-editor-warning *{pointer-events:auto}
|
||||
63
wp-includes/blocks/post-comments-form/style-rtl.css
Normal file
63
wp-includes/blocks/post-comments-form/style-rtl.css
Normal file
@@ -0,0 +1,63 @@
|
||||
:where(.wp-block-post-comments-form) input:not([type=submit]),:where(.wp-block-post-comments-form) textarea{
|
||||
border:1px solid #949494;
|
||||
font-family:inherit;
|
||||
font-size:1em;
|
||||
}
|
||||
:where(.wp-block-post-comments-form) input:where(:not([type=submit]):not([type=checkbox])),:where(.wp-block-post-comments-form) textarea{
|
||||
padding:calc(.667em + 2px);
|
||||
}
|
||||
|
||||
.wp-block-post-comments-form{
|
||||
box-sizing:border-box;
|
||||
}
|
||||
.wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title){
|
||||
font-weight:inherit;
|
||||
}
|
||||
.wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title){
|
||||
font-family:inherit;
|
||||
}
|
||||
.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title),.wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title){
|
||||
font-size:inherit;
|
||||
}
|
||||
.wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title){
|
||||
line-height:inherit;
|
||||
}
|
||||
.wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title){
|
||||
font-style:inherit;
|
||||
}
|
||||
.wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title){
|
||||
letter-spacing:inherit;
|
||||
}
|
||||
.wp-block-post-comments-form :where(input[type=submit]){
|
||||
box-shadow:none;
|
||||
cursor:pointer;
|
||||
display:inline-block;
|
||||
overflow-wrap:break-word;
|
||||
text-align:center;
|
||||
}
|
||||
.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.wp-block-post-comments-form .comment-form textarea{
|
||||
box-sizing:border-box;
|
||||
display:block;
|
||||
width:100%;
|
||||
}
|
||||
.wp-block-post-comments-form .comment-form-author label,.wp-block-post-comments-form .comment-form-email label,.wp-block-post-comments-form .comment-form-url label{
|
||||
display:block;
|
||||
margin-bottom:.25em;
|
||||
}
|
||||
.wp-block-post-comments-form .comment-form-cookies-consent{
|
||||
display:flex;
|
||||
gap:.25em;
|
||||
}
|
||||
.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent{
|
||||
margin-top:.35em;
|
||||
}
|
||||
.wp-block-post-comments-form .comment-reply-title{
|
||||
margin-bottom:0;
|
||||
}
|
||||
.wp-block-post-comments-form .comment-reply-title :where(small){
|
||||
font-size:var(--wp--preset--font-size--medium, smaller);
|
||||
margin-right:.5em;
|
||||
}
|
||||
.wp-block-post-comments-form input[type=submit]{
|
||||
width:auto;
|
||||
}
|
||||
1
wp-includes/blocks/post-comments-form/style-rtl.min.css
vendored
Normal file
1
wp-includes/blocks/post-comments-form/style-rtl.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
:where(.wp-block-post-comments-form) input:not([type=submit]),:where(.wp-block-post-comments-form) textarea{border:1px solid #949494;font-family:inherit;font-size:1em}:where(.wp-block-post-comments-form) input:where(:not([type=submit]):not([type=checkbox])),:where(.wp-block-post-comments-form) textarea{padding:calc(.667em + 2px)}.wp-block-post-comments-form{box-sizing:border-box}.wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title){font-weight:inherit}.wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title){font-family:inherit}.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title),.wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title){font-size:inherit}.wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title){line-height:inherit}.wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title){font-style:inherit}.wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title){letter-spacing:inherit}.wp-block-post-comments-form :where(input[type=submit]){box-shadow:none;cursor:pointer;display:inline-block;overflow-wrap:break-word;text-align:center}.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.wp-block-post-comments-form .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-post-comments-form .comment-form-author label,.wp-block-post-comments-form .comment-form-email label,.wp-block-post-comments-form .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-post-comments-form .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-post-comments-form .comment-reply-title{margin-bottom:0}.wp-block-post-comments-form .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-right:.5em}.wp-block-post-comments-form input[type=submit]{width:auto}
|
||||
63
wp-includes/blocks/post-comments-form/style.css
Normal file
63
wp-includes/blocks/post-comments-form/style.css
Normal file
@@ -0,0 +1,63 @@
|
||||
:where(.wp-block-post-comments-form) input:not([type=submit]),:where(.wp-block-post-comments-form) textarea{
|
||||
border:1px solid #949494;
|
||||
font-family:inherit;
|
||||
font-size:1em;
|
||||
}
|
||||
:where(.wp-block-post-comments-form) input:where(:not([type=submit]):not([type=checkbox])),:where(.wp-block-post-comments-form) textarea{
|
||||
padding:calc(.667em + 2px);
|
||||
}
|
||||
|
||||
.wp-block-post-comments-form{
|
||||
box-sizing:border-box;
|
||||
}
|
||||
.wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title){
|
||||
font-weight:inherit;
|
||||
}
|
||||
.wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title){
|
||||
font-family:inherit;
|
||||
}
|
||||
.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title),.wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title){
|
||||
font-size:inherit;
|
||||
}
|
||||
.wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title){
|
||||
line-height:inherit;
|
||||
}
|
||||
.wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title){
|
||||
font-style:inherit;
|
||||
}
|
||||
.wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title){
|
||||
letter-spacing:inherit;
|
||||
}
|
||||
.wp-block-post-comments-form :where(input[type=submit]){
|
||||
box-shadow:none;
|
||||
cursor:pointer;
|
||||
display:inline-block;
|
||||
overflow-wrap:break-word;
|
||||
text-align:center;
|
||||
}
|
||||
.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.wp-block-post-comments-form .comment-form textarea{
|
||||
box-sizing:border-box;
|
||||
display:block;
|
||||
width:100%;
|
||||
}
|
||||
.wp-block-post-comments-form .comment-form-author label,.wp-block-post-comments-form .comment-form-email label,.wp-block-post-comments-form .comment-form-url label{
|
||||
display:block;
|
||||
margin-bottom:.25em;
|
||||
}
|
||||
.wp-block-post-comments-form .comment-form-cookies-consent{
|
||||
display:flex;
|
||||
gap:.25em;
|
||||
}
|
||||
.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent{
|
||||
margin-top:.35em;
|
||||
}
|
||||
.wp-block-post-comments-form .comment-reply-title{
|
||||
margin-bottom:0;
|
||||
}
|
||||
.wp-block-post-comments-form .comment-reply-title :where(small){
|
||||
font-size:var(--wp--preset--font-size--medium, smaller);
|
||||
margin-left:.5em;
|
||||
}
|
||||
.wp-block-post-comments-form input[type=submit]{
|
||||
width:auto;
|
||||
}
|
||||
1
wp-includes/blocks/post-comments-form/style.min.css
vendored
Normal file
1
wp-includes/blocks/post-comments-form/style.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
:where(.wp-block-post-comments-form) input:not([type=submit]),:where(.wp-block-post-comments-form) textarea{border:1px solid #949494;font-family:inherit;font-size:1em}:where(.wp-block-post-comments-form) input:where(:not([type=submit]):not([type=checkbox])),:where(.wp-block-post-comments-form) textarea{padding:calc(.667em + 2px)}.wp-block-post-comments-form{box-sizing:border-box}.wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title){font-weight:inherit}.wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title){font-family:inherit}.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title),.wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title){font-size:inherit}.wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title){line-height:inherit}.wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title){font-style:inherit}.wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title){letter-spacing:inherit}.wp-block-post-comments-form :where(input[type=submit]){box-shadow:none;cursor:pointer;display:inline-block;overflow-wrap:break-word;text-align:center}.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.wp-block-post-comments-form .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-post-comments-form .comment-form-author label,.wp-block-post-comments-form .comment-form-email label,.wp-block-post-comments-form .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-post-comments-form .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-post-comments-form .comment-reply-title{margin-bottom:0}.wp-block-post-comments-form .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-left:.5em}.wp-block-post-comments-form input[type=submit]{width:auto}
|
||||
Reference in New Issue
Block a user