2025-12-01 12:08:52 +00:00

50 lines
2.5 KiB
JavaScript

document.addEventListener('DOMContentLoaded', function() {
const pnrForm = document.getElementById('pnr-form');
if (pnrForm) {
pnrForm.addEventListener('submit', function(event) {
event.preventDefault();
const pnrNumber = document.getElementById('pnr-number').value;
const resultDiv = document.getElementById('pnr-result');
resultDiv.innerHTML = '<div class="text-center"><div class="spinner-border text-primary" role="status"><span class="visually-hidden">Loading...</span></div></div>';
fetch(`api/pnr_handler.php?pnr=${pnrNumber}`)
.then(response => response.json())
.then(data => {
if (data.ResponseCode == 200) {
let passengerHtml = '';
data.Passengers.forEach((p, index) => {
passengerHtml += `<tr>
<td>${index + 1}</td>
<td>${p.BookingStatus}</td>
<td><span class="badge bg-success">${p.CurrentStatus}</span></td>
</tr>`;
});
resultDiv.innerHTML = `
<h5 class="text-primary">${data.TrainName} (${data.TrainNo})</h5>
<p><strong>From:</strong> ${data.From} <strong>To:</strong> ${data.To} <strong>Date:</strong> ${data.Doj}</p>
<table class="table table-dark table-bordered">
<thead>
<tr><th>#</th><th>Booking Status</th><th>Current Status</th></tr>
</thead>
<tbody>
${passengerHtml}
</tbody>
</table>
<p class="text-center mt-3"><strong class="text-warning">Charting Status:</strong> ${data.ChartingStatus}</p>
`;
} else {
resultDiv.innerHTML = `<div class="alert alert-danger">${data.Message || 'Could not fetch PNR status. Please check the PNR and try again.'}</div>`;
}
})
.catch(error => {
console.error('Error:', error);
resultDiv.innerHTML = `<div class="alert alert-danger">An error occurred while fetching data.</div>`;
});
});
}
});