Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
10 000 ₴

Разработка сайта Grift Party

closed without completion


Немного поменялась логика и детальнее представили поп апы. 



Grift Party



Используемые технологии: PHP, Laravel, HTML, JavaScript, CSS, jQuery, Git.


Используя доступные АПИ, верстку(макет предоставляем), макеты сайта(так же предоставляем), техническое задание - создать сайт где пользователь может без регистрации, только вводя информацию забронировать билеты для проведения развлекательного викенда.
 

Шаг 1 - клиент вводит свое имя и фамилию, в соответствующие поля, нажимает кнопку “Lets Start” и переходит к следующему шагу;


Шаг 2 - клиент выбирает город куда хочет полететь(Киев, Одесса);


Шаг 3 - выбирает дату начала мероприятия из календаря и завершения;


Шаг 4 - выбирает количество людей;


Шаг 5 - выбирает необходимость бронирования билетов (Yes/No), пользователь выбирает “yes”, у него есть необходимость в бронировании авиабилетов, откроется поп-ап окно в котором отображается фильтр выборки авиабилетов, Клиент выбирает город откуда он хочет вылететь, Куда(Киев или Одесса) заполняется автоматически(возможно ли такое, город куда хочет прилететь выбирал на предыдущем шагу), подтягиваются автоматически данные о количество билетов в обе стороны исходя из выбранного количества людей(количество людей выбрали на предыдущем шаге), также в автоматическом виде заполняется дата вылета “из” и дата обратного перелета “в”, так как клиент уже выбрал эти данные на предыдущем шаге, нажимает на кнопку “Choose”.  Переходит к следующей форме(подробной информации о билете) где выводится его имя и фамилия(подтянуть автоматически, данные заполненные на первом шаге), выводиться дата вылета и дата прилета, пользователю нужно заполнить обязательное поле Идентификационный номер, и выбрать ряд дополнительных опций - необходим ли дополнительный багаж(просчет этой услугу у некоторых перевозчиков происходит отдельно  от стоимости самого билета), нужно ли питание(просчет этой услугу у некоторых перевозчиков происходит отдельно от стоимости самого билета), нужно ли место возле окна(просчет этой услугу у некоторых перевозчиков происходит отдельно от стоимости самого билета).
После чего все данные передаются в итоговую заявку, которая будет отображена в админ панеле;

Шаг 6 - выбрать отель или апартаменты. 
Выбор Отеля:
Пользователь выбирает услугу бронирования отеля, выбирает дату заезда/выезда (дефолтом стоит дата которую он выбрал и для авиабилетов) из гостиницы, выбирает отель по кол-ву звезд и другим параметрам(для загрузки списка отелей и номеров и свободных дат бронирования, использовать АПИ). Клиент выбирает отель и переходит на второе поп-ап окно где выбирается тип номера, количество спальных мест и заполняет другую информацию.


Выбор Апартаментов:
Тот же алгоритм что и при выборе отеля происходит с выбором апартаментов, открывается поп ап в котором необходимо заполнить поля, после чего будет произведена сортировка из внесенных через админку апартаментов и клиенту выводиться отсортированный список согласно внесенной им информации. После чего клиент выбирает апартаменты из списка и бронирует их.  

Вся информация выводиться в итоговой таблице с суммой заказа плюс 10 процентов. (Клиент не видит отдельных сумм за каждый этап ; только общую сумму к оплате. Однако в админ панеле четко видно где какова затратная стоимость)

Шаг 7 - Выбор бронирования автомобиля, в формате (Yes/no). Если клиент выбирает “Yes”, выводиться поп ап окно в котором клиент выбирает поля, время аренды автомобиля, место подачи(на выбор аэропорт Борисполь, аэропорт Жуляны), класс автомобиля(на выбор три типа эконом, стандарт и премиум), прикрепляет фото своих прав. (Вся информация выводиться в итоговой таблице с суммой заказа плюс 10 процентов. (Клиент не видит отдельных сумм за каждый этап ; только общую сумму к оплате. Однако в админ панеле четко видно где какова затратная стоимость). Клиент попадает на второй шаг, открывается второе поп ап окно где клиенту нужно выбрать конкретный автомобиль из класса который был выбран на предыдущем шаге.
Данные о выборе клиента, обязаны попасть в итоговую таблицу и отображаться итоговой заявке в админ панеле.

Если клиент выбирает вариант “No”, происходит переход на “Шаг 8. Оформления бронирования трансфера”


Шаг 8 - выбрать необходимость трансфера(этот шаг пропускается, если клиент сделал бронирования аренды автомобиля, переходит  на “Шаг 9. Выбор клуба”) с аэропорта до отеля(в формате Yes/no, клиент выбирает “yes”, это значение записывается в итоговую анкету которая будет отображена в админ панеле после проведения оплаты, аналогично если клиент выбирает “no” то это должно быть отражено в итоговой анкете, соответственно в админ панеле, и соответственно происходит переход на следующий “Шаг 9. Выбор Клуба”). Клиент выбирает вариант “Yes” переходит к выбору тарифа для предоставления услугу трансфера. 

Шаг 9 - Выбор из списка представленных клубов для резерва прохода в заведения и на втором шаге бронирования депозита за столиком в выбранном клубе. Есть возможность в разные дни(например если группа приехала на три дня) выбрать разные заведения и установить разные лимиты в каждом из заведений.

Если выбраны несколько клубов, под разные дни с разными лимитами, выводить информацию в финальном окне в отдельных полях под каждый клуб.


на каждом шаге, должна быть проверка заполненных полей или выбранных данных,


в конце предусмотреть окно, где будет выводиться список выбранных услуг с возможностью редактирования из списка той или другой услуги посредством нажатия на соответствующую кнопку. 

Механизм Редактирования: устроен следующим образом, клиент нажав на одном из пунктов на пиктограмму карандаша, в финальной таблице, то есть выбрав пункт редактирования данных, данные которые были выбраны до момента нажатия клиентом пиктограммы являются актуальными. После нажатия данные неактуальные, клиента с помощью якоря перетягивают на соответствующий блок отвечающий за поле в котором необходимо отредактировать информацию, если необходимо вызывается поп ап окно в котором редактируется информация, и по окончанию редактированию информации пользователю необходимо нажать кнопку Save/Upload, что подразумевает под собой завершения редактирования информации и обновления информации в итоговой таблице. 


Обязательными к заполнению поля является: имя и фамилия, дата проведения мероприятия (с и по, общая дата выбирается на втором экране ), количество людей участвующих в мероприятии. Все остальные шаги не являются обязательными к заполнению.

Формат с вызовом поп апа окна для редактирования информации актуален только в шаге с бронированием билетов, отелей/апартаментов, аренды машины.
Во всех остальных случаях происходит сброс выбранных настроек и возможность изменить изначальный выбор на другой и сохранения выбора в базу данных. 

Если услуга была отредактирована из списка - происходит перерасчет финальной суммы для оплаты и вывод финальной суммы в отдельном окне/поле, 
если услуга была удалена/отредактирована из списка критическая важная услуга, кнопка “Подтверждения” не активна, внизу под ней должно выводится сообщения о необходимости заполнения всех полей для успешного завершения покупки. (Что именно важное?)

если все данные и поля были заполнены корректно, после нажатия финальной кнопки “Подтвердить”, должен происходить переход на платежный сервис LiqPay с передачей необходимой суммы для оплаты. (необходимо подключить платежную систему LiqPay).

После завершения оплаты, происходит возвращения на сайт, вызывается поп ап окно в котором клиенту необходимо ввести в соответствующее поле емейл на который будет выслана вся информация. 



Финал: происходит перезагрузка сайта и сброс всех данных.


Необходимо также реализовать админ панель, повесить авторизацию в административной панеле на субдомен - https://grift…….../administrator 
Вход осуществляется с помощью логина и пароля по закрытому протоколу. 

Административную панель разделить на пять вкладок и разделить в каждой вкладке экран на две части, 

Первая вкладка (заявки): в левой половине списком (как в гугл почте) выводить заявки которые были сформированы и оплачены клиентами, в правой части экрана при выборе администратором любой заявки из списка: отображать подробную информации по этой заявке(по дефолту при открытии вкладке заявки в правой части не отображается ничего, серое поле), после того как заявка будет обработана менеджером, происходит подтверждение через соответствующую кнопку(которая располагается в нижней части под табличкой с информацией заявки. Клиенту по указанной электронной почте, после нажатия на кнопку будет отправлено все необходимые документы. 

Каждая заявка имеет вид таблицы с ячейками под каждое поле:
- Имя и Фамилия,

- Номер телефона, электронный адрес,

- Куда хочет поехать (Киев или Львов),

- Даты мероприятия,

- Количество людей которое выбрал клиент,

- Бронировал билеты, если да - то всю информацию о бронировании, если нет - вывести No.

- Бронировал трансфер с аэропорта, если да то какой тариф выбрал,

- Какой клуб выбрал, на какие даты, какой депозит в клубах был забронирован.

- Какой вид жилья бронировал клиент (отель или апартаменты), полная информация об броне. 

- Забронировал услугу аренды автомобиля и подробная информации об бронировании. 
- Сумма оплаты и подтверждение оплаты. 


Вторая вкладка (чаты): на сайте будет повешен какой то живой чат, куда клиенты могут писать для согласования различных вопросов. Суппорт.


Третья вкладка (добавление апартаментов): на сайте добавить функционал, который будет позволять подключать/добавлять(выводить на сайт) новые апартаменты. 
Поля которые будут заполняться при добавлении новых апартаментов:
- название апартаментов,

- адрес апартаментов, 

- стоимость, 

- количество комнат, 
- возможность загрузки фото, 

- описание до 300 символов, 
- календарь для отмечания брони. 


Четвертая вкладка (добавление клубов): на сайте добавить функционал, который будет позволять подключать/добавлять(выводить на сайт) новые клубы:
Поля которые будут заполняться при добавлении клубов:
- название клуба,
- адрес клуба, 
- описание о клубе, 

- возможность добавление одной или нескольких фото,

- варианты депозита.


Пятая вкладка (Добавление пользователей):

- Реализовать возможность добавление новых пользователей админ панели и настройки им уровней доступа для просмотра или работы в админ панеле.

Самый простой уровень, менеджер - может обрабатывать заявки клиентов. Подтверждать их. Работа с чатами.

Средний уровень, старший менеджер - все тоже самое что и менеджер, но добавляется функция добавление/удаление клубов и апартаментов. 


Высокий уровень, Администратор - самый высокий уровень доступа во все структуры сайта, добавление/удаление Менеджеров, Старший Менеджеров, Добавление/Удаление Апартаментов/Отелей, Работа с заявками.


Все фалы по дизайну тут

https://fex.net/s/f2xceye


Часть верстки уже у тебя есть