Skip to content
Step by step6 min read

How do I build an online booking and appointments system without coding?

A step-by-step guide to building an online booking system with time slots and WhatsApp confirmations using Uttra, from prompt to publish.

Salons, tutors, car-care shops and consultants still lose customers to the same thing: a phone that goes unanswered or a WhatsApp thread that ends in confusion about the time. A booking page lets people pick a slot at midnight and wakes you up to a full diary.

You do not need a developer for this. With Uttra you describe the system in chat, watch it appear in a live preview, and adjust it by chatting or by clicking elements. Here is the practical path.

Describe your services, working hours and slot length in one clear prompt, test a full booking in the preview, then publish. A simple booking page with WhatsApp confirmation covers most small businesses in the GCC.

Decide the rules before you write the prompt

Booking systems fail because the rules were vague, not because the code was hard. Write down the answers first so the prompt is precise.

  • Services and duration: for example haircut 30 minutes, beard 20 minutes.
  • Working days and hours, including the Friday schedule and shorter Ramadan hours if you use them.
  • Buffer between clients, and how far ahead people may book.
  • What you need from the customer: name, mobile number, service. Nothing more.

Write one complete prompt

Ask for the whole flow at once instead of page by page. A prompt you can paste and adapt:

  • "Build an Arabic and English booking website for a men's salon in Riyadh. Services: haircut 30 min 60 SAR, beard 20 min 40 SAR. Open 4pm to midnight, closed Friday morning. Customer picks service, date and a free 30-minute slot, enters name and mobile number, and sees a confirmation page with a button to message us on WhatsApp. Add an admin page, protected by a password, listing bookings by day. Right-to-left layout, mobile first."

Test it like a customer in the preview

Open the preview on your phone and book a real slot. Then try to break it. Everything below should hold before you publish:

  • A booked slot disappears for the next customer.
  • Past dates and closed hours cannot be chosen.
  • The Arabic page reads right to left and numbers look correct.
  • The confirmation shows the service, date, time and price.
  • The admin page lists the booking you just made.

Publish and tell your customers

Publish on an Uttra subdomain first, then connect your own domain when you are happy. Put the link in your Instagram bio, Google Business profile and WhatsApp status, and print it as a QR code at the counter.

If your team wants the source, you can sync the project to GitHub or download the code, so you are never locked in.

What to improve next

After a week of real bookings, ask in chat for the next step: reminder messages, a deposit for no-show-prone services, several staff calendars, or a cancellation link. Add one thing at a time and re-test the full booking after each change.

Common questions

You can ask for a payment step, but it needs a payment provider account such as one supporting mada or cards. Start with pay-at-the-shop and add a deposit only if no-shows hurt you.

State in the prompt that a booked slot must become unavailable immediately, then test it with two phones at the same time before publishing.

Yes. Ask for both languages and right-to-left layout for Arabic, and check each language separately in the preview.

Try it on your own project

Describe what you want in your own words and watch your site or system get built — then change it by chatting.

Start free