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:
92
wp-includes/blocks/pullquote/block.json
Normal file
92
wp-includes/blocks/pullquote/block.json
Normal file
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"$schema": "https://schemas.wp.org/trunk/block.json",
|
||||
"apiVersion": 3,
|
||||
"name": "core/pullquote",
|
||||
"title": "Pullquote",
|
||||
"category": "text",
|
||||
"description": "Give special visual emphasis to a quote from your text.",
|
||||
"textdomain": "default",
|
||||
"attributes": {
|
||||
"value": {
|
||||
"type": "rich-text",
|
||||
"source": "rich-text",
|
||||
"selector": "p",
|
||||
"role": "content"
|
||||
},
|
||||
"citation": {
|
||||
"type": "rich-text",
|
||||
"source": "rich-text",
|
||||
"selector": "cite",
|
||||
"role": "content"
|
||||
},
|
||||
"textAlign": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"supports": {
|
||||
"anchor": true,
|
||||
"align": [ "left", "right", "wide", "full" ],
|
||||
"background": {
|
||||
"backgroundImage": true,
|
||||
"backgroundSize": true,
|
||||
"__experimentalDefaultControls": {
|
||||
"backgroundImage": true
|
||||
}
|
||||
},
|
||||
"color": {
|
||||
"gradients": true,
|
||||
"background": true,
|
||||
"link": true,
|
||||
"__experimentalDefaultControls": {
|
||||
"background": true,
|
||||
"text": true
|
||||
}
|
||||
},
|
||||
"dimensions": {
|
||||
"minHeight": true,
|
||||
"__experimentalDefaultControls": {
|
||||
"minHeight": false
|
||||
}
|
||||
},
|
||||
"spacing": {
|
||||
"margin": true,
|
||||
"padding": true
|
||||
},
|
||||
"typography": {
|
||||
"fontSize": true,
|
||||
"lineHeight": true,
|
||||
"__experimentalFontFamily": true,
|
||||
"__experimentalFontWeight": true,
|
||||
"__experimentalFontStyle": true,
|
||||
"__experimentalTextTransform": true,
|
||||
"__experimentalTextDecoration": true,
|
||||
"__experimentalLetterSpacing": true,
|
||||
"__experimentalDefaultControls": {
|
||||
"fontSize": true
|
||||
}
|
||||
},
|
||||
"__experimentalBorder": {
|
||||
"color": true,
|
||||
"radius": true,
|
||||
"style": true,
|
||||
"width": true,
|
||||
"__experimentalDefaultControls": {
|
||||
"color": true,
|
||||
"radius": true,
|
||||
"style": true,
|
||||
"width": true
|
||||
}
|
||||
},
|
||||
"__experimentalStyle": {
|
||||
"typography": {
|
||||
"fontSize": "1.5em",
|
||||
"lineHeight": "1.6"
|
||||
}
|
||||
},
|
||||
"interactivity": {
|
||||
"clientNavigation": true
|
||||
}
|
||||
},
|
||||
"editorStyle": "wp-block-pullquote-editor",
|
||||
"style": "wp-block-pullquote"
|
||||
}
|
||||
11
wp-includes/blocks/pullquote/editor-rtl.css
Normal file
11
wp-includes/blocks/pullquote/editor-rtl.css
Normal file
@@ -0,0 +1,11 @@
|
||||
.wp-block-pullquote.is-style-solid-color blockquote p{
|
||||
font-size:32px;
|
||||
}
|
||||
.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{
|
||||
font-style:normal;
|
||||
text-transform:none;
|
||||
}
|
||||
|
||||
.wp-block-pullquote .wp-block-pullquote__citation{
|
||||
color:inherit;
|
||||
}
|
||||
1
wp-includes/blocks/pullquote/editor-rtl.min.css
vendored
Normal file
1
wp-includes/blocks/pullquote/editor-rtl.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{font-style:normal;text-transform:none}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit}
|
||||
11
wp-includes/blocks/pullquote/editor.css
Normal file
11
wp-includes/blocks/pullquote/editor.css
Normal file
@@ -0,0 +1,11 @@
|
||||
.wp-block-pullquote.is-style-solid-color blockquote p{
|
||||
font-size:32px;
|
||||
}
|
||||
.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{
|
||||
font-style:normal;
|
||||
text-transform:none;
|
||||
}
|
||||
|
||||
.wp-block-pullquote .wp-block-pullquote__citation{
|
||||
color:inherit;
|
||||
}
|
||||
1
wp-includes/blocks/pullquote/editor.min.css
vendored
Normal file
1
wp-includes/blocks/pullquote/editor.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{font-style:normal;text-transform:none}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit}
|
||||
63
wp-includes/blocks/pullquote/style-rtl.css
Normal file
63
wp-includes/blocks/pullquote/style-rtl.css
Normal file
@@ -0,0 +1,63 @@
|
||||
.wp-block-pullquote{
|
||||
box-sizing:border-box;
|
||||
margin:0 0 1em;
|
||||
overflow-wrap:break-word;
|
||||
padding:4em 0;
|
||||
text-align:center;
|
||||
}
|
||||
.wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{
|
||||
color:inherit;
|
||||
}
|
||||
.wp-block-pullquote blockquote{
|
||||
margin:0;
|
||||
}
|
||||
.wp-block-pullquote p{
|
||||
margin-top:0;
|
||||
}
|
||||
.wp-block-pullquote p:last-child{
|
||||
margin-bottom:0;
|
||||
}
|
||||
.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{
|
||||
max-width:420px;
|
||||
}
|
||||
.wp-block-pullquote cite,.wp-block-pullquote footer{
|
||||
position:relative;
|
||||
}
|
||||
.wp-block-pullquote .has-text-color a{
|
||||
color:inherit;
|
||||
}
|
||||
|
||||
.wp-block-pullquote.has-text-align-left blockquote{
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
.wp-block-pullquote.has-text-align-right blockquote{
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
.wp-block-pullquote.has-text-align-center blockquote{
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.wp-block-pullquote.is-style-solid-color{
|
||||
border:none;
|
||||
}
|
||||
.wp-block-pullquote.is-style-solid-color blockquote{
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
max-width:60%;
|
||||
}
|
||||
.wp-block-pullquote.is-style-solid-color blockquote p{
|
||||
font-size:2em;
|
||||
margin-bottom:0;
|
||||
margin-top:0;
|
||||
}
|
||||
.wp-block-pullquote.is-style-solid-color blockquote cite{
|
||||
font-style:normal;
|
||||
text-transform:none;
|
||||
}
|
||||
|
||||
.wp-block-pullquote cite{
|
||||
color:inherit;
|
||||
display:block;
|
||||
}
|
||||
1
wp-includes/blocks/pullquote/style-rtl.min.css
vendored
Normal file
1
wp-includes/blocks/pullquote/style-rtl.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.wp-block-pullquote{box-sizing:border-box;margin:0 0 1em;overflow-wrap:break-word;padding:4em 0;text-align:center}.wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{color:inherit}.wp-block-pullquote blockquote{margin:0}.wp-block-pullquote p{margin-top:0}.wp-block-pullquote p:last-child{margin-bottom:0}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:420px}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}.wp-block-pullquote.has-text-align-left blockquote{text-align:right}.wp-block-pullquote.has-text-align-right blockquote{text-align:left}.wp-block-pullquote.has-text-align-center blockquote{text-align:center}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-left:auto;margin-right:auto;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:2em;margin-bottom:0;margin-top:0}.wp-block-pullquote.is-style-solid-color blockquote cite{font-style:normal;text-transform:none}.wp-block-pullquote cite{color:inherit;display:block}
|
||||
63
wp-includes/blocks/pullquote/style.css
Normal file
63
wp-includes/blocks/pullquote/style.css
Normal file
@@ -0,0 +1,63 @@
|
||||
.wp-block-pullquote{
|
||||
box-sizing:border-box;
|
||||
margin:0 0 1em;
|
||||
overflow-wrap:break-word;
|
||||
padding:4em 0;
|
||||
text-align:center;
|
||||
}
|
||||
.wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{
|
||||
color:inherit;
|
||||
}
|
||||
.wp-block-pullquote blockquote{
|
||||
margin:0;
|
||||
}
|
||||
.wp-block-pullquote p{
|
||||
margin-top:0;
|
||||
}
|
||||
.wp-block-pullquote p:last-child{
|
||||
margin-bottom:0;
|
||||
}
|
||||
.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{
|
||||
max-width:420px;
|
||||
}
|
||||
.wp-block-pullquote cite,.wp-block-pullquote footer{
|
||||
position:relative;
|
||||
}
|
||||
.wp-block-pullquote .has-text-color a{
|
||||
color:inherit;
|
||||
}
|
||||
|
||||
.wp-block-pullquote.has-text-align-left blockquote{
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
.wp-block-pullquote.has-text-align-right blockquote{
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
.wp-block-pullquote.has-text-align-center blockquote{
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.wp-block-pullquote.is-style-solid-color{
|
||||
border:none;
|
||||
}
|
||||
.wp-block-pullquote.is-style-solid-color blockquote{
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
max-width:60%;
|
||||
}
|
||||
.wp-block-pullquote.is-style-solid-color blockquote p{
|
||||
font-size:2em;
|
||||
margin-bottom:0;
|
||||
margin-top:0;
|
||||
}
|
||||
.wp-block-pullquote.is-style-solid-color blockquote cite{
|
||||
font-style:normal;
|
||||
text-transform:none;
|
||||
}
|
||||
|
||||
.wp-block-pullquote cite{
|
||||
color:inherit;
|
||||
display:block;
|
||||
}
|
||||
1
wp-includes/blocks/pullquote/style.min.css
vendored
Normal file
1
wp-includes/blocks/pullquote/style.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.wp-block-pullquote{box-sizing:border-box;margin:0 0 1em;overflow-wrap:break-word;padding:4em 0;text-align:center}.wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{color:inherit}.wp-block-pullquote blockquote{margin:0}.wp-block-pullquote p{margin-top:0}.wp-block-pullquote p:last-child{margin-bottom:0}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:420px}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}.wp-block-pullquote.has-text-align-left blockquote{text-align:left}.wp-block-pullquote.has-text-align-right blockquote{text-align:right}.wp-block-pullquote.has-text-align-center blockquote{text-align:center}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-left:auto;margin-right:auto;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:2em;margin-bottom:0;margin-top:0}.wp-block-pullquote.is-style-solid-color blockquote cite{font-style:normal;text-transform:none}.wp-block-pullquote cite{color:inherit;display:block}
|
||||
12
wp-includes/blocks/pullquote/theme-rtl.css
Normal file
12
wp-includes/blocks/pullquote/theme-rtl.css
Normal file
@@ -0,0 +1,12 @@
|
||||
.wp-block-pullquote{
|
||||
border-bottom:4px solid;
|
||||
border-top:4px solid;
|
||||
color:currentColor;
|
||||
margin-bottom:1.75em;
|
||||
}
|
||||
.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{
|
||||
color:currentColor;
|
||||
font-size:.8125em;
|
||||
font-style:normal;
|
||||
text-transform:uppercase;
|
||||
}
|
||||
1
wp-includes/blocks/pullquote/theme-rtl.min.css
vendored
Normal file
1
wp-includes/blocks/pullquote/theme-rtl.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}
|
||||
12
wp-includes/blocks/pullquote/theme.css
Normal file
12
wp-includes/blocks/pullquote/theme.css
Normal file
@@ -0,0 +1,12 @@
|
||||
.wp-block-pullquote{
|
||||
border-bottom:4px solid;
|
||||
border-top:4px solid;
|
||||
color:currentColor;
|
||||
margin-bottom:1.75em;
|
||||
}
|
||||
.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{
|
||||
color:currentColor;
|
||||
font-size:.8125em;
|
||||
font-style:normal;
|
||||
text-transform:uppercase;
|
||||
}
|
||||
1
wp-includes/blocks/pullquote/theme.min.css
vendored
Normal file
1
wp-includes/blocks/pullquote/theme.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}
|
||||
Reference in New Issue
Block a user