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:
Binary file not shown.
|
After Width: | Height: | Size: 4.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
/*
|
||||
* UnderConstructionPage
|
||||
* Clock 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-xs-12 col-md-12 col-lg-4 display-cell">
|
||||
<div id="hero-image">
|
||||
<img src="[theme-url]clock.png" alt="Tick tock, tick tock, ..." title="Tick tock, tick tock, ...">
|
||||
<img class="clock-hand" src="[theme-url]clock-hand.png" alt="Tick tock, tick tock, ..." title="Tick tock, tick tock, ...">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-12 col-lg-8 display-cell">
|
||||
<h1>[heading1]</h1>
|
||||
<p class="content">[content]</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="row" id="social">
|
||||
<div class="col-xs-12 col-md-12 col-lg-12">
|
||||
[social-icons]
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
[footer]
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,131 @@
|
||||
/*
|
||||
* UnderConstructionPage
|
||||
* Clock CSS
|
||||
* (c) WebFactory Ltd, 2015 - 2023
|
||||
*/
|
||||
|
||||
|
||||
html {
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 120%;
|
||||
color: #fefefe;
|
||||
background: #01c9fd;
|
||||
background: -webkit-linear-gradient(to right, #90fe9d, #01c9fd);
|
||||
background: linear-gradient(to right, #90fe9d, #01c9fd);
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
a, a:hover {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.top-container {
|
||||
padding: 50px 0;
|
||||
}
|
||||
|
||||
#hero-image {
|
||||
text-align: left;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#hero-image img {
|
||||
max-width: 80%;
|
||||
}
|
||||
|
||||
.clock-hand {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
transform: rotate(0deg);
|
||||
transform-origin: 50.1% 59.9%;
|
||||
-webkit-animation: spin 30s linear infinite;
|
||||
-moz-animation: spin 30s linear infinite;
|
||||
animation: spin 30s linear infinite;
|
||||
}
|
||||
|
||||
.display-table {
|
||||
display: table;
|
||||
table-layout: fixed;
|
||||
|
||||
}
|
||||
|
||||
.display-cell {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
float: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 34px;
|
||||
color: #fefefe;
|
||||
font-family: "Nunito", sans-serif;
|
||||
font-weight: 900;
|
||||
margin: 20px 0 30px 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.content {
|
||||
text-align: left;
|
||||
font-family: "Helvetica", "Arial", sans-serif;
|
||||
}
|
||||
|
||||
#social {
|
||||
text-align: center;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
#social a i {
|
||||
color: #fefefe;
|
||||
margin: 10px;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
#social a:hover i {
|
||||
color: #2e2e2e;
|
||||
}
|
||||
|
||||
@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;
|
||||
float: none;
|
||||
}
|
||||
#hero-image img {
|
||||
max-height: 250px
|
||||
}
|
||||
.top-container {
|
||||
padding: 25px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
|
||||
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
|
||||
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }
|
||||
Reference in New Issue
Block a user