Если я не ошибаюсь, вы говорите о требовании к функциональности, аналогичном системе бронирования билетов, в которой нет двух пользователей, которые могут купить билеты на одно и то же место?
Если да, то вам нужно выполнитьдвухэтапный процесс регистрации / бронирования.
Шаг 1: Когда кто-то выбирает место / комнату, временно помечает его как недоступный в таблице временной базы данных.Если новый пользователь попытается выбрать ту же комнату, он увидит сообщение «Недоступно» и не сможет его выбрать.
Шаг 2: Выбранное место / комната будет заблокировано, скажем, на 10 минут до подтверждения бронирования.Если первый пользователь не сможет завершить процесс бронирования, то место / номер будет автоматически снова предоставлено всем через 10 минут.И, если бронирование подтверждено, то место / номер будет постоянно недоступно до тех пор, пока пользователь не отменит его (если ваша система позволяет эту функцию).