appointmentSolution.hero.title
appointmentSolution.hero.desc
67%appointmentSolution.stats.reduction
98%appointmentSolution.stats.openRate
24happointmentSolution.stats.automated
$10/moappointmentSolution.stats.unlimited
appointmentSolution.why.label
appointmentSolution.why.title
appointmentSolution.why.desc
📅
appointmentSolution.features.automated.title
appointmentSolution.features.automated.desc
⏰
appointmentSolution.features.customTiming.title
appointmentSolution.features.customTiming.desc
✅
appointmentSolution.features.confirmation.title
appointmentSolution.features.confirmation.desc
🔄
appointmentSolution.features.rescheduling.title
appointmentSolution.features.rescheduling.desc
📍
appointmentSolution.features.locationSharing.title
appointmentSolution.features.locationSharing.desc
🌐
appointmentSolution.features.multilingual.title
appointmentSolution.features.multilingual.desc
appointmentSolution.how.label
appointmentSolution.how.title
1
appointmentSolution.how.step1.title
appointmentSolution.how.step1.desc
2
appointmentSolution.how.step2.title
appointmentSolution.how.step2.desc
3
appointmentSolution.how.step3.title
appointmentSolution.how.step3.desc
4
appointmentSolution.how.step4.title
appointmentSolution.how.step4.desc
appointmentSolution.code.label
appointmentSolution.code.title
appointmentSolution.code.desc
appointment-reminder.js
// Schedule automated appointment reminder
async function scheduleAppointmentReminder(appointment) {
// Calculate reminder time (24 hours before)
const reminderTime = new Date(appointment.dateTime);
reminderTime.setHours(reminderTime.getHours() - 24);
const message = `📅 Reminder: You have an appointment tomorrow!
📍 Location: ${appointment.clinic}
🕐 Time: ${appointment.time}
👨⚕️ Doctor: Dr. ${appointment.doctor}
Reply CONFIRM to confirm or RESCHEDULE to change.
– ${CLINIC_NAME}`;
// Schedule via Nabda OTP
const response = await fetch("https://api.nabdaotp.com/api/v1/messages/send", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${instanceToken}`
},
body: JSON.stringify({
phone: appointment.patientPhone, // e.g. "+9647701234567"
message: message
})
});
if (response.ok) {
await logReminder(appointment.id, "sent", reminderTime);
}
return response.ok;
}
// Trigger 24h before appointment
scheduleReminder(appointment, reminderTime);appointmentSolution.usecases.label
appointmentSolution.usecases.title
🏥appointmentSolution.usecases.item1
🦷appointmentSolution.usecases.item2
💇appointmentSolution.usecases.item3
💅appointmentSolution.usecases.item4
🧘appointmentSolution.usecases.item5
🚗appointmentSolution.usecases.item6
🏋️appointmentSolution.usecases.item7
🐾appointmentSolution.usecases.item8
appointmentSolution.cta.title
appointmentSolution.cta.desc