Booking websites in Al Ain: timezone, plugins, reminders and monitoring
Build a dependable Al Ain booking site: Asia/Dubai timezone, booking plugin setup, SMTP confirmations, cron-based reminders, mobile speed and monitoring.
The short answer
A reliable Al Ain booking website needs WordPress and the booking plugin set to the Dubai timezone (Asia/Dubai, UTC+4, no daylight saving), appointment types with realistic buffers and notice, confirmations sent through authenticated SMTP, reminders triggered by a server cron job instead of visitor-driven WP-Cron, a light mobile booking page with a phone and WhatsApp fallback, and a keyword monitor that alerts you when the booking page breaks.

Reading options
On this page
- What a booking website actually does
- Before you start
- Step 1: Choose your booking approach
- Step 2: Set the correct timezone
- Step 3: Set up a booking plugin
- Step 4: Make confirmation emails reliable
- Step 5: Make reminders run on time
- Step 6: Make the booking page fast on a phone
- Step 7: Monitor the booking page
- When bookings fail: your playbook
- How to check everything works
- Troubleshooting
- The one message worth forwarding
- Reader questions
- Sources & further reading
A dependable booking website for an Al Ain clinic, tutor, tour operator or service business needs five things working together: the right timezone (Asia/Dubai, UTC+4, with no daylight saving), a booking plugin or service configured with realistic availability, confirmation emails sent through authenticated SMTP, reminders that run on a real schedule instead of waiting for visitors, and monitoring that tells you the moment the booking page stops working. You can set all of it up on ordinary shared hosting in an afternoon.
Here is a made-up mistake that is surprisingly common. A physiotherapy clinic in Al Ain launches online booking. A patient books 10:00 on Saturday and arrives on time, but the clinic's schedule shows her appointment at a different hour. WordPress had been left on its default UTC setting, so the times on the booking page and in the clinic's calendar were four hours apart. Nothing was "broken"; one setting was simply never changed.
By the end of this guide you will have a booking setup with the correct clock, sensible availability rules, confirmations that arrive, reminders that fire on time, a fast mobile booking page, and a plan for the day something fails.
What a booking website actually does
Think of your booking page as a receptionist who never sleeps. A good receptionist knows the correct time, keeps one accurate diary, confirms every appointment, reminds people the day before, and answers the phone even at midnight. Your website needs to do the same: know the time, store bookings reliably, send emails, run reminders on schedule, and stay online.
Most problems with booking sites come from one of those five jobs being half done.
Before you start
- WordPress administrator access and your hosting control panel login.
- Your real availability: opening hours, appointment lengths, breaks between appointments, and how much notice you need.
- A mailbox on your domain for sending confirmations, such as
bookings@example.com. - A recent backup of the site.
- About two to three hours, including a few test bookings.
Step 1: Choose your booking approach
There are three common ways to take bookings, and each suits different businesses:
- A booking plugin on your WordPress site: everything stays on your hosting and your domain, and the design matches your site. You are responsible for email delivery, updates and backups.
- A hosted booking service linked or embedded from your site: the provider runs the calendar and reminders; you pay a subscription and your booking data lives on their systems.
- WhatsApp or phone booking only: the simplest option for very small businesses, with a clear button on every page. It depends on someone answering.
Many small businesses combine a booking plugin with a visible phone and WhatsApp button as a fallback. This guide uses a WordPress plugin, because that is where the hosting setup matters most.
Heads up for clinics: appointment details can reveal health information. The UAE government portal lists Federal Law No. 2 of 2019 on ICT in health fields among the data rules, so collect only what you need and see our Abu Dhabi security and compliance guide for safeguards. This is general information, not legal advice.
Step 2: Set the correct timezone
Know your timezone
The UAE runs four hours ahead of UTC (Coordinated Universal Time). In the IANA time zone database, which computers around the world use, the zone for the UAE is Asia/Dubai. Its entry shows a fixed offset of four hours with no daylight saving rules, so your clocks never jump forward or back.
Set it in WordPress
Go to Settings > General and find Timezone. WordPress's documentation advises choosing a city in your timezone rather than a plain offset, so choose Dubai from the Asia section. Click Save Changes; WordPress then shows the UTC time and the local time so you can confirm it is right.
On the same screen, set Date Format and Time Format to what your customers expect, and set Week Starts On to match your working week. That last setting controls which day appears in the first column of WordPress calendars.
Check it from the command line
If you have WP-CLI access, this shows the timezone WordPress has stored:
wp option get timezone_stringIt should print Asia/Dubai. To see the current UAE time on any Linux or macOS machine for comparison, run:
TZ=Asia/Dubai dateWordPress scheduled posts use the site timezone, while booking plugins and external reminder services may have their own settings and scheduling systems. Check each relevant setting and make a test booking to verify the appointment time, confirmation and reminder.
Step 3: Set up a booking plugin
The example uses Simply Schedule Appointments, a booking plugin with a free edition. At the time of writing (3 October 2026), its WordPress.org page lists more than 50,000 active installations and testing up to WordPress 7.1.2. Its free edition includes unlimited booking calendars, customisable email notifications, blackout dates and timezone detection for customers, which helps when tourists book from abroad. Google Calendar sync, SMS reminders through Twilio and online payments are in its paid editions.
Run the setup wizard
Install and activate the plugin from Plugins > Add New Plugin. Its setup wizard asks for general settings, including Timezone, date and time format, the first day of the week, your business name and the admin email address. Choose Dubai again, so the plugin and WordPress agree.
Create your first appointment type
An appointment type is one bookable service, such as "Initial consultation, 45 minutes". Go to Appointments > Appointment Types and click Add New. The plugin's documentation describes these key settings:
- Duration: how long the appointment takes.
- Availability window: the date range when slots appear.
- Appointment buffers: time before an appointment to prepare, and after it to wrap up.
- Notice required: how much warning you need, which blocks last-minute bookings.
- Advance: how far into the future customers can book.
- Booking window: when customers can access the calendar at all.
- Customer information fields: name, email and phone, each set to display or required.
A sensible starting point for a small clinic or tutor might be 15-minute buffers, a few hours' notice and a booking horizon of four to eight weeks. Adjust to how you actually work.
Put the booking form on a page
Create a page called "Book an appointment". Add the Appointment Booking Form block, or use the shortcode below in a Shortcode block:
[ssa_booking]Publish the page and add it to your main menu and homepage, so visitors find it in one tap.
Step 4: Make confirmation emails reliable
A booking without a confirmation email feels like a booking that did not happen. WordPress sends email through the server's PHP mail function by default, which many inboxes treat with suspicion.
- Send through SMTP from a mailbox on your domain, such as
bookings@example.com, using a plugin like WP Mail SMTP. Our Sharjah lead-generation guide walks through the settings step by step. - Publish SPF, DKIM and DMARC for your domain with our email authentication guide.
- Check the plugin's notification settings, so both the customer and your team get an email for every new booking, change and cancellation.
Then make a test booking with a Gmail address and an Outlook address, and check both inboxes, including spam.
Step 5: Make reminders run on time
WordPress has a built-in scheduler called WP-Cron. It does not run continuously; it runs when someone visits your site. WordPress's developer documentation warns that this can be a problem for critical tasks that must run on time, such as appointment reminders at 07:00 when nobody has visited since midnight.
The fix is to let your server's own scheduler trigger WP-Cron at regular intervals.
Add a server cron job
In cPanel, open Cron Jobs. cPanel's documentation says to choose the interval from the menus, enter the command in the Command box, and click Add New Cron Job. Set it to run every 5 or 15 minutes, and use a command like this, replacing example.com with your domain:
wget -q --delete-after https://example.com/wp-cron.php >/dev/null 2>&1WordPress's documentation explains that --delete-after stops wget from saving a copy of the page each time. The >/dev/null 2>&1 part stops cPanel emailing you every time the job runs.
Then turn off the visitor-triggered scheduler
Only after the cron job is in place, add this line to wp-config.php, as WordPress's documentation shows:
define( 'DISABLE_WP_CRON', true );WordPress now runs its scheduled tasks every time your cron job fires, whether or not anyone visits.
SMS and WhatsApp reminders
Email reminders are included in many plugins. Text message reminders usually need a paid plugin edition and an SMS provider; Simply Schedule Appointments, for example, offers SMS reminders through Twilio in its paid editions. For WhatsApp, the simplest reliable option is a click-to-chat button so customers can message you to confirm or rebook; our Dubai launch guide shows the official wa.me link format.
Step 6: Make the booking page fast on a phone
Many customers will book from a phone, often on mobile data. Keep the page light:
- Put the booking form near the top, with one short paragraph above it, not a slider.
- Compress and resize images before uploading them.
- Add a tappable phone link and a WhatsApp button next to the form as a fallback.
- Test with caching on. Booking forms show live availability; if the slots look out of date after a booking, exclude the booking page from page caching in your caching plugin.
Measure the page in PageSpeed Insights on mobile. Google's web.dev guidance describes a good experience as Largest Contentful Paint within 2.5 seconds, Interaction to Next Paint of 200 milliseconds or less, and Cumulative Layout Shift of 0.1 or less.
Step 7: Monitor the booking page
Do not wait for a customer to tell you bookings are broken.
- Uptime monitoring: UptimeRobot's free plan includes 50 monitors, a 5-minute check interval, email alerts and keyword monitoring. Its pricing page describes the free plan as good for hobby and non-profit projects, so consider a paid tier or another service for a business. A keyword monitor on your booking page can alert you if a phrase such as "Book an appointment" disappears, which catches broken pages as well as outages.
- A weekly test booking: book a slot yourself every Monday morning, check that the confirmation arrives, then cancel it.
- A quick look at new bookings every morning, in the plugin's appointments list.
When bookings fail: your playbook
Keep this list somewhere the whole team can find it.
- Switch to the fallback. Put a short notice at the top of the booking page with your phone number and WhatsApp link, so customers can still reach you.
- Check whether the site is up. Open it on mobile data. If it is down, check your host's status page and open a support ticket.
- If the page loads but bookings fail, make a test booking and note the exact error. Check recent plugin updates, and roll back the last one from your backup if the problem started after it.
- If bookings work but emails do not arrive, run the email test in your SMTP plugin and check the SMTP password has not changed.
- If times are wrong, check Settings > General > Timezone and the plugin's own timezone setting.
- If reminders are late or missing, check the cron job in cPanel and whether
DISABLE_WP_CRONwas added before the cron job existed. - Contact affected customers once it is fixed, using the details in the plugin's appointments list.
How to check everything works
- Timezone:
wp option get timezone_stringprintsAsia/Dubai, and Settings > General shows the correct local time. - Booking: a test booking from your phone on mobile data appears in the plugin's appointments list at the right time.
- Emails: the customer and admin confirmations arrive in the inbox, not spam.
- Reminders: book a test appointment for later the same day and check the reminder arrives when expected.
- Cron: temporarily remove the
>/dev/null 2>&1part, wait for one run, confirm cPanel's cron email arrives, then put it back. - Monitoring: pause and resume your uptime monitor, or change the keyword, to confirm alerts reach you.
Troubleshooting
Booking times are four hours off
WordPress or the plugin is still on UTC. Set the timezone to Dubai in Settings > General and in the plugin settings, then check existing bookings, which may need correcting by hand.
The calendar shows no available slots
The appointment type's rules are probably too strict. Check the availability window, notice required, advance and booking window settings, and confirm the weekly availability includes the days you work.
Customers do not receive confirmation emails
Email is going out through PHP mail, or the SMTP settings are wrong. Run the test in your SMTP plugin, check the From address is on your domain, and check SPF, DKIM and DMARC.
Reminders arrive hours late, or not at all
WP-Cron only runs when someone visits. Add the server cron job from Step 5. If you already disabled WP-Cron, make sure the cron job exists and the command uses your correct domain.
Your inbox fills with cron emails
The cron command is missing >/dev/null 2>&1 at the end, or a Cron Email address is set. Add the redirect to the command or remove the address in the Cron Email section.
Two customers booked the same slot
Check that buffers are set and that only one appointment type covers the same staff member and time. If you also take bookings in another calendar, consider a paid edition with calendar sync so busy times block the website slots.
The one message worth forwarding
Send this to whoever manages your website:
"Please set WordPress and our booking plugin to the Dubai timezone, send booking emails through SMTP from bookings@ our domain with SPF, DKIM and DMARC published, replace WP-Cron with a server cron job every 15 minutes, add a phone and WhatsApp fallback beside the booking form, and set up a keyword monitor on the booking page that alerts us by email."
The takeaway: an Al Ain booking site earns trust when its clock is right, its diary is accurate, its emails arrive, its reminders run on schedule, and someone hears about a problem before a customer does.
Reader questions
What timezone should a UAE WordPress site use?
Asia/Dubai, which is four hours ahead of UTC with no daylight saving. In Settings > General, choose Dubai from the Asia section rather than a plain UTC offset, as WordPress's documentation recommends choosing a city.
Does the UAE observe daylight saving time?
No. The IANA time zone database lists Asia/Dubai with a fixed offset of four hours ahead of UTC and no daylight saving rules.
Why are my WordPress booking reminders late?
WP-Cron only runs when someone visits the site. Add a server cron job that calls wp-cron.php every 5 or 15 minutes, then add define( 'DISABLE_WP_CRON', true ); to wp-config.php.
Is there a free WordPress booking plugin?
Several have free editions. Simply Schedule Appointments, for example, offers a free edition with unlimited booking calendars, email notifications and customer timezone detection, while calendar sync, SMS reminders and payments are in paid editions.
How do I add a booking form to a WordPress page?
With Simply Schedule Appointments, add the Appointment Booking Form block to a page, or place the [ssa_booking] shortcode in a Shortcode block, then publish and link the page from your menu.
How do I know if my booking page stops working?
Set up a keyword monitor that checks the booking page for a phrase such as Book an appointment and emails you if it disappears, and make a test booking yourself every week.
Was this guide helpful?
Help us make the next update better.
Sources & further reading
- IANA time zone database (tz): asia file
- WordPress.org: Settings General Screen
- WordPress Developer Resources: Hooking WP-Cron into the system task scheduler
- cPanel documentation: Cron Jobs
- WordPress.org: Simply Schedule Appointments plugin
- Simply Schedule Appointments: Appointment type settings
- UptimeRobot: Pricing
- web.dev: Web Vitals
- UAE government portal (u.ae): Data protection laws
Originally published . About our editorial updates.

