Do you need a booking system or a booking request form?
If customers must pick a real, available time slot and get an instant confirmation, you need a booking system: software that knows your staff, rooms and hours, blocks taken slots and sends reminders. If you confirm every appointment by hand anyway, a well-designed booking request form is cheaper, simpler and often converts just as well.
A good rule: count how many bookings you take in a busy week and how much staff time goes into back-and-forth messages. A small tutor or a boutique clinic with a dozen appointments a week can live with a request form and a quick reply on WhatsApp. A salon with six stylists, or a tour operator selling seats on daily departures, will lose customers to double bookings and slow replies without live availability. Booking is one feature among many, so if you are planning the whole site, our guide on how to make a website for your business shows where it fits in the project.
Three ways to add booking to a website
A hosted booking service, embedded
You sign up with an online scheduling service, set up staff and services in its dashboard, and embed its booking widget or link on your site. It runs on the provider's servers, handles reminders and often payments, and charges a monthly subscription that usually rises with the number of staff or bookings. Your data lives on its platform.
A WordPress booking plugin
The booking engine runs inside your own WordPress site, styled to match your theme, with bookings stored in your database. Plugins are commonly sold as a one-time licence or a yearly licence for updates and support. You get more control over design and data, and more responsibility for updates.
A booking request form
A form asks for the service, a preferred date and time, and contact details. Staff confirm by phone, email or message. It is the cheapest and fastest to launch, and it fits businesses that must check each request before accepting it.
| Hosted service | WordPress plugin | Request form | |
|---|---|---|---|
| Live availability | Yes | Yes | No, staff confirm |
| Typical cost model | Monthly subscription | One-time or yearly licence | Part of the site build |
| Where data is stored | Provider's platform | Your website database | Your website and inbox |
| Look and feel | Provider's widget, limited styling | Matches your theme | Matches your theme |
| Deposits online | Often built in | Often through an add-on | Not usually |
| Best for | Busy multi-staff businesses wanting quick set-up | Businesses wanting control and one system | Low volume or hand-checked bookings |
Which booking features should you look for?
Whichever route you choose, test these features with your own services and staff before you sign up or buy. A free trial or a demo site is enough to find the gaps. Pay special attention to the Thai-language side: many booking tools translate their customer screens but leave confirmation emails, date formats or error messages in English.
- Real availabilityOpening hours, days off, public holidays and staff leave, all blocking slots automatically.
- Staff, rooms and equipmentBookings tied to a named therapist, a treatment room or a tour vehicle.
- BuffersCleaning or travel time between appointments so the diary stays realistic.
- Deposits and paymentsOnline deposits by card or PromptPay where the tool supports it.
- RemindersAutomatic email or message reminders before the appointment.
- Cancellation rulesClear cut-off times and self-service rescheduling.
- Calendar syncTwo-way sync with Google Calendar or Outlook so staff see one diary.
- Thai and EnglishCustomer screens, emails and dates in both languages.
What clinics, salons and tour operators each need
Each business books a different thing. Clinics book by treatment and practitioner and must handle health data with care, salons and spas book by stylist or therapist and service length, and tour operators sell seats on fixed departures, often to customers abroad who pay a deposit to hold their place.
Clinics
Dental, aesthetic and physiotherapy clinics need booking by treatment and by practitioner, with longer slots for first visits. The biggest difference is data. A booking form that asks about symptoms, medications or previous treatments collects health information, which is treated as sensitive under Thai law. Ask only what you need to schedule the visit and collect medical history at the clinic, or through a properly secured intake process. Our page on clinic and medical website design covers the rest of a clinic site.
Salons and spas
Customers often want a particular stylist or therapist, so staff choice and each person's own schedule matter most. Packages, such as a massage plus a facial, need the system to book two services back to back, sometimes with two staff members. Buffers for cleaning and product preparation keep the day from running late.
Tour operators
Tours are sold by departure and capacity, not by staff time. You need seat limits per departure, options such as private or join-in groups, and pickup points or hotel names. Many customers book from abroad, so the system should show times in Bangkok time, accept international cards, and send a clear confirmation with meeting details in English. Deposits matter here, because no-shows on a full minibus cost real money.
Deposits, reminders and no-shows
No-shows are the hidden cost of online booking. Two tools reduce them: a deposit and a reminder.
Taking deposits
Many hosted booking services and some WordPress plugins can take a deposit at the time of booking through a connected payment gateway. Card payments are the most widely supported. PromptPay QR support depends on whether the tool connects to a Thai payment gateway that offers it, so check the vendor's current documentation rather than assuming. Decide your refund rules before launch and show them next to the Pay button.
Reminders
Email reminders are standard in almost every booking tool. SMS or messaging app reminders are offered by some tools as a paid feature. Use them as the tool provides them; a reminder 24 hours ahead with a simple reschedule link usually does more than a stern cancellation policy.
Connecting the rest
Payments and calendars are the connections most booking setups need. If you also want bookings to flow into a CRM, our guide to API integrations for business websites explains how those links work. Deposits create financial records too, so read our article on connecting your website to accounting software before choosing a payment setup.
Booking data and PDPA
Thailand's Personal Data Protection Act B.E. 2562 (2019) applies to every booking form, because names, phone numbers and emails are personal data. A few practical points:
- Tell people why you collect each field. Link a privacy notice next to the form, in Thai and English, explaining what you keep, for how long and who sees it, including the booking provider if you use a hosted service.
- Keep marketing separate. A booking does not give you permission to send promotions. Use a separate, unticked opt-in box.
- Treat health information as sensitive. Section 26 of the PDPA lists health data among sensitive categories, which generally require explicit consent to collect. For clinics, keep the online form to scheduling details, and ask for explicit consent if you must collect anything about a patient's condition.
- Check where the tool stores data. Hosted services may store bookings outside Thailand, which brings the Act's rules on cross-border transfers into play. Ask the vendor and record the answer.
This is general guidance, not legal advice. Clinics in particular should have their consent wording checked by a lawyer familiar with the PDPA.
How much does online booking cost to set up?
The running costs differ by route. A hosted service is a subscription for as long as you use it, so multiply the monthly fee by three years when comparing. A WordPress plugin is usually a licence, one-time or renewed yearly for updates, plus the time to configure it. A request form costs nothing extra once the site is built.
Booking and enquiry flows inside a website are part of our website development work and are included in the Business package, which starts from THB 30,000 as an indicative one-time price for up to 15 pages in English and Thai, forms, blog, keyword mapping and schema markup. A typical project takes around 15 days. We build booking into the website; we do not build standalone booking apps or custom scheduling software. Our WordPress site pricing page shows what each package includes, and the final figure is set in your written quote.
Two more reads help before you brief anyone. The step-by-step guide on building a WordPress website from scratch shows where a booking plugin is installed and tested. And if you are curious whether chat-style assistants could take booking requests, our article on AI in website development looks at what those tools can and cannot do today.
UX tips that lift completed bookings
- Keep it to three steps: service, time, contact details.
- Design for a phone first; many customers book on a phone.
- Show the price or deposit before the last step, not after.
- End on a confirmation page with date, time, address and a map link, plus an add-to-calendar button.

