E-commerce

Booking systems with deposits: how UK businesses stop no-shows with Stripe

Deposits and saved cards are the most effective way to cut no-shows. How they work with Stripe, what UK consumer law expects, the fees, and what a booking system costs to buy or build.

By the WE-DEV teamUpdated 8 min read
An empty black styling chair in a bright, quiet hair salon

The most reliable way to cut no-shows is to make the booking cost something: take a deposit at the moment of booking, or save the customer’s card with their consent and charge a fee only if they break your cancellation policy. Stripe handles both, plus full prepayment and temporary card holds, from a single account, at around 1.5 % + 20p per standard UK card payment at the time of writing. What makes it work is the part people skip: short, fair terms shown before payment, automatic reminders, and a booking system that applies the rules without you chasing anyone.

This guide covers the four deposit models, the Stripe mechanics behind them, what UK consumer law expects, the maths of whether it is worth it, and what a booking system costs to buy or build.

What a no-show really costs

An empty slot is income you cannot sell twice. The staff are paid, the room is heated, the materials may already be prepared, and the slot was probably turned down for someone else. Here is an illustrative example. A three-chair salon in Leeds with an average appointment value of £55 and five no-shows or last-minute cancellations a week loses about £275 a week, or roughly £14,000 a year. Halve that with a deposit policy and you have paid for a custom booking system several times over in the first year.

Reminders by email and text help, and every booking system should send them 24 to 48 hours before the appointment. But reminders only work on people who intend to come. A deposit changes the commitment: customers with money on the line either turn up or cancel early enough for you to rebook the slot.

Four ways to protect your bookings

ModelHow it worksBest forCustomer friction
Full prepaymentCustomer pays the full price when bookingClasses, workshops, events, fixed-price servicesHighest
DepositA fixed sum or percentage at booking; balance on the dayTattoo studios, beauty, photography, consultationsMedium
Card on file + no-show feeCard saved with consent; charged only if the policy is brokenRestaurants, clinics, higher-value appointmentsLow
Card hold (pre-authorisation)Amount reserved on the card, then captured or releasedBookings made a few days ahead, equipment hireLow to medium

Full prepayment

Strongest protection and the simplest accounting. It suits anything with a fixed price and limited places, such as a pottery class in Bristol or a half-day training course in Manchester. For higher-value services it can put people off, so test it rather than assume.

Deposits

The customer pays part of the price up front, for example 20 % or a flat £20 to £50, and the balance on the day. The deposit is deducted from the final bill and, under your terms, kept if the customer cancels late or does not arrive. For long sessions where you prepare work in advance (a tattoo design, a bridal trial, a bespoke consultation), a deposit is close to standard practice.

Card on file with a no-show fee

Nothing is charged at booking, so conversion barely drops. The customer authenticates their card once and agrees that you can charge a stated fee if they miss the appointment or cancel inside the window. It works well where prepayment would feel odd, such as restaurants and physiotherapy.

Card holds

A pre-authorisation reserves money on the card without taking it. On Stripe, a standard online card authorisation generally has to be captured within about seven days or it lapses, so holds only suit bookings made a few days ahead. For anything booked further in advance, save the card and charge later instead.

How it works with Stripe

Stripe is our default for bookings because it covers all four models with one integration and one dashboard. In practice:

  • Deposits and prepayments are ordinary online payments. Strong Customer Authentication (3D Secure) is triggered automatically where UK rules require it, usually a quick approval in the customer’s banking app.
  • Saved cards use a set-up step: the customer authenticates once and agrees to future charges under your policy. If they no-show, the system charges the fee as a merchant-initiated payment without them present. Most go straight through; occasionally the bank asks for authentication again, and the system should then email a payment link rather than fail silently.
  • Refunds, full or partial, can be issued from the booking system or the Stripe dashboard. Stripe does not return its original processing fee on refunds, so build that into your policy.
  • Webhooks keep the calendar and payments in step: a failed payment releases the slot, a refund cancels the booking, a dispute flags it for you.
  • Card data never touches your server when you use Stripe’s hosted or embedded payment fields, which keeps your PCI compliance burden to the simplest self-assessment level.

What the fees look like

At the time of writing, Stripe’s UK pricing for standard UK consumer cards is 1.5 % + 20p, with higher rates for premium, business and non-UK cards. Check Stripe’s UK pricing page before you budget. On typical booking amounts:

PaymentApprox. Stripe fee (standard UK card)You receive
£20 deposit£0.50£19.50
£50 deposit£0.95£49.05
£150 prepaid session£2.45£147.55
£25 no-show fee£0.58£24.42

If you are still choosing a payment provider, our comparison of Stripe vs PayPal vs GoCardless sets out where each one fits.

Deposits and no-show fees are common and generally lawful in the UK, but they have to be fair and transparent. This is general information rather than legal advice; for anything unusual, speak to a solicitor or your trade body.

  • Show the terms before payment. State the deposit, the cancellation window, what happens to the deposit and any no-show fee in plain English beside the pay button, with a tick box to agree. Store the time and wording the customer agreed to.
  • Keep charges proportionate. Under the Consumer Rights Act 2015, terms in consumer contracts must be fair. A deposit or cancellation charge should reflect the loss you genuinely suffer, not work as a penalty. Keeping 100 % of a £400 session for a cancellation made three weeks ahead is hard to defend.
  • Check cancellation rights. The Consumer Contracts Regulations 2013 give consumers a 14-day right to cancel many services booked online. There are exceptions, including some leisure services provided on a specific date, and services the customer asks you to start within the 14 days. Whether an exception covers your business depends on what you sell, so take advice.
  • Include unavoidable fees in the price. Since April 2025 the Digital Markets, Competition and Consumers Act 2024 has banned “drip pricing”, so a mandatory booking fee should be in the headline price rather than added at checkout.
  • Be consistent. Apply the policy the same way to everyone. Waiving it for regulars is your choice; enforcing it selectively invites disputes.

Chargebacks are the practical test. If a customer disputes a no-show fee with their bank, your evidence is the booking record, the policy they ticked, the reminders you sent and the timestamp. A booking system that keeps all of that together wins most of those disputes; screenshots from three different tools usually do not.

Off-the-shelf booking tool or your own system?

Off-the-shelf tools

Platforms such as Fresha, Calendly, SimplyBook.me, Square Appointments and Acuity are quick to set up and most support deposits in some form. For a sole trader or a single-location business with standard needs they are often the right first step. The trade-offs: monthly or per-staff fees, sometimes commission on bookings from the platform’s marketplace, a booking flow and branding you cannot fully control, and customer data held on someone else’s platform. Pricing models change often, so compare the current plans rather than relying on old reviews.

Bookings built into your own website

  • Your rules: different deposits per service, staff member or day; buffers between appointments; minimum notice; patch tests or consultation forms before certain services.
  • Your brand and flow, designed around how your customers actually book on a phone.
  • No booking commission beyond the payment provider’s fee.
  • Integrations with Google or Outlook calendars, your CRM, email marketing and accounting software such as Xero.
  • Multiple locations, each with its own staff, hours and policies.

It costs more up front and needs maintaining, so it makes most sense when bookings are the core of the business, or when platform fees across several staff are adding up.

What a booking system costs

OptionTypical cost (excl. VAT)Notes
Off-the-shelf booking toolFree tiers up to roughly £20–£100+ a monthPer-staff and marketplace fees vary by platform
WE-DEV Elite Website£999 one-off (regular £1,990)Up to 15 pages with bookings, payments and custom forms; 3–6 weeks
WE-DEV Business / E-commerce£2,650 one-off (regular £5,200)Custom WordPress or PHP site with payments, booking and ordering, multi-language
Adding bookings to an existing siteE-commerce Development £65/hVolume discounts from 10 hours

Worked examples

Adding a booking system with Stripe deposits and saved-card no-show fees to an existing WordPress site typically takes us 20 hours for straightforward rules: £1,300 − 15 % = £1,105 + VAT £221 = £1,326. A multi-location setup with staff rotas, a CRM integration and SMS reminders is more like 50 hours: £3,250 − 20 % = £2,600 + VAT £520 = £3,120. We confirm the hours in writing before starting.

Compare that with a platform at, say, £60 a month for a small team: £2,160 over three years, and you still don’t own the system. Neither answer is always right. If your rules are simple and you are on your own, a tool is fine. If you have five staff, two sites and a no-show problem, your own system usually wins within a couple of years. See our packages or book hours directly.

What we have learned building booking flows

  • Put the deposit amount on the service page, not just at checkout. Surprises at the payment step are where people abandon.
  • Let customers cancel and rebook online inside the policy window. If the only way to cancel is a phone call, people just don’t show up.
  • Release cancelled slots instantly and, if you have one, notify a waiting list.
  • Ask for a mobile number and send an SMS reminder. Text reminders tend to be read far more reliably than emails.
  • Test the failure paths: declined cards, authentication requests, refunds, double bookings at the same second. That is where cheap plugins fall down.

Appointment businesses with long sessions show the value clearly. We built a WordPress site with online bookings for Hypnotic Art, and a WordPress site plus a Flutter app for Tattoo-Art & Obsession. The same principles apply to salons in Glasgow, physios in Birmingham or tutors in Belfast: make booking easy, make the commitment clear and let the system do the chasing.

Checklist: a booking system that reduces no-shows

  1. Choose your model: prepayment, deposit, card on file or card hold.
  2. Write a short, fair cancellation policy and show it before payment.
  3. Record the customer’s agreement with a timestamp.
  4. Send confirmation, reminder (24–48 hours) and follow-up messages automatically.
  5. Let customers cancel or rebook online within the policy window.
  6. Release cancelled slots immediately.
  7. Handle failed payments and authentication requests with an emailed payment link.
  8. Review no-show and cancellation rates monthly and adjust the deposit if needed.

We build booking systems as part of our e-commerce development work, and connect them to calendars, CRMs and accounting tools through API development and integration. For the bigger picture on budgets, read how much a website costs in the UK.

Frequently asked questions

Can I legally charge a deposit or no-show fee in the UK?

Generally yes, if the terms are clear, agreed before booking and fair. Under the Consumer Rights Act 2015 a deposit or cancellation charge should reflect your genuine loss rather than act as a penalty. Cancellation rights under the Consumer Contracts Regulations 2013 may also apply, so take advice for your sector.

How much deposit should I take?

Many service businesses take 10–50 % of the booking value, or a flat £20–£50 for longer appointments. Set it high enough to make people commit, but not so high that genuine customers hesitate. Review your no-show rate after three months and adjust.

Can Stripe charge a customer's card if they don't turn up?

Yes. Stripe can save a card at booking with the customer's consent and charge it later under your no-show policy. Occasionally the customer's bank asks for authentication again, so the booking system should send a payment link when that happens.

How long can Stripe hold money on a card?

A standard online card authorisation generally needs capturing within about seven days, after which it lapses. For bookings further ahead, save the card and charge it later rather than relying on a hold.

Is a custom booking system better than Fresha or Calendly?

Not always. Off-the-shelf tools are quicker and cheaper to start. A booking system on your own website makes sense when you need your own deposit rules, branding, several locations or integrations, or when platform fees across a team become significant.

How much does it cost to add bookings with deposits to my website?

Our Elite Website package includes bookings and payments for £999 + VAT. Adding bookings to an existing site is priced by the hour at £65/h + VAT for e-commerce work; a straightforward 20-hour job comes to £1,326 including VAT after the volume discount.

WE-DEVUK software and web development agency. We build websites, custom software, mobile apps and online shops, and write these guides from the projects we run every week.

Photo: Giorgio Trovato via Unsplash

Read next

Tell us what the business needs.

A developer replies within one working day. Fixed price or hourly, your choice — and the code is yours.