Automate appointment confirmations, reminders, and cancellation notices via email, SMS & WhatsApp. Perfect for calendars, salons, healthcare, tutoring, and any scheduling app.
20-30% of appointments are no-shows. That's lost revenue and wasted time slots.
Staff manually calling or texting customers. It's time-consuming and inconsistent.
People book weeks in advance and forget. They need timely reminders.
Calendar tools charge $50-100/month for SMS reminders. That adds up quickly.
Send the right message at the right time—automatically
Customer books → Instant confirmation via email & SMS with booking details, location, and calendar link.
Automated reminder sent 24 hours before appointment. Includes reschedule & cancel options.
// Send 24h reminder
await sendmator.send({
template: 'appointment-reminder-24h',
to: customer.phone,
channel: 'sms',
data: {
customerName: customer.name,
appointmentDate: booking.date,
appointmentTime: booking.time,
serviceName: booking.service,
cancelLink: booking.cancelUrl,
rescheduleLink: booking.rescheduleUrl
},
scheduled_at: booking.datetime - 86400 // 24h before
});
Final reminder with directions, parking info, and what to bring.
Customer cancels or reschedules → Instant notification to both customer and staff.
// Handle cancellation
await sendmator.send({
template: 'appointment-cancelled',
to: [customer.email, customer.phone],
channels: ['email', 'sms'],
data: {
customerName: customer.name,
appointmentDate: booking.date,
refundAmount: booking.deposit,
rebookLink: 'https://yourbooking.com/schedule'
}
});
Schedule notifications days in advance. Sendmator automatically sends at the right time, even if your server is down.
Send via Email (cheap), SMS (high open rate), or WhatsApp (98% read rate). Mix channels based on urgency.
Include reschedule, cancel, and add-to-calendar links. Customers can take action directly from the message.
See which customers received and opened reminders. Know who might still no-show.
Automatically converts appointment times to customer's timezone. No more confusion.
Send reminders in customer's preferred language. Support for 50+ languages.
Three simple steps to automated appointment notifications
When a booking is created in your system, send instant confirmation.
// Booking confirmation
const booking = await createBooking(customerId, serviceId, datetime);
await sendmator.send({
template: 'booking-confirmation',
to: customer.email,
channel: 'email',
data: {
customerName: customer.name,
serviceName: 'Haircut & Style',
appointmentDate: 'Tuesday, Dec 5, 2024',
appointmentTime: '2:00 PM',
location: '123 Main St, Downtown',
staffName: 'Sarah Johnson',
addToCalendarUrl: booking.calendarUrl,
cancelUrl: booking.cancelUrl
}
});
Set up automatic reminders at 24h and 1h before appointment.
// Schedule reminder chain
const appointmentTime = new Date(booking.datetime);
// 24-hour SMS reminder
await sendmator.send({
template: 'appointment-reminder-24h',
to: customer.phone,
channel: 'sms',
data: { ...booking },
scheduled_at: appointmentTime - 86400000 // 24h before
});
// 1-hour WhatsApp reminder (higher open rate)
await sendmator.send({
template: 'appointment-reminder-1h',
to: customer.whatsapp,
channel: 'whatsapp',
data: { ...booking },
scheduled_at: appointmentTime - 3600000 // 1h before
});
Customer cancels or reschedules → Instant updates and notifications.
// Handle rescheduling
async function handleReschedule(bookingId, newDatetime) {
const booking = await updateBooking(bookingId, newDatetime);
// Cancel old scheduled reminders
await sendmator.cancelScheduled(booking.reminderIds);
// Send reschedule confirmation
await sendmator.send({
template: 'appointment-rescheduled',
to: [customer.email, customer.phone],
channels: ['email', 'sms'],
data: {
oldDate: booking.oldDatetime,
newDate: newDatetime,
...booking
}
});
// Schedule new reminders
await scheduleReminders(booking);
}
Haircuts, massages, nail appointments
Doctor visits, dental, therapy sessions
Private lessons, coaching, workshops
Personal training, yoga, group classes
Auto repair, home services, consulting
Table reservations, private events
// Your booking API endpoint
app.post('/api/bookings', async (req, res) => {
const { customerId, serviceId, datetime } = req.body;
// Create booking in your database
const booking = await db.bookings.create({
customerId,
serviceId,
datetime,
status: 'confirmed'
});
const customer = await db.customers.findById(customerId);
const service = await db.services.findById(serviceId);
// 1. Send instant email confirmation
const emailConfirmation = await sendmator.send({
template: 'booking-confirmation-email',
to: customer.email,
channel: 'email',
data: {
customerName: customer.name,
serviceName: service.name,
appointmentDate: formatDate(datetime),
appointmentTime: formatTime(datetime),
location: service.location,
staffName: service.staffName,
price: service.price,
addToCalendar: generateCalendarUrl(booking),
cancelUrl: `https://yourbooking.com/cancel/${booking.id}`
}
});
// 2. Schedule SMS reminder for 24 hours before
const reminder24h = await sendmator.send({
template: 'appointment-reminder-sms',
to: customer.phone,
channel: 'sms',
data: {
customerName: customer.name,
serviceName: service.name,
appointmentTime: formatTime(datetime),
cancelUrl: `https://yourbooking.com/cancel/${booking.id}`
},
scheduled_at: new Date(datetime.getTime() - 24 * 60 * 60 * 1000)
});
// 3. Schedule WhatsApp reminder for 1 hour before
const reminder1h = await sendmator.send({
template: 'appointment-reminder-urgent',
to: customer.whatsapp || customer.phone,
channel: 'whatsapp',
data: {
serviceName: service.name,
appointmentTime: formatTime(datetime),
location: service.location,
parkingInfo: service.parkingInfo
},
scheduled_at: new Date(datetime.getTime() - 1 * 60 * 60 * 1000)
});
// Save message IDs to cancel if booking changes
await db.bookings.update(booking.id, {
messageIds: [emailConfirmation.id, reminder24h.id, reminder1h.id]
});
res.json({ success: true, booking });
});
Pay only for messages sent. No monthly fees.
Studies show SMS reminders reduce no-shows by 40%. That's more revenue without booking more appointments.
Stop manually calling customers. Sendmator handles all reminders automatically, freeing your staff for customer service.
Customers receive timely reminders with all details. They can reschedule or cancel with one click—no phone calls needed.
Add 10 lines of code to your booking flow. Works with any calendar system: Calendly, Acuity, custom solutions.
Start automating appointment notifications in minutes. No credit card required.