Поиск Ctrl+K
Skip to Content

Парсинг расписания

Парсинг расписания автоматически импортирует доступность вашего объекта из внешних платформ бронирования. Подключитесь один раз, и система будет синхронизировать ваши слоты автоматически.

Что такое парсинг расписания?

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

Это экономит время и исключает двойной ввод: вы ведёте расписание в одном месте, а в портале всегда актуальная доступность.

ПонятиеЗначение
ПарсерСервис, который читает доступность вашего объекта с внешней платформы
ИсточникВнешняя платформа бронирования, на которой размещён ваш объект
СинхронизацияАвтоматическое периодическое обновление слотов из источника

Парсинг необязателен. Вы можете управлять расписанием объекта полностью внутри портала, если предпочитаете.


Когда использовать парсинг

Используйте парсинг расписания, если:

  • Ваш объект размещён на внешней платформе — У вас есть аккаунт и активная страница объекта на одной из поддерживаемых платформ (PickleHub, Rezerv, Playtomic, XBook, Courtly, Skedna, CourtGrid, Dulaco, Kortos, SuperSaaS, Courtogo)
  • Вы предпочитаете единый источник истины — Вы управляете бронированиями только (или в основном) на внешней платформе и хотите, чтобы портал отражал её расписание
  • Вы хотите сократить ручную работу — Позвольте системе импортировать слоты вместо ручного ввода

Не используйте парсинг, если:

  • Расписание вашего объекта ведётся только в портале
  • У вас нет аккаунта ни на одной из поддерживаемых платформ
  • Вы управляете бронированиями на нескольких платформах и вам нужна особая консолидация

Поддерживаемые источники

ИсточникURLСтатусПримечания
PickleHubhttps://picklehub.ph ✅ ГотовПолная поддержка
Sports360https://app.sports360.ph ⚠️ ОграниченоПлощадки на этой платформе не передают цену, поэтому слоты в портале не отображаются
Rezervhttps://<clubname>.rezerv.co✅ ГотовПолная поддержка
Playtomichttps://playtomic.com/clubs/example ⚠️ ОграниченоЦена есть только у свободных часов; занятые часы в сетке не показываются
XBookhttps://<tenant-host>/<slug>✅ ГотовМультитенантная платформа; логин и пароль входят в URL (см. примечание для XBook ниже)
Courtlyhttps://www.courtly.cc/book/example ✅ ГотовПолная поддержка
Skednahttps://skedna.com/courts/example ✅ ГотовПолная поддержка
CourtGridhttps://courtgrid.ph ✅ ГотовПолная поддержка
Dulacohttps://<slug>.dulaco.net✅ ГотовМультитенантная платформа; у каждого объекта свой поддомен
Kortoshttps://<tenant>.kortos.app/book✅ ГотовМультитенантная платформа бронирования; замените <tenant> на название вашего тенанта
SuperSaaShttps://www.supersaas.com/schedule/<account>[/<schedule>]⚠️ ОграниченоИсточник не передаёт цены, поэтому его слоты в портале не создаются. Для закрытых расписаний нужен параметр ?email=
Courtogohttps://www.courtogo.com/venues/<venue>✅ ГотовПолная поддержка

Настройка парсинга

Выполните эти шаги, чтобы включить парсинг расписания для объекта:

Откройте редактор объекта

Перейдите на страницу управления объектами и нажмите значок редактирования на карточке объекта. Справа откроется панель с формой редактирования.

Раскройте раздел «Парсинг»

Найдите в панели аккордеон «Парсинг». Нажмите на него, чтобы развернуть.

Включите парсинг

Переведите переключатель «Включить парсинг» в положение «вкл». Ниже появятся дополнительные поля.

Выберите источник

В выпадающем списке выберите внешнюю платформу, на которой размещён ваш объект. Под полем появится пример URL для ориентира.

Введите URL объекта

Вставьте полный URL страницы вашего объекта на внешней платформе. Например:

  • PickleHub: https://picklehub.ph/club-name
  • Sports360: https://app.sports360.ph/facility/xyz
  • Rezerv: https://clubname.rezerv.co
  • Playtomic: https://playtomic.com/clubs/example
  • XBook: https://<host>/<path>?username=<login>&password=<password>
  • Courtly: https://www.courtly.cc/book/example
  • Skedna: https://skedna.com/courts/example
  • CourtGrid: https://courtgrid.ph/explore/019f058e-8025-707c-91db-ad2fcdb8cb2b
  • Dulaco: https://<your-club-slug>.dulaco.net
  • Kortos: https://<tenant>.kortos.app/book
  • SuperSaaS: https://www.supersaas.com/schedule/<account>/<schedule>
  • Courtogo: https://www.courtogo.com/venues/<venue>

Примечание для XBook: ваши логин и пароль XBook входят в URL, поэтому они сохраняются вместе с ним в том виде, в котором вы его ввели. Они могут попасть в историю браузера и в журналы прокси-серверов и серверов, через которые проходит URL. Пользователи, которые могут менять настройки парсинга этого объекта, видят их, а API портала возвращает сохранённый URL этим пользователям. Логи приложения маскируют учётные данные. Рекомендуем использовать отдельный аккаунт XBook, предназначенный только для чтения расписания, а не основной аккаунт.

Примечание для SuperSaaS: для публичных расписаний достаточно ссылки на расписание. Для закрытого расписания добавьте к ссылке ?email=<адрес с доступом к расписанию>. Другие параметры запроса не принимаются.

Просканируйте корты

Нажмите кнопку сканирования (значок радара) справа от поля URL. Система подключится к внешней платформе и получит список всех кортов на этой площадке.

Выберите ваш корт

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

Протестируйте соединение

Нажмите кнопку «Тестовый парсинг» под выпадающим списком кортов. Система имитирует импорт слотов за проверяемый период и показывает сводку:

Найдено 42 свободных, 10 забронированных слотов за проверяемый период, последний свободный 25.05 19:00

Нажмите «Показать детали», чтобы увидеть таблицу всех найденных слотов (дата, время, корт).

Сохраните

Если тест прошёл успешно, нажмите «Сохранить» в шапке панели. Парсинг теперь активен.


Управление активным парсингом

Когда парсинг включён для объекта:

Парсер запускается автоматически по расписанию. Импортированные слоты появляются в расписании объекта. Полное обновление всех слотов происходит примерно раз в час для каждого объекта, а ближайшие дни обновляются при каждом запуске парсера.

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

ДействиеЭффект
ВыключитьПарсинг приостановлен; сохранённые настройки, включая URL, остаются, но новые слоты не импортируются
ВключитьПарсинг возобновляется и снова импортирует слоты
Изменить URLПовторите сканирование кортов и тест перед сохранением
Удалить конфигурациюУдаляет настройку парсинга; ранее импортированные слоты остаются

В истории запусков объекта («История запусков») записываются два типа событий:

  • Синхронизация — запуск, который изменил слоты: сколько слотов добавлено, обновлено и закрыто.
  • Ошибка — неудачный запуск с текстом ошибки и URL с замаскированными учётными данными.

Запуски, которые не изменили слоты, в списке не выводятся. Чтобы увидеть последнюю успешную проверку, посмотрите «Последняя проверка» вверху истории запусков. Кнопка «История запусков» доступна после сохранения объекта, а историю видят пользователи, которые могут просматривать объект.


Цены слотов

Портал берёт цену каждого слота только из данных внешней платформы. Сам портал цену не придумывает и не подставляет значения по умолчанию.

  • Платформа передала цену — слот отображается с этой ценой.
  • Платформа указала цену 0 — слот отображается с ценой 0. Это реальная цена из источника.
  • Платформа не передала цену на час (например, на ночные часы нет тарифа) или тариф невозможно прочитать — слот на этот час в портале не создаётся и не показывается. Вместо отсутствующей цены никогда не подставляется 0.
  • Свободный час пропал из данных — если час был свободен, а в свежих данных платформы его больше нет, он закрывается в портале и показывается как занятый с прежней ценой.
  • Playtomic — цена есть только у свободных часов. Занятые часы в сетке не показываются: на их месте пустое место, а не «занято». Это осознанное ограничение.
  • Sports360 и SuperSaas — эти платформы цены не передают, поэтому слоты по ним в портале не создаются.
  • Старые слоты с ценой 0.00 — слоты с ценой 0.00, созданные раньше и находящиеся вне периода, который парсер обновляет, не меняются.

Занятые слоты подчиняются тем же правилам: если цена занятого часа неизвестна, такой слот в портале не создаётся.

Если нужный час не появляется в расписании, проверьте на внешней платформе, что для этого часа задан тариф.


Решение проблем

Если при настройке или тестировании парсинга возникнет ошибка, обратитесь к этой таблице:

Сообщение об ошибкеПричинаРешение
URL недействителен или имеет неверный форматНеверный формат URLСкопируйте URL из адресной строки браузера и вставьте его без изменений
Объект не найден по этому URLURL верный, но объекта нет на платформе (или платформа временно не отвечает на проверочные запросы)Система автоматически повторит проверку при следующей синхронизации. Если ошибка сохраняется, проверьте, совпадает ли название объекта на внешней платформе, или обратитесь в поддержку платформы
Источник временно недоступен. Попробуйте позжеВнешняя платформа не отвечаетПодождите несколько минут и попробуйте снова
Превышено время ожидания ответа от источникаИсточник отвечает слишком долгоПлатформа может работать медленно; подождите и повторите
Не удалось разобрать ответ источникаИсточник вернул неожиданный форматВозможно, этот источник пока поддерживается не полностью; проверьте раздел «Поддерживаемые источники»
Расписание закрыто входом по логину на стороне источника — парсер читает только публичные расписания. Добавьте в ссылку ?email=<адрес с доступом к расписанию>, сделайте расписание публичным в настройках источника или укажите ссылку на публичное расписаниеРасписание закрытое, а источник (SuperSaaS) требует входДобавьте в ссылку ?email= с адресом, у которого есть доступ к расписанию, сделайте расписание публичным или укажите ссылку на публичное расписание
Источник не принял адрес email из ссылки при входе. Проверьте, что у этого email есть доступ к расписанию на стороне источника, или укажите ссылку с подходящим emailАдрес в параметре ?email= не имеет доступа к расписаниюПроверьте, что этот адрес имеет доступ к расписанию на сайте источника, или укажите ссылку с адресом, у которого такой доступ есть
Сервис парсинга временно недоступен. Сообщите администраторуСервис парсинга портала не в сетиОбратитесь к администратору
Источник не настроен на сервере. Сообщите администраторуСервер не настроен для этого источникаОбратитесь к администратору
Источник больше не поддерживаетсяЭтот источник был отключёнВыберите другой источник
По этому URL объекты не найденыURL верный, парсер ответил, но не вернул ни одного объектаУбедитесь, что на странице клуба действительно есть корты или площадки
Неверные данные запросаЧто-то пошло не так на стороне порталаОбратитесь к администратору

Что дальше

После активации парсинга:

  • Слоты появляются автоматически — Проверьте расписание объекта на предмет импортированных временных слотов
  • Синхронизация происходит периодически — Новые и обновлённые слоты с внешней платформы появляются в портале
  • Управляйте слотами как обычно — Вы по-прежнему можете создавать, редактировать или удалять слоты в портале; парсинг не препятствует ручным корректировкам
  • Проверяйте запуски — Откройте «История запусков», чтобы увидеть изменения слотов и ошибки

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


Часто задаваемые вопросы

Поддерживает ли парсер объекты, которые работают после полуночи?

Да. Парсер поддерживает расписания, которые проходят через полночь. Например, если объект работает с 06:00 до 01:00 (с 6 утра до 1 ночи следующего дня), парсер импортирует слоты этих часов без ошибок. Никаких дополнительных настроек не требуется. Слот появится в портале, только если платформа передала для него цену. Если на ночные часы тариф не задан, эти часы в портале не показываются.


Связанные разделы

Настройщик темы

Настройка и предварительный просмотр в режиме реального времени

Оформление

Основной цвет

Режим

Светлый

Тёмный

Системный

Стиль

По умолчанию

С рамкой


Макеты

Макеты

Вертикальный

Свёрнутый

Горизонтальный

Контент

Компактный

Широкий