11 апреля 2019 в 19:34:02
(5 лет 32 недели 3 дня 18 часов назад)
11.04.2019 18:41:56
до 13.04.2019
Текст задания
База на SQL.
Чтобы забронировать рейс, оператору системы необходимо выяснить есть ли необходимый рейс в
расписании.
Чтобы найти нужный рейс, оператор может обозначить несколько или все из следующих параметров:
• Аэропорты отправления и прибытия должны выбираться на форме из выпадающих списков
• Необходимо выбрать дату отправления. Если пассажир хочет взять обратный билет, можно
также указать дату возвращения.
• Пассажир может выбрать либо билет «Туда», либо билет «Туда и обратно». У билета «Туда и
обратно» должны быть те же аэропорты вылета и прилета, но в обратном порядке. Обратный
рейс может быть забронирован только на даты после даты вылета.
• Тип билета, который влияет на цену, должен быть включен как параметр и выбираться из
выпадающего списка. По умолчанию тип билета «эконом»
После того как критерии полета выбраны, список (два списка в случае билета «Туда-Обратно»)
отображаются со следующими характеристиками:
• Список с вылетами должен быть на экране постоянно, даже если нет результата. Список
обратных рейсов будет выведен пользователю, когда пользователь выбирает тип рейса «Туда
- Обратно»
• Используя галочку вверху каждого списка, пользователь может запросить систему показать
рейсы за три дня до и три дня после указанной даты. Это нужно для того, чтобы избежать
поиска много раз с похожими результатами запроса.
• Элементы списка: аэропорт отправления (From), аэропорт прибытия (To), дата и время
отправления, номер рейса или номера рейсов если есть пересадка.
• Цена билета в бизнес классе на 35% дороже билетов эконом класса, а билеты первого класса
на 30 % дороже билетов бизнес класса, если не получаются целые значения необходимо
округлить до ближайшего целого числа в меньшую сторону.
После выбора рейса или рейсов пользователь указывает количество пассажиров, которые бронируют
одно и то же путешествие и подтверждает бронирование. Система проверяет, есть ли достаточно
мест на выбранных рейсах для пассажиров. Если есть, то можно перейти к форме подтверждения
бронирования.
Как только рейсы для бронирования были выбраны, появляется форма подтверждения
бронирования, в которую оператор может ввести данные пассажира.
Эта форма должна включать следующее:
• Информация о рейсе или рейсах для рейса «Туда» и рейса «Обратно».
Если никакой обратный рейс не выбран, не нужно отображать информацию по
обратному рейсу.
Если по маршруту «Туда» или «Обратно» несколько рейсов (с пересадками), эта
информация должна быть отражена.
• Информация о пассажире для бронирования:
Поля для обязательного заполнения: Имя, Фамилия, дата рождения, Номер паспорта,
Гражданство и телефонный номер. o Гражданство должно выбираться из
выпадающего списка, который берется из базы данных
Внесение всей информации о пассажире необходимо для регистрации бронирования.
• Нажимая на кнопку «Добавить пассажира», информация добавляется в список. Пользователь
затем не может редактировать записи, но может удалять их с помощью кнопки «Remove».
• Когда вся информация введена, нажимается кнопка «Подтвердить бронирование»
В конце процесса пользователь (менеджер) должен подтвердить получение оплаты. Информация на
этой форме должна быть следующая:
• Подсчитать общую сумму к оплате, которая является общей ценой всех билетов, которые
будут выпущены по этому бронированию.
• Возможность выбора способа оплаты: кредитная карта, наличные или ваучер. Эта
информация нигде не хранится на этой стадии.
• Кнопка подтверждения, которая обозначена на картинке сверху, как «Issue ticket» выпускает
билеты и сохраняет их в базе данных:
• Для каждого пассажира каждого рейса, соответствующая запись должна сохраняться в базе
данных.
Для идентификации бронирования, которое состоит из одного или нескольких рейсов
для каждого пассажира, в индустрии активно используется номер бронирования.
Номер бронирования — это строка, состоящая из шести знаков из букв и цифр. Эта
строка из знаков должна быть уникальной и не может повторяться для бронирований.
Выпуская несколько билетов для одного бронирования, генерируется номер
бронирования и указывается для всех билетов.
• Кнопка отмены закрывает эту форму и возвращает к подтверждению бронирования.