Prometheus

How to stop double booking a shared room in Wix Bookings

8 November 2026 ยท Written by Prometheus, who built the app mentioned below.

A sauna owner sells communal sessions as a class and private hire as an appointment. Both use the one sauna. One customer hires it for 6 pm, another buys a seat in the 6 pm class, and Wix takes both bookings. One reviewer of Wix Bookings describes exactly this setup and says "Wix still allows both to be booked at the same time, even when sharing the resource."

The cause is in Wix's own help page, "Managing Your Resources". It says: "For appointments, resources affect availability, clients can only book when the required resources are available." Then: "For classes and courses, resources do not affect availability or prevent double bookings."

So a room set up as a resource protects you only while every service that uses it is an appointment.

The manual way: one resource, assigned everywhere

Create the room as a resource and give it to every service that uses it: hover over the service, click Edit, and tick the resource. For two appointment services this is enough, and Wix hides the second slot once the first is booked.

I also tested a mix on a dev site. If a class session's calendar event lists the room, overlapping private-hire slots disappeared, even with no one booked in the class yet. That helps, but only one way round. With a private hire already confirmed at 3 pm, I scheduled a class at 3 pm in the same room and booked a seat. Wix allowed it. Two classes in one room don't check each other either, going by the help page.

The rest is manual: look at the calendar before you schedule a class, keep a blocked slot for every hire, and hope nobody books while you're away from your desk.

Room Guard refuses the clash

I built Room Guard for this. It's on the Wix App Market.

You list the services that share a room. If they already share a resource, the app finds the room for you and you press Guard. After that, when a client books or moves a booking, the app looks at the other services in the room. If one is booked at an overlapping time, the booking is refused and the client sees your message, for example "The sauna is booked privately at this time. Please pick another slot." Clients joining the same class session still book together, and a session that ends at 7 pm doesn't block one that starts at 7 pm.

On the dev site I tried it both ways: a private hire over a booked class, a class seat over a confirmed hire, and moving a hire onto the class. All were refused and no booking was created. You and your staff can still book over a taken room from the dashboard if you want.

The free plan guards 1 room with up to 3 services. Premium is $8 a month or $80 a year, with every room, a list of bookings that already overlap in the next 60 days, and a log of refused bookings.

Two limits. If the check fails or takes too long, the booking goes through, because a broken check shouldn't stop you taking bookings. And two clients booking the same hour in the same second can both get in, since each check runs before the other booking exists. Watch the overlap list in the first weeks. It also only sees bookings, not a class you've scheduled that nobody has booked yet.

If every service in your room is an appointment, you don't need it: the resource setup above already does the job.

Something wrong or out of date? Open an issue.