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:
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
/*
|
||||
* UnderConstructionPage
|
||||
* Light Bulb theme
|
||||
* (c) WebFactory Ltd, 2015 - 2023
|
||||
*/
|
||||
|
||||
|
||||
// this is an include only WP file
|
||||
if (!defined('ABSPATH')) {
|
||||
die;
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>[title]</title>
|
||||
<meta name="description" content="[description]" />
|
||||
<meta name="generator" content="[generator]">
|
||||
<link rel="stylesheet" href="https://fonts.bunny.net/css?family=Nunito:400,900">
|
||||
[head]
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container top-container">
|
||||
<div class="row display-table">
|
||||
<div class="col-lg-offset-1 col-xs-12 col-md-12 col-lg-5 display-cell">
|
||||
<h1>[heading1]</h1>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-12 col-lg-5 display-cell">
|
||||
<div id="hero-image">
|
||||
<img class="fadein" src="[theme-url]light_bulb_off.png" alt="Switching on the site soon ..." title="Switching on the site soon ...">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-8 col-md-offset-2 col-lg-offset-2 col-lg-8">
|
||||
<p class="content">[content]</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" id="social">
|
||||
<div class="col-xs-12 col-md-12 col-lg-12">
|
||||
[social-icons]
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
[footer]
|
||||
<script src="<?php echo esc_url(includes_url('js/jquery/jquery.min.js')); ?>" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
var std = $('.fadein').attr('src');
|
||||
var hover = std.replace('_off', '_on');
|
||||
$('.fadein').clone().insertAfter('.fadein').attr('src', hover).removeClass('fadein').siblings().css({
|
||||
position:'absolute'
|
||||
});
|
||||
$('.fadein').mouseenter(function() {
|
||||
$('.fadein').stop().fadeTo(600, 0);
|
||||
}).mouseleave(function() {
|
||||
$('.fadein').stop().fadeTo(400, 1);
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
* UnderConstructionPage
|
||||
* Light Bulb theme CSS
|
||||
* (c) WebFactory Ltd, 2015 - 2023
|
||||
*/
|
||||
|
||||
|
||||
html {
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 120%;
|
||||
color: #2e2e2e; /* #b9b9b9; */
|
||||
|
||||
|
||||
background: #8e9eab; /* fallback for old browsers */
|
||||
background: -webkit-linear-gradient(to right, #eef2f3, #8e9eab); /* Chrome 10-25, Safari 5.1-6 */
|
||||
background: linear-gradient(to right, #eef2f3, #8e9eab); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
|
||||
|
||||
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.top-container {
|
||||
padding: 50px 0;
|
||||
}
|
||||
|
||||
#hero-image {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#hero-image img {
|
||||
max-width: 80%;
|
||||
}
|
||||
|
||||
.display-table {
|
||||
display: table;
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.display-cell {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
float: none;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 34px;
|
||||
color: #2e2e2e;
|
||||
font-family: "Nunito", sans-serif;
|
||||
font-weight: 900;
|
||||
margin: 20px 0 30px 0;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.content {
|
||||
text-align: center;
|
||||
font-family: "Helvetica", "Arial", sans-serif;
|
||||
}
|
||||
|
||||
#social {
|
||||
text-align: center;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
#social a i {
|
||||
color: #414042;
|
||||
margin: 10px;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
#social a:hover i {
|
||||
color: #f9b91a;
|
||||
}
|
||||
|
||||
@media(max-width:767px) {
|
||||
h1 {
|
||||
font-size: 28px;
|
||||
margin: 10px 0 30px 0;
|
||||
}
|
||||
#hero-image img {
|
||||
max-width: 95%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
h1 {
|
||||
text-align: center;
|
||||
padding: 0 20px;
|
||||
}
|
||||
.display-table {
|
||||
display: initial;
|
||||
table-layout: auto;
|
||||
}
|
||||
.display-cell {
|
||||
display: block;
|
||||
vertical-align: middle;
|
||||
float: none;
|
||||
}
|
||||
#hero-image img {
|
||||
max-height: 250px
|
||||
}
|
||||
.top-container {
|
||||
padding: 25px 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user