⚠️ Важно: данный сайт не имеет отношения к владельцам schema.org, это всего лишь любительский (неофициальный) перевод. Сайт сделан для тех, кто плохо воспринимает технический английский. Оригинал текста можно найти тут: schema.org/Schedule. Если сайт оказался полезен, то можете пожертвовать 50 рублей создателями сайта.

Schedule

Тип schema.org ?

Этот термин находится в "новой" области — обратная связь по реализации и использование в приложениях и на веб-сайтах могут помочь улучшить определения.

Описание:

Расписание определяет повторяющийся временной период, используемый для описания регулярно происходящего События. Минимум, расписание будет указывать частоту повторения, которая описывает интервал между occurrences события. Дополнительная информация может быть предоставлена для более точного определения расписания. Это включает в себя определение дня(ей) недели или месяца, когда будет происходить повторяющееся событие, в дополнение к его времени начала и окончания. Расписания также могут иметь даты начала и окончания, чтобы указать, когда они активны, например, для определения ограниченного календаря событий.

Что такое Schedule в Schema.org?

Schedule — это мощный инструмент микроразметки, который позволяет описать расписание повторяющихся событий. Представьте себе: вы организуете еженедельные мастер-классы или сезонные распродажи. Как сделать так, чтобы поисковые системы и другие сервисы понимали эту регулярность? Именно здесь на помощь приходит тип Schedule.

Зачем нужен Schedule?

В мире цифровых данных важно не просто рассказать о событии, но и уточнить, как часто оно происходит. Например, если ваше мероприятие проходит каждую среду с 18:00 до 20:00, то Schedule поможет передать эту информацию максимально четко. Это особенно важно для:

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

Этот тип микроразметки делает ваши события более видимыми и доступными для аудитории.

Основные свойства Schedule

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

Базовые настройки

  • repeatFrequency: Определяет частоту повторения события. Например, "ежедневно", "еженедельно" или "ежемесячно". Это основа любого расписания.
  • startDate и endDate: Указывают временные рамки активности расписания. Полезно, если ваше событие ограничено по времени, например, летний фестиваль.
  • startTime и endTime: Время начала и окончания каждого конкретного события.

Дополнительные детали

  • byDay, byMonth, byMonthDay, byMonthWeek: Эти свойства позволяют точнее определить, когда именно происходит событие. Например:
    • byDay: "каждый понедельник и пятница".
    • byMonth: "только в июне и декабре".
    • byMonthDay: "15-го числа каждого месяца".
    • byMonthWeek: "вторая неделя месяца".

Специальные случаи

  • duration: Продолжительность события. Например, если ваше мероприятие длится 2 часа.
  • exceptDate: Исключения из расписания. Например, если событие обычно проходит каждую неделю, но 25 декабря оно не состоится.
  • repeatCount: Общее количество повторений события. Полезно, если вы знаете заранее, сколько раз оно пройдет.

Как работает Schedule на практике?

Предположим, вы организуете серию лекций по программированию. Вот пример, как может выглядеть их описание с использованием Schedule:

{
  "@type": "Schedule",
  "repeatFrequency": "P1W", // Еженедельно
  "byDay": "MO", // Каждый понедельник
  "startTime": "19:00",
  "endTime": "21:00",
  "startDate": "2023-10-01",
  "endDate": "2024-05-31",
  "scheduleTimezone": "Europe/Moscow"
}

Теперь поисковые системы и календарные приложения поймут, что лекции проходят каждый понедельник с 19:00 до 21:00 по Московскому времени, начиная с октября 2023 года и заканчивая маем 2024 года.

Почему это важно?

Использование Schedule — это не просто техническая формальность. Это способ улучшить взаимодействие с вашей аудиторией. Когда люди видят четкое расписание в результатах поиска, они с большей вероятностью захотят принять участие в вашем событии. Кроме того, правильно структурированные данные помогают автоматизировать процессы, например, добавление событий в календарь одним кликом.

Подводя итог

Schedule — это универсальный инструмент для описания регулярных событий. Он сочетает в себе простоту использования и гибкость настроек, что делает его незаменимым для маркетологов, организаторов мероприятий и разработчиков контента. Используйте его, чтобы ваши события были заметны, понятны и удобны для аудитории.

Свойство Ожидаемый тип Описание
Свойство из Schedule
byDay Text, DayOfWeek Определяет день(и) недели, в который(е) происходит повторяющееся Событие. Может быть указано с использованием либо DayOfWeek, либо альтернативно Text, соответствующего синтаксису iCal для правил повторения byDay.
byMonth Integer Определяет месяц(ы) года, в который(ые) происходит повторяющееся Событие. Указывается как Целое число от 1 до 12. Январь — 1.
byMonthDay Integer Определяет день(и) месяца, в который(ых) происходит повторяющееся Событие. Указывается как Целое число от 1 до 31.
byMonthWeek Integer Определяет неделю(и) месяца, в которую(ые) происходит повторяющееся событие. Указывается в виде целого числа от 1 до 5. Для ясности byMonthWeek лучше использовать в сочетании с byDay, чтобы указать такие концепции, как первая и третья понедельники месяца.
duration Duration Продолжительность элемента (фильм, аудиозапись, событие и т. д.) в формате продолжительности ISO 8601.
endDate Date, DateTime Дата и время окончания элемента (в формате даты ISO 8601).
endTime DateTime, Time Время окончания чего-либо. Для зарезервированного события или услуги (например, FoodEstablishmentReservation) — время, когда ожидается его завершение. Для действий, которые занимают определенный период времени, это время выполнения действия. Например, Джон писал книгу с января по декабрь. Для медиа, включая аудио и видео, это временной смещение конца клипа в рамках более крупного файла.

Обратите внимание, что событие использует startDate/endDate вместо startTime/endTime, даже когда описываются даты с указанием времени. Эта ситуация может быть уточнена в будущих редакциях.
exceptDate Date, DateTime Определяет Date или DateTime, в течение которого запланированное Event не будет проводиться. Свойство позволяет указать исключения из Schedule. Если исключение указано как DateTime, то только событие, которое должно было начаться в эту конкретную дату и время, должно быть исключено из расписания. Если исключение указано как Date, то любое событие, запланированное на этот 24-часовой период, должно быть исключено из расписания. Это позволяет исключить целый день из расписания, не перечисляя каждое запланированное событие.
repeatCount Integer Определяет количество раз, которое повторяющееся Событие будет происходить.
repeatFrequency Duration, Text Определяет частоту, с которой События будут происходить согласно расписанию Расписание. Интервалы между событиями должны быть определены как Продолжительность времени.
scheduleTimezone Text Указывает часовой пояс, для которого указано время(а) в Расписании. Указанное значение должно быть одним из тех, что перечислены в базе данных часовых поясов IANA.
startDate Date, DateTime Дата и время начала элемента (в формате даты ISO 8601).
startTime DateTime, Time Время начала чего-либо. Для зарезервированного события или услуги (например, FoodEstablishmentReservation) это время, когда ожидается его начало. Для действий, которые занимают определенный период времени, это время, когда действие было выполнено. Например, Джон писал книгу с января по декабрь. Для медиа, включая аудио и видео, это временной смещение начала клипа в рамках большего файла.

Обратите внимание, что событие использует startDate/endDate вместо startTime/endTime, даже при описании дат с указанием времени. Эта ситуация может быть уточнена в будущих редакциях.
Свойство из Thing
additionalType URL, Text Дополнительный тип для элемента, обычно используемый для добавления более специфичных типов из внешних словарей в синтаксисе микроданных. Это отношение между чем-то и классом, к которому это что-то относится. Обычно значение является URI-идентифицированным классом RDF, и в этом случае соответствует использованию rdf:type в RDF. Текстовые значения могут использоваться экономно, в случаях, когда полезная информация может быть добавлена без наличия соответствующей схемы для ссылки. В случае текстовых значений, метка класса должна следовать руководству по стилю schema.org.
alternateName Text Псевдоним для элемента.
description Text, TextObject Описание предмета.
disambiguatingDescription Text Субсвойство описания. Краткое описание элемента, используемое для различения его от других, похожих элементов. Информация из других свойств (в частности, имени) может быть необходима для того, чтобы описание было полезным для различения.
identifier PropertyValue, Text, URL Свойство identifier представляет собой любой вид идентификатора для любого рода Thing, такого как ISBN, коды GTIN, UUID и т.д. Schema.org предоставляет специальные свойства для представления многих из них, как в виде текстовых строк, так и в виде ссылок URL (URI). См. фоновую информацию для получения дополнительных деталей.
image ImageObject, URL Изображение предмета. Это может быть URL или полностью описанный ImageObject.
mainEntityOfPage CreativeWork, URL Указывает на страницу (или другое творческое произведение), для которой этот объект является основным описываемым объектом. См. фоновую информацию для получения деталей.
name Text Название элемента.
potentialAction Action Указывает на потенциальное действие, которое описывает идеализированное действие, в котором этот объект будет играть роль 'объекта'.
sameAs URL URL страницы в Интернете, которая однозначно указывает на идентичность элемента. Например, URL страницы элемента в Википедии, запись в Викиданных или официальный сайт.
subjectOf CreativeWork, Event Творческое произведение или событие, связанное с этой вещью.
url URL URL предмета.

Экземпляры Schedule могут использоваться в качестве значения для следующих свойств.

Свойство Типы Описание
courseSchedule CourseInstance Представляет продолжительность и темп курса, выраженные в виде Расписания.
eventSchedule Event Связывает Событие с Расписанием. Существуют обстоятельства, когда предпочтительно делиться расписанием для серии повторяющихся событий, а не данными о каждом отдельном событии. Например, веб-сайт или приложение могут предпочесть опубликовать расписание для еженедельного занятия в спортзале, а не предоставлять данные о каждом событии. Расписание может обрабатываться приложениями для добавления предстоящих событий в календарь. Событие, связанное с Расписанием с помощью этого свойства, не должно иметь свойств startDate или endDate. Эти свойства определяются в связанном Расписании, что избегает любых недоразумений для клиентов, использующих данные. Свойство может иметь повторяющиеся значения для указания различных расписаний, например, для разных месяцев или сезонов.

Примеры

Пример 1

Пример заметки или HTML разметки.


A Tai-Chi class runs throughout 2017. The class occurs weekly, every Wednesday at 7pm.

Пример, закодированный в формате JSON-LD в теге <script> HTML.


<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Event",
  "url": "http://www.example.org/events/1",
  "name": "Tai chi Class",
  "description": "A weekly Tai-Chi class",
  "duration": "PT60M",
  "eventSchedule": {
     "@type": "Schedule",
     "startDate": "2017-01-01",
     "endDate": "2017-12-31",
     "repeatFrequency": "P1W",
     "byDay": "https://schema.org/Wednesday",
     "startTime": "19:00:00",
     "endTime": "20:00:00",
     "scheduleTimezone": "Europe/London"
  }
}
</script>

Структурированное представление примера JSON-LD.

@context
https://schema.org/
@type
Event
url
http://www.example.org/events/1
name
Tai chi Class
description
A weekly Tai-Chi class
duration
PT60M
eventSchedule
@type
Schedule
startDate
2017-01-01
endDate
2017-12-31
repeatFrequency
P1W
byDay
https://schema.org/Wednesday
startTime
19:00:00
endTime
20:00:00
scheduleTimezone
Europe/London

Пример 2

Пример заметки или HTML разметки.


A Meetup takes place on the 1st and 15th of every month between 9-10am

Пример, закодированный в формате JSON-LD в теге <script> HTML.


<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Event",
  "name": "Example Meetup",
  "eventSchedule": {
     "@type": "Schedule",
     "repeatFrequency": "P1M",
     "byMonthDay": [1,15],
     "startTime": "09:00:00",
     "endTime": "10:00:00",
     "scheduleTimezone": "America/Glace_Bay"
  }
}
</script>

Структурированное представление примера JSON-LD.

@context
https://schema.org/
@type
Event
name
Example Meetup
eventSchedule
@type
Schedule
repeatFrequency
P1M
byMonthDay
0
1
1
15
startTime
09:00:00
endTime
10:00:00
scheduleTimezone
America/Glace_Bay

Пример 3

Пример заметки или HTML разметки.


Starting from 2th December an Event will run daily between 9-10am for 10 occurences.

Пример, закодированный в формате JSON-LD в теге <script> HTML.


<script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Event",
      "name": "Count Example",
      "eventSchedule":
        {
          "@type": "Schedule",
          "startDate": "2016-12-24",
          "repeatFrequency": "P1D",
          "repeatCount": 10,
          "startTime": "09:00:00",
          "endTime": "10:00:00",
          "scheduleTimezone": "Europe/London"
        }
    }
</script>

Структурированное представление примера JSON-LD.

@context
https://schema.org
@type
Event
name
Count Example
eventSchedule
@type
Schedule
startDate
2016-12-24
repeatFrequency
P1D
repeatCount
10
startTime
09:00:00
endTime
10:00:00
scheduleTimezone
Europe/London

Пример 4

Пример заметки или HTML разметки.


An Event runs twice a day, at 9am-10am and 2pm-3pm but only Monday to Friday

Пример, закодированный в формате JSON-LD в теге <script> HTML.


<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "Example",
  "eventSchedule": [
    {
      "@type": "Schedule",
      "repeatFrequency": "P1D",
      "byDay": [
        "https://schema.org/Monday",
        "https://schema.org/Tuesday",
        "https://schema.org/Wednesday",
        "https://schema.org/Thursday",
        "https://schema.org/Friday"
      ],
      "startTime": "09:00:00",
      "endTime": "10:00:00",
      "scheduleTimezone": "America/Glace_Bay"
    },
    {
      "@type": "Schedule",
      "repeatFrequency": "P1D",
      "byDay": [
        "https://schema.org/Monday",
        "https://schema.org/Tuesday",
        "https://schema.org/Wednesday",
        "https://schema.org/Thursday",
        "https://schema.org/Friday"
      ],
      "startTime": "14:00:00",
      "endTime": "15:00:00",
      "scheduleTimezone": "America/Glace_Bay"
    }
  ]
}
</script>

Структурированное представление примера JSON-LD.

@context
https://schema.org
@type
Event
name
Example
eventSchedule
0
@type
Schedule
repeatFrequency
P1D
byDay
0
https://schema.org/Monday
1
https://schema.org/Tuesday
2
https://schema.org/Wednesday
3
https://schema.org/Thursday
4
https://schema.org/Friday
startTime
09:00:00
endTime
10:00:00
scheduleTimezone
America/Glace_Bay
1
@type
Schedule
repeatFrequency
P1D
byDay
0
https://schema.org/Monday
1
https://schema.org/Tuesday
2
https://schema.org/Wednesday
3
https://schema.org/Thursday
4
https://schema.org/Friday
startTime
14:00:00
endTime
15:00:00
scheduleTimezone
America/Glace_Bay

Пример 5

Пример заметки или HTML разметки.


An Event runs on the second Monday of every month, from 6pm-7:30pm. Because this kind of recurrence goes beyond that expressible using <a href="https://schema.org/DayOfWeek">https://schema.org/DayOfWeek</a>, it is specified instead using iCal's <a href="https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html">syntax for byDay recurrence rules</a>.

Пример, закодированный в формате JSON-LD в теге <script> HTML.


<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "Example",
  "eventSchedule": [
    {
      "@type": "Schedule",
      "repeatFrequency": "P1M",
      "byDay": "2MO",
      "startTime": "18:00:00",
      "endTime": "19:30:00",
      "scheduleTimezone": "Asia/Shanghai"
    }
  ]
}
</script>

Структурированное представление примера JSON-LD.

@context
https://schema.org
@type
Event
name
Example
eventSchedule
0
@type
Schedule
repeatFrequency
P1M
byDay
2MO
startTime
18:00:00
endTime
19:30:00
scheduleTimezone
Asia/Shanghai

Пример 6

Пример заметки или HTML разметки.


A reading series occuring the first and third Wednesdays of the month.

Пример, закодированный в формате JSON-LD в теге <script> HTML.


<script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "LiteraryEvent",
    "name": "Local Bookseller Author Night",
    "description": "Join us the first and third Wednesdays of each month for readings by local authors.",
    "eventSchedule": {
      "@type": "Schedule",
      "byDay": "https://schema.org/Wednesday",
      "byMonthWeek": [1, 3],
      "startTime": "20:00:00",
      "endTime": "22:00:00"
    }
}
</script>

Структурированное представление примера JSON-LD.

@context
https://schema.org
@type
LiteraryEvent
name
Local Bookseller Author Night
description
Join us the first and third Wednesdays of each month for readings by local authors.
eventSchedule
@type
Schedule
byDay
https://schema.org/Wednesday
byMonthWeek
0
1
1
3
startTime
20:00:00
endTime
22:00:00
Автор: Семён Авдосов [schema.su]
Дата публикации: 16.11.2024
Дата обновления: 20.03.2025
Комментарии
Новые материалы на сайте