mirror of
https://github.com/task-17-lct/backend.git
synced 2024-11-23 19:43:43 +03:00
resolve confs
This commit is contained in:
commit
9e02502cb3
61866
data/cities.json
61866
data/cities.json
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
{
|
||||
id:{
|
||||
$oid: str // id объекта коллекции
|
||||
|
@ -81,4 +82,89 @@
|
|||
ya_id: str // Идентификатор города в справочнике на стороне Яндекс
|
||||
сoat_of_arms: list // Герб
|
||||
}
|
||||
=======
|
||||
{
|
||||
id:{
|
||||
$oid: str // id объекта коллекции
|
||||
},
|
||||
dictionary_data: { // собственно наполнение словарей
|
||||
_id: str // нет
|
||||
aliases: list // Псевдонимы
|
||||
cg_images: list // Обложка CityGuide / Alfa travel
|
||||
city: str // идентификатор города
|
||||
country: list // идентификатор страны
|
||||
description: str // описание
|
||||
description_title: str // заголовок
|
||||
external_id: str // внешний идентификатор
|
||||
gallery: list // Галерея изображений
|
||||
geo_data {
|
||||
center_distance: float // расстояние до центра
|
||||
coordinates: [ // Координаты (широта и долгота)
|
||||
#.##, // широта
|
||||
#.## // долгота
|
||||
]
|
||||
type: str // Тип геоданных (по умолчанию: points)
|
||||
}
|
||||
google_place {
|
||||
use_manual_schedule: bool // Использовать google расписание
|
||||
}
|
||||
hp_images: list // HP Картинки
|
||||
icon: [ // Иконка
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
images: [ // Основное изображений
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
import_denied: bool // импорт запрещен
|
||||
is_priority: bool // приоритет
|
||||
list_image: list // идентификаторы и источники файлов изображений
|
||||
on_map: list // Город на карте
|
||||
rating: int // Рейтинг
|
||||
region: str // Регион
|
||||
short_description: str // Краткое описание
|
||||
sort: int // Порядковый номер сортировки
|
||||
source: str // Источник данных
|
||||
timezone: str // часовой пояс
|
||||
title: str // Название
|
||||
title_dative: str // Название в винительном падеже
|
||||
title_genitive: str // Название в родительном падеже
|
||||
travel_line_id: str // Идентификатор города в справочнике на стороне travelline (TravelLine ID)
|
||||
weather_sync: bool // Признак синхронизации погоды
|
||||
working_time: {
|
||||
days: {
|
||||
Mon: {
|
||||
closed: bool // Нерабочий день Понедельник
|
||||
}
|
||||
Tue: {
|
||||
closed: bool // Нерабочий день Вторник
|
||||
}
|
||||
Wed: {
|
||||
closed: bool // Нерабочий день Среда
|
||||
}
|
||||
Thu: {
|
||||
closed: bool // Нерабочий день Четверг
|
||||
}
|
||||
Fri: {
|
||||
closed: bool // Нерабочий день Пятница
|
||||
}
|
||||
Sat: {
|
||||
closed: bool // Нерабочий день Суббота
|
||||
}
|
||||
Sun: {
|
||||
closed: bool // Нерабочий день Воскресенье
|
||||
}
|
||||
}
|
||||
}
|
||||
ya_id: str // Идентификатор города в справочнике на стороне Яндекс
|
||||
сoat_of_arms: list // Герб
|
||||
}
|
||||
>>>>>>> 60a019fcf7e95a63e66b6b0fcbf1495da8a3e8b7
|
||||
}
|
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
{
|
||||
_id:{
|
||||
$oid: str // id объекта коллекции
|
||||
|
@ -124,3 +125,131 @@
|
|||
youtube_videos: list // YouTube ролики
|
||||
}
|
||||
}
|
||||
=======
|
||||
{
|
||||
_id:{
|
||||
$oid: str // id объекта коллекции
|
||||
},
|
||||
dictionary_data: { // собственно наполнение коллекций
|
||||
_id: str // нет
|
||||
aac_images: list // ААЦ Изображения
|
||||
aac_tags: list // AAC Тэги
|
||||
about_booking: str // Дополнительная информация о покупке билета
|
||||
age: str // Возрастное ограничение
|
||||
billing_product_id: int // Идентификатор продукта в биллинге
|
||||
booking_link: str // Ссылка на покупку билета
|
||||
cg_announcement: str // Краткое описание события
|
||||
cg_recommendations: list // CG: Рекомендации членов клуба Prime
|
||||
city: str // id города (справочник cities)
|
||||
creator: str // Кто создал запись
|
||||
description: str // Описание
|
||||
disable_sessionids_autoupdate: bool // Не обновлять автоматически sessionIds
|
||||
discover_moscow_link: str // ссылка на Discover.Moscow
|
||||
duration: str // Продолжительность, мин
|
||||
event_type: str // Тип события
|
||||
galereya: list // Галерея
|
||||
id_izi_travel: str // Идентификатор izi.travel
|
||||
image_detailed_page_main: [ // Главная картинка
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
image_explore_preview: [ // Превью для Explore
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
images: [ // Изображение обложки
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
import_denied: bool // Отклонено модератором
|
||||
information_pages: list // Информационные страницы
|
||||
is_can_buy: bool // Можно купить
|
||||
is_priority: bool // Приоритетное событие
|
||||
link_source: str // Ссылка на источник события
|
||||
parser_source: str // Источник импорта
|
||||
partner: str // Партнер
|
||||
partner_type: str // Тип партнера
|
||||
payment_method: str // Метод покупки
|
||||
place: list // Площадка проведения события (справочник places)
|
||||
pravila-soglasovaniya: bool // Правила согласования
|
||||
purchase_addtitional_info: str // Дополнительная информация к стоимости
|
||||
purchase_method: str // Метод покупки (старый)
|
||||
recommendation_prime: list // City Guide Рекомендации
|
||||
region: str // Регион
|
||||
remote_event_id: str // нет
|
||||
remote_place_id: str // нет
|
||||
restaurants: list // Рестораны проведения события
|
||||
rp_price_id: int // Идентификатор тарифа в биллинге
|
||||
russpass_recommendation: bool // RUSSPASS рекомендует
|
||||
schedule: [ // Расписание
|
||||
{
|
||||
title: str // заголовок
|
||||
start: {
|
||||
$date: str // Дата и время начала
|
||||
},
|
||||
end: {
|
||||
$date: str // Дата и время окончания
|
||||
}
|
||||
}
|
||||
]
|
||||
schedule_description: str // Дополнительная информация к расписанию
|
||||
scheduleUpdatedByPlace: bool // нет
|
||||
sessionId: str // sessionId
|
||||
sessionIds: [ // sessionIds
|
||||
{
|
||||
id: str // id сессии
|
||||
startTime: str // Дата время начала
|
||||
endTime: str // Дата время окончания
|
||||
timezone: str // Временная зона
|
||||
isAllDay: bool // Длитяс ли весь день
|
||||
}
|
||||
]
|
||||
social_buttons: list // Кнопки социальных сетей
|
||||
sort: int // Порядковый номер сортировки
|
||||
tags: list // Тэги
|
||||
tags_main_screen: list // Тэг главного экрана
|
||||
ticket_price: str // Стоимость билета
|
||||
timetable_by_place: [ // Расписание и сессии по площадкам(Yandex Afisha)
|
||||
{
|
||||
placeId: str // id места (справочник places)
|
||||
sessionIds: [
|
||||
{
|
||||
id: str // id сессии
|
||||
startTime: str // Дата время начала
|
||||
endTime: str // Дата время окончания
|
||||
timezone: str // Временная зона
|
||||
isAllDay: bool // Длитяс ли весь день
|
||||
}
|
||||
]
|
||||
schedule: [ // Расписание
|
||||
{
|
||||
title: str // заголовок
|
||||
start: {
|
||||
$date: str // Дата и время начала
|
||||
}
|
||||
end: {
|
||||
$date: str // Дата и время окончания
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
]
|
||||
title: str // Заголовок
|
||||
type_audio_guide: list // Тип аудиогида
|
||||
without_schedule: bool // Событие без расписания
|
||||
ya_id: str // Идентификатор города в справочнике на стороне Яндекс
|
||||
youtube_video_url: str // Ссылка на видео в Youtube
|
||||
youtube_videos: list // YouTube ролики
|
||||
}
|
||||
}
|
||||
>>>>>>> 60a019fcf7e95a63e66b6b0fcbf1495da8a3e8b7
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
|
@ -98,3 +99,105 @@
|
|||
without_schedule: bool // Признак, показывающий, отсутствует расписание у активности: true, false
|
||||
}
|
||||
}
|
||||
=======
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
},
|
||||
dictionary_data: {
|
||||
audioguide: bool // наличие аудиогида
|
||||
campaign: list // id кампании (акции)
|
||||
city: str // идентификатор города
|
||||
description: str // описание
|
||||
duration: str // длительность минуты
|
||||
duration_hours: float // длительность часы
|
||||
duration_string: str // длительность часы
|
||||
event_type: str // тип события
|
||||
excursion_form: str // Способ передвижения
|
||||
excursion_type: str // Тип экскурсии
|
||||
html_file: list // html файл
|
||||
image_detailed_page_main: [ // Главная картинка
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
image_explore_preview: [ // Превью картитнки
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
images: [ // Список изображений
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
import_denied: bool // Отклонено модератором
|
||||
information_pages: list // Информационные страницы
|
||||
is_can_buy: bool // Возможность покупки
|
||||
is_priority: bool // Признак приоритета
|
||||
language: list // Язык проведения
|
||||
min_age: str // Минимальный возраст
|
||||
minGroupCount: str // Минимальное количество группы
|
||||
parser_source: str // Источник импорта
|
||||
partner: str // Партнер
|
||||
partner_logo: list // Логотипы партнёра
|
||||
pravila-soglasovaniya: bool // Правила согласования
|
||||
price: int // Цена от
|
||||
program: str // Программа экскурсий
|
||||
region: str // Регион
|
||||
route: [ // Основные события
|
||||
{
|
||||
title: str // заголовок
|
||||
day_contents: { // события, посещения внутри дня
|
||||
dictionaries: list // Используемые словари
|
||||
selected: [ // события / рестораны и прочие участвующие
|
||||
{
|
||||
id: str
|
||||
active: bool
|
||||
}
|
||||
]
|
||||
active: list // список активностей
|
||||
}
|
||||
events: [ // список событий
|
||||
{
|
||||
title: str
|
||||
images: [
|
||||
{
|
||||
source: {
|
||||
id: str
|
||||
}
|
||||
}
|
||||
]
|
||||
geo_data: {
|
||||
coordinates: []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
russpass_recommendation: bool // Признак значка "RUSSPASS рекомендует" true / false
|
||||
schedule_excursion: str // Расписание проведения экскурсии
|
||||
season_end: date // Дата конца сезона
|
||||
season_start: date // Дата начала сезона
|
||||
short_description: str // Краткое описание экскурсий
|
||||
sort: int // Порядковый номер сортировки
|
||||
tags: list // Тэги дополнительные
|
||||
tags_main_screen: list // Тэг главного экрана
|
||||
title: str // Заголовок
|
||||
tour_composition: [ // Состав экскурсии
|
||||
{
|
||||
title: str
|
||||
list: list
|
||||
}
|
||||
]
|
||||
type_audio_guide: list // Тип аудиогида
|
||||
without_schedule: bool // Признак, показывающий, отсутствует расписание у активности: true, false
|
||||
}
|
||||
}
|
||||
>>>>>>> 60a019fcf7e95a63e66b6b0fcbf1495da8a3e8b7
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
{
|
||||
_id:{
|
||||
$oid: str // id объекта коллекции
|
||||
|
@ -102,3 +103,109 @@
|
|||
title: str // Название
|
||||
}
|
||||
}
|
||||
=======
|
||||
{
|
||||
_id:{
|
||||
$oid: str // id объекта коллекции
|
||||
},
|
||||
dictionary_data: {
|
||||
address: str // адрес отеля
|
||||
arrival_time: str // Время заезда
|
||||
beach_services: list // Список услуг отеля связанных с пляжным отдыхом
|
||||
city: str // Город
|
||||
common_services: list // Список общих услуг отеля
|
||||
departure_time: str // Время выезда
|
||||
description: str // Описание отеля
|
||||
email: str // Контактный email
|
||||
entertainment_services: list // Список услуг отеля связанных с развлечением
|
||||
facility_services: list // Список общих удобств отеля
|
||||
fitness_services: list // Список услуг отеля связанных со здоровьем и красотой
|
||||
geo_data: {
|
||||
center_distance: float // расстояние до центра города
|
||||
coordinates: [ // Координаты (широта и долгота)
|
||||
#.##, // широта
|
||||
#.## // долгота
|
||||
]
|
||||
type: str // Тип координат
|
||||
}
|
||||
google_place: { // информация из Google
|
||||
meta: { // доп информация
|
||||
formatted_address: str // Адрес Google
|
||||
update_time: str // дата и время последнего обновления
|
||||
}
|
||||
}
|
||||
hotel_rooms: { // наличие типов комнат
|
||||
active: list // список активных комнат
|
||||
dictionaries: list // id словаря который описывает комнаты
|
||||
selected: [ // все доступные комнаты
|
||||
{
|
||||
id: str
|
||||
active: bool
|
||||
}
|
||||
]
|
||||
}
|
||||
image_detailed_page_main: [ // Главная картинка
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
image_explore_preview: [ // Превью для Explore
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
images: [ // Изображения
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
import_denied: bool // Отклонено модератором
|
||||
import_denied_reason: str // Причина отклонения модератором
|
||||
integration_id: str // id интеграции
|
||||
meals: list // услуги питания
|
||||
parser_source: str // Условный код внешней системы откуда было загружено событие Yandex Afisha – ya/afisha; infotech – INFOTECH; LeClick– leclick/restaurants; LKP Личный кабинет партнёров
|
||||
partner: str // id партнёра
|
||||
partner_is_not_moderated: bool // Партнёр не проходил модерацию
|
||||
partner_system_type: str // Наименование системы партнера
|
||||
phones: list // Контактные телефоны
|
||||
region: str // Регион
|
||||
rooms: [ // Список объектов содержащий информацию о номерах
|
||||
{
|
||||
name: str // Название комнат
|
||||
description: str // Описание комнат
|
||||
images: list // Изображения комнат
|
||||
integration_id: str // id интеграции
|
||||
rate_plans: [ // Тарифы комнаты
|
||||
{
|
||||
integration_id: str // id интеграции
|
||||
name: str // Наименование тарифа
|
||||
description: str // Описание тарифа
|
||||
currency: str // Валюта тарифа
|
||||
services: list // Услуги тарифа
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
russpass_recommendation: bool // Признак значка "RUSSPASS рекомендует" true / false
|
||||
services: [ // Услуги отеля
|
||||
{
|
||||
name: str // Название услуги
|
||||
description: str // Описание услуги
|
||||
kind: str // Тип услуги
|
||||
mealPlanCode: str // Код услуги питания
|
||||
integration_id: str // id интеграции
|
||||
}
|
||||
]
|
||||
sort: int // Порядковый номер сортировки
|
||||
stars: str // Звёзд отеля
|
||||
time_zone: str // Временная зона
|
||||
title: str // Название
|
||||
}
|
||||
}
|
||||
>>>>>>> 60a019fcf7e95a63e66b6b0fcbf1495da8a3e8b7
|
||||
|
|
757846
data/places.json
757846
data/places.json
File diff suppressed because one or more lines are too long
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
|
@ -275,4 +276,283 @@
|
|||
working_time_description: str // Примечание ко времени работы
|
||||
ya_afisha_id: str // Yandex Afisha ID
|
||||
}
|
||||
=======
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
}
|
||||
dictionary_data: {
|
||||
address: str // адрес места
|
||||
cg_recommendations: list // CG: Рекомендации членов клуба Prime
|
||||
chain: list // Сеть
|
||||
city: list // Город
|
||||
country: list // идентификатор страны (дублирует strana)
|
||||
creator: str // Кто создал запись
|
||||
description: str // Описание места
|
||||
district: list // Список районов из выборки
|
||||
emails: list[str] // Контактные email-ы
|
||||
exter_spot_id: int // Идентификатор площадки в ЕБС
|
||||
external_id: str // id места из внешней системы
|
||||
geo_data: {
|
||||
center_distance: float // расстояние до центра города
|
||||
coordinates: [ // Координаты (широта и долгота)
|
||||
#.##, // широта
|
||||
#.## // долгота
|
||||
]
|
||||
type: str // Тип координат
|
||||
}
|
||||
google_place: { // Google Place
|
||||
meta: {
|
||||
formatted_address: str // Адрес Google
|
||||
international_phone_number: str // Номер телефона
|
||||
place_id: str // id места из внешней системы
|
||||
update_time: str // дата и время последнего обновления
|
||||
vicinity: str // "около"
|
||||
website: str // сайт места
|
||||
}
|
||||
schedule_google: { // Расписание google
|
||||
all: {
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
days: { // Объекты дней недели
|
||||
Sun: { // Воскресенье
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Mon: { // Понедельник
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Tue: { // Вторник
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Wed: { // Среда
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Thu: { // Четверг
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Fri: { // Пятница
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Sat: { // Суббота
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
}
|
||||
}
|
||||
use_manual_schedule: bool // Применять ручное расписание
|
||||
}
|
||||
holding: str // Холдинг
|
||||
hotels_types: list // Тип отеля
|
||||
hp_images: list // HP Изображения
|
||||
image_detailed_page_main: [ // Главная картинка
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
image_explore_preview: [ // Превью для Explore
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
images: [ // Изображения
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
import_denied: bool // Отклонено модератором
|
||||
import_denied_reason: str // Причина отклонения модератором
|
||||
is_showed_in_placeslist: bool // Отображать в списке площадок
|
||||
metro: list // список id станций метро
|
||||
parser_source: str // Условный код внешней системы откуда было загружено событие Yandex Afisha – ya/afisha; infotech – INFOTECH; LeClick– leclick/restaurants; LKP Личный кабинет партнёров
|
||||
partner: list // id партнёра
|
||||
partner_subtype: list // Подтип партнера ПП
|
||||
partner_system: list // Партнерская система
|
||||
partner_type: str // Тип партнера
|
||||
phones: list // Контактные телефоны
|
||||
place_note: str // Доп информация
|
||||
post_code: str // Почтовый индекс
|
||||
pravila-soglasovaniya: bool // Правила согласования
|
||||
privileges_prime: list // Привилегии Prime
|
||||
promo: list // Условный код промо слова
|
||||
region: str // Регион
|
||||
remote_place_id: str // нет
|
||||
route_description: str // Описание для пути, проходящего
|
||||
short_title: str // Короткое название
|
||||
sites: list // web сайты
|
||||
sort: int // Порядковый номер сортировки
|
||||
source: str // Источник данных
|
||||
strana: list // идентификатор страны (дублирует country)
|
||||
tags: list // Тэги дополнительные
|
||||
tags_main_screen: list // Тэги главного экрана
|
||||
testovaya-ploshadkakf: str // Тестовая площадкаКФ
|
||||
tet: { // Тет
|
||||
coordinates: list
|
||||
}
|
||||
title: str // Название
|
||||
type_audio_guide: list // Тип аудиогида
|
||||
working_time: { // График работы площадки
|
||||
all: {
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
days: { // Объекты дней недели
|
||||
Sun: { // Воскресенье
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Mon: { // Понедельник
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Tue: { // Вторник
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Wed: { // Среда
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Thu: { // Четверг
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Fri: { // Пятница
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Sat: { // Суббота
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
}
|
||||
}
|
||||
working_time_description: str // Примечание ко времени работы
|
||||
ya_afisha_id: str // Yandex Afisha ID
|
||||
}
|
||||
>>>>>>> 60a019fcf7e95a63e66b6b0fcbf1495da8a3e8b7
|
||||
}
|
18432
data/regions.json
18432
data/regions.json
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
|
@ -51,4 +52,59 @@
|
|||
url: str // Официальный адрес сайт региона/ОИВа
|
||||
сoat_of_arms: list // Герб (аналог: coat_of_arms)
|
||||
}
|
||||
=======
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
}
|
||||
dictionary_data: {
|
||||
city: list // Список городов
|
||||
coat_of_arms: list // Герб (аналог: сoat_of_arms)
|
||||
code_ott_avia_from: str // Код региона откуда (города) в onetwotrip для авиабилетов
|
||||
code_ott_avia_to: str // Код региона куда (города) в onetwotrip для авиабилетов
|
||||
code_ott_rzd_from: str // Код региона откуда (города) в onetwotrip жд билетов
|
||||
code_ott_rzd_to: str // Код региона куда (города) в onetwotrip жд билетов
|
||||
country: str // Страна
|
||||
description: str // Детальное описание
|
||||
description_title: str // Заголовок детального описания
|
||||
external_id: str // Внешний ID
|
||||
gallery: list // Галерея изображений
|
||||
icon: [ // Иконка
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
images: [ // Основное изображение
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
import_denied: bool // Отклонено модератором
|
||||
map_info: str // Информация для карты
|
||||
on_map: [ // Регион на карте
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
price_hotel: int // Цена билета за ночь (отель)
|
||||
short_description: str // Краткое описание
|
||||
showcase_cards: list // Активности на витрине региона
|
||||
showcase_description: str // Описание на витрине региона
|
||||
sort: int // Порядковый номер сортировки
|
||||
time_zone: list // Часовой пояс
|
||||
title: str // Заголовок
|
||||
title_accusative: str // Название в винительном падеже
|
||||
title_dative: str // Название в дательном падеже
|
||||
title_genitive: str // Название в родительном падеже
|
||||
travel_line_id: str // TravelLine ID
|
||||
url: str // Официальный адрес сайт региона/ОИВа
|
||||
сoat_of_arms: list // Герб (аналог: coat_of_arms)
|
||||
}
|
||||
>>>>>>> 60a019fcf7e95a63e66b6b0fcbf1495da8a3e8b7
|
||||
}
|
261894
data/restaurants.json
261894
data/restaurants.json
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
|
@ -285,4 +286,293 @@
|
|||
}
|
||||
working_time_description: str // Примечание ко времени работы
|
||||
}
|
||||
=======
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
}
|
||||
dictionary_data: {
|
||||
_id: str // нет
|
||||
address: str // Адрес
|
||||
avg_price_level: str // Уровень цен
|
||||
avg_time_visit: int // Среднее время посещения, мин
|
||||
bill: int // Средний чек
|
||||
can_reserve: bool // Доступен для бронирования
|
||||
cg_recommendations: list // Рекомендации членов клуба Prime
|
||||
chain: list // Сеть
|
||||
children: list // Дети
|
||||
city: list // Город
|
||||
country: list // Страна
|
||||
cuisines: list // Кухни
|
||||
description: str // Описание
|
||||
district: list // Район
|
||||
emails: list // Электронные почты
|
||||
external_id: str // Внешний ID
|
||||
external_status: int // нет
|
||||
geo_data: {
|
||||
center_distance: float // расстояние до центра города
|
||||
coordinates: [ // Координаты (широта и долгота)
|
||||
#.##, // широта
|
||||
#.## // долгота
|
||||
]
|
||||
type: str // Тип координат
|
||||
}
|
||||
google_place: { // Google Place
|
||||
meta: {
|
||||
formatted_address: str // Адрес Google
|
||||
international_phone_number: str // Номер телефона
|
||||
place_id: str // id места из внешней системы
|
||||
update_time: str // дата и время последнего обновления
|
||||
vicinity: str // "около"
|
||||
website: str // сайт места
|
||||
}
|
||||
schedule_google: { // Расписание google
|
||||
all: {
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
days: { // Объекты дней недели
|
||||
Sun: { // Воскресенье
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Mon: { // Понедельник
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Tue: { // Вторник
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Wed: { // Среда
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Thu: { // Четверг
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Fri: { // Пятница
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Sat: { // Суббота
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
}
|
||||
}
|
||||
use_manual_schedule: bool // Применять ручное расписание
|
||||
}
|
||||
guides: list // Гиды
|
||||
holding: str // Холдинг
|
||||
hp_images: list // Изображения Hotel Prime
|
||||
icons: [ // Тэги ресторана (Особенности)
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
image_detailed_page_main: [ // Главная картинка
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
image_explore_preview: [ // Превью для Explore
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
images: [ // Изображения
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
images360: list // 360 изображения
|
||||
import_denied: bool // Отклонено модератором
|
||||
menu_type: list // Тип меню
|
||||
metro: list // Метро
|
||||
parser_source: str // Источник импорта
|
||||
partner: str // Партнер
|
||||
partner_subtype: list // Подтип партнера ПП
|
||||
partner_type: list // Тип партнера
|
||||
phones: list // Телефоны
|
||||
post_code: str // Почтовый индекс
|
||||
promo: list // Промоакции
|
||||
rating_prime: str // Рейтинг Prime
|
||||
region: str // Регион
|
||||
remote_id: str // ID Ресторана
|
||||
remote_status: int // нет
|
||||
rest_id: str // нет
|
||||
rest_services: list // Услуги ресторанов
|
||||
route_description: str // Как добраться
|
||||
russpass_recommendation: bool // RUSSPASS рекомендует
|
||||
short_description: str // Краткое описание
|
||||
showcase_filter: list // Фильтрация по витринам
|
||||
sites: list // web сайты
|
||||
sort: int // Порядковый номер сортировки
|
||||
source: str // нет
|
||||
subcategories: list // Подкатегория
|
||||
tags: list // Тэги основные (фильтр)
|
||||
tags_main_screen: list // Тэг главного экрана
|
||||
title: str // Название
|
||||
type_audio_guide: list // Тип аудиогида
|
||||
working_time: { // График работы площадки
|
||||
all: {
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
days: { // Объекты дней недели
|
||||
Sun: { // Воскресенье
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Mon: { // Понедельник
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Tue: { // Вторник
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Wed: { // Среда
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Thu: { // Четверг
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Fri: { // Пятница
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
Sat: { // Суббота
|
||||
breaks: [ // перерывы
|
||||
{
|
||||
startTime: str // время начала перерыва
|
||||
endTime: str // время конца перерыва
|
||||
}
|
||||
]
|
||||
closed: bool // Закрыта ли на целый день активность или нет; true - закрыто
|
||||
endTime: str // Время окончания работы
|
||||
startTime: str // Время начала работы
|
||||
}
|
||||
}
|
||||
}
|
||||
working_time_description: str // Примечание ко времени работы
|
||||
}
|
||||
>>>>>>> 60a019fcf7e95a63e66b6b0fcbf1495da8a3e8b7
|
||||
}
|
672
data/routes.json
672
data/routes.json
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
[
|
||||
{
|
||||
"_id": {
|
||||
|
@ -667,4 +668,675 @@
|
|||
"title": "St.-Petersburg CityPass на 2 дня"
|
||||
}
|
||||
}
|
||||
=======
|
||||
[
|
||||
{
|
||||
"_id": {
|
||||
"$oid": "63ce792cb792256419d55e28"
|
||||
},
|
||||
"dictionary_data": {
|
||||
"type_audio_guide": [],
|
||||
"region": "5d08e36dad3a9a001701b95b",
|
||||
"information_pages": [
|
||||
"5ed7a8a9070b700019e2d3cc",
|
||||
"5ed7aaed7437c000194f1972"
|
||||
],
|
||||
"image_explore_preview": [
|
||||
{
|
||||
"source": {
|
||||
"id": "63ce70b1b792256419d51be2"
|
||||
}
|
||||
}
|
||||
],
|
||||
"image_detailed_page_main": [],
|
||||
"tags_main_screen": [
|
||||
"5e4aa3aca7edd0687c4688e1"
|
||||
],
|
||||
"rp_price_id": 39665,
|
||||
"images": [
|
||||
{
|
||||
"source": {
|
||||
"id": "63ce7095b792256419d51b90"
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": {
|
||||
"id": "63ce7099b792256419d51b94"
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": {
|
||||
"id": "63ce709db792256419d51ba7"
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": {
|
||||
"id": "63ce70a2b792256419d51baa"
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": {
|
||||
"id": "63ce70a6b792256419d51bbf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": {
|
||||
"id": "63ce70a9b792256419d51bca"
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": {
|
||||
"id": "63ce70adb792256419d51bd8"
|
||||
}
|
||||
}
|
||||
],
|
||||
"route": {
|
||||
"dictionaries": [
|
||||
"5a673061e97c730010ac6281"
|
||||
],
|
||||
"selected": [
|
||||
{
|
||||
"id": "5f146cfa448801001847422d",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5f2bfb47a0eff200185761cc",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e67af0ea4ba9e001a93240f",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561a45826e00001944d0ee",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561770826e00001944d02c",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5619e8826e00001944d0d0",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5617c6826e00001944d042",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5619a6826e00001944d0c2",
|
||||
"active": true
|
||||
}
|
||||
],
|
||||
"active": [
|
||||
"5f146cfa448801001847422d",
|
||||
"5f2bfb47a0eff200185761cc",
|
||||
"5e67af0ea4ba9e001a93240f",
|
||||
"5e561a45826e00001944d0ee",
|
||||
"5e561770826e00001944d02c",
|
||||
"5e5619e8826e00001944d0d0",
|
||||
"5e5617c6826e00001944d042",
|
||||
"5e5619a6826e00001944d0c2"
|
||||
]
|
||||
},
|
||||
"description": "Moscow CityPass Express ― это новый формат карты гостя столицы. В ее стоимость включены увлекательные экскурсии и бесплатное посещение интереснейших мест города, а срок действия составляет целых 30 дней. Туристы смогут познакомиться с главными достопримечательностями Москвы во время путешествия на двухэтажном автобусе, побывать на стадионе «Лужники» и прокатиться по канатной дороге, полюбоваться панорамными видами на мегаполис со смотровой площадки в сталинской высотке, прогуляться по «Зарядью» в компании гида и посетить музеи, которые известны на весь мир. Получить карту Moscow CityPass Express можно в Музее советских игровых автоматов.\n",
|
||||
"sort": 60,
|
||||
"time": "90",
|
||||
"packet_price": 5100,
|
||||
"route_tags": [],
|
||||
"city": "5bbe8a8a9e7fcb000f78a92d",
|
||||
"import_denied": false,
|
||||
"title": "Moscow CityPass Express"
|
||||
}
|
||||
},
|
||||
{
|
||||
"_id": {
|
||||
"$oid": "5e58fffb7849960019a7e18a"
|
||||
},
|
||||
"dictionary_data": {
|
||||
"is_priority": false,
|
||||
"is_can_buy": false,
|
||||
"type_audio_guide": [],
|
||||
"region": "5d08e36dad3a9a001701b95b",
|
||||
"information_pages": [
|
||||
"5ed7a8a9070b700019e2d3cc",
|
||||
"5ed7aaed7437c000194f1972"
|
||||
],
|
||||
"short_description": "Пластиковая смарт карта Moscow CityPass откроет двери всех главных достопримечательностей столицы! ",
|
||||
"image_explore_preview": [
|
||||
{
|
||||
"source": {
|
||||
"id": "623982ee994c9997315b6917"
|
||||
}
|
||||
}
|
||||
],
|
||||
"image_detailed_page_main": [
|
||||
{
|
||||
"source": {
|
||||
"id": "705a663b-41c4-430f-abf9-814f493c0c52",
|
||||
"avg": "rgba(125, 136, 148, 0.4)"
|
||||
}
|
||||
}
|
||||
],
|
||||
"tags_main_screen": [
|
||||
"5e4aa3aca7edd0687c4688e1"
|
||||
],
|
||||
"billing_product_id": 3507,
|
||||
"rp_price_id": 6301,
|
||||
"images": [
|
||||
{
|
||||
"source": {
|
||||
"id": "635fce9512bcf2bb9a7508b9"
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": {
|
||||
"id": "635fce9912bcf2bb9a7508d3"
|
||||
}
|
||||
}
|
||||
],
|
||||
"route": {
|
||||
"active": [
|
||||
"5e561615826e00001944cfe2",
|
||||
"5e561627826e00001944cfe6",
|
||||
"5e561760826e00001944d027",
|
||||
"5e561768826e00001944d029",
|
||||
"5e561770826e00001944d02c",
|
||||
"5e561784826e00001944d030",
|
||||
"5e561815826e00001944d067",
|
||||
"5e56181d826e00001944d069",
|
||||
"5e56193a826e00001944d0ac",
|
||||
"5e5617b9826e00001944d03e",
|
||||
"5e5617e5826e00001944d04b",
|
||||
"5e561800826e00001944d05e",
|
||||
"5e5617c6826e00001944d042",
|
||||
"5e561948826e00001944d0b0",
|
||||
"5e561964826e00001944d0b4",
|
||||
"5e56169d826e00001944cfff",
|
||||
"5e5619ad826e00001944d0c4",
|
||||
"5e5619f0826e00001944d0d2",
|
||||
"5e5619a6826e00001944d0c2",
|
||||
"5e56199a826e00001944d0c0",
|
||||
"5e5618b5826e00001944d08b",
|
||||
"5e561729826e00001944d01c",
|
||||
"5e561950826e00001944d0b2",
|
||||
"5e5619e8826e00001944d0d0",
|
||||
"5e5616b4826e00001944d005",
|
||||
"5e5616ac826e00001944d003",
|
||||
"5e5616a5826e00001944d001",
|
||||
"5e561941826e00001944d0ae",
|
||||
"5e5616e6826e00001944d00f",
|
||||
"5e561636826e00001944cfea",
|
||||
"5e5619d9826e00001944d0cc",
|
||||
"5e5619c4826e00001944d0ca",
|
||||
"5e5619bc826e00001944d0c8",
|
||||
"5e5619b4826e00001944d0c6",
|
||||
"5e56196c826e00001944d0b6",
|
||||
"5e561974826e00001944d0b8",
|
||||
"5e56197b826e00001944d0ba",
|
||||
"5e56198a826e00001944d0be",
|
||||
"5e561898826e00001944d087",
|
||||
"5e56171a826e00001944d017",
|
||||
"5e561982826e00001944d0bc",
|
||||
"5e561a38826e00001944d0ec",
|
||||
"5e561a4e826e00001944d0f0",
|
||||
"5e561759826e00001944d025",
|
||||
"5e561a45826e00001944d0ee",
|
||||
"5e561a5e826e00001944d0f4",
|
||||
"5e561a56826e00001944d0f2",
|
||||
"5e561a26826e00001944d0e8"
|
||||
],
|
||||
"dictionaries": [
|
||||
"5bb51b424390424300d06a41",
|
||||
"5a673061e97c730010ac6281"
|
||||
],
|
||||
"selected": [
|
||||
{
|
||||
"id": "5e561615826e00001944cfe2",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561627826e00001944cfe6",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561760826e00001944d027",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561768826e00001944d029",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5617a2826e00001944d03a",
|
||||
"active": false
|
||||
},
|
||||
{
|
||||
"id": "5e561770826e00001944d02c",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561784826e00001944d030",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561815826e00001944d067",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e56181d826e00001944d069",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e56193a826e00001944d0ac",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5617b9826e00001944d03e",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5617e5826e00001944d04b",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561800826e00001944d05e",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5617c6826e00001944d042",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561948826e00001944d0b0",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561964826e00001944d0b4",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e56169d826e00001944cfff",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5619ad826e00001944d0c4",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5619f0826e00001944d0d2",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5619a6826e00001944d0c2",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e56199a826e00001944d0c0",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5618b5826e00001944d08b",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561729826e00001944d01c",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561950826e00001944d0b2",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5619e8826e00001944d0d0",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5616b4826e00001944d005",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5616ac826e00001944d003",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5616a5826e00001944d001",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561941826e00001944d0ae",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5616e6826e00001944d00f",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561636826e00001944cfea",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5619d9826e00001944d0cc",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5619c4826e00001944d0ca",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5619bc826e00001944d0c8",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5619b4826e00001944d0c6",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e56196c826e00001944d0b6",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561974826e00001944d0b8",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e56197b826e00001944d0ba",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e56198a826e00001944d0be",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561898826e00001944d087",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e56171a826e00001944d017",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561982826e00001944d0bc",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5619e1826e00001944d0ce",
|
||||
"active": false
|
||||
},
|
||||
{
|
||||
"id": "5e561a38826e00001944d0ec",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561a4e826e00001944d0f0",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561759826e00001944d025",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561a45826e00001944d0ee",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561a5e826e00001944d0f4",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561a56826e00001944d0f2",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561a26826e00001944d0e8",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e56162f826e00001944cfe8",
|
||||
"active": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"description": "Пластиковая смарт карта Moscow CityPass откроет двери всех главных достопримечательностей столицы! Экскурсии по суше и воде, проход в музеи без очередей, скидки в ресторанах и 15 поездок на общественном транспорте — и все это бесплатно! В турпакет включены более 40 достопримечательностей и 6 экскурсионных туров разных форматов. Скучать не придется! \n\nИспользуя карту Moscow CityPass, вы можете посетить каждый объект программы, но не более одного раза, в течение срока действия карты (кроме билетов на City Sightseeing Bus. Они бывают нескольких видов на 24, 48 и 72 часа. Вы можете выходить и заходить обратно на любой из остановок неограниченное количество раз в течение срока действия билета).",
|
||||
"sort": 96,
|
||||
"time": "48",
|
||||
"packet_price": 6500,
|
||||
"route_tags": [
|
||||
"5e4fa298d067450019abf839",
|
||||
"5e4f9f18d067450019abf806",
|
||||
"5e4fa278d067450019abf834",
|
||||
"5e4fa0a4d067450019abf81c",
|
||||
"5ec3ee769bee8c001946a9a7",
|
||||
"5ec3ee40bfdeb400197cbe8e"
|
||||
],
|
||||
"city": "5bbe8a8a9e7fcb000f78a92d",
|
||||
"import_denied": false,
|
||||
"title": "Moscow CityPass на 2 дня"
|
||||
}
|
||||
},
|
||||
{
|
||||
"_id": {
|
||||
"$oid": "5e5902357849960019a7e25e"
|
||||
},
|
||||
"dictionary_data": {
|
||||
"type_audio_guide": [],
|
||||
"region": "5d08e36dad3a9a001701b94c",
|
||||
"information_pages": [
|
||||
"5ed7a8a9070b700019e2d3cc",
|
||||
"5f132560448801001846dfc0"
|
||||
],
|
||||
"service_count": null,
|
||||
"activity_count": null,
|
||||
"short_description": "Карта гостя Санкт-Петербурга, ключ к главным достопримечательностям города и не только!",
|
||||
"image_explore_preview": [
|
||||
{
|
||||
"source": {
|
||||
"id": "6351452112bcf2bb9a0c8e7c"
|
||||
}
|
||||
}
|
||||
],
|
||||
"image_detailed_page_main": [
|
||||
{
|
||||
"source": {
|
||||
"id": "5f16ea774488010018484d59"
|
||||
}
|
||||
}
|
||||
],
|
||||
"tags_main_screen": [
|
||||
"5e4aa3aca7edd0687c4688e1"
|
||||
],
|
||||
"rp_price_id": 7101,
|
||||
"images": [
|
||||
{
|
||||
"source": {
|
||||
"id": "635fc95f12bcf2bb9a748e5c"
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": {
|
||||
"id": "635fc96412bcf2bb9a748e60"
|
||||
}
|
||||
}
|
||||
],
|
||||
"route": {
|
||||
"active": [
|
||||
"5c1ce09d514196d20547020e",
|
||||
"5e5615db826e00001944cfd2",
|
||||
"5e5615e9826e00001944cfd6",
|
||||
"5e55a62a826e00001944c86c",
|
||||
"5e5e331d2fc00200193460d3",
|
||||
"5e561606826e00001944cfe0",
|
||||
"5e5615ff826e00001944cfde",
|
||||
"5e5e473d2fc00200193461b6",
|
||||
"5e5e531e2fc00200193461f4",
|
||||
"5e5e49822fc00200193461c2",
|
||||
"5e5e4bf42fc00200193461d1",
|
||||
"5e5e561a2fc002001934620c",
|
||||
"5e5e45052fc00200193461a1",
|
||||
"5e55a346b333bd0019d18d2c",
|
||||
"5e5e29d82fc0020019346078",
|
||||
"5e5615e1826e00001944cfd4",
|
||||
"5e5d676d88e8040019cda132",
|
||||
"5e5e42982fc0020019346184",
|
||||
"5e5615f8826e00001944cfdc",
|
||||
"5e5e6903ccb7de00197f8abd",
|
||||
"5e5e5e45ccb7de00197f8aa3",
|
||||
"5e5e6e30ccb7de00197f8aec",
|
||||
"5e590ac47849960019a7e44b",
|
||||
"5e590a777849960019a7e445",
|
||||
"5e57735d2c129400197af134",
|
||||
"5f130fb1448801001846dec8",
|
||||
"5e5e6fe8ccb7de00197f8af3"
|
||||
],
|
||||
"dictionaries": [
|
||||
"5bb51b424390424300d06a41",
|
||||
"5a673061e97c730010ac6281"
|
||||
],
|
||||
"selected": [
|
||||
{
|
||||
"id": "5c1ce09d514196d20547020e",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5e40f22fc0020019346173",
|
||||
"active": false
|
||||
},
|
||||
{
|
||||
"id": "5e5615db826e00001944cfd2",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5615e9826e00001944cfd6",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e55a62a826e00001944c86c",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5e267b2fc002001934603b",
|
||||
"active": false
|
||||
},
|
||||
{
|
||||
"id": "5e5e2e422fc0020019346090",
|
||||
"active": false
|
||||
},
|
||||
{
|
||||
"id": "5e5e30fc2fc00200193460c8",
|
||||
"active": false
|
||||
},
|
||||
{
|
||||
"id": "5e5e331d2fc00200193460d3",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e561606826e00001944cfe0",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5615ff826e00001944cfde",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5e473d2fc00200193461b6",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5e531e2fc00200193461f4",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5e49822fc00200193461c2",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5e4bf42fc00200193461d1",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5e561a2fc002001934620c",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5e218d2fc002001934601a",
|
||||
"active": false
|
||||
},
|
||||
{
|
||||
"id": "5e5e45052fc00200193461a1",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e55a346b333bd0019d18d2c",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5e29d82fc0020019346078",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5615e1826e00001944cfd4",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5d676d88e8040019cda132",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5e42982fc0020019346184",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5615f8826e00001944cfdc",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5e6903ccb7de00197f8abd",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5e5e45ccb7de00197f8aa3",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e59098f7849960019a7e435",
|
||||
"active": false
|
||||
},
|
||||
{
|
||||
"id": "5e5e6e30ccb7de00197f8aec",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e590ac47849960019a7e44b",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e590a777849960019a7e445",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e57735d2c129400197af134",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5f130fb1448801001846dec8",
|
||||
"active": true
|
||||
},
|
||||
{
|
||||
"id": "5e5e6fe8ccb7de00197f8af3",
|
||||
"active": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"description": "St. Petersburg CityPass — это карта гостя Санкт-Петербурга, ключ к главным достопримечательностям города и не только! Комплект состоит из путеводителя с отрывными билетами на двух языках (русский, английский) и карты города. Вас ждет доступ к 23 музеям, 6 увлекательных разноформатных экскурсий и многое другое! Это просто, удобно и экономно! \n\nОбратите внимание, что после приобретения St. Petersburg CityPass, вы получаете путеводитель с отрывными билетами. В течение срока действия CityPass вы можете один раз посетить все музеи и экскурсии (кроме билетов на City Sightseeing Bus. Они бывают нескольких видов на 24, 48 и 72 часа. Вы можете выходить и заходить обратно на любой из остановок неограниченное количество раз в течение срока действия билета). CityPass действует с момента первого прохода в музей, автобус или на борт корабля. Скидками и специальными предложениями можно воспользоваться и после окончания срока действия CityPass!",
|
||||
"sort": 90,
|
||||
"time": "48",
|
||||
"packet_price": 5500,
|
||||
"route_tags": [],
|
||||
"city": "5bbf0e5f729bd4000fe02d5e",
|
||||
"import_denied": false,
|
||||
"pravila-soglasovaniya": false,
|
||||
"title": "St.-Petersburg CityPass на 2 дня"
|
||||
}
|
||||
}
|
||||
>>>>>>> 60a019fcf7e95a63e66b6b0fcbf1495da8a3e8b7
|
||||
]
|
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
|
@ -53,4 +54,61 @@
|
|||
title: str // Заголовок
|
||||
type_audio_guide: list // Тип аудиогида
|
||||
}
|
||||
=======
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
}
|
||||
dictionary_data: {
|
||||
billing_product_id: int // Идентификатор продукта в биллинге
|
||||
city: str // Город
|
||||
description: str // Описание
|
||||
image_detailed_page_main: [ // Главная картинка
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
image_explore_preview: [ // Превью для Explore
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
images: [ // Изображение
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
import_denied: bool // Отклонено модератором
|
||||
information_pages: list // Информационные страницы
|
||||
is_can_buy: bool // нет
|
||||
is_priority: bool // нет
|
||||
packet_price: int // Стоимость пакета
|
||||
pravila-soglasovaniya: bool // Правила согласования
|
||||
region: str // Регион
|
||||
route: { // Маршрут
|
||||
active: list // список активностей
|
||||
dictionaries: list // Используемые словари
|
||||
selected: [ // события / рестораны и прочие участвующие
|
||||
{
|
||||
id: str
|
||||
active: bool
|
||||
}
|
||||
]
|
||||
}
|
||||
route_tags: list // Тэги маршрута
|
||||
rp_price_id: int // Идентификатор тарифа в биллинге
|
||||
short_description: str // Краткое описание
|
||||
sort: int // Порядковый номер сортировки
|
||||
tags_main_screen: list // Тэг главного экрана
|
||||
time: str // Продолжительность, мин
|
||||
title: str // Заголовок
|
||||
type_audio_guide: list // Тип аудиогида
|
||||
}
|
||||
>>>>>>> 60a019fcf7e95a63e66b6b0fcbf1495da8a3e8b7
|
||||
}
|
20990
data/tours.json
20990
data/tours.json
File diff suppressed because one or more lines are too long
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
|
@ -89,4 +90,97 @@
|
|||
tour_type: str // Тип тура
|
||||
type_audio_guide: list // Тип аудиогида
|
||||
}
|
||||
=======
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
}
|
||||
dictionary_data: {
|
||||
city: str // Город
|
||||
complexity: str // Cложность
|
||||
days: int // Количество дней
|
||||
description: str // Описание
|
||||
hotel_stars: str // Звезды отеля
|
||||
image_detailed_page_main: [ // Главная картинка
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
image_explore_preview: [ // Превью для Explore
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
images: [ // Изображения
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
import_denied: bool // Отклонено модератором
|
||||
included: str // В стоимость включено
|
||||
is_can_buy: bool // Можно купить
|
||||
language: str // Язык проведения
|
||||
min_age: str // Возрастное ограничение
|
||||
minGroupCount: str // Группа
|
||||
nights: int // Количество ночей
|
||||
paid_separately: str // Оплачивается дополнительно
|
||||
partner: str // Партнер
|
||||
pravila-soglasovaniya: bool // Правила согласования
|
||||
price: str // Стоимость
|
||||
program: str // Программа
|
||||
region: str // Регион
|
||||
route: [ // Программа тура
|
||||
{
|
||||
title: str // заголовок
|
||||
day_contents: { // события, посещения внутри дня
|
||||
dictionaries: list // Используемые словари
|
||||
selected: [ // события / рестораны и прочие участвующие
|
||||
{
|
||||
id: str
|
||||
active: bool
|
||||
}
|
||||
]
|
||||
active: list // список активностей
|
||||
}
|
||||
events: [ // список событий
|
||||
{
|
||||
title: str
|
||||
images: [
|
||||
{
|
||||
source: {
|
||||
id: str
|
||||
}
|
||||
}
|
||||
]
|
||||
geo_data: {
|
||||
coordinates: []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
russpass_recommendation: bool // RUSSPASS рекомендует
|
||||
season_end: str // Конец сезона
|
||||
season_start: str // Начало сезона
|
||||
short_description: str // Краткое описание
|
||||
sort: int // Порядковый номер сортировки
|
||||
tags: list // Тэги
|
||||
tags_main_screen: list // Тэг главного экрана
|
||||
title: str // Заголовок
|
||||
tour_composition: [ // Состав тура
|
||||
{
|
||||
title: str
|
||||
list: list
|
||||
}
|
||||
]
|
||||
tour_type: str // Тип тура
|
||||
type_audio_guide: list // Тип аудиогида
|
||||
}
|
||||
>>>>>>> 60a019fcf7e95a63e66b6b0fcbf1495da8a3e8b7
|
||||
}
|
29731
data/tracks.json
29731
data/tracks.json
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
|
@ -75,4 +76,83 @@
|
|||
video_link: str // Ссылка на видео
|
||||
video_url_detail: str // Ссылка на видео на странице маршрута
|
||||
}
|
||||
=======
|
||||
{
|
||||
_id: {
|
||||
$oid: str // id объекта коллекции
|
||||
}
|
||||
dictionary_data: {
|
||||
city: str // Город
|
||||
days_count: int // Длительность (дни)
|
||||
description: str // Полное описание
|
||||
duration_hours: int // Общее время прохождения маршрута (часы)
|
||||
image_detailed_page_main: [ // Главная картинка
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
image_explore_preview: [ // Превью для Explore
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
images: [ // Изображения
|
||||
{
|
||||
source: {
|
||||
id: str // id картинки в бд
|
||||
}
|
||||
}
|
||||
]
|
||||
import_denied: bool // Отклонено модератором
|
||||
information_pages: list // Информационные страницы
|
||||
price: int // Стоимость маршрута
|
||||
region: str // Регион
|
||||
route: [ // Маршрут по дням
|
||||
{
|
||||
title: str // заголовок
|
||||
day_contents: { // события, посещения внутри дня
|
||||
dictionaries: list // Используемые словари
|
||||
selected: [ // события / рестораны и прочие участвующие
|
||||
{
|
||||
id: str
|
||||
active: bool
|
||||
}
|
||||
]
|
||||
active: list // список активностей
|
||||
}
|
||||
recommended_hotels: list
|
||||
descriptions: { // Описания
|
||||
'active_id': { // id из day_contents
|
||||
description: str // Описание для данного элемента маршрута (может быть отлично от данных объекта)
|
||||
duration_custom_for_this_route: int // Продолжительность для данного элемента маршрута (может быть отлична от данных объекта)
|
||||
}
|
||||
}
|
||||
translated_data: {
|
||||
'language': { // 2-х буквенное описание языка
|
||||
descriptions: { // Описания
|
||||
'active_id': { // id из day_contents
|
||||
description: str // Описание для данного элемента маршрута (может быть отлично от данных объекта)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
russpass_recommendation: bool // RUSSPASS рекомендует
|
||||
short_description: str // Краткое описание
|
||||
sort: int // Порядковый номер сортировки
|
||||
tags: list // Тэги
|
||||
tags_main_screen: list // Тэги главного экрана
|
||||
title: str // Заголовок
|
||||
total_activity_price: int // Суммарная цена на активности
|
||||
type: str // Тип маршрута
|
||||
type_audio_guide: list // Тип аудиогида
|
||||
video_link: str // Ссылка на видео
|
||||
video_url_detail: str // Ссылка на видео на странице маршрута
|
||||
}
|
||||
>>>>>>> 60a019fcf7e95a63e66b6b0fcbf1495da8a3e8b7
|
||||
}
|
0
logs/.gitkeep
Normal file
0
logs/.gitkeep
Normal file
|
@ -155,5 +155,3 @@ class ObjectRouteSerializer(serializers.Serializer):
|
|||
title = serializers.CharField()
|
||||
description = serializers.CharField()
|
||||
oid = serializers.CharField()
|
||||
|
||||
|
||||
|
|
|
@ -64,7 +64,6 @@ def post(self, request):
|
|||
'scooter': 30.0,
|
||||
'auto': 50.0
|
||||
}
|
||||
|
||||
serializer = RouteInputSerializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
data = serializer.data
|
||||
|
|
|
@ -27,6 +27,7 @@ class HotelOnboardingRetrieve(serializers.Serializer):
|
|||
|
||||
|
||||
class TinderGetEventFilterSerializer(serializers.Serializer):
|
||||
<<<<<<< HEAD
|
||||
type = serializers.ListField(child=serializers.ChoiceField(['attraction', 'museum', 'movie', 'play', 'concert']))
|
||||
event = EventSerializer()
|
||||
|
||||
|
@ -43,6 +44,8 @@ class DailySelectionSerializerInput(serializers.Serializer):
|
|||
|
||||
class DailySelectionSerializer(serializers.Serializer):
|
||||
nodes = serializers.ListField(child=DailySelectionNodeSerializer(), write_only=True)
|
||||
=======
|
||||
>>>>>>> 60a019fcf7e95a63e66b6b0fcbf1495da8a3e8b7
|
||||
type = serializers.ListField(
|
||||
child=serializers.ChoiceField(
|
||||
["attraction", "museum", "movie", "play", "concert"]
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
from random import sample
|
||||
|
||||
|
||||
|
||||
class TinderView(viewsets.GenericViewSet):
|
||||
serializer_class = EventSerializer
|
||||
model = Event
|
||||
|
@ -76,6 +75,7 @@ def movies(self, request, *args, **kwargs):
|
|||
ans.append(EventSerializer(rec[1]).data)
|
||||
return Response(ans, 200)
|
||||
|
||||
|
||||
@action(methods=['GET'], detail=True)
|
||||
def get_nearest_user_distance(self, request, pk, *args, **kwargs):
|
||||
request_point = pk
|
||||
|
@ -127,7 +127,6 @@ def generate_daily_selection(self, request, *args, **kwargs):
|
|||
}
|
||||
)
|
||||
|
||||
|
||||
class OnboardingViewset(viewsets.GenericViewSet):
|
||||
serializer_class = EventSerializer
|
||||
model = Event
|
||||
|
|
|
@ -2,7 +2,12 @@
|
|||
from .mapping.mapping import *
|
||||
from .models.models import *
|
||||
from passfinder.events.models import Event, Region, Hotel, BasePoint, City, Restaurant
|
||||
from passfinder.events.api.serializers import HotelSerializer, EventSerializer, ObjectRouteSerializer
|
||||
from passfinder.events.api.serializers import (
|
||||
HotelSerializer,
|
||||
EventSerializer,
|
||||
RestaurantSerializer,
|
||||
ObjectRouteSerializer,
|
||||
)
|
||||
from passfinder.recomendations.models import *
|
||||
from random import choice, sample
|
||||
from collections import Counter
|
||||
|
@ -262,6 +267,7 @@ def dist_func(event1: Event, event2: Event):
|
|||
except:
|
||||
return 1000000
|
||||
#return (event1.lon - event2.lon) ** 2 + (event1.lat - event2.lat) ** 2
|
||||
# return (event1.lon - event2.lon) ** 2 + (event1.lat - event2.lat) ** 2
|
||||
|
||||
|
||||
def generate_nearest():
|
||||
|
@ -327,7 +333,6 @@ def generate_nearest_restaurants():
|
|||
print(i)
|
||||
|
||||
|
||||
|
||||
def match_points():
|
||||
regions = list(City.objects.all())
|
||||
for i, point in enumerate(Event.objects.all()):
|
||||
|
@ -336,7 +341,6 @@ def match_points():
|
|||
point.save()
|
||||
if i % 10 == 0:
|
||||
print(i)
|
||||
|
||||
for i, point in enumerate(Hotel.objects.all()):
|
||||
s_regions = list(sorted(regions.copy(), key=lambda x: dist_func(point, x)))
|
||||
point.city = s_regions[0]
|
||||
|
@ -423,6 +427,15 @@ def time_func(km_distance: float, velocity: float):
|
|||
def generate_route(point1: BasePoint, point2: BasePoint, velocity: float):
|
||||
distance = dist_func(point1, point2)
|
||||
time = time_func(distance, velocity)
|
||||
|
||||
|
||||
def time_func(km_distance: float):
|
||||
return timedelta(minutes=(km_distance) / (4.0 / 60))
|
||||
|
||||
|
||||
def generate_route(point1: BasePoint, point2: BasePoint):
|
||||
distance = dist_func(point1, point2)
|
||||
time = time_func(distance)
|
||||
return {
|
||||
"type": "transition",
|
||||
"distance": distance,
|
||||
|
@ -474,7 +487,6 @@ def generate_tour(user: User, city: City, start_date: datetime.date, end_date: d
|
|||
)
|
||||
disallowed_rest = local_disallowed_rest
|
||||
current_date += timedelta(days=1)
|
||||
|
||||
return paths, points
|
||||
|
||||
|
||||
|
@ -523,7 +535,6 @@ def generate_path(user: User, disallowed_points: Iterable[BasePoint], hotel: Hot
|
|||
|
||||
how_many_eat = 1
|
||||
|
||||
|
||||
while start_time.hour < 22 and start_time.day == datetime.now().day:
|
||||
if (start_time.hour > 14 and how_many_eat == 1) or (start_time.hour > 20 and how_many_eat == 2):
|
||||
point = NearestRestaurantToEvent.objects.filter(event=points[-1]).first().restaurants.filter(~Q(oid__in=disallowed_rests))[0]
|
||||
|
@ -555,6 +566,7 @@ def generate_path(user: User, disallowed_points: Iterable[BasePoint], hotel: Hot
|
|||
points.append(get_nearest_favorite(candidates, user, points[-1], points))
|
||||
|
||||
transition_route = generate_route(points[-1], points[-2], avg_velocity)
|
||||
|
||||
start_time += timedelta(seconds=transition_route["time"])
|
||||
|
||||
point_route = generate_point(points[-1])
|
||||
|
@ -573,8 +585,21 @@ def calculate_distance(sample1: Event, samples: Iterable[Event], model: AnnoyInd
|
|||
return sum(metrics) / len(metrics)
|
||||
|
||||
|
||||
def calculate_distance(
|
||||
sample1: Event, samples: Iterable[Event], model: AnnoyIndex, rev_mapping
|
||||
):
|
||||
metrics = []
|
||||
|
||||
for sample in samples:
|
||||
metrics.append(
|
||||
model.get_distance(rev_mapping[sample1.oid], rev_mapping[sample.oid])
|
||||
)
|
||||
|
||||
return sum(metrics) / len(metrics)
|
||||
|
||||
|
||||
def get_onboarding_attractions():
|
||||
sample_attractions = sample(list(Event.objects.filter(type='attraction')), 200)
|
||||
sample_attractions = sample(list(Event.objects.filter(type="attraction")), 200)
|
||||
first_attraction = choice(sample_attractions)
|
||||
|
||||
attractions = [first_attraction]
|
||||
|
|
Loading…
Reference in New Issue
Block a user