{"id":23,"date":"2025-07-31T10:47:00","date_gmt":"2025-07-31T10:47:00","guid":{"rendered":"https:\/\/ho.m.sabpro.in\/?page_id=23"},"modified":"2025-07-31T17:02:34","modified_gmt":"2025-07-31T17:02:34","slug":"23-2","status":"publish","type":"page","link":"https:\/\/ho.m.sabpro.in\/?page_id=23","title":{"rendered":"Hotel Meenakshi &#8211; Booking"},"content":{"rendered":"\n<div class=\"wp-block-group alignfull is-layout-flow wp-container-core-group-is-layout-a2902c9c wp-block-group-is-layout-flow\" style=\"margin-top:0;margin-bottom:0\">\n\n\n<div class=\"wp-block-columns alignfull is-not-stacked-on-mobile is-layout-flex wp-container-core-columns-is-layout-bf39098c wp-block-columns-is-layout-flex\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--80);padding-left:var(--wp--preset--spacing--40)\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Hotel Meenakshi Booking<\/title>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n<style>\n    body { font-family: Arial, sans-serif; background:#f4f4f4; margin:0; display:flex; justify-content:center; align-items:center; min-height:100vh;}\n    .container { background:#fff; padding:25px; border-radius:8px; width:100%; max-width:600px; box-shadow:0 0 15px rgba(0,0,0,0.2); }\n    h1,h2{text-align:center;}\n    form{display:flex; flex-direction:column; gap:10px;}\n    input,select,button{padding:10px;font-size:16px;border-radius:5px;border:1px solid #ccc;}\n    button{background:#007bff;color:white;cursor:pointer;}\n    button:hover{background:#0056b3;}\n    #paymentDetails,#confirmationDetails{border:1px dashed #007bff;padding:15px;border-radius:8px;margin-top:15px;}\n    #qrCodeImage{max-width:250px;margin:10px auto;display:block;}\n    #logoutBtn{background:red;margin-bottom:10px;}\n<\/style>\n<\/head>\n<body>\n<div class=\"container\" id=\"content-area\"><\/div>\n\n<script>\n\/\/ Config\nconst WHATSAPP_NUMBER=\"8209740355\";\nconst QR_UPI = \"upi:\/\/pay?pa=8209740355@okbizaxis&pn=HotelMeenakshi\";\nconst ROOM_RATES = {\"standard\":1500,\"deluxe\":2500,\"suite\":4000};\n\n\/\/ Templates\nconst loginHTML=`<h1>Login<\/h1>\n<form id=\"loginForm\">\n<input type=\"email\" id=\"loginEmail\" placeholder=\"Email\" required>\n<input type=\"password\" id=\"loginPassword\" placeholder=\"Password\" required>\n<button type=\"submit\">Login<\/button>\n<\/form>\n<p><a href=\"#\" id=\"gotoForgot\">Forgot Password?<\/a><\/p>\n<p>No account? <a href=\"#\" id=\"gotoRegister\">Register<\/a><\/p>`;\n\nconst registerHTML=`<h1>Register<\/h1>\n<form id=\"registerForm\">\n<input type=\"email\" id=\"regEmail\" placeholder=\"Email\" required>\n<input type=\"password\" id=\"regPassword\" placeholder=\"Password\" required>\n<input type=\"password\" id=\"regConfirm\" placeholder=\"Confirm Password\" required>\n<button type=\"submit\">Register<\/button>\n<\/form>\n<p>Already have account? <a href=\"#\" id=\"gotoLogin\">Login<\/a><\/p>`;\n\nconst forgotHTML=`<h1>Forgot Password<\/h1>\n<form id=\"forgotForm\">\n<input type=\"email\" id=\"forgotEmail\" placeholder=\"Registered Email\" required>\n<input type=\"password\" id=\"newPassword\" placeholder=\"New Password\" required>\n<input type=\"password\" id=\"confirmNewPassword\" placeholder=\"Confirm New Password\" required>\n<button type=\"submit\">Reset Password<\/button>\n<\/form>\n<p><a href=\"#\" id=\"gotoLoginFromForgot\">Back to Login<\/a><\/p>`;\n\nconst bookingHTML=`<h1>Hotel Meenakshi - Booking<\/h1>\n<p>Welcome! User ID: <span id=\"userIdDisplay\"><\/span><\/p>\n<button id=\"logoutBtn\">Logout<\/button>\n<form id=\"bookingForm\">\n<input type=\"text\" id=\"customerName\" placeholder=\"Full Name\" required>\n<input type=\"tel\" id=\"mobileNumber\" placeholder=\"Mobile Number\" required>\n<input type=\"date\" id=\"checkinDate\" required>\n<input type=\"date\" id=\"checkoutDate\" required>\n<select id=\"roomCategory\" required>\n<option value=\"\">Select Room<\/option>\n<option value=\"standard\">Standard - \u20b91500<\/option>\n<option value=\"deluxe\">Deluxe - \u20b92500<\/option>\n<option value=\"suite\">Suite - \u20b94000<\/option>\n<\/select>\n<input type=\"number\" id=\"amount\" placeholder=\"Amount \u20b9\" readonly>\n<button type=\"submit\">Proceed to Pay<\/button>\n<\/form>\n<div id=\"paymentDetails\" style=\"display:none;\">\n<h2>Scan & Pay<\/h2>\n<img decoding=\"async\" id=\"qrCodeImage\" src=\"https:\/\/api.qrserver.com\/v1\/create-qr-code\/?size=250x250&#038;data=${encodeURIComponent(QR_UPI)}\">\n<p>UPI ID: 8209740355@okbizaxis<\/p>\n<input type=\"text\" id=\"transactionId\" placeholder=\"Transaction ID\">\n<button id=\"confirmPay\">Confirm Payment<\/button>\n<\/div>\n<div id=\"confirmationDetails\" style=\"display:none;\">\n<h2>Booking Confirmed<\/h2>\n<p>User ID: <span id=\"finalUserId\"><\/span><\/p>\n<p>Transaction ID: <span id=\"finalTxnId\"><\/span><\/p>\n<p>Amount: \u20b9<span id=\"finalAmount\"><\/span><\/p>\n<p>Mobile: <span id=\"finalMobile\"><\/span><\/p>\n<button id=\"downloadPdf\">Download PDF<\/button>\n<button id=\"shareWhatsapp\">Share on WhatsApp<\/button>\n<\/div>`;\n\n\/\/ App Logic\nconst app=document.getElementById(\"content-area\");\nfunction generateUserId(){return\"UID\"+Math.floor(Math.random()*100000);}\n\nfunction loadPage(page){\nif(page===\"login\"){app.innerHTML=loginHTML;attachLogin();}\nif(page===\"register\"){app.innerHTML=registerHTML;attachRegister();}\nif(page===\"forgot\"){app.innerHTML=forgotHTML;attachForgot();}\nif(page===\"booking\"){if(localStorage.getItem(\"isLoggedIn\")!==\"true\"){loadPage(\"login\");return;}\napp.innerHTML=bookingHTML;attachBooking();}\n}\n\nfunction attachLogin(){\ndocument.getElementById(\"gotoRegister\").onclick=()=>loadPage(\"register\");\ndocument.getElementById(\"gotoForgot\").onclick=()=>loadPage(\"forgot\");\ndocument.getElementById(\"loginForm\").onsubmit=e=>{\ne.preventDefault();\nconst email=document.getElementById(\"loginEmail\").value;\nconst pass=document.getElementById(\"loginPassword\").value;\nif(localStorage.getItem(email)===pass){\nlocalStorage.setItem(\"isLoggedIn\",\"true\");\nif(!localStorage.getItem(\"userId\"))localStorage.setItem(\"userId\",generateUserId());\nloadPage(\"booking\");\n}else{\nalert(\"Invalid Email or Password\");\n}\n};\n}\n\nfunction attachRegister(){\ndocument.getElementById(\"gotoLogin\").onclick=()=>loadPage(\"login\");\ndocument.getElementById(\"registerForm\").onsubmit=e=>{\ne.preventDefault();\nif(document.getElementById(\"regPassword\").value!==document.getElementById(\"regConfirm\").value){alert(\"Passwords do not match\");return;}\nlocalStorage.setItem(document.getElementById(\"regEmail\").value,document.getElementById(\"regPassword\").value);\nlocalStorage.setItem(\"isLoggedIn\",\"true\");\nlocalStorage.setItem(\"userId\",generateUserId());\nloadPage(\"booking\");\n};\n}\n\nfunction attachForgot(){\ndocument.getElementById(\"gotoLoginFromForgot\").onclick=()=>loadPage(\"login\");\ndocument.getElementById(\"forgotForm\").onsubmit=e=>{\ne.preventDefault();\nconst email=document.getElementById(\"forgotEmail\").value;\nconst newPass=document.getElementById(\"newPassword\").value;\nconst confirmPass=document.getElementById(\"confirmNewPassword\").value;\nif(newPass!==confirmPass){alert(\"Passwords do not match\");return;}\nif(localStorage.getItem(email)){\nlocalStorage.setItem(email,newPass);\nalert(\"Password Reset Successful! Please Login.\");\nloadPage(\"login\");\n}else{\nalert(\"Email not found! Please Register.\");\nloadPage(\"register\");\n}\n};\n}\n\nfunction attachBooking(){\ndocument.getElementById(\"userIdDisplay\").textContent=localStorage.getItem(\"userId\");\ndocument.getElementById(\"logoutBtn\").onclick=()=>{localStorage.removeItem(\"isLoggedIn\");loadPage(\"login\");};\ndocument.getElementById(\"roomCategory\").onchange=e=>{document.getElementById(\"amount\").value=ROOM_RATES[e.target.value]||\"\";};\ndocument.getElementById(\"bookingForm\").onsubmit=e=>{e.preventDefault();document.getElementById(\"paymentDetails\").style.display=\"block\";};\ndocument.getElementById(\"confirmPay\").onclick=()=>{\nconst txn=document.getElementById(\"transactionId\").value;\nif(!txn){alert(\"Enter Transaction ID\");return;}\ndocument.getElementById(\"finalUserId\").textContent=localStorage.getItem(\"userId\");\ndocument.getElementById(\"finalTxnId\").textContent=txn;\ndocument.getElementById(\"finalAmount\").textContent=document.getElementById(\"amount\").value;\ndocument.getElementById(\"finalMobile\").textContent=document.getElementById(\"mobileNumber\").value;\ndocument.getElementById(\"confirmationDetails\").style.display=\"block\";\ndocument.getElementById(\"paymentDetails\").style.display=\"none\";\n\n\/\/ PDF Generate + Download\ndocument.getElementById(\"downloadPdf\").onclick=()=>{\nconst { jsPDF } = window.jspdf;\nconst doc = new jsPDF();\ndoc.setFontSize(22);\ndoc.text(\"Hotel Meenakshi Booking Receipt\",20,20);\ndoc.setFontSize(14);\ndoc.text(`User ID: ${localStorage.getItem(\"userId\")}`,20,40);\ndoc.text(`Transaction ID: ${txn}`,20,50);\ndoc.text(`Amount: \u20b9${document.getElementById(\"amount\").value}`,20,60);\ndoc.text(`Mobile: ${document.getElementById(\"mobileNumber\").value}`,20,70);\ndoc.text(`Check-in: ${document.getElementById(\"checkinDate\").value}`,20,80);\ndoc.text(`Check-out: ${document.getElementById(\"checkoutDate\").value}`,20,90);\ndoc.save(\"Booking_Receipt.pdf\");\n};\n\n\/\/ WhatsApp Share\ndocument.getElementById(\"shareWhatsapp\").onclick=()=>{\nconst msg=`Booking Confirmed\u2705%0AUser ID: ${localStorage.getItem(\"userId\")}%0ATxn ID: ${txn}%0AAmount: \u20b9${document.getElementById(\"amount\").value}%0AMobile: ${document.getElementById(\"mobileNumber\").value}`;\nwindow.open(`https:\/\/wa.me\/91${WHATSAPP_NUMBER}?text=${msg}`);};\n};\n}\n\ndocument.addEventListener(\"DOMContentLoaded\",()=>{\nif(localStorage.getItem(\"isLoggedIn\")===\"true\"){loadPage(\"booking\");}else{loadPage(\"login\");}\n});\n<\/script>\n<\/body>\n<\/html>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignfull is-style-section-2 is-layout-flex wp-container-core-columns-is-layout-07e4d118 wp-block-columns-is-layout-flex is-style-section-2--1\" style=\"padding-top:0;padding-bottom:0\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<div class=\"wp-block-group is-vertical is-content-justification-stretch is-layout-flex wp-container-core-group-is-layout-df9ef4b9 wp-block-group-is-layout-flex\" style=\"min-height:33vh;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)\">\n<p class=\"wp-block-paragraph\">This immersive event celebrates the universal human experience through the lenses of history and ancestry, featuring a diverse array of photographers whose works capture the essence of different cultures and historical moments.<\/p>\n\n\n\n<div style=\"height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer wp-container-content-6388d5dc\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-xx-large-font-size\"><a href=\"#\">RSVP<\/a><\/h2>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<div class=\"wp-block-cover is-light\"><img decoding=\"async\" class=\"wp-block-cover__image-background\" alt=\"Close up photo of white flowers on a grey background\" src=\"https:\/\/ho.m.sabpro.in\/wp-content\/themes\/twentytwentyfive\/assets\/images\/botany-flowers-closeup.webp\" data-object-fit=\"cover\"\/><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim-0 has-background-dim\"><\/span><div class=\"wp-block-cover__inner-container is-layout-flow wp-block-cover-is-layout-flow\">\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hotel Meenakshi Booking This immersive event celebrates the universal human experience through the lenses of history and ancestry, featuring a diverse array of photographers whose works capture the essence of different cultures and historical moments. RSVP<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-23","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ho.m.sabpro.in\/index.php?rest_route=\/wp\/v2\/pages\/23","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ho.m.sabpro.in\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ho.m.sabpro.in\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ho.m.sabpro.in\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ho.m.sabpro.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=23"}],"version-history":[{"count":41,"href":"https:\/\/ho.m.sabpro.in\/index.php?rest_route=\/wp\/v2\/pages\/23\/revisions"}],"predecessor-version":[{"id":81,"href":"https:\/\/ho.m.sabpro.in\/index.php?rest_route=\/wp\/v2\/pages\/23\/revisions\/81"}],"wp:attachment":[{"href":"https:\/\/ho.m.sabpro.in\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=23"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}