Виджет расписания
О виджете
Виджет расписания — публичная страница занятости одной или нескольких услуг или ресурсов. При нескольких объектах в ids на экране — отдельные столбцы на один день. Подходит для киоска, экрана в зале, телевизора или встраивания на сайт. Расписание обновляется автоматически по заданному интервалу.
Это не форма онлайн-записи: по слотам и заказам нельзя нажать, нет вида «неделя» или «месяц», нет фильтра статусов заказов в ссылке.
Как выглядит
Занятость на выбранный день: жёлтый — свободно, серый — занято без названий
Жёлтый фон — свободное или рабочее время. Светло-серый — нерабочее время, если график объекта доступен. Серые блоки — занятые интервалы с подписью Занято (параметр busyLabel), без имён и деталей заказа (режим по умолчанию для экрана в зале).
Если в ссылке указать ;visibility=View, на сетке будут видны названия заказов — такой режим не рекомендуется для публичного экрана с клиентами.
У гостя без входа в приложение график ресурса часто недоступен — тогда весь видимый период отображается жёлтым, а занятость — серыми блоками сверху. Отменённые и отклонённые заказы на сетке не показываются.
На примере выше: в шапке имя объекта или title, переключение даты стрелками (в ссылке задан параметр date).
Доступ
Страница открывается без входа в приложение. Данные отдаются только если у услуги или ресурса тип доступности По ссылке или Открытый (см. Тип доступности). Иначе заголовок и сетка могут быть пустыми — отдельного сообщения «нет доступа» нет.
Что указать в ссылке
Обычно в ссылке указывают идентификатор ресурса (зал, корт, кресло, кабинет) в параметре ids. Можно указать идентификатор услуги; у гостя фон рабочих часов услуги часто не отображается. Несколько объектов — через запятую в ids: каждый — отдельный столбец. На экран — не больше 8 столбцов. У каждого объекта в ссылке тип доступности должен быть По ссылке или Открытый.
Идентификатор берётся из ссылки на карточку объекта — см. Как скопировать ссылку?, сегмент ;id=... в адресе карточки. Его подставляют в ids виджета. Ссылка «Поделиться» с карточки — это адрес объекта, не готовая ссылка на виджет расписания.
Ссылку, скопированную через меню на уже открытой странице расписания, не используйте для встраивания на сайт: в неё не попадают параметры sideMenuHidden, lang, timezone, а сдвиг даты стрелками в URL не сохраняется. Соберите ссылку по шаблону ниже.
Канонический шаблон (экран на сегодня, обновление каждые 5 минут, без меню приложения):
https://torrow.net/app/tabs/tab-search/dashboard;ids={resourceId};date=now;refreshMin=5?sideMenuHidden=true&tabBarHidden=true
Настройки расписания задаются в адресе после ``;`` (на сегменте страницы расписания). Параметры после ``?`` скрывают боковое меню и нижнюю панель вкладок — для встраивания на сайт или TV оба параметра обязательны.
Параметры ссылки
В адресе после ;
Параметр |
По умолчанию |
Смысл |
|---|---|---|
|
— |
Обязательный. Id ресурса или услуги через запятую; каждый — столбец |
|
имя объекта |
Текст шапки; при нескольких — иначе имя первого доступного объекта. Кириллица и пробелы — URL-encode |
|
Занято |
Подпись серого блока (режим без деталей) |
|
нет в ссылке |
Без параметра — скользящее окно вокруг «сейчас», без панели дат. |
|
120 |
Минуты назад от «сейчас», только без |
|
480 |
Минуты вперёд от «сейчас», только без |
|
3 |
Интервал обновления в минутах; |
|
занятость без деталей |
Для зала не указывайте. |
После ?
Параметр |
По умолчанию |
Смысл |
|---|---|---|
|
— |
Для сайта и TV всегда |
|
— |
Всегда |
|
язык устройства |
|
|
настройки или устройство |
IANA, например |
Примеры ссылок
Подставьте свой id ресурса или услуги вместо {resourceId} / {serviceId}.
День (киоск на сегодня):
https://torrow.net/app/tabs/tab-search/dashboard;ids={resourceId};date=now;refreshMin=5?sideMenuHidden=true&tabBarHidden=true
Несколько ресурсов + свой заголовок:
https://torrow.net/app/tabs/tab-search/dashboard;ids={resourceId1},{resourceId2};title=Зал%201;date=now;refreshMin=5?sideMenuHidden=true&tabBarHidden=true
Своя подпись занятости (= Резерв):
Кириллицу в title / busyLabel нужно URL-кодировать.
https://torrow.net/app/tabs/tab-search/dashboard;ids={resourceId};date=now;busyLabel=Корт%20занят;refreshMin=5?sideMenuHidden=true&tabBarHidden=true
Сейчас (скользящее окно, без панели дат):
https://torrow.net/app/tabs/tab-search/dashboard;ids={resourceId}?sideMenuHidden=true&tabBarHidden=true
Узкое окно (час назад — два вперёд, только без ``date``):
https://torrow.net/app/tabs/tab-search/dashboard;ids={resourceId};fromMin=60;toMin=120;refreshMin=5?sideMenuHidden=true&tabBarHidden=true
Услуга:
https://torrow.net/app/tabs/tab-search/dashboard;ids={serviceId};date=now;refreshMin=5?sideMenuHidden=true&tabBarHidden=true
С названиями заказов (не для зала с клиентами):
https://torrow.net/app/tabs/tab-search/dashboard;ids={resourceId};date=now;visibility=View;refreshMin=5?sideMenuHidden=true&tabBarHidden=true
Ограничения
Виджет расписания не поддерживает:
вид «неделя» или «месяц»;
запись или переход в карточку по клику на слот;
сохранение выбранной даты в адресе после переключения стрелками;
гарантированный график ресурса для гостя без входа;
отдельное сообщение об ошибке доступа — при отказе API страница может быть пустой или частично заполненной.