Events (События)
Новое в версии 1.1
Источник данных событий (Events) добавлен в версии 1.1 для поддержки культурных мероприятий — концертов, спектаклей, выставок с информацией о билетах и исполнителях.
Введение
Источник данных Events (события) позволяет организациям предоставлять структурированную информацию о культурных событиях — концертах, спектаклях, фестивалях и других мероприятиях.
Зачем нужны Events?
- Афиша — публикация полного расписания мероприятий в машиночитаемом формате
- Информация о билетах — цены, доступность, ссылки на покупку через поле
offers - Связь с исполнителями — указание дирижеров, солистов, оркестров через поле
performer - Поисковая оптимизация (SEO) — события отображаются в расширенных результатах поиска Яндекса
- Агрегаторы — автоматическая загрузка афиши в Культура.РФ, Kassir.ru и другие платформы
- ИИ-ассистенты — Алиса, ГигаЧат могут отвечать на вопросы о концертах
Типы событий
Основной тип события в спецификации:
MusicEvent
Музыкальное событие — концерт, спектакль, фестиваль
Schema.org тип: MusicEvent (расширяет Event)
Примеры: Симфонический концерт, Камерный вечер, Оперный спектакль, Фестиваль
Эндпоинты
GET /{base}/events.jsonld
Возвращает список всех событий организации. Параметр {base} — настраиваемый базовый путь (например, /id/).
Формат ответа: ItemList со списком MusicEvent
Параметры фильтрации (опционально):
?from=2026-01-01— события начиная с даты?to=2026-12-31— события до даты?performer={uuid}— события с участием конкретного исполнителя?place={uuid}— события на конкретной площадке
GET /{base}/events/{uuid}.jsonld
Возвращает детальную информацию о конкретном событии по UUID.
Формат ответа: MusicEvent
Обязательные поля MusicEvent
| Поле | Тип | Описание |
|---|---|---|
@context |
array | Контекст JSON-LD |
@type |
string | Всегда "MusicEvent" |
@id |
string (URI) | URI события |
uuid |
string (UUID v4) | Уникальный идентификатор события |
name |
string | Название события |
startDate |
string (ISO 8601) | Дата и время начала |
location |
Place/MusicVenue | Место проведения |
organizer |
Organization | Организатор события |
links |
array | Навигационные ссылки |
Рекомендуемые поля
| Поле | Тип | Описание |
|---|---|---|
slug |
string | Человекопонятный идентификатор (например, tchaikovsky-symphony-5) |
description |
string | Описание события |
image |
string (URL) | Афиша/постер события |
endDate |
string (ISO 8601) | Дата и время окончания |
doorTime |
string (ISO 8601) | Время открытия дверей |
performer |
array | Исполнители (Person, MusicGroup) |
offers |
array | Информация о билетах (Offer) |
workPerformed |
CreativeWork | Исполняемое произведение |
eventStatus |
EventStatusType | Статус события (EventScheduled, EventCancelled, EventPostponed) |
eventAttendanceMode |
EventAttendanceModeEnumeration | Режим посещения (OfflineEventAttendanceMode, OnlineEventAttendanceMode) |
typicalAgeRange |
string | Возрастные ограничения (например, "6+", "12+") |
url |
string (URL) | Страница события на сайте организации |
Информация о билетах (Offer)
Поле offers содержит информацию о доступных билетах на событие. Используется тип Offer из Schema.org.
Обязательные поля Offer
| Поле | Тип | Описание |
|---|---|---|
@type |
string | Всегда "Offer" |
price |
string/number | Цена билета |
priceCurrency |
string | Валюта (ISO 4217, например "RUB") |
availability |
ItemAvailability | Доступность (InStock, SoldOut, PreOrder) |
Рекомендуемые поля Offer
| Поле | Тип | Описание |
|---|---|---|
name |
string | Название категории билета (например, "Партер", "Балкон") |
url |
string (URL) | Ссылка на страницу покупки билета |
validFrom |
string (ISO 8601) | Дата начала продажи |
priceValidUntil |
string (ISO 8601) | Дата окончания действия цены |
Пример: Билеты с разными ценами
{
"@type": "MusicEvent",
"name": "Симфония № 5 П.И. Чайковского",
"offers": [
{
"@type": "Offer",
"name": "Партер",
"price": "1000",
"priceCurrency": "RUB",
"availability": "https://schema.org/InStock",
"url": "https://filarmonia.online/tickets/event-123"
},
{
"@type": "Offer",
"name": "Балкон",
"price": "500",
"priceCurrency": "RUB",
"availability": "https://schema.org/InStock",
"url": "https://filarmonia.online/tickets/event-123"
}
]
}
Полный пример MusicEvent
{
"@context": [
"https://schema.org",
"https://id.filarmonia.online/spec/1.1/context.jsonld"
],
"@type": "MusicEvent",
"@id": "https://filarmonia.online/events/a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d",
"uuid": "a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d",
"slug": "tchaikovsky-symphony-no-5",
"name": "Симфония № 5 П.И. Чайковского",
"description": "Концерт из цикла «Великие симфонии»",
"startDate": "2024-03-15T19:00:00+05:00",
"endDate": "2024-03-15T21:30:00+05:00",
"doorTime": "2024-03-15T18:30:00+05:00",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"location": {
"@type": "MusicVenue",
"@id": "https://filarmonia.online/places/7c9e6679-7425-40de-944b-e07fc1f90ae7",
"uuid": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"name": "Большой зал"
},
"organizer": {
"@type": "PerformingGroup",
"@id": "https://filarmonia.online/id/organization.jsonld",
"uuid": "5b11f4ce-a62d-471e-81fc-a69a8278c7da",
"name": "Пермская краевая филармония"
},
"performer": [
{
"@type": "MusicGroup",
"@id": "https://filarmonia.online/performers/f47ac10b-58cc-4372-a567-0e02b2c3d479",
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "Пермский академический симфонический оркестр"
},
{
"@type": "Person",
"@id": "https://filarmonia.online/performers/e3b0c442-98fc-1c14-b39f-92d1282a7b12",
"uuid": "e3b0c442-98fc-1c14-b39f-92d1282a7b12",
"name": "Юрий Хатуевич Темирканов",
"roleName": "Дирижёр"
}
],
"workPerformed": {
"@type": "MusicComposition",
"name": "Симфония № 5 ми минор, соч. 64",
"composer": {
"@type": "Person",
"name": "Пётр Ильич Чайковский"
}
},
"image": "https://filarmonia.online/images/events/tchaikovsky-symphony-5-poster.jpg",
"url": "https://filarmonia.online/events/tchaikovsky-symphony-no-5",
"offers": {
"@type": "Offer",
"price": "800",
"priceCurrency": "RUB",
"availability": "https://schema.org/InStock",
"validFrom": "2024-02-01T10:00:00+05:00",
"url": "https://filarmonia.online/tickets/tchaikovsky-symphony-no-5"
},
"typicalAgeRange": "12+",
"inLanguage": "ru-RU",
"links": [
{
"rel": "self",
"href": "https://filarmonia.online/id/events/a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d.jsonld"
},
{
"rel": "alternate",
"href": "https://filarmonia.online/events/tchaikovsky-symphony-no-5",
"type": "text/html",
"title": "Страница события на сайте"
},
{
"rel": "collection",
"href": "https://filarmonia.online/id/events.jsonld",
"title": "Все события"
}
]
}
Лучшие практики
- Используйте ISO 8601 для дат — включайте временную зону (
+05:00) - Указывайте время открытия дверей — поле
doorTimeпомогает посетителям - Связывайте с исполнителями — используйте UUID исполнителей из источника данных /performers
- Добавляйте изображения — афиши улучшают отображение в поисковиках
- Указывайте возрастные ограничения —
typicalAgeRangeважен для семей - Используйте eventStatus — обновляйте статус при отмене/переносе
- Предоставляйте информацию о билетах — даже если билеты бесплатны (
price: "0")