Events (События)

Настоящий раздел содержит техническую документацию, предназначенную для специалистов в области информационных технологий и разработки программного обеспечения.

Новое в версии 1.1

Источник данных событий (Events) добавлен в версии 1.1 для поддержки культурных мероприятий — концертов, спектаклей, выставок с информацией о билетах и исполнителях.

Введение

Источник данных Events (события) позволяет организациям предоставлять структурированную информацию о культурных событиях — концертах, спектаклях, фестивалях и других мероприятиях.

Зачем нужны Events?

Типы событий

Основной тип события в спецификации:

MusicEvent

Музыкальное событие — концерт, спектакль, фестиваль

Schema.org тип: MusicEvent (расширяет Event)

Примеры: Симфонический концерт, Камерный вечер, Оперный спектакль, Фестиваль

Эндпоинты

GET /{base}/events.jsonld

Возвращает список всех событий организации. Параметр {base} — настраиваемый базовый путь (например, /id/).

Формат ответа: ItemList со списком MusicEvent

Параметры фильтрации (опционально):

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": "Все события"
    }
  ]
}

Лучшие практики

Дополнительные ресурсы