added data

This commit is contained in:
Alexander Karpov 2023-05-18 22:43:35 +03:00
parent 1a7e6422af
commit 2fe2a80249
31 changed files with 2712385 additions and 1 deletions

2
.gitignore vendored
View File

@ -329,3 +329,5 @@ passfinder/media/
.pytest_cache/
.ipython/
.env
.idea

View File

@ -74,6 +74,7 @@
LOCAL_APPS = [
"passfinder.users",
"passfinder.events",
]
# https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps
INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS

61864
data/cities.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,84 @@
{
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 // Герб
}
}

BIN
data/events.zip Normal file

Binary file not shown.

126
data/events_description.txt Normal file
View File

@ -0,0 +1,126 @@
{
_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 ролики
}
}

45856
data/excursions.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,100 @@
{
_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
}
}

1513763
data/hotels.json Normal file

File diff suppressed because one or more lines are too long

104
data/hotels_description.txt Normal file
View File

@ -0,0 +1,104 @@
{
_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 // Название
}
}

757844
data/places.json Normal file

File diff suppressed because one or more lines are too long

278
data/places_description.txt Normal file
View File

@ -0,0 +1,278 @@
{
_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
}
}

18430
data/regions.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,54 @@
{
_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)
}
}

261892
data/restaurants.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,288 @@
{
_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 // Примечание ко времени работы
}
}

670
data/routes.json Normal file
View File

@ -0,0 +1,670 @@
[
{
"_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 дня"
}
}
]

View File

@ -0,0 +1,56 @@
{
_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 // Тип аудиогида
}
}

20988
data/tours.json Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,92 @@
{
_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 // Тип аудиогида
}
}

29729
data/tracks.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,78 @@
{
_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 // Ссылка на видео на странице маршрута
}
}

View File

View File

@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

View File

@ -0,0 +1,5 @@
from django.apps import AppConfig
class EventsConfig(AppConfig):
name = "passfinder.events"

View File

View File

@ -0,0 +1,43 @@
from django.db import models
from polymorphic.models import PolymorphicModel
class OIDModel(models.Model):
oid = models.CharField(primary_key=True, max_length=24)
class Meta:
abstract = True
class Region(OIDModel):
title = models.CharField(max_length=250)
class Country(OIDModel):
title = models.CharField(max_length=250)
class City(OIDModel):
title = models.CharField(max_length=250)
region = models.ForeignKey(
"Region", related_name="cities", null=True, on_delete=models.SET_NULL
)
class Tag(OIDModel):
name = models.CharField(max_length=250)
class BasePoints(OIDModel, PolymorphicModel):
title = models.CharField(max_length=250)
description = models.TextField()
city = models.ForeignKey(
"City", related_name="places", null=True, on_delete=models.SET_NULL
)
region = models.ForeignKey(
"Region", related_name="points", null=True, on_delete=models.SET_NULL
)
creator = models.CharField(max_length=250)
partner = models.CharField(max_length=250)
payment_method = models.CharField(max_length=250)
tags = models.ManyToManyField("Tag", related_name="points")

View File

@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

View File

@ -0,0 +1,3 @@
from django.shortcuts import render
# Create your views here.

28
poetry.lock generated
View File

@ -811,6 +811,17 @@ files = [
{file = "django_ipware-5.0.0-py2.py3-none-any.whl", hash = "sha256:80b52a3f571a371519cc552798f1015b934dd5dd7738bfad87e101e861bd21b8"},
]
[[package]]
name = "django-location-field"
version = "2.7.0"
description = "Location field for Django"
category = "main"
optional = false
python-versions = "*"
files = [
{file = "django_location_field-2.7.0-py2.py3-none-any.whl", hash = "sha256:25745b3f409c0c7a1dfb5773f4f7505acbe7d0eaba93c2b9ce24ef368b71a24c"},
]
[[package]]
name = "django-model-utils"
version = "4.3.1"
@ -826,6 +837,21 @@ files = [
[package.dependencies]
Django = ">=3.2"
[[package]]
name = "django-polymorphic"
version = "3.1.0"
description = "Seamless polymorphic inheritance for Django models"
category = "main"
optional = false
python-versions = "*"
files = [
{file = "django-polymorphic-3.1.0.tar.gz", hash = "sha256:d6955b5308bf6e41dcb22ba7c96f00b51dfa497a8a5ab1e9c06c7951bf417bf8"},
{file = "django_polymorphic-3.1.0-py3-none-any.whl", hash = "sha256:08bc4f4f4a773a19b2deced5a56deddd1ef56ebd15207bf4052e2901c25ef57e"},
]
[package.dependencies]
Django = ">=2.1"
[[package]]
name = "django-redis"
version = "5.2.0"
@ -2780,4 +2806,4 @@ files = [
[metadata]
lock-version = "2.0"
python-versions = "^3.11"
content-hash = "bfdadc8edad07f35f7f618b5cf8107885ead0db343fc3116d90198f803414c16"
content-hash = "f28dac962f7703c39a58bd0f7640a1cc37af3dccd44f124e57e71d19d85278c0"

View File

@ -47,6 +47,8 @@ django-extensions = "^3.2.1"
django-coverage-plugin = "^3.0.0"
pytest-django = "^4.5.2"
sentry-sdk = "^1.12.0"
django-location-field = "^2.7.0"
django-polymorphic = "^3.1.0"
[build-system]