89

Helicopter Ticket Booking

Helicopter Ticket Booking

Journey Details

Passenger Details

Passenger 1

Payment Details

IRCTC Heliyatra Ticket
Status: ${status} Number of Passengers: ${passengerCount} Booking Type: GENERAL
Reporting Time: ${formattedReportingTime}
${route.split(' to ')[0]}
${formattedJourneyDate}
9:00 AM-12:00 PM
Thumby Helipad
Thumby Helipad, Jamu
Shri Kedarnath
${formattedJourneyDate}
Shri Kedarnath
Kedarnath
Shri Kedarnath
${formattedJourneyDate} (Same day)
Timing Will Be Informed At ${route.split(' to ')[0]}
Shri Kedarnath
Kedarnath
${route.split(' to ')[0]}
${formattedReturnDate}
Thumby Helipad
Thumby Helipad, Jamu
Passenger Details:
S No. Name Gender Age Yatra Reg. No. Status
${passengerRows}
GST Details:
Booker Name. : - Booker GST No. : -
For Helicopter Fare For Convenience Charges
Helicopter Service Operator : THUMBY AVIATION PVT LTD Service Provider Name : IRCTC
GST No. : 05AADCT1439J1ZE GST No. : 07AAACI7074F1ZM
Place of Supply : Uttarakhand State Code : Delhi
Booker State : Chhattisgarh
Description Total (Including GST)
Helicopter Fare ${helicopterFare}
Dynamic Fare 0.00
IRCTC-Conv. Fee ${convFee}
Total ${totalAmount}
Invoice Total
(after rounding off)
₹${totalAmount}
Rupees ${numberToWords(parseInt(totalAmount))} only
SCAN TO VERIFY
THIS TICKET
Booking ID: ${bookingId} Booking Date & Time: ${getCurrentDateTime()}
Onward
Return
`; // Display ticket preview document.getElementById('ticketPreview').innerHTML = ticketHtml; document.getElementById('ticketPreview').style.display = 'block'; // Scroll to ticket preview document.getElementById('ticketPreview').scrollIntoView({ behavior: 'smooth' }); } function formatDate(dateString) { const date = new Date(dateString); const day = String(date.getDate()).padStart(2, '0'); const month = String(date.getMonth() + 1).padStart(2, '0'); const year = date.getFullYear(); return `${day}-${month}-${year}`; } function getCurrentDateTime() { const now = new Date(); const day = String(now.getDate()).padStart(2, '0'); const month = String(now.getMonth() + 1).padStart(2, '0'); const year = now.getFullYear(); const hours = String(now.getHours()).padStart(2, '0'); const minutes = String(now.getMinutes()).padStart(2, '0'); return `${day}-${month}-${year} ${hours}:${minutes} ${hours >= 12 ? 'PM' : 'AM'}`; } function numberToWords(num) { const ones = ['', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Eleven', 'Twelve', 'Thirteen', 'Fourteen', 'Fifteen', 'Sixteen', 'Seventeen', 'Eighteen', 'Nineteen']; const tens = ['', '', 'Twenty', 'Thirty', 'Forty', 'Fifty', 'Sixty', 'Seventy', 'Eighty', 'Ninety']; if (num === 0) return 'Zero'; function convertLessThanOneThousand(num) { if (num === 0) return ''; if (num < 20) return ones[num]; const digit = num % 10; if (num < 100) return tens[Math.floor(num / 10)] + (digit ? ' ' + ones[digit] : ''); return ones[Math.floor(num / 100)] + ' Hundred' + (num % 100 ? ' and ' + convertLessThanOneThousand(num % 100) : ''); } let result = ''; const scales = ['', 'Thousand', 'Million', 'Billion', 'Trillion']; let scaleIndex = 0; while (num > 0) { const chunk = num % 1000; if (chunk !== 0) { result = convertLessThanOneThousand(chunk) + ' ' + scales[scaleIndex] + ' ' + result; } num = Math.floor(num / 1000); scaleIndex++; } return result.trim(); } });