Files

2 lines
60 KiB
JavaScript
Raw Permalink Normal View History

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
/*! For license information please see schema.js.LICENSE.txt */
!function(){"use strict";var e={"./node_modules/zod/lib/index.mjs":function(e,t,n){var r,a;n.r(t),n.d(t,{BRAND:function(){return Pe},DIRTY:function(){return g},EMPTY_PATH:function(){return m},INVALID:function(){return v},NEVER:function(){return Tt},OK:function(){return b},ParseStatus:function(){return _},Schema:function(){return P},ZodAny:function(){return ae},ZodArray:function(){return de},ZodBigInt:function(){return X},ZodBoolean:function(){return Q},ZodBranded:function(){return Re},ZodCatch:function(){return je},ZodDate:function(){return ee},ZodDefault:function(){return Ee},ZodDiscriminatedUnion:function(){return pe},ZodEffects:function(){return Ne},ZodEnum:function(){return Ze},ZodError:function(){return u},ZodFirstPartyTypeKind:function(){return Le},ZodFunction:function(){return be},ZodIntersection:function(){return me},ZodIssueCode:function(){return o},ZodLazy:function(){return ke},ZodLiteral:function(){return xe},ZodMap:function(){return ve},ZodNaN:function(){return Ie},ZodNativeEnum:function(){return Te},ZodNever:function(){return ie},ZodNull:function(){return re},ZodNullable:function(){return Ce},ZodNumber:function(){return G},ZodObject:function(){return ce},ZodOptional:function(){return Se},ZodParsedType:function(){return s},ZodPipeline:function(){return Ae},ZodPromise:function(){return Oe},ZodReadonly:function(){return $e},ZodRecord:function(){return _e},ZodSchema:function(){return P},ZodSet:function(){return ge},ZodString:function(){return J},ZodSymbol:function(){return te},ZodTransformer:function(){return Ne},ZodTuple:function(){return ye},ZodType:function(){return P},ZodUndefined:function(){return ne},ZodUnion:function(){return le},ZodUnknown:function(){return se},ZodVoid:function(){return oe},addIssueToContext:function(){return y},any:function(){return He},array:function(){return et},bigint:function(){return Be},boolean:function(){return Fe},coerce:function(){return Zt},custom:function(){return Me},date:function(){return We},datetimeRegex:function(){return Y},default:function(){return Ot},defaultErrorMap:function(){return c},discriminatedUnion:function(){return at},effect:function(){return yt},enum:function(){return pt},function:function(){return ct},getErrorMap:function(){return p},getParsedType:function(){return i},instanceof:function(){return ze},intersection:function(){return st},isAborted:function(){return k},isAsync:function(){return Z},isDirty:function(){return x},isValid:function(){return w},late:function(){return De},lazy:function(){return lt},literal:function(){return ht},makeIssue:function(){return f},map:function(){return dt},nan:function(){return Ke},nativeEnum:function(){return ft},never:function(){return Xe},null:function(){return Je},nullable:function(){return vt},number:function(){return Ue},object:function(){return tt},objectUtil:function(){return a},oboolean:function(){return wt},onumber:function(){return xt},optional:function(){return _t},ostring:function(){return kt},pipeline:function(){return bt},preprocess:function(){return gt},promise:function(){return mt},quotelessJson:function(){return d},record:function(){return ot},set:function(){return ut},setErrorMap:function(){return h},strictObject:function(){return nt},string:function(){return Ve},symbol:function(){return qe},transformer:function(){return yt},tuple:function(){return it},undefined:function(){return Ye},union:function(){return rt},unknown:function(){return Ge},util:function(){return r},void:function(){return Qe},z:function(){return Ot}}),function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),r={};for(const e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="funct