Connecting Rooms (Suite / Adjoining Rooms) Help

Overview

The Connecting Rooms feature lets you sell Room A and Room B individually while also offering them as a combined "AB Suite" package. When a guest books the suite, inventory for both A and B is consumed simultaneously. If Room A is booked individually, the AB suite is automatically blocked — and vice versa.

Common use cases:

  • Sell two adjacent hotel rooms as a suite
  • Offer a two-room family package
  • Bundle a private room with a living room as a set

iCal Sync (OTA Integration): iCal sync is not supported in this release. Do not enable this feature for facilities that are connected to Airbnb or other OTAs. Full iCal support is tracked in Issue #1052.


Features

Feature Description
Create connecting rooms Combine 2–16 existing physical rooms into a suite
Automatic inventory sync Booking the suite consumes both individual room inventories
Auto-block Booking Room A individually automatically blocks the AB suite (and vice versa)
Name and type Assign a custom display name and room type to the connecting room
Edit / Delete Modify or remove connecting rooms at any time (deletion blocked while active bookings exist)
KEYVOX key auto-issuance One key (PIN / QR) is issued automatically from the single KEYVOX unit assigned to the connecting room. All member room locks are bundled into that unit on the KEYVOX side

Setup Steps

Prerequisites

Before creating a connecting room:

  1. Confirm physical rooms exist — Go to Facility Settings → Rooms tab → Room List and verify that the rooms you want to connect are already registered
  2. Create a suite room type — Go to Facility Settings → Rooms tab → Room Types and create a room type such as "AB Suite" (you will select it during connecting room creation)

Creating a Connecting Room

  1. Open Facility Settings (gear icon) from the main app top menu

  2. Select the Rooms tab (4th tab from the left)

  3. Click the Connecting Rooms subtab (5th tab)

  4. Click "+ Create Connecting Room"

  5. Fill in the form:

    Field Description Example
    Name Display name shown in booking and admin screens AB Suite, Family Suite
    Type Room type you created in advance Suite
    Member rooms Check 2–16 physical rooms to include in the suite Room 101, Room 102
  6. Click "Save"

After saving, the connecting room appears as a row in the list. The booking page will show Room A, Room B, and the AB suite as three separate options.

If you issue keys through KEYVOX, continue with "Assigning a Lock to the Connecting Room" below.

Assigning a Lock to the Connecting Room (required when using KEYVOX)

Keys are issued from the KEYVOX unit assigned to the connecting room itself. Even if the member rooms (Room A and Room B) each have a lock assigned, no key can be issued unless the connecting room has its own assignment.

  1. In the KEYVOX console, prepare a unit for the connecting room that bundles the locks of Room A and Room B (bind every member room's lock to that one unit)
  2. Open the Rooms tab → Lock Assignment subtab
  3. Select the connecting room's row (the AB suite, not Room A or Room B) and assign the unit from step 1

Note: If a reservation comes in while the connecting room has no unit, no key can be issued, so the reservation is not confirmed — it is automatically cancelled with a full refund (FATAL refund).

Editing a Connecting Room

  1. Find the row in the connecting room list
  2. Click "Edit" at the right end of the row
  3. Update the name, type, or member rooms, then click "Save"

Deleting a Connecting Room

  1. Find the row in the connecting room list
  2. Click "Delete" at the right end of the row
  3. Confirm by clicking "Delete" in the confirmation dialog

Note: Deletion is blocked while active reservations are linked to the connecting room (a 409 error is shown). Cancel all existing reservations before deleting.


Booking Flow (Guest Perspective)

Once a connecting room is created, guests see the following on the booking page:

  1. The booking page shows Room A, Room B, and the AB suite as separate selectable options
  2. When a guest books the AB suite, inventory for both Room A and Room B is consumed simultaneously
  3. If another guest tries to book Room A individually, the AB suite is automatically blocked
  4. At check-in, if KEYVOX is configured, a single key (PIN code / QR code) is displayed. That one key opens the locks of both Room A and Room B (there is no separate key per room)

Frequently Asked Questions

Q: What happens if I try to delete a connecting room that has active reservations?

Deletion is blocked and an error is shown (409 Conflict). Cancel all reservations linked to the connecting room first, then delete it. The member rooms (Room A and Room B) themselves are not affected and remain registered.

Q: Are KEYVOX keys issued automatically?

Yes. For a connecting room reservation, one key (PIN / QR) is issued automatically from the KEYVOX unit assigned to the connecting room itself. The guest sees a single key, labeled with the connecting room's name. Because the locks of Room A and Room B are bundled into that unit on the KEYVOX side, this one key opens both doors. No separate per-room keys are displayed.

Important: A key cannot be issued unless the connecting room itself has a KEYVOX unit assigned. In that case the reservation is not confirmed — it is automatically cancelled with a full refund (FATAL refund). Assigning locks only to the member rooms (Room A and Room B) is not enough.

Q: Can this feature be used with facilities that have Airbnb (OTA) iCal sync?

Not in this release. Combining connecting rooms with iCal sync is not yet supported. Do not enable this feature for OTA-connected facilities. iCal support is planned in Issue #1052.

Q: Can I nest a connecting room inside another connecting room as a member?

No. Connecting rooms are not available as member room options in the picker (this is also enforced by a database trigger). Member rooms must always be physical rooms.

Q: Can I add rooms from a different facility as member rooms?

No. Only physical rooms in the same facility can be selected as member rooms. Any attempt to assign rooms from another facility is blocked at the database level.

Q: Where do I set up a pricing plan for the connecting room?

Creating a connecting room does not automatically attach a pricing plan. Go to Booking Management → Plan Settings to create and link a plan for the connecting room using the RoomPlanMappingEditor.

A plan quick-link shortcut (Issue #1055) is planned for Phase 2.

Q: Can I manage connecting room reservations from the Frontdesk app?

Frontdesk app support for connecting rooms is planned in Issue #1056. For now, use the Calendar and Reservation List in the main app.


Troubleshooting

"A connecting room cannot be selected as a member room"

Connecting rooms cannot be used as member rooms (composite-of-composite is not allowed). Only physical rooms appear in the member room picker.

"No member rooms appear in the picker"

If no eligible rooms are found, the form shows "No rooms available." Register physical rooms in the Room List tab first.

"Save failed with a validation error"

  • Name is empty — The name field is required
  • No room type selected — Select a room type from the dropdown
  • Fewer than 2 member rooms selected — Select at least 2 member rooms
  • More than 16 member rooms selected — Reduce the selection to 16 or fewer

"Delete returned a 409 error"

Active reservations are linked to this connecting room. Cancel all related reservations before attempting to delete.

"KEYVOX keys are not being issued"

  • Verify that the connecting room itself has a KEYVOX unit assigned (assignments on the member rooms alone do not issue a key)
  • On the KEYVOX side, verify that the unit bundles every member room's lock (otherwise a key is issued but some doors will not open)
  • Check the assignment status in Rooms → Lock Assignment tab
  • If key issuance fails, a FATAL refund is triggered and the reservation is automatically cancelled

Open the MarkdownPaste it into an AI assistant.

Ask about this article

AI answers from this article's content.