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