Для главной страницы выводить фон сайта, шапку (название сайта, ниже редактируемый текст), ниже кнопка «Найти квартиру» (текущая «Отправить запрос) и текущий подвал «как есть». Требуется кроссбраузерная верстка для корректного отображения сайта и его содержимого не только в интернет-браузерах, но и на мобильных устройствах/браузерах. При нажатии на кнопку «Найти квартиру» в бд сайта создается новая заявка со своим уникальным ИД. Далее автоматически генериться страница с адресом квартирант.онлайн/123, где 123 – номер (ИД) только что созданной заявки. На сгенерированной странице квартирант.онлайн/123 выводится шапка, форма для заполнения заявки (текущая «Отправить запрос»; пока как есть, будут незначительные правки) и подвал. В форме названия кнопок должны быть прописаны на самих кнопках; при нажатии на кнопку выводится выпадающий список; после выбора значения оно отображается справа от кнопки простым текстом: - «Выбрать город» - выпадающий список, значения из БД сайта; по умолчанию – текущий город для активного/текущего ip пользователя; после выбора города в «район» подтягиваются только присущие данному городу районы; - «Выбрать район» - выпадающий список, значения из БД сайта; вывод – алфавитном порядке; по умолчанию поле пустое; - «Учреждения рядом» - выпадающий список, значения из БД сайта; по умолчанию – «не важно»; после выбора города в «учреждения» подтягиваются только присущие данному городу учреждения; - «Тип квартиры» - выпадающий список: 1-комнатная, 2-комнатная и 3-комнатная; по умолчанию поле пустое; - «Количество человек» - выпадающий список: 1 чел., 2 чел., 3 чел., 4 чел., 5 чел., 6 чел., 7 чел. и более; по умолчанию поле пустое; - «Дата заезда» - выпадающий календарь для выбора даты; формат отображения в поле -дд.мм.гггг; по умолчанию поле пустое; - «Время заезда» - выпадающий список со значаниями от 12:00 до 11:00 с шагом 1 час; формат отображения – 24 часа в виде чч:00; по умолчанию поле пустое; - «Срок проживания» - выпадающий список со значениями: несколько часов, ночь, 1 сутки, 2 суток, 3 суток, 4 суток, 5 суток, 5-7 суток, 7-10 суток, 10-15 суток, 15-30 суток, более 30 суток; по умолчанию поле пустое; - «Не дороже, чем» - выпадающий список от 500 руб./сутки до 5000 руб./сутки с шагом 100; по умолчанию поле пустое; по умолчанию поле пустое; - «Цель аренды» - выпадающий список со значениями «Уединение», «Командировка», «День рождения», «Мероприятие», «Другое»; по умолчанию поле пустое; - «Дополнительные пожелания» - текстовое поле для ручного ввода текста; по умолчанию поле пустое; - «Мой контактный телефон:» - текстовое поле (не кнопка) для ввода номера телефона; курсивом сделать подсказку в виде +79001112233; - «Продолжить» - кнопка. Все поля обязательны для заполнения. Если какой-либо обязательный параметр не задан, кнопка «Продолжить» не активна. Не обязательны для заполнения поля/кнопки: «Учреждения рядом» и «Дополнительные пожелания». Если эти параметры не заданы, в заявке для них ничего не указывается и не выводится. После ввода обязательных параметров активируется кнопка «Продолжить». При ее нажатии вместо заполненной формы выводится шапка сайта, окно с готовым тектом заявки и подвал. Формат готовой заявки: Заявка № (ИД заявки): Ищу Х-комнатную квартиру в Х районе возле Х на ХХ.ХХ.15 в ХХ:ХХ для Х чел. на Х по цене до Х руб./сут. Цель аренды: .... Дополнительно: .... Мой контактный телефон: ...». Например для заявки с ИД 123 текст получится следующий: Заявка 123: Ищу 1-комнатную квартиру в Тимурском районе возле аэропорта на 01.01.15 в 12:00 для 2-х человек на несколько часов по цене до 1400 руб./сут. Цель аренды: командировка. Дополнительно: нужна парковка, фен. Мой контактный телефон: +79001112233.». Под текстом (до подвала) отображается 2 активных кнопки: - «Редактировать»: осуществляется возврат на этап ввода параметров; ранее введенные параметры НЕ сбрасываются; - «Принять Правила и отправить запрос»: производится проверка на предмет бота с последующим сохранением заявки в бд сайта. Проверка на бота производится обычной капчей среднего уровня сложности (взять/скопировать из файла post_page). В момент успешного прохождения капчи заявка считается созданной и одновременно фиксируется время ее создания. После прохождения капчи, между шапкой и подвалом (на место текста заявки), вывести окно с сообщением: «Заявка № Х передана на обработку. Её исполнение рекомендуется проверить через 10 минут», где Х – ИД заявки, а ХХ – посекундный таймер обратного отсчета от 10 минут до 0 в формате мм:сс. Ниже кнопка «Проверить заяву прямо сейчас», активируется в 04:59 (фон кнопки- светлый; неактивная кнопка – шрифт цифр светлее; активная – шрифт цифр темнее). При нажатии на нее выводится ответ по обработке заяки (описано ниже). В админке реализовать редактирование времени для таймера. Инфа из такой созданной в бд сайта заявки поступает в личный кабинет владельцев (в бд сайта инфа должна быть передана в JSON). Одновременно инфу забирает приложение. Заявка поступает/отображается только в тех личных кабинетах, которые будут отобраны алгоритмом их выборки (ниже). По итогам отбора алгоритмом, в каждой заявке должен сформироваться реестр из номеров телефонов владельцев-получателей. Алгоритм отрабатывает каждую новую заявку. Такой реестр телефонов должен быть передан в приложение в JSON (приложение само заберет эту инфу). Вместе с таким реестром приложение заберет из бд сайта инфу о ИД текщей заявки и времени ее создания (время создания заявки формируется в момент успешного прохождения капчи). Приложение начинает отправку оповещений по переданным в него номерам. Формат такого оповещения: ИД заявки - время заявки - Ищу Х-комн. кв-ру в Х р-не на ХХ.ХХ.15 в ХХ:ХХ для Х чел. на Х дн. по цене до Х руб./сут. Цель: .... Дополнительно: ....». Например для заявки с ИД 123, отправленной в 15:30, текст смс-оповещения получится следующий: «123 15:30 Ищу 1-комн. кв-ру в Тимурском р-не около аэропорта на 15.01.15 в 12:00 для 3-х чел. на 7 дн. по цене до 1400 руб./сут. Командировка. Нужен трансфер, фен.». При получении оповещения некоторые владельцы откликаются на него. Отклик производится путем отправки ими текстового смс. В нем владелец задает номером (номерами) свою (свои) квартиры для сдачи. Такой номер (а) соответствует (ют) номеру (ИД) объявления с сайта (у каждого объявления имеется свой уникальный ИД). В начале смс он указывает ИД заявки, далее ИД квартир. Например: «123 184 15 504». Это означает его ответХ на заявку 123, к которой он привязывает свои квартиры № 184, № 15 и № 504. Такие смс-ответы владельцев начинают поступать на телефон в приложение. Приложение по факту получения смс-ответа сразу передает его в бд сайта к текущей заявке (в примере это № 123). В самом верху личного кабинета организовать зону для отображения и управления заявками: окно для вывода самого текста заявки и справа от него – место для установки галочки (по умолчанию галочек нигде нет). Если на текущий момент одному владельцу подходит несколько активных заявок: для каждой заявки – свое окно; окна располагаются друг под другом. Текст заявки выводится «как есть» (как описано выше). Реализовать обязательное звуковое сопровождение события «Поступила новая заявка». Ниже выводить (столбцы): - адрес квартиры: оставить как есть; - цена: для каждой квартиры у цены сделать выпадающий список со значениями от текущей цены в бд сайта и минус 10 шагов по 100 р. и плюс 5 шагов также по 100 р.; например, если цена в бд 1700, тогда минус 10 шагов (10 значений) по 100 р. и плюс 5 шагов (5 значений с таким же шагом) дадут следующие значения выпадающего списка: 2200, 2100, 2000, 1900, 1800, 1700, 1600, 1500, 1400, 1300, 1200, 1100, 1000, 900, 800, 700; по умолчанию стоит текущая цена из бд сайта; - текущий статус: скрыть (не отображать); - действие: текущую кнопку «изменить статус» скрыть (не выводить); в каждой строке (для каждой квартиры) выводить окно для установки/снятия галочки; галочку можно ставить одной/нескольким/всем квартирам, на выбор владельца; по умолчанию все поля для галочек неактивны до момента установки галочки возле заявки; ниже таблицы вывести кнопку «Отправить отмеченные объекты на рассмотрение». Владелец выбирает/активирует галочкой только 1 (любую) заявку (выбрать сразу более 1 заявки нельзя). Сразу активируются окна для установки галочек у квартир. Он выбирает нужные квартиры (ставит возле них калочки) и нажимает кнопку «Отправить отмеченные объекты на рассмотрение». Отмеченная заявка и выбранные к ней квартиры скрываются. Далее можно выбрать/активировать следующую заявку (если таковая имеется) по аналогичному принципу. В бд сайта в текущей заявке (на нашем примере это № 123) начинает формироваться (собираться) единый ответ. Ответ состоит из ответ1, ответ2 и т.д. (это ответы разных владельцев). Под ответомХ понимается реестр/перечень из ИД отмеченных квартир, переданный в бд сайта к конкретной заявке. Он формируется из отмеченных галочками квартир (в личном кабинете) и из аналогичных ответов из приложения. Приложение самостоятельно передаст свои ответы в бд сайта в JSON, их требуется приобщить к ответам из личных кабинетов. Нажатие на кнопку «Проверить заявку прямо сейчас» генерит страницу квартирант.онлайн/123/ответ. В ней, в ее центральной части, выводятся заявленные квартиры (то, что поступило на данный момент из личных кабинетов и из приложения; процесс приема новых ответовХ из личных кабинетов и из приложения не прерывается – они по мере поступления идут в бд сайта). Пока формат вывода объявлений оставить как в reclam_page. Если квартир более 10 – остальные выводить ниже, пока не закончатся все заявленные. Каждые 10 квартир выводить по мере пролистывания предыдущих 10 (вывели 10, листаем до конца страницы=до конца 10 объявлений, потом выводим/отображаем следующие 10 объявлений, опять листаем до конца страницы и так далее; сразу все заявленные не выводить). При выводе объявлений изменить алгоритм вывода цены (в reclam_page). По умолчанию выводится текущая цена, заданная в бд сайта для текущей квартиры. Однако, если владельцами при формировании ответа такая цена была изменена, тогда выводить ту цену, которая была установлена им в ответе. В момент окончания для активной заявки таймера (10 мин. с момента успешного прохождения капчи) прием ответовХ в бд сайта из личных кабинетов и из приложения следует прекратить. Имеем итоговый ответ для заявки. Такая заявка более нигде не активна (не должна более отображаться в личных кабинетах владельцев) и приложение более не должно передавать в бд сайта поступающие на нее ответыХ (если таковые еще будут поступать; запоздавшие ответы игнорировать/удалять). Одновременно в центр экрана на полупрозрачном затемненном фоне вывести сообщение «Обработка вашей заявки завершена. Всего найдено Х квартир.» (даже если пользователем ранее уже нажималась кнопка «Проверить заявку прямо сейчас»). Х – общее кол-во квартир (их ИД), полученных при формировании ответа на заявку. Ниже вывести кнопки: - «Показать все варианты»: по сути она просто обновляет страницу квартирант.онлайн/123/ответ, на которую выводит все поступившие для заявки 123 за 10 минут ответыХ (также по 10 штук с последующим «подтягиванием» следующих 10); - «Показать только новые»: выводит только те квартиры, ответыХ о которых попали в бд в интервал времени с момента нажатия на кнопку «Проверить прямо сейчас» до момента окончания приема ответов (10 мин.). Эта кнопка появляется только в том случае, если одновременно выполняется 2 условия: ранее нажималась кнопка «Проверить прямо сейчас» и есть вновь поступившие ИД; - «Новая заявка» - производится возврат на главную страницу с формой для заполнения в центральной части. Если по ответамХ получилось 0 квартир (Х=0), тогда выводить только 1 кнопку – «Новая заявка». В reclam_page для каждого объявления сделать кнопку «Заказать» (пока воспользоваться текущей «Просмотр квартиры»). При нажатии на нее поверх сайта выводится полупрозрачный фон с системным сообщением в формате: «Вы действительно хотите заехать ХХ.ХХ.ХХ в ХХ:ХХ в квартиру по ул. Х д. Х за Х руб./сут.?». Значения беруться из бд сайта из самой заявки. Например: «Вы действительно хотите заехать 15.02.15 в 15:00 в квартиру по ул. Ленина д. 1 за 1500 руб./сут.?». Ниже кнопки: - «Да»: реализуется оформление и отправка заказа; - «Отмена»: производится возврат к этапу просмотра результатов поиска (к тому же месту страницы квартирант.онлайн/123/ответ, в котором была нажата кнопка «Заказать»). При оформлениии заказа бд сайта передает следующую инфу в приложение (в JSONе): - телефон владельца выбранной квартиры; - телефон клиента, заполнявшего заявку; - адрес выбранной квартиры; - дату и время заезда; - стоимость проживания. Одновременно у данного владельца производится списание средств с его лицевого счета. Списание производится согласно тарифу, задаваемому в админке (требуется создать такую редактируемую таблицу с названием тарифа и его ставки). Списание производится путем минусования от текущей суммы на лицевом счете ставки за заявку. Окно с текущим остатком на лицов счете владельца отображать в его личном кабинете в самом низу. Пока оставить ручное редактирование данного остатка. После передачи такой инфы исполненная заявка становится заказом и сохраняется в архиве в бд сайта (архив – сделать новую таблицу, в которой сохранять только фактически выполненные заявки – те, по которым прошел обмен контактами и списание; по сути является дублем основной базы заявок, но организованная более просто – минимальное кол-во полей – они будут описаны ниже). Далее потребуется для внутренней статистики. По факту получения инфы из бд сайта приложение производит отправку 2-х уведомлений в формате: - владельцу квартиры: «Клиент на ул. Х д. Х на ХХ.ХХ.ХХ в ХХ:ХХ на Х дн. по Х руб./сут. Телефон: +79ХХ-ХХХ-ХХ-ХХ.», телефон – это номер клиента; - клиенту: «Позвоните сейчас на +79ХХ-ХХХ-ХХ-ХХ и подтвердите заказ квартиры по ул. Х д. Х на ХХ.ХХ.ХХ в ХХ:ХХ. Без Вашего звонка заказ не действителен. Не забудьте уточнить Условия заселения и Правила проживания.».
Опубликован 30.01.2015 в 18:12 по мск
Прошло времени с момента публикации: более 9 лет