реализуем Сайт для вписок с КАРТОЙ и ФАЙЛОМ-списком хостов на базе OSM

АКТУАЛЬНОСТЬ ПРОБЛЕМЫ

В настоящее время все сайты для вписок общего назначения - http://www.bewelcome.org , https://www.trustroots.org, http://globalfreeloaders.com , http://hospitalityclub.org , http://www.couchsurfing.com , а также специалированный https://www.warmshowers.org , на котором удаляют профили не-велосипедистов - имеют несколько фатальных дефектов:
*) не отправляют самостоятельно запросы хостерам на основе траектории, которую путешественник мог бы сохранять
*) не генерируют файл для путешественника с номерами телефонов и адресами хостов, согласных его принять, копируя их из скрытой информации, которая могла бы храниться в каждом профиле
*) допускают отправку запроса только что зарегистрировавшемуся юзеру, что ведет к потере трафика (и времени путешественника - при ручной отправке) - ведь почти все регистрируются, чтобы причаститься к сообществу путешенсвенников, сами не путешествуя и не принимая

.

ЗАПРОСЫ НА ВПИСКУ

Объявление о поиске вписки задается как траектория (ломаная) на карте, которая извещает хостеров всех населенных пунктов, через которые проходит - а не только живущих в населенных пунктах в узлах ломаной (путешественник может иметь несколько активных, т.е. запрашивающих хосты, траекторий, чтобы иметь возможность переключаться между ними). До тех пор, пока хостер не внес в своем профиле АДРЕС, под которым будем понимать строку “страна, область/провинция, город, улица, номер дома” (может быть более 5 уровней вложенности, т.е. наименований, в строке), а также СУФФИКС - свои сотовые телефоны, номер квартиры, код в подъезде, в котором нет домофона (адрес демонстрируется в профиле, суффикс - нет, но оба они попадают в файл), он не идентифицируется системой как способный принимать. Если внес, не выключил “согласен принять”, если через него проведена траектория, то увидит сообщение, когда залогинится, если не логинился последний МЕСЯЦ, и кроме того письмо по электронной почте, если логинился в течение последнего месяца. Также должны быть реализованы одиночный запрос в некоторый профиль и множественный в несколько с рассылкой по емайл как на http://globalfreeloaders.com , чтобы отправлять тем, кто давно не заходил на сайт, и если кто-нибудь в данной местности вообще согласится принять, проложить через них траекторию. И одиночный, и множественный запросы сразу создают “точечное” объясление для этого населенного пункта. Кроме того, на карте отображаются сами потенциальные хостеры КОРИЧНЕВЫМИ кружочками, чтобы по карте ориентироваться в местностях, где хостеры редки, причем при рассмотрении карты при малом увеличении, т.е. при большом масштабе, хостеры группируются в кластеры, как это сделано на https://www.warmshowers.org

Войдя на сайт и согласившись на прием, его идентификатор копируется в профиль путешественника для генерации .xls-файла (в реальности - .html-файл со строчкой в заголовке, заставляющей открывать его по клику в Excel), который путешественник затем скачивает из собственного профиля. Если хостер меняет АДРЕС или СУФФИКС, или удаляет профиль, или еще один хостер готов принять, путешественник получает письмо по емайл с оповещением скачать файл для такой-то траектории еще раз. Сервер опускает перпендикуляр из населенного пункта хостера на ближайший отрезок траектории, и выводит хостеров в файл в порядке следования по траектории этих мест пересечения: таким образом траектория есть ломаная, имеющая направление. Кроме того, в отдельный список сервер включает все хосты, не вошедшие ни в одну из траекторий.

Превращение какого-либо звена ломаной в два, или двух в один, т.е. добавление или удаление узла ломаной, должно выполняться также, как на сайте http://www.gpsies.com с тем изменением, что клик на узле ломаной, конечно же, удаляет его из ломаной и спрямляет два звена в один, но не удаляет узел с карты - он остается, чтобы использовать ее в другой траектории или добавить в конец этой (для этого кликнув на сегменте, сделать активной данную ломаную, а затем кликнуть на одиночном “узле”). Для удаления одиного “узла” его нужно кликнуть второй раз. Все узлы (как в составе траекторий, так и вне) отображаются ТЕМНО-ЗЕЛЕНЫМИ кружочками, цвет которых пользователь может изменить на КРАСНЫЙ, если узел обозначает нечто, что нужно посетить, например, объект, охраняемый ЮНЕСКО.

Каждый сегмент ломаной отображается на карте два раза разными цветами - один раз как ТЕМНО-ЗЕЛЕНЫЙ отрезок, второй раз как СВЕТЛО-ЗЕЛЕНАЯ (салотовая) кривая из множества прямых линий, найденных как маршрут A-B на http://maps.google.com . Сервер ищет хосты, проходящие через светло-зеленую, реальную траекторию. Путешественник для каждого темно-зеленого сегмента ломаной может указать ее ширину в каждую (!) сторону - по умолчанию 15км, что означает максимальное расстояние от светло-зеленой (!) кривой до хоста, не большее 15км, которые возможно пройти пешком за 3 часа. Каждый хостер в своем профиле указывает на карте свой дом СВЕТЛО-ЗЕЛЕНЫМ кружочком, центр населенного пункта - ТЕМНО-ОРАНЖЕВЫМ, конец населенного пункта для вычисления его радиуса - СВЕТЛО-ОРАНЖЕВЫМ: первое для вписчика, второе и третье - для сервера чтобы узнать, какие населенные пункты накрывает реальная траектория (раз автор настоящего тех.проекта ехал на машине вбок до ближайшей вписки 300км). Для такоего узнавания берется геометрический центр темно-оранжевых и среднее медианное вычисленных радиусов (каждый радиус на основе отдельной пары темно-оранжевый - светло-оранжевый).

Хостеры, живущие в провинциальных городках и деревнях, часто указывают вместо них ближайший крупный город как свое местоположение - чем заставляют понадеяться на наличие хоста там, где его нет, и не дают найти хост в дикой местности, где он есть. Поэтому не только хостер указывает свой дом на карте светло-зеленым кружочком, но и посетившие его вписчики ТЕМНО-СИНИМ кружочком для всех и потенциальные вписчики, которых он согласился принять, СВЕТЛО-СИНИМ (голубым) кружочком сами для себя обозначают его местоположение - совокупность темно-синих, светло-зеленого и светло-синего кружочков в дальнейшем будем называть САЛЮТОМ. Светло-синий превращается в темно-синий, когда юзер напишет на хостера отзыв. По множеству темно-синих для данного хоста потенциальные вписчики сами для себя решают, где же на самом деле он находится. Для сортировки для .xls-файла берется светло-синий, при ее отсутствии - светло-зеленый, а при отсутствии и последнего - геометрический центр темно-синих. Если улица и номер дома у хостера не заданы, светло-зеленый кружочек становится размером с весь населенный пункт - чтобы потенциальный вписчик сразу видел, что имеет дело с невротиком и потенциально проблемным хостером (или - в слаборазвитых странах, где в адрес часто не входит номер дома, а иногда даже и улица - что ему возможно придется пересечь весь населенный пункт, и сразу прикидывал расстояние). Путешественник может в любой момент начертить еще одну траекторию через темно-зеленые узлы (как в составе траекторий, так и вне) и светло-зеленые хосты.

.

В список потенциальных хостеров, находящихся внутри отображаемого куска карты, по умолчанию входят только из той одной страны, территория которой наибольшая на этом куске (т.к. для посещения остальных стран обычно нужны отдельные визы, нужно свободное место в загран.паспорте для штампов). Однако должен предлагаться чекбокс “ВСЕ СТРАНЫ”.

Если потенциальных хостер отказал путешественику, для последнего не важно, по какой причине это произошло - юзер забыл изменить состояние профиля из “могу” в “немогу”, или ему не нравится данный путешественник, или он невротик и боится дать телефоны и адрес в случае, если дата прибытия не указана (например, автор настоящего тех.проекта знает только траекторию, но не момент достижения населенного пункта на ней, т.к. мало того, что путешествует автостопом, так еще и посещает всевозможные тренинги, незапланированные интересности и красивости, незапланированно продлевает беседу до нескольких дней). В любом случае время на юзера уже потрачено, и по умолчанию второй раз в списке хостеров он не выводится. Но должен предлагаться чекбокс “И ОТКАЗАВШИЕ”. Месяцы в датах должны быть заданы их названиями, а не порядковыми номерами, т.к. 03/12/2013 может означать и “03 december 2013”, и “12 march 2013” в зависимости от страны. Даты сервер запоминает для узлов, а тексты обращений - для стран.

По умолчанию также не попадают хосты, на которые путешественник уже написал отзыв, чтобы увеличить круг общения у обеих сторон, в т.ч. дать пораспросить путешественника большему количеству людей. Но должен предлагаться чекбокс “И ХОСТАВШИЕ”.

98% пользователей в каждой стране не путешествуют и никого не принимают (полагают, что регистрации достаточно, чтобы чувствовать себя путешественником). Для каждого профиля подсчитывается “ДОБРОТА” как % принятых просьб вписаться кроме тех из них, которые путешественники затем отклонили + % предложений накормить путешественника без вписки, в т.ч. и тех предложений, которые в дальнейшем отклонили - обычно по причине удаленности (сколько раз потенциальный хостер ответил, в т.ч. отказал, а значит нафлудил, как это подсчитывалось в КС, значения не имеет, а предложение вместе пошататься вообще является желанием похитить время путешественника и часть проплаченной визы).

Хостеры, выдаваемые для определенного участка карты, могут быть отсортированы так, что первыми идут пользователи

  1. недавано зарегистрировавшиеся
  2. наиболее давно зарегистрировашиеся
  3. недавно залогившиеся
  4. с максимальной ДОБРОТОЙ
  5. с максимальным количеством отзывов
  6. с максимальным количеством фотографий (которые загружаются на самом деле сторонние бесплатные сервера, а наш сервер содержит только ссылки на них)
  7. недавно переключившие свой профиль из состояния “не могу вписать” в состояние “могу”.

Ссылки на профили, которые путешественник когда-либо уже открывал, должны отображаться фиолетовым, как если бы он всегда пользовался одним и тем же браузером.

.

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

  1. чекбокс “ТОЛЬКО С МЕСТНЫМ ЯЗЫКОМ”, имеется ввиду, хостер свободно говорит на местном языке, что сервер узнает с одной стороны из перечня языков в профиле, с другой - из хранимых связок “страна-языки” и “провинция-языки” (последнее необходимо, например, для Индии). Названия языков и стран на каждом языке должны выводится в порядке, принятом в данном языке, а не в английском или русском. Языки и страны, уже использовавшиеся в поиске, должны идти первыми, а не в алфавитном порядке.
  2. чекбокс “ТОЛЬКО СО ШКОЛОЙ”, использующий параметр “МЕСТО ОКОНЧАНИЯ ШКОЛЫ” из профилей потенциальных хостеров - параметр в свою очередь задается салютом с адресом.

Если местные негостепримны, можно поискать соотечественников, для чего нужны:

  1. чекбокс “СО-ЯЗЫЧНИК”
  2. чекбокс “СО-ОТЕЧЕСТВЕННИК”, использующий с одной стороны список гражданств из профиля хостера, а с другой - также из его профиля - список стран, граждан которых он считает своими соотечественниками - автор настоящего тех.проекта, например, кроме славян других стран считает таковыми также грузин и таджиков (у чеченцев и дагов и так российское гражданство).

.

ПРИЕМ ВПИСЧИКА

Объявление о поиске вписки от человека с чрезвычайно негостеприимной территории, т.е. той, на которой вписку можно найти только случайно как на вебсайтах, так и обращаясь к людям на улицах и в храмах (ночевка в самих храмах засчитывается в другой графе - это, например, случай Камбоджи), как то Азербайджан, Узбекистан, Лаос, Камбоджия, Сингапур, Бруней, Сочи и Тюркская территория в России (Калмыкия, Алтай, Хакассия, Бурятия, Хабаровск), Ялта на Украине, Кападокия в Турции, северный и центральный Китай, потенциальных хостер, ранее путешествовавший, вероятно не хочет видеть, а еще точнее, он должен быть уведомлен, только если вопрошающий захостал самого потенциального хостера, и последний написал на вопрошающего положительный отзыв.

Объявления из просто негостеприимных регионов, как то Молдавия, Армения, прибрежный и южный Китай, Вьетнам кроме Ханоя, Дананга и Хошимина, Волгоградская и Астраханская области в России, Одесса, Симферополь, Севастополь на Украине, Тбилиси, Кутаиси, Марнеули, Дманиси в Грузии,
Панджакент, Душанбе, Ишкашимская долина в Таджикистане, должно доставляться потенциальному хостеру, только если вопрошающий сам принял на ночлег большое количество людей (имеет от них положительные отзывы на вебсайте), и тем спасот неприятного времяпровождения под открытым небом (автостоп в северном Китае настолько плох, что автору настоящего тех.проекта пришлось зимой ночевать между городами на сельхоз.поле на снегу при -17 по Цельсию и сильном ветре).

Таким образом юзер должен иметь возможность к любой стране, провинции, городу (а это разные уровни географической иерархии), для любого многоугольника (ПОЛИГОНА), заданного мышью на карте (например, части китайских провинций вдоль побережья более гостеприимны, чем более удаленные от моря) прикрепить два числа, скрытые от других пользователей:

  1. ПРИЕМНОСТЬ (может быть положительным, нулем, меньше нуля). Далее количество положительных отзывов от вписчиков будем называть ПОВ. Сервер вычисляет ДРУЖЕЛЮБИЕ = ПОВ*ДОБРОТА+ПРИЕМНОСТЬ, и демонстрирует профиль хостера как “не могу хостать” там вопрошающим, у которых ДРУЖЕЛЮБИЕ меньше нуля.
  2. ГЕМОРОЙНОСТЬ (только положительное число, измеряется в %). Сервер демонстрирует “не могу хостать” тем вопрошающим, у которых количество отрицательных (!) отзывов с какой-либо территории меньше общего количества отзывов с этой территории, умноженного на ГЕМОРОЙНОСТЬ. Т.е. если путешественник, посетивший хосты на данной территории, не имеет (достаточного количества) отрицательных отзывов, значит он - приспособленец, не пишущий отрицательные отзывы о других, не предупреждающий других путешественников, каких хостов избегать и к каким стремиться на данной территории. Сервер в самом отзыве запоминает не только идентификаторы двух пользователей, но и населенный пункт, указанный в тот момент у хостера.

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

Также юзер должен иметь возможность установить значение скрытого от других параметра ГОСТЕПРИИМНОСТЬ, параметр один для всех планеты, и если ДРУЖЕЛЮБИЕ вопрошающего или проходящего через его населенный пункт больше, сервер присылает юзеру специальное уведомление, что это - путешественник из региона в высокой ПРИЕМНОСТЬЮ (автор настоящего тех.проекта был у национальностей, где мог переночевать в любом доме, и спрашивал у местных не где можно переночевать, а где меньше пьют), или сам путешественник - хороший человек, редко отказывает, редко соглашается только для видимости, т.е. его согласие редко отклоняют.

.

ОБЪЯВЛЕНИЯ

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

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

Запрос, отправленный одному потенциальному хостеру, автоматически создает объявление для всех хостеров. Но должен быть и чекбокс “ПЕРСОНАЛЬНОЕ”.

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

Наконец, все поля на странице в браузере должны иметь две подписи: ЧЕРНЫМ - легенду, т.е. предназначение, СЕРЫМ - техническое имя в базе данных, дабы юзер имел возможность задать конструкцию WHERE языка программирования SQL и сохранить ее в своем профиле, например, под названием where1 и использовать в выражениях типа “where1 or where2”.

.

ПУТЕШЕСТВИЕ

Следующие поля ввода должны быть в профиле потенциального хостера, и быть видимыми для всех:

часть “A1”:
1.1) САЛЮТ, АДРЕС - потому что некоторые мегаполисы имеют размер целой провинции, и без точного адреса непонятно, куда предстоит ехать, или где выпрыгивать из кабины автостопщику, а также потому, что разные улицы в одном городе могут иметь одинаковые имена, например, в Грузии, Армении
1.2) чекбокс, указывающий, что данный дом находится в СТУДЕНЧЕСКОМ ГОРОДКЕ (так что не факт, что вы там отдохнете из-за шума или музыки)
1.3) чекбокс, указывающий, что это - ОБЩЕЖИТИЕ (и соответственно проблемы на вахте; в некоторых странах живут и не в общежитии, но на территории студ.городка)
1.4) знак “~” и название ближайшего к хостеру, но известного всем местным РЫНКА, СУПЕР-МАРКЕТА, ШКОЛЫ, ФАКУЛЬТЕТА УНИВЕРСИТЕТА, ГОСПИТАЛЯ, ТЕАТРА, ОПЕРЫ, на худой конец - БАНКА

2.1) время, когда хостер или первый из его членов семьи приходит домой, например, 14.00, 18.00, 20.00 - чтобы знать, до какого часа даже невозможно поставить рюкзак
2.2) время, когда хостер идет спать, например, 23:00, 01:00 - чтобы знать, после какого часа хостера не беспокоить

  1. два чекбокса “МОТОЦИКЛ” и “АВТОМОБИЛЬ” в исправном состоянии, что означает, что хостер может забрать путешественника с одного из перекрестков, если последний не найдет дом по адресу самостоятельно

часть “A2”:
1.1 и 1.2) то же самое, только для рабочего места хостера
2) чекбокс, указывающий, может ли вписчик ожидать хостера на рабочем месте последнего
3) чекбокс, есть ли лэптор (с интернетом) на рабочем месте

.

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

часть “B1”, полезная вписчику для распечатывания заранее:

  1. СУФФИКС. В каждой стране население знает только родной язык, и не знает английский. Единственное, чем хостер и вписчик должны обменяться по телефону - это фразы “today yes”, “today no”, “tomorrow yes”, “tomorrow no”
  2. ВСЕ СОТОВЫЕ телефоны хостера и тех, кто с ним живет (родителей, сестер-братьев, друзей-студентов и т.д.) - чтобы позвонить ему за день-два и спросить, может ли захостать (ПРЕД-ЗВОН, PRE-CALL), а потом позвонить в день приезда, и передать трубку (местному) водителю, чтобы хостер на родном языке объяснил тому, где путешественнику лучше всего выходить из машины, чтобы расстояние до дома было наименьшим (ДОМ-ЗВОН, HOME-CALL).

часть “B2”, полезная вписчику для использования на лэптопе:

  1. ВСЕ ЕМАЙЛЫ хостера и тех, с кем он живет, а также национальные чаты вроде http://vk.com (Россия), http://QQ.com (Китай) - на случай, если наш сайт будет сделан кривыми руками и обвалится, или будет обвален внешней кибер-атакой (также сервер должен быть способен сгенерировать для юзера файл со всеми отзывами на него - среди них его друзья и товарищи)
  2. любая дополнительная информация, которую хостер считает полезной вписчику

.

Как только новый пользователь зарегистрировался на сайте, его профиль имеет статус “не хостаю”, и должен быть изменен вручную, и с момента изменения уменьшает ДОБРОТУ, если хостер отказывает.

Когда хостер нашимает кнопку “Принять”:
*) если его по крайней мере один сотовый телефон указан,
**) его идентификатор добавляется в профиль путешественника
**) если его адрес указан, или адрес не указан, но он может забрать на автомобиле или мотоцикле; то его ДОБРОТА подсчитывается обычным образом, а ячейка с его телефонами в файле будет с белым фоном
**) если не указаны ни адрес, ни возможность подобрать, то такие согласия входят в ДОБРОТУ не обычным образом, а прибавляются как отдельная группа с коэффициентом 0.1 , а ячейка будет с серым фоном.

Если “Х” - название населенного пункта, а дистанция N между ним и более крупным городом “Y” меньше ширины сегмента траектории, то название населенного пункта зановится в файл как “X Nkm-> Y”, чтобы легче найти на бумажной карте, но порядок сортировки вдоль траектории не изменяется.
Ячейки, содержащие одно и то же название, группируются одним и тем же цветом фона, а группы, в т.ч. только из одной ячейки, имеют поочередно белый или серый фон.

Отдельная колонка содержит “ga q”, где.g=gender может быть m=male или f=female; а=age, q=quantity есть количество положительных и нейтральных отзывов после личного знакомства - чтобы видеть серьездность намерений хостера, а вся строка является гипер-ссылкой на профиль хостера - чтобы еще раз взглянуть, или чтобы написать отзыв, или чтобы отказаться от хоста, а фон белый - если еще не был там, и серый - если там тебя уже хостали (в файл попадают хостеры с “начала времен”).

Колонка с адресом имеет белый фон, если хостер кормил более 75% своих вписчиков (некоторые из них могут просто забыть поставить этот чекбокс в отзыве), и серым - если менее.

Файл может быть сгенерирован для траектории, территории (заданной как страна, или как провинция, или как город, или как улица), для МНОГОУГОЛЬНИКА, на карте. Ответы с телефонами выводятся в окне браузера в порядке увеличения расстояния до текущего местоположения путешественника, т.е. он должен иметь возможность задать таковое вручную, ибо в некоторых странах сервер может быть запрещен, а путешественник выходят в интернет через VPN.

.

ОТЗЫВЫ

ТИП отзыва может быть “хостал, вписывался, путешествовал (вместе), оффлайн (знакомство)”, а для самого ТЕКСТА отзыва должно быть 3 поля ввода - публичный текст, приватный (поле укомплектовано радиобоксами “опять (из-за очень близких отношений, или потому что хостер около погран.перехода), обычно (по умолчанию), никогда больше (хороший человек, но очень тяжелый невротик, т.е. положительный отзыв для него, но снова не навещать - с другой стороны если невротик не будет общаться с более здоровыми людьми, он никогда не станет здоровым)”.

В профиле юзеров ваши отзывы должны демонстрироваться ПЕРВЫМИ и отдельно от остальных отзывов, чтобы не заставлять вас запоминать, были ли вы у этого человека или нет, и чтобы не искать себя в списке. Причем в качестве главной фотографии профиля всегда должна демонстрироваться та, что была таковой в момент написания отзыва, чтобы сразу узнать человека.

Поскольку на сервере невозможно избежать рекламы хостелов (если профиль хостела удалить, сделают еще один - разумнее сохранить профиль, но пометить его), а тупые пользователи пишут положительные отзывы при низкой цене, в то время как нам нужно отличить их как от дорогих, т.е плохих хостелов, так и от действительно бесплатного гостеприимства, в отзыве должен быть чекбокс “ХОСТЕЛ”. Аналогично, поскольку невозможно избежать геев и лесбиянок, ищущих через сервер других геев и лесбиянок, отзыв должен иметь чекбокс “ИЩУЩИЙ СЕКС-ПАРТНЕРА”. Если хостер или вписчик просили ДЕНЕГ, и другая сторона желает это внести в отзыв, то должна быть указана конкретная запрошенная сумма (а другая сторона, соответственно, чтобы иметь моральное право оставить отзыв с этой информацией, должна спросить “сколько же ты хочешь”), что сделает ложь по этому поводу более трудной. Также числом должно быть указано количество часов в день, которые хостер требовал РАБОТАТЬ, если такое было.

Как хостер в личном профиле, так и вписчик в отзыве указывают СПИСОК РЕСУРСОВ с помощью радиобоксов: матрас/кровать, пища, душ, интернет, лэптоп, принтер, приглашение для визы. Кроме того вписчик указывает радиобоксами для каждого конкретного телефона “доступен, недоступен (все время), занят (все время)” (если пожелает указать, обычно телефон только один). Соответственно для каждого хостера по отзывам вписчиков (в которых хотя бы один из элементов списка указан) вычисляется мат.ожидание и отклонение (как сумма модулей разности между значениями, указанными в тот исторический момент) по списку ресурсов - чтобы другие в его профиле видели, насколько аккуратно хостер относится к рассказу о своих возможностях.

Все радиобоксы имеют значение по умолчанию “нет данных”.

Итого пользователь может понять, с кем имеет дело, просто взглянув в профиле на скаляры ДОБРОТА, векторы мат.ожидания и отклонения для СПИСКА РЕСУРСОВ, матрицу с количествами ПОЛОЖИТЕЛЬНЫХ, НЕЙТРАЛЬНЫХ, ОТРИЦАТЕЛЬНЫХ отзывов от ХОСТАВШИХ, ВПИСЫВАЮЩИХСЯ, ПУТЕШЕСТВОВАВШИХ с ним и составивших представление ОФФЛАЙН.

.

БЕЗОПАСНОСТЬ

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

  1. Почтовый сервер http://yandex.ru разлогинивает пользователя через 5 минут без работы, а также позволяет разлогинившись по команде пользователя на одном компьютере, разлогиниться на всех остальных.
  2. Сайт http://hospitalityclub.org разлогинивает юзера после каждых 20 отправленных писем.

Предлаю реализовать обе эти возможности, и кроме того, добавить третью: логин на одном компьютере означает автоматическое разлогинивание на всех остальных.

.

status of hoster’s profile pass the following stages:

NO LOGIN (after request),

(request is) NOT READ,

(button) ACCEPTED (is pressed: phone+ is appended automatically to file of traveller. Phone+ means “phone+address” or “phone+pick up by own vehicle wherever in city” or “phone+address of landmark to pickup”. Idiot’s “bla-bla-bla”, “i will host you” without info above has no sense. “Food, no accomodation” also copied into file).

or “DECLINED”

after call, traveller mark profile by the following, which is both copied in his file, and saved in website:

(phone is) NOT IN SERVICE,

(phone is) NOT AVAILABLE,

(phone is) NOT TAKEN,

(called, but) REJECTED (dont confuse with “declined”),

HOSTED,

all unmarked means “DID NOT CALL”


hoster can decline, only by choosing from the following options:

(i) DONT LIKE (you),

(i) CANNOT IN (this) DATES (if it is occur more then D times [D>3], profile should be marked as BUSY),

SPECIFY (your) DATES (if more DS times [DS>3], profile should be marked as DEMANDING SECURITY),

CANNOT (host.) FOR A WHILE (what automatically change status of profile to “cannot host”. Let’s name cycle, when user change back to “can host”, as REVERSE. Reverses are counted for statistics, and if R>2, profile should be marked visually, and dont used for mass request - as well as LIFELESS profiles, which did not login more LL days [LL>7])


(to all, which status is “yes” instead of “maybe”, and which loginned during last N months)
OR
((to all, signed up during last 3 months) or (switched status to “yes” during last N months))
OR
(to all, for which “% of ‘yes’ for requests” * “% of positive references from travellers” > 2500)
and
(request was never sent to them by this traveller)

traveller choose: N, region

просим присоединяться, друзья.
пока автор сего поста (http://vk.com/dima.turin) не добрался до (западной) россии, можно писать Кеше Чехову http://vk.com/id53240716

Дмитрий, что это?

В первом сообщении еще можно догадаться что это тзшка, но совершенно не понятно зачем она здесь.
А второе? Заготовка для Разбирающей Выражения грамматики?

если вы не против, мы бы здесь пособирали заинтересованных лиц.

на английском - это мелкое описание логики работы за отсутствием rational rose

дмитрию тоже можно писать вконтакте (тем кто хочет присоединиться, прошу даже упомянуть о себе дмитрию), но дмитрий бывает в инете с перерывами

И за какой срок хотите такой сайт реализовать, то есть когда сайт открыть?

Бюджет-то какой? В целом всё просто. Реализуемо. Выкатывайте проект на тендр, платите - сделают.

Автоматизация автостопа , ждем автоматизации диггеров/кавеса. Ужос

Даешь turn-by-turn навигацию в Неглинке :open_mouth: