{"id":66,"date":"2025-08-06T15:42:42","date_gmt":"2025-08-06T15:42:42","guid":{"rendered":"https:\/\/tour.rampratapsiyag.com\/?page_id=66"},"modified":"2025-08-06T17:20:47","modified_gmt":"2025-08-06T17:20:47","slug":"66-2","status":"publish","type":"page","link":"https:\/\/tour.rampratapsiyag.com\/?page_id=66","title":{"rendered":"\u092c\u0941\u0915\u093f\u0902\u0917 \u092b\u0930\u094d\u092e"},"content":{"rendered":"\n<div class=\"wp-block-group alignfull is-style-section-4 has-global-padding is-layout-constrained wp-block-group-is-layout-constrained is-style-section-4--1\" style=\"min-height:100vh;margin-top:0;margin-bottom:0\">\n<div class=\"wp-block-columns alignfull is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<!DOCTYPE html>\n<html lang=\"hi\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Ram Pratap Tourist Booking<\/title>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf-autotable\/3.5.28\/jspdf.plugin.autotable.min.js\"><\/script>\n<style>\nbody{font-family:sans-serif;background:#eef5ff;margin:0;padding:20px;}\n.container{max-width:900px;margin:auto;background:white;padding:20px;border-radius:10px;}\n#headerBar{display:none;justify-content:space-between;align-items:center;background:#0d47a1;color:white;padding:10px;border-radius:8px;margin-bottom:15px;}\n#logoutBtn{background:red;color:white;border:none;padding:5px 10px;border-radius:5px;cursor:pointer;}\n.btn{padding:10px 15px;border-radius:5px;color:white;border:none;cursor:pointer;margin-top:10px;}\n.switch-btn{background:none;color:#0d47a1;border:none;cursor:pointer;text-decoration:underline;}\n.disabled{opacity:0.5;pointer-events:none;}\n#bookingSection{display:none;}\n#qrCodeSection{display:none;transition:all 0.4s ease;margin-top:20px;text-align:center;background:#f0f8ff;padding:10px;border-radius:10px;border:2px solid #0d47a1;}\n#qrCodeImage{width:220px;height:220px;background:white;border-radius:10px;}\ninput, textarea, select { width: 100%; padding: 10px; margin-bottom: 10px; box-sizing: border-box; }\n<\/style>\n<\/head>\n<body>\n\n<div class=\"container\">\n    <div id=\"headerBar\">\n        <div>User ID: <span id=\"userId\"><\/span> | Welcome, <span id=\"userName\"><\/span><\/div>\n        <button id=\"logoutBtn\" onclick=\"handleLogout()\">Logout<\/button>\n    <\/div>\n\n    <div id=\"authSection\">\n        <h2 id=\"authHeader\">\u0932\u0949\u0917 \u0907\u0928 \u0915\u0930\u0947\u0902<\/h2>\n        <form id=\"loginForm\" onsubmit=\"event.preventDefault(); handleLogin();\">\n            <input type=\"email\" id=\"loginEmail\" placeholder=\"Email\" required><br>\n            <input type=\"password\" id=\"loginPassword\" placeholder=\"Password\" required><br>\n            <button type=\"submit\" class=\"btn\" style=\"background:#0d47a1;\">Login<\/button>\n            <p>\u092f\u093e<\/p>\n            <button type=\"button\" class=\"switch-btn\" onclick=\"showRegister()\">Register<\/button>\n            <br>\n            <button type=\"button\" class=\"switch-btn\" onclick=\"showForgotPassword()\">\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u092d\u0942\u0932 \u0917\u090f?<\/button>\n        <\/form>\n\n        <form id=\"registerForm\" style=\"display:none;\" onsubmit=\"event.preventDefault(); handleRegister();\">\n            <input type=\"text\" id=\"regName\" placeholder=\"Full Name\" required><br>\n            <input type=\"email\" id=\"regEmail\" placeholder=\"Email\" required><br>\n            <input type=\"password\" id=\"regPassword\" placeholder=\"Password\" required><br>\n            <input type=\"password\" id=\"regConfirmPassword\" placeholder=\"Confirm Password\" required><br>\n            <button type=\"submit\" class=\"btn\" style=\"background:#0d47a1;\">Register<\/button>\n            <p>\u092f\u093e<\/p>\n            <button type=\"button\" class=\"switch-btn\" onclick=\"showLogin()\">Login<\/button>\n        <\/form>\n\n        <form id=\"forgotPasswordForm\" style=\"display:none;\" onsubmit=\"event.preventDefault(); handlePasswordReset();\">\n            <h2 id=\"authHeader\">\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0930\u0940\u0938\u0947\u091f \u0915\u0930\u0947\u0902<\/h2>\n            <p>\u0915\u0943\u092a\u092f\u093e \u0905\u092a\u0928\u093e \u0908\u092e\u0947\u0932 \u0921\u093e\u0932\u0947\u0902\u0964<\/p>\n            <input type=\"email\" id=\"resetEmail\" placeholder=\"Email\" required><br>\n            <input type=\"password\" id=\"newPassword\" placeholder=\"New Password\" required><br>\n            <input type=\"password\" id=\"confirmNewPassword\" placeholder=\"Confirm New Password\" required><br>\n            <button type=\"submit\" class=\"btn\" style=\"background:#0d47a1;\">Password Reset<\/button>\n            <p>\u092f\u093e<\/p>\n            <button type=\"button\" class=\"switch-btn\" onclick=\"showLogin()\">Login<\/button>\n        <\/form>\n\n        <p id=\"authMessage\" style=\"color:red;\"><\/p>\n    <\/div>\n\n    <div id=\"bookingSection\">\n        <h2>\ud83d\ude97 Ram Pratap Tourist Booking<\/h2>\n        <select id=\"vehicle\" onchange=\"updateRateAndKm()\">\n            <option value=\"Bolero\" data-rate=\"50\">Bolero<\/option>\n            <option value=\"Innova\" data-rate=\"60\">Innova<\/option>\n            <option value=\"Tata 407\" data-rate=\"70\">Tata 407<\/option>\n        <\/select>\n        <p id=\"rateInfo\">Rate: \u20b950 per KM<\/p>\n        <input type=\"number\" id=\"km\" placeholder=\"Enter KM\" oninput=\"autoCalculate()\">\n        \n        <textarea id=\"pickupAddress\" placeholder=\"Enter pickup address\" rows=\"4\" required><\/textarea>\n\n        <p id=\"result\">Total Fare: \u20b90<\/p>\n        \n        <div id=\"qrCodeSection\">\n            <h3>Scan QR &#038; Pay<\/h3>\n            <img id=\"qrCodeImage\">\n            <br>\n            <a id=\"upiBtn\" class=\"btn\" style=\"background:#4CAF50;\" target=\"_blank\">Pay via UPI<\/a>\n            <br><br>\n            <input type=\"text\" id=\"txnId\" placeholder=\"Transaction ID\" oninput=\"enableActions()\">\n            <br>\n            <button id=\"pdfBtn\" class=\"btn disabled\" style=\"background:#d32f2f;\" onclick=\"downloadPDF()\">Download PDF<\/button>\n            <button id=\"whatsappBtn\" class=\"btn disabled\" style=\"background:#25D366;\" onclick=\"sendWhatsApp()\">Send WhatsApp<\/button>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\nlet totalFare=0;\nlet currentUser=null;\n\nwindow.onload=function(){\n    let savedUser=localStorage.getItem(\"loggedUser\");\n    if(savedUser){\n        currentUser=JSON.parse(savedUser);\n        openBooking();\n    }\n};\n\nfunction showRegister(){\n    loginForm.style.display='none';\n    forgotPasswordForm.style.display='none';\n    registerForm.style.display='block';\n    authHeader.innerText='Register';\n}\nfunction showLogin(){\n    loginForm.style.display='block';\n    registerForm.style.display='none';\n    forgotPasswordForm.style.display='none';\n    authHeader.innerText='\u0932\u0949\u0917 \u0907\u0928 \u0915\u0930\u0947\u0902';\n}\n\/\/ \u092f\u0939 \u0928\u092f\u093e \u092b\u093c\u0902\u0915\u094d\u0936\u0928 \u092b\u0949\u0930\u0917\u0947\u091f \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u092b\u093c\u0949\u0930\u094d\u092e \u0926\u093f\u0916\u093e\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0939\u0948\nfunction showForgotPassword(){\n    loginForm.style.display='none';\n    registerForm.style.display='none';\n    forgotPasswordForm.style.display='block';\n}\n\nfunction handleLogin(){\n    let email=loginEmail.value.trim();\n    if(email){\n        let uniqueId = 'RPT-' + Math.random().toString(36).substr(2, 9).toUpperCase();\n        currentUser={name:email.split('@')[0], id: uniqueId};\n        localStorage.setItem(\"loggedUser\",JSON.stringify(currentUser));\n        openBooking();\n    }\n}\nfunction handleRegister(){\n    let name=regName.value.trim();\n    if(regPassword.value!==regConfirmPassword.value){\n        authMessage.innerText='Password mismatch';return;\n    }\n    let uniqueId = 'RPT-' + Math.random().toString(36).substr(2, 9).toUpperCase();\n    currentUser={name:name, id: uniqueId};\n    localStorage.setItem(\"loggedUser\",JSON.stringify(currentUser));\n    openBooking();\n}\n\n\/\/ \u092f\u0939 \u0928\u092f\u093e \u092b\u093c\u0902\u0915\u094d\u0936\u0928 \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0930\u0940\u0938\u0947\u091f \u0939\u0948\u0902\u0921\u0932 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0939\u0948\nfunction handlePasswordReset(){\n    let resetEmail = document.getElementById('resetEmail').value;\n    let newPassword = document.getElementById('newPassword').value;\n    let confirmNewPassword = document.getElementById('confirmNewPassword').value;\n\n    if(newPassword !== confirmNewPassword){\n        alert('\u0928\u092f\u093e \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0914\u0930 \u0915\u0928\u094d\u092b\u0930\u094d\u092e \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u092e\u0947\u0932 \u0928\u0939\u0940\u0902 \u0916\u093e \u0930\u0939\u0947 \u0939\u0948\u0902\u0964');\n        return;\n    }\n\n    \/\/ \u092f\u0939 \u0938\u093f\u0930\u094d\u092b \u090f\u0915 \u0938\u093f\u092e\u0941\u0932\u0947\u0936\u0928 \u0939\u0948 \u0915\u094d\u092f\u094b\u0902\u0915\u093f \u0939\u092e\u093e\u0930\u0947 \u092a\u093e\u0938 \u0938\u0930\u094d\u0935\u0930 \u0928\u0939\u0940\u0902 \u0939\u0948\n    alert(`\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0930\u0940\u0938\u0947\u091f \u0915\u0930\u0928\u0947 \u0915\u093e \u0905\u0928\u0941\u0930\u094b\u0927 ${resetEmail} \u0915\u0947 \u0932\u093f\u090f \u092d\u0947\u091c\u093e \u0917\u092f\u093e \u0939\u0948\u0964`);\n    showLogin();\n}\n\nfunction openBooking(){\n    authSection.style.display='none';\n    bookingSection.style.display='block';\n    headerBar.style.display='flex';\n    userName.innerText=currentUser.name;\n    userId.innerText=currentUser.id;\n    updateRateAndKm();\n}\nfunction handleLogout(){\n    localStorage.removeItem(\"loggedUser\");\n    currentUser=null;\n    bookingSection.style.display='none';\n    headerBar.style.display='none';\n    authSection.style.display='block';\n    showLogin();\n}\nfunction updateRateAndKm(){\n    let rate=vehicle.options[vehicle.selectedIndex].getAttribute('data-rate');\n    rateInfo.innerText=`Rate: \u20b9${rate} per KM`;\n    km.value=\"\"; result.innerText=\"Total Fare: \u20b90\"; qrCodeSection.style.display='none';\n    pickupAddress.value = \"\";\n}\nfunction autoCalculate(){\n    let rate=parseInt(vehicle.options[vehicle.selectedIndex].getAttribute('data-rate'));\n    let kms=parseInt(km.value)||0;\n    totalFare=rate*kms;\n    result.innerText=`${kms} KM \u00d7 \u20b9${rate} = \u20b9${totalFare}`;\n    if(kms>0){\n        let upi=`upi:\/\/pay?pa=rampratapsiyag@oksbi&am=${totalFare}&cu=INR`;\n        qrCodeImage.src=`https:\/\/api.qrserver.com\/v1\/create-qr-code\/?data=${encodeURIComponent(upi)}`;\n        upiBtn.href=upi;\n        qrCodeSection.style.display='block';\n    }\n}\nfunction enableActions(){\n    if(txnId.value.trim().length>=5){pdfBtn.classList.remove('disabled');whatsappBtn.classList.remove('disabled');}\n}\nfunction downloadPDF(){\n    let {jsPDF}=window.jspdf;\n    let doc=new jsPDF();\n    const userName = currentUser ? currentUser.name : 'Unknown User';\n    const userId = currentUser ? currentUser.id : 'Unknown ID';\n\n    doc.text(\"Ram Pratap Tourist Booking Receipt\",10,10);\n    doc.autoTable({head:[['Details','Value']],body:[\n        ['User Name', userName],\n        ['User ID', userId],\n        ['Vehicle',vehicle.value],\n        ['KM',km.value],\n        ['Pickup Address', pickupAddress.value],\n        ['Fare','\u20b9'+totalFare],\n        ['Txn ID',txnId.value]\n    ],startY:20});\n    doc.save(\"Booking_Receipt.pdf\");\n}\nfunction sendWhatsApp(){\n    const userName = currentUser ? currentUser.name : 'Unknown User';\n    const userId = currentUser ? currentUser.id : 'Unknown ID';\n    \n    let msg=`*\u0928\u0908 \u092c\u0941\u0915\u093f\u0902\u0917*\\n`+\n            `*User Name:* ${userName}\\n`+\n            `*User ID:* ${userId}\\n`+\n            `*\u0917\u093e\u0921\u093c\u0940:* ${vehicle.value}\\n`+\n            `*KM:* ${km.value}\\n`+\n            `*\u090f\u0921\u094d\u0930\u0947\u0938:* ${pickupAddress.value}\\n`+\n            `*\u0915\u0941\u0932 \u0915\u093f\u0930\u093e\u092f\u093e:* \u20b9${totalFare}\\n`+\n            `*Transaction ID:* ${txnId.value}\\n`;\n    window.open('https:\/\/wa.me\/918209740355?text='+encodeURIComponent(msg),'_blank');\n}\n<\/script>\n<\/body>\n<\/html>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Ram Pratap Tourist Booking User ID: | Welcome, Logout \u0932\u0949\u0917 \u0907\u0928 \u0915\u0930\u0947\u0902 Login \u092f\u093e Register \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u092d\u0942\u0932 \u0917\u090f? Register \u092f\u093e Login \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0930\u0940\u0938\u0947\u091f \u0915\u0930\u0947\u0902 \u0915\u0943\u092a\u092f\u093e \u0905\u092a\u0928\u093e \u0908\u092e\u0947\u0932 \u0921\u093e\u0932\u0947\u0902\u0964 Password Reset \u092f\u093e Login \ud83d\ude97 Ram Pratap Tourist Booking BoleroInnovaTata 407 Rate: \u20b950 per KM Total Fare: \u20b90 Scan QR &#038; Pay Pay via UPI Download PDF [&hellip;]<\/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-66","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tour.rampratapsiyag.com\/index.php?rest_route=\/wp\/v2\/pages\/66","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tour.rampratapsiyag.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tour.rampratapsiyag.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tour.rampratapsiyag.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tour.rampratapsiyag.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=66"}],"version-history":[{"count":3,"href":"https:\/\/tour.rampratapsiyag.com\/index.php?rest_route=\/wp\/v2\/pages\/66\/revisions"}],"predecessor-version":[{"id":71,"href":"https:\/\/tour.rampratapsiyag.com\/index.php?rest_route=\/wp\/v2\/pages\/66\/revisions\/71"}],"wp:attachment":[{"href":"https:\/\/tour.rampratapsiyag.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=66"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}