Kam na západě · Wiki

Vnořené události

Hierarchie událostí: festivaly a programy s dílčími akcemi.

Tato stránka popisuje, jak navázat dílčí události na hlavní „rodičovskou" událost - typicky jednotlivé koncerty v rámci festivalu nebo workshopy v rámci konference.


1. Přehled

Každá událost může fungovat jako rodičovský kontejner - stačí přidat blok <nested_events>. Tato struktura umožňuje seskupit konkrétní programové body pod jedno zastřešující záhlaví, přičemž si každá podpoložka zachovává vlastní název i čas. Položka programu se koná na místě rodičovské události; textový <location> (např. „Velký sál A“) ukážeme jako název sálu. Objekt místa konání přiřadíme k místu z našeho katalogu se stejnými souřadnicemi, jinak jeho name ukážeme jako název sálu.

Položky programu držíme podle jejich id: změna času, konce nebo sálu se projeví při další synchronizaci, i u zveřejněné akce. Položka, kterou přestanete posílat před jejím konáním, se na webu skryje a vrátí se, když ji pošlete znovu; proběhlé položky můžete vynechat. Když u události nepošlete žádné <nested_events>, program necháme, jak je. Má-li položka stejný title jako událost, ukáže se pod názvem události; odlišný název (např. titulky) se zobrazí u termínu.

2. Struktura vnořené události

<nested_event> je specializovaná, odlehčená verze standardního modelu události.

Prvek

Typ

Povinné

Popis

id

String

Ano

Unikátní a neměnné ID vnořené události na straně poskytovatele; podle něj položku programu aktualizujeme.

title

String

Ano

Název konkrétního vystoupení, programu nebo filmu.

start_date

DateTime

Ano

Plný ISO 8601 timestamp (YYYY-MM-DDTHH:mm:ssZ).

end_date

DateTime

Ne

Plný ISO 8601 timestamp (YYYY-MM-DDTHH:mm:ssZ). Bez něj spočítáme konec z duration položky, případně z délky celé události; jinak se termín ukáže jen se začátkem.

duration

Number

Ne

Délka trvání vnořené události v minutách (např. 90). Bez end_date z ní spočítáme konec položky.

preview_url

String

Ne

URL adresa náhledového obrázku konkrétního vystoupení.

location

String | Object

Ne

Pokud String: interní název sálu, pódia nebo místnosti (např. „Velký sál“). Pokud Object: detaily místa konání včetně souřadnic (stejná struktura jako na stránce Geolokace a místa konání) — přiřadíme ho k místu z našeho katalogu se stejnými souřadnicemi, jinak jeho name ukážeme jako název sálu.

ticket

Object

Ne

Komerční stav a tvorba cen pro konkrétní vnořenou událost

3. Příklad XML implementace

<event>
    <id>kviff-2026</id>
    <title>Mezinárodní filmový festival Karlovy Vary</title>
    <description>60. ročník legendárního filmového festivalu.</description>
    <copyright_acknowledged>true</copyright_acknowledged>
    
    <!-- Hlavní lokace festivalu (rodičovská) -->
    <location>
        <name>Hotel Thermal</name>
        <city>karlovy-vary</city>
        <address>I. P. Pavlova 2001/11, 360 01 Karlovy Vary</address>
        <latitude>50.2297</latitude>
        <longitude>12.8742</longitude>
    </location>

    <nested_events>
        <!-- Varianta A: Location jako řetězec (přebírá souřadnice rodiče) -->
        <nested_event>
            <id>nested-opening-gala</id>
            <title>Slavnostní zahájení: červený koberec</title>
            <start_date>2026-07-03T18:00:00Z</start_date>
            <end_date>2026-07-03T21:00:00Z</end_date>
            <location>Velký sál A</location>
        </nested_event>
       
        <!-- Varianta B: Location jako objekt (vlastní lokace s kompletními detaily) -->
        <nested_event>
            <id>nested-workshop-01</id>
            <title>Venkovní masterclass: Režie v terénu</title>
            <start_date>2026-07-05T14:00:00Z</start_date>
            <end_date>2026-07-05T16:00:00Z</end_date>
            <location>
                <name>Smetanovy sady</name>
                <city>karlovy-vary</city>
                <address>Smetanovy sady, 360 01 Karlovy Vary</address>
                <latitude>50.230100</latitude>
                <longitude>12.871000</longitude>
            </location>
        </nested_event>
    </nested_events>
</event>

Aktualizováno 16. října 2026

Na této stránce