Выбор мест - второй шаг процедуры приобретения билетов. Доступ к странице осуществляется путем нажатия кнопки "Выбрать места" всплывающего окна "Предварительное наличие мест", либо путем клика по ссылке с временем сеанса. Основную часть страницы занимает план зала, показанный на рис. 5.1, над которым выводится информация о фильме выбранном на предыдущем шаге.
Рисунок 5.1. План зала.
План зала может отличаться от приведенного на рис. 5.1, если приобретаются билеты в другой зал.
Билетная система кинотеатра, с которой взаимодействует система онлайн-продаж, является многопользовательской. Это означает, что одновременно к информационной системе кинотеатра обращаются:
В силу указанных причин информация о наличии свободных мест, отображаемая на плане зала, быстро теряет актуальность. Иными словами, данные о свободных, забронированных и проданных местах являются абсолютно достоверными на момент формирования страницы с планом зала. Чем больше времени проходит с момента формирования страницы до нажатия кнопки "Оплатить покупку" (см. рис 5.1), тем больше вероятность коллизии: определенные места могут пытаться приобрести несколько пользователей системы.
Система обнаружит такую ситуацию и не допустит продажи одного и того же места различным пользователям. Однако, обработка этой ситуации выполняется на следующем шаге процедуры покупки и не избавляет от необходимости выбора других мест.
Следует придерживаться следующих рекомендаций по работе с системой:
Выбор мест осуществляется при помощи плана зала. При наведении курсора мыши на место, система отображает номер ряда, номер места и его стоимость, как показано. на рис. 5.1. Для выбора места необходимо кликнуть левой кнопкой мыши по его изображению. В ответ система помечает его синим цветом на схеме зала, а сумма покупки, будет автоматически пересчитана, как показано на рис. 5.2.
Рисунок 5.2. Блок, содержащий сведения о текущей покупке.
В настоящий момент в системе онлайн-продажи билетов кинотеатра "Супер 8" (г. Йошкар-Ола) существует единственный метод оплаты: оплата банковской картой.
В системе существует три категории мест, отображаемых на плане зала:
Количество мест, приобретаемых единовременно, не должно превышать десяти. Это ограничение введено исходя из следующих соображений: места, выбранные на данном шаге, резервируются в билетной системе кинотеатра на 20 минут для того, чтобы пользователь успел их оплатить. Другие Клиенты не могут ни приобрести, ни забронировать места, находящиеся в резерве. Возможность выбора неограниченного количества мест делает систему уязвимой к действиям злоумышленников, резервирующих и не оплачивающих билеты. При попытке выбрать более 10 мест единовременно система выдает сообщение, показанное на рис. 5.3.
Рисунок 5.3. Сообщение об ограничении количества единовременно приобретаемых билетов.
Повторное нажатие левой кнопкой мыши на выбранные ранее места позволяет снять с них отметку. Нажатие кнопки "Оплатить покупку", показанной на рис. 5.2, резервирует выбранные места в билетной системе кинотеатра на 20 минут и приводит к появлению окна, показанного на рис. 5.4.
Рис 5.4. Окно ввода номера телефона и перехода на сайт платежного шлюза.
Номер телефона, отображаемый в форме по умолчанию, берется из профиля зарегистрированного пользователя. Система позволяет изменить номер телефона, на который будет отправлено SMS-сообщение с кодом покупки в случае успешной оплаты. При этом номер, хранимый в профиле, будет автоматически заменен на номер, введенный в этом окне. Поле обязательно для заполнения. Номер сотового телефона указывается в федеральном формате.
После нажатия на кнопку "Оплатить", пользователь перенаправляется на сайт платежного шлюза.
Кнопка "Отменить" (см. рис 5.4) позволяет вернуться к плану зала и отменить резервирование мест в билетной системе кинотеатра. Это правильный и цивилизованный способ отказа от покупки: выбранные ранее места сразу же становятся доступны для приобретения другим потенциальным клиентам кинотеатра. В противном случае, резервирование автоматически снимается билетной системой кинотеатра только через 20 минут после нажатия на кнопку "Перейти к оплате" при условии, что от платежного шлюза не поступило сведений об успешном списании средств. Система онлайн-продаж побуждает пользователей цивилизованно и своевременно отменять незавершенные покупки: при наличии зарезервированных, но неоплаченных билетов совершение новых покупок невозможно. Система выдает сообщение, показанное на рис. 5.5.
Рисунок 5.5. Сообщение об ошибке при наличии незавершенных покупок.
После перехода по ссылке "Мои покупки" система отобразит соответствующий раздел. При этом в блоке "Покупки, ожидающие оплаты" будут показаны места, ожидающие оплаты или отмены Клиентом, как показано на рис. 5.6.
Рисунок 5.6. Раздел "Мои покупки", содержащий блок "Покупки, ожидающие оплаты".
Крайне важно завершить покупку до истечения времени, оставшегося до автоматической отмены резервирования выбранных мест в билетной системе кинотеатра. При отсутствии действий со стороны пользователя и истечении времени резервирования, страница автоматически обновится, выбранные места перестанут отображаться в блоке "Покупки, ожидающие оплаты" и станут доступны для приобретения другим клиентам кинотеатра.