If you are searching for how to build a website that takes bookings, you already have a workshop space and a phone that never stops buzzing: requests on Instagram, voice notes on WhatsApp, a friend asking 'is there still a spot on Saturday?' at eleven at night. The website exists to take all of that off your phone and put it somewhere people can book on their own, pay, and get a confirmation. This guide explains how to actually build it, piece by piece, with honest time and costs. Only at the end is there the alternative, for those who have no wish to become a webmaster too.
Before you open the editor: what the site has to do
The first mistake is starting from the design. Take a sheet of paper and write down what happens when someone wants to come to your Saturday embroidery class: they need to understand what you do, how long it lasts, what it costs, whether there are seats left, and they need to be able to lock in their spot with a card. In under two minutes, from a phone, without messaging you. Whatever serves none of these steps, you do not build.
- One goal per page: the workshop page leads to the Book button, not to your biography.
- The information that removes questions: duration, level required, what people take home, minimum age, where to park.
- Proof that you are real: photos of you, of the workshop space, of the pieces made by people who attended. No stock imagery.
- A way to pay right away: a booking without a payment is an intention, not a booking.
The structure: four pages are enough
You do not need a twenty-page site. A ceramics studio with three kinds of class lives perfectly well like this, with any site builder (WordPress, Squarespace, Wix, Webflow) or even by hand.
- Home: who you are in two lines, the featured workshops with date and price, a Book button visible without scrolling.
- One page per workshop: title with craft and city, photos, what you do, duration, all-inclusive price, available dates, booking form or button.
- The studio: where you are, how to get there, who runs the class, a photo of the space.
- Booking and rules: how payment works, what happens if the customer cancels, what happens if you cancel, who to contact. Nobody reads it until they need it.
The calendar with seats: the piece that always breaks
This is where do-it-yourself falls over. A decorative calendar with dates typed in by hand is not enough: you need a calendar that knows how many seats are left for each date and closes on its own when they run out. Otherwise two people book the last seat on the same afternoon and you have to call one of them to say no.
- Fixed dates with seats: every event has a date, a time and a maximum number of participants. The system reduces the seats on every paid booking, not on every submitted form.
- Automatic sold out: when seats reach zero, the button disappears or turns into a waiting list. Do not let people fill in a form for nothing.
- Requests kept separate: if you also run private or group sessions, do not mix them with the public calendar; a separate request form is more honest.
WordPress plugins and site-builder forms do this job, with very different levels of quality: always test the full flow from a phone before publishing. An overview of the possible routes, from a shared spreadsheet to a management tool, is in 7 ways to manage bookings.
The booking form: ask for little
Every extra field is one booking fewer. For a group class, five things are enough.
- First and last name of the person booking.
- Email: that is where the confirmation and reminders go.
- Phone: for the same-day emergency, not for marketing.
- Number of seats, with the total updating in front of their eyes.
- A free note: allergies if there is food, children, a gift to keep secret.
Add the mandatory privacy checkbox, and stop there.
Online payments: Stripe, PayPal and the deposit question
To take card payments, the two simplest routes are these. Stripe offers Payment Links, which according to the official page are created without writing code and shared as a link, a button or a QR code. Fees are per transaction, with no fixed monthly charge, and sit on the Stripe pricing page: as we write, 1.5% + €0.25 for standard European Economic Area cards, more for premium and international cards. PayPal has a similar structure with different percentages: check the PayPal merchant fees page before choosing.
Then there is the choice that really matters: charge everything online, or only a deposit. The answer, almost always, is the deposit. A deposit of a few euros filters out people booking out of curiosity, does not scare off those who do not know you yet, and you collect the balance in person at the end of the class, when the relationship already exists. For a €60 workshop, ten euros online and fifty at the studio is a proportion that works.
Free Maker profile: calendar with seats, online deposit and balance on site, payout straight to your Stripe account.
See how bookings and deposits work on HandsomeConfirmations, reminders and cancellation policy
The payment closes the booking; the emails keep it standing. If the site does not send them on its own, you send them, one by one.
- Immediate confirmation with date, time, address, what to bring, how much was paid and how much is left to pay on site. Separate guide: the perfect confirmation email.
- Reminders a few days before and the day before. It is the single tool that cuts no-shows the most.
- A cancellation policy written before payment: by when people can cancel, what gets refunded, what happens if the customer does not show up. A clear rule is worth more than a generous one.
- The case where you cancel: illness, a broken kiln, too few sign-ups. Decide now whether you move the date or refund everything, and write it down.
Rules written in a hurry are the most frequent cause of arguments after the event: we talk about it, with four other stumbles, in 5 mistakes that lose you bookings.
Mobile first, then local SEO
Most people will arrive from Instagram, which means from a phone. Google itself, in its official documentation, explains that it uses the mobile version of your content for indexing and ranking. A site that looks good on a laptop and is awkward on a phone does not exist: there is only an awkward site.
- Test every page from a phone: is the Book button visible without scrolling? Can the form be filled in with a thumb? Is the calendar readable?
- Title and description with craft and city: 'Ceramics class in Bologna, Saturday afternoon' tells Google and people everything. 'My creations' tells nobody anything.
- Google Business Profile: open the listing for your studio with address, opening hours, photos and a link to the site. That is where searches like 'pottery class near me' come from.
- Real reviews: after every class, ask attendees for one line. No fake stars.
Realistic time and costs
Here we have to be honest: it is the point where tutorials lie the most.
- Domain and hosting: paid every year, and figures change from provider to provider, so we do not write them here: look at the price list of whoever you pick and count the renewal, not just the discounted first year.
- Site builder or booking plugin: almost every plan with calendar, seats and payment is a monthly subscription. The free plan usually leaves out precisely the part you need.
- Payment fees: per transaction, as per the Stripe or PayPal price list. Stripe states it charges no setup fees and no monthly fees; the percentage is on the pricing page linked above.
- Time for the first version: if you already have photos and copy, roughly a week of evenings. If you do not, the site waits for the photos, not the other way round.
- Recurring time: updating dates, moving people who switch sessions, checking that payments match bookings, fixing the plugin broken by the latest update. Hours, every month, forever.
The alternative: a booking page that is already built
If after this list you are thinking 'I just wanted people to book the ceramics class', there is a shorter road. On Handsome you open a free Maker profile and publish your workshops with calendar, seats and automatic sold out. The customer pays a deposit online and you collect the balance at the studio; the deposit lands directly in your Stripe account and Handsome keeps nothing from the payment: 0% commission, only Stripe's own fees remain, the same ones you would pay on your own site. Confirmation, reminders and cancellation rules are already written, in Italian and English. Extra tools live in the optional Maker Pro subscription, but you do not need it to take bookings.
It does not replace your personal website: that stays yours. It is the booking piece, to link from the site, from your Instagram bio or from the sign on the door. The comparison between the two approaches, costs and hours included, is in Website + Calendly or Handsome; the workshops already published by other Makers are in the catalogue.
Frequently asked questions
- Do I really need a website to take bookings for a workshop?
- You need a place where people see the dates, choose and pay on their own. It can be your own site with a calendar and payment, or a page on a platform that already does these things. What is not enough is an Instagram post saying 'DM me'.
- Is it better to charge everything online or only a deposit?
- For group classes a deposit works better: it filters out the undecided without asking full trust from people who do not know you, and the balance is collected at the studio. For private sessions or expensive materials you can raise the upfront share.
- How much are Stripe's fees?
- They are per transaction, with no fixed monthly charge, and depend on the card type. The current figures are on the official pricing page at stripe.com/it/pricing: check there, because they change.
- Can I use WhatsApp instead of a form?
- You can, but then you are the booking system: you reply, count seats, remember who has paid. It works while classes are few. The site or the platform are needed precisely when it stops working.
Calendar, online deposit, balance on site, automatic emails. 0% commission on your takings: only Stripe's fees remain.
Open your free Maker profile



