Knowing how to make a booking website mostly means knowing your own rules. List your services with their length, set your working hours and the gap between appointments, decide what a client must tell you, then either plug in a ready-made scheduler or build your own booking app that saves each request and hides taken slots. A scheduler like Calendly is quickest when your rules are standard. Building your own makes sense when they are not, for example a dog groomer whose appointment length depends on the dog, and the prompt for exactly that is on this page.
What a booking site needs
- Services: name, duration, price. Duration is what drives the calendar.
- Availability: working hours, breaks, buffers between appointments and days off. Most double bookings come from getting this wrong.
- Slot locking: once a slot is booked, nobody else can take it, even if two people try at the same moment.
- The client form: only ask for what you need. Name, phone or email, and one or two fields specific to your business.
- Confirmations: the client sees a clear confirmation on screen, and ideally gets an email or text.
- Your view: a list or calendar of bookings with a way to confirm, move or cancel each one.
Off-the-shelf tools vs your own site
Schedulers such as Calendly are built for exactly this. Calendly's pricing page lists a no-cost plan with one event type and one calendar connection, and a Standard plan at $10 per seat a month billed yearly (checked 25 October 2026 on calendly.com/pricing). Industry tools exist too, for salons, clinics and restaurants, often with payments and reminders built in.
Pick an off-the-shelf scheduler if your rules are standard, you want reminders and calendar sync today, and you do not mind the booking page looking like theirs. Build your own if your rules do not fit their settings (a groomer whose appointment length depends on the dog's size, a studio that books rooms and staff together), if you want booking to sit inside your own site with your design, or if you want the data and the code to be yours.
Build one with AI
In VibeDream, tap New Project, choose Direct Prompt and paste the example prompt above, edited for your business. You can also paste it into the Blank Starter template, which has the frontend and backend already connected. The live preview appears in seconds and fills in as the app is built. Then test it like a client would, and like a second client trying to grab the same slot.
- Book a full groom at 9am Tuesday. Check that 9am to 10:45am is now unavailable, including the 15-minute gap.
- Open the preview in a second tab and try to book 10am Tuesday. It should be refused.
- Try booking a Sunday. It should not be offered.
- Open your private bookings page, confirm the booking and reload. The status should stick.
- Switch the preview to phone view and complete a booking with one thumb.
Fix anything that fails with one short, specific message, such as: the 15-minute gap is not being applied after a full groom, so 10:30 is still offered. Your app is built with a React frontend and a FastAPI backend, and you can read every file in the Code tab.
Rules to decide before you build
Most booking apps that go wrong do so because a rule was never written down, so the AI had to guess. Spend ten minutes answering these questions before you write the prompt. Every answer becomes one sentence in it.
- How far ahead can people book? Two weeks, three months, any time?
- How close to the start can they book? Many businesses stop same-day bookings after a cut-off, such as two hours before.
- Is there a gap between appointments for cleaning, travel or notes, and does it differ by service?
- Can one person do two things at once, such as a colour processing while you cut someone else? If yes, describe it; if not, say one appointment at a time.
- Do you have several staff or rooms, each with their own hours?
- What happens on public holidays and when you are away? Ask for a private page to block dates.
- What counts as a no-show, and what is your cancellation window?
Write these into the prompt in plain sentences, for example: bookings open up to 8 weeks ahead and close 2 hours before the start; add a 15-minute gap after every appointment; I can block whole days from the admin page. Then test each rule on purpose, the same way you would test the slot locking.
Reminders and no-shows
Reminders are the cheapest fix for missed appointments. The simplest version is a reminder you send yourself from the bookings list the day before. Ask for a Copy reminder button on each booking that copies a ready-made text with the date, time and address, which you paste into a message.
If you want reminders to go out automatically, connect an email or text message service with an API key in project settings, then ask the AI to send one 24 hours before each confirmed booking and to include a link to cancel. Test it on your own phone number first. Whatever you set up, show your cancellation policy next to the Book button and again on the confirmation screen, so nobody can say they did not see it.
Saving bookings and sending confirmations
The bookings are saved by your app's backend, so check they survive a reload before you trust them. If you need separate staff logins, ask for them and the AI adds them to your app's code. You can also tap Add login or Add database under the chat. For email or text confirmations you will need an account with a sending service. Add its key in project settings rather than in the chat, as described in the API keys guide, then ask the AI to send a confirmation when a booking is made.
Be careful with promises on the confirmation screen. If you have not set up emails yet, the screen should say we will text you to confirm, not you will receive an email.
Taking deposits
Many businesses want a deposit to cut no-shows. One-tap payments are coming soon. For real deposits now, connect your own Stripe account, or plan your first version around booking requests: take the booking, then collect the deposit the way you do today, by payment link or at the desk. A clear cancellation policy on the booking page goes a long way on its own.
Booking for teams and rooms
If several people take bookings, describe each one: their name, services, working days and hours. Ask for clients to choose a person or no preference, and for no preference to pick whoever is free first. For rooms or equipment, such as a studio or a sauna, treat each one like a person with its own calendar. Test with two staff and overlapping requests before you go live.
Costs
VibeDream plans are All Access Mini at $49 a month with 60 credits, or All Access at $97 a month with 150 credits. Building and editing use credits, and each time you put the app online or update it costs 5 credits. Hosting and a vibedreams.ai address are included. Connecting your own domain is a TXT and a CNAME record at your registrar, covered in the deployment guide. For a site that is mostly information with a booking page attached, see the salon website builder guide or the restaurant website builder guide.