close

Вход

Забыли?

вход по аккаунту

код для вставкиСкачать
Темно-зеленый цвет текста означает готовность работ, но требующих доработки вывода/оформления.
Синим текстом выделен текст для работ по html/php/бд.
Для главной страницы выводить фон сайта, шапку (название сайта, ниже редактируемый текст), ниже кнопка
«Найти квартиру» (текущая «Отправить запрос) и текущий подвал «как есть».
Требуется кроссбраузерная верстка для корректного отображения сайта и его содержимого не только в
интернет-браузерах, но и на мобильных устройствах/браузерах.
При нажатии на кнопку «Найти квартиру» в бд сайта создается новая заявка со своим уникальным ИД. Далее
автоматически генериться страница с адресом http://квартирант.онлайн/123, где 123 – номер (ИД) только что
созданной заявки.
На сгенерированной странице http://квартирант.онлайн/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, их требуется приобщить к ответам из личных кабинетов.
Нажатие на кнопку «Проверить заявку прямо сейчас» генерит страницу http://квартирант.онлайн/123/ответ.
В ней, в ее центральной части, выводятся заявленные квартиры (то, что поступило на данный момент из личных
кабинетов и из приложения; процесс приема новых ответовХ из личных кабинетов и из приложения не
прерывается – они по мере поступления идут в бд сайта). Пока формат вывода объявлений оставить как в
reclam_page. Если квартир более 10 – остальные выводить ниже, пока не закончатся все заявленные. Каждые 10
квартир выводить по мере пролистывания предыдущих 10 (вывели 10, листаем до конца страницы=до конца 10
объявлений, потом выводим/отображаем следующие 10 объявлений, опять листаем до конца страницы и так
далее; сразу все заявленные не выводить).
При выводе объявлений изменить алгоритм вывода цены (в reclam_page). По умолчанию выводится текущая
цена, заданная в бд сайта для текущей квартиры. Однако, если владельцами при формировании ответа такая цена
была изменена, тогда выводить ту цену, которая была установлена им в ответе.
В момент окончания для активной заявки таймера (10 мин. с момента успешного прохождения капчи) прием
ответовХ в бд сайта из личных кабинетов и из приложения следует прекратить. Имеем итоговый ответ для заявки.
Такая заявка более нигде не активна (не должна более отображаться в личных кабинетах владельцев) и
приложение более не должно передавать в бд сайта поступающие на нее ответыХ (если таковые еще будут
поступать; запоздавшие ответы игнорировать/удалять).
Одновременно в центр экрана на полупрозрачном затемненном фоне вывести сообщение «Обработка
вашей заявки завершена. Всего найдено Х квартир.» (даже если пользователем ранее уже нажималась кнопка
«Проверить заявку прямо сейчас»). Х – общее кол-во квартир (их ИД), полученных при формировании ответа на
заявку.
Ниже вывести кнопки:
- «Показать все варианты»: по сути она просто обновляет страницу http://квартирант.онлайн/123/ответ, на
которую выводит все поступившие для заявки 123 за 10 минут ответыХ (также по 10 штук с последующим
«подтягиванием» следующих 10);
- «Показать только новые»: выводит только те квартиры, ответыХ о которых попали в бд в интервал времени с
момента нажатия на кнопку «Проверить прямо сейчас» до момента окончания приема ответов (10 мин.). Эта
кнопка появляется только в том случае, если одновременно выполняется 2 условия: ранее нажималась кнопка
«Проверить прямо сейчас» и есть вновь поступившие ИД;
- «Новая заявка» - производится возврат на главную страницу с формой для заполнения в центральной части.
Если по ответамХ получилось 0 квартир (Х=0), тогда выводить только 1 кнопку – «Новая заявка».
В reclam_page для каждого объявления сделать кнопку «Заказать» (пока воспользоваться текущей
«Просмотр квартиры»). При нажатии на нее поверх сайта выводится полупрозрачный фон с системным
сообщением в формате: «Вы действительно хотите заехать ХХ.ХХ.ХХ в ХХ:ХХ в квартиру по ул. Х д. Х за Х руб./сут.?».
Значения беруться из бд сайта из самой заявки. Например: «Вы действительно хотите заехать 15.02.15 в 15:00 в
квартиру по ул. Ленина д. 1 за 1500 руб./сут.?».
Ниже кнопки:
- «Да»: реализуется оформление и отправка заказа;
- «Отмена»: производится возврат к этапу просмотра результатов поиска (к тому же месту страницы
http://квартирант.онлайн/123/ответ, в котором была нажата кнопка «Заказать»).
При оформлениии заказа бд сайта передает следующую инфу в приложение (в JSONе):
- телефон владельца выбранной квартиры;
- телефон клиента, заполнявшего заявку;
- адрес выбранной квартиры;
- дату и время заезда;
- стоимость проживания.
Одновременно у данного владельца производится списание средств с его лицевого счета. Списание
производится согласно тарифу, задаваемому в админке (требуется создать такую редактируемую таблицу с
названием тарифа и его ставки). Списание производится путем минусования от текущей суммы на лицевом счете
ставки за заявку. Окно с текущим остатком на лицов счете владельца отображать в его личном кабинете в самом
низу. Пока оставить ручное редактирование данного остатка.
После передачи такой инфы исполненная заявка становится заказом и сохраняется в архиве в бд сайта (архив
– сделать новую таблицу, в которой сохранять только фактически выполненные заявки – те, по которым прошел
обмен контактами и списание; по сути является дублем основной базы заявок, но организованная более просто –
минимальное кол-во полей – они будут описаны ниже). Далее потребуется для внутренней статистики.
По факту получения инфы из бд сайта приложение производит отправку 2-х уведомлений в формате:
- владельцу квартиры: «Клиент на ул. Х д. Х на ХХ.ХХ.ХХ в ХХ:ХХ на Х дн. по Х руб./сут. Телефон: +79ХХ-ХХХ-ХХ-ХХ.»,
телефон – это номер клиента;
- клиенту: «Позвоните сейчас на +79ХХ-ХХХ-ХХ-ХХ и подтвердите заказ квартиры по ул. Х д. Х на ХХ.ХХ.ХХ в ХХ:ХХ.
Без Вашего звонка заказ не действителен. Не забудьте уточнить Условия заселения и Правила проживания.».
1/--страниц
Пожаловаться на содержимое документа