Vlož akce na svůj web
Co dostaneš
Akce si můžeš ukázat na vlastním webu, ve svém vzhledu. Tricho.app k tomu dává veřejnou adresu, ze které si web načte vypsané termíny, a kalendář, který si kdokoli přidá do telefonu.
Funguje v plánu Max, stejně jako zveřejnění akcí.
Adresy najdeš v aplikaci v seznamu akcí pod řádkem Na tvém webu. Začnou fungovat, až zveřejníš první akci.
Co je veřejné
Z adresy si web přečte jen to, co je vidět na stránce akce:
- název, krátký popis a popis akce,
- dny s časy a místo (název a adresa),
- cenu a pozdější cenová pásma,
- největší počet míst na jednu přihlášku a okno, ve kterém se dá přihlásit,
- počet volných míst a stav termínu (volno, poslední místa, plno, zrušeno),
- odkaz na přihlášku, na podmínky a na tvou stránku akce, když ji vyplníš,
- tvoje jméno nebo název, pod kterým akce pořádáš.
Kdo se přihlásila, kolik zaplatila ani kolik je nezaplacených míst, se z adresy nedozví nikdo. Nejsou tam ani tvoje telefon, e-mail, účet pro platby a celková kapacita.
Volná místa se obnovují nejpozději po minutě. Přesný počet ověří až přihláška.
Přihlášení zůstává u nás
Tlačítko Přihlásit se na tvém webu vede na stránku akce v Tricho.app. Údaje účastnice se tam zašifrují tvým klíčem už v jejím prohlížeči. Ve vloženém rámečku na cizím webu by to bezpečně nešlo, proto ho nenabízíme.
Kalendář k odběru
Termíny si může přidat do telefonu kdokoli, i bez tvého webu. Adresu kalendáře zkopíruješ v aplikaci u řádku Kalendář k odběru.
- Google Kalendář: na počítači Další kalendáře → Z adresy URL. Místo
webcal://vložhttps://. - Apple Kalendář: Soubor → Nový odběr kalendáře, na iPhonu stačí adresu otevřít a potvrdit odběr.
- Outlook: Přidat kalendář → Přihlásit se k odběru z webu.
Kalendář se obnovuje zhruba jednou za hodinu. Zrušené termíny v něm zůstanou ještě měsíc označené jako zrušené.
Bez webu
Nemáš vlastní web? Všechny vypsané akce najdeš na jedné stránce, booking.tricho.app/tvoje-adresa/akce. Adresu a QR kód k vytištění nebo sdílení najdeš ve stejném okně v aplikaci.
Pro toho, kdo ti dělá web
Adresa se seznamem akcí (tu svou najdeš v aplikaci):
GET sync.tricho.app/auth/public/events/<adresa>
Odpověď je JSON ve verzi v: 1, tvar se v ní nemění. Je otevřená pro čtení z jakékoli stránky (Access-Control-Allow-Origin: *), jen metodou GET, bez přihlášení a bez cookies.
{
"v": 1,
"organizer": { "name": "…", "eventsUrl": "booking.tricho.app/<adresa>/akce" },
"feedUrl": "webcal://sync.tricho.app/auth/public/events/<adresa>/feed.ics",
"events": [
{
"eventId": "…", "occId": "…",
"title": "…", "summary": "…", "description": "…",
"place": { "name": "…", "address": "…" },
"days": [{ "startAt": "2027-03-12T09:00:00+01:00", "endAt": "2027-03-12T17:00:00+01:00", "label": "…" }],
"price": { "amountMinor": 490000, "currency": "CZK", "perSeat": true },
"seatsLeft": 4,
"availability": "open",
"status": "scheduled",
"url": "booking.tricho.app/<adresa>/akce/<occId>",
"pageUrl": "https://tvuj-web.cz/workshopy/kurz",
"jsonld": { "@type": "Event" }
}
]
}
Každá položka má dále startAt, endAt, language, audience, priceTiers, maxSeatsPerRegistration, salesFrom, salesUntil, previousStartAt a termsUrl. Částky jsou v haléřích, časy v ISO 8601 s pražským posunem.
availability je jedna z hodnot: open (volno), few (poslední místa), soldout (plno), waitlist (plno, ale otevřená čekací listina), upcoming (přihlášky ještě nezačaly), closed (online přihlášky skončily), cancelled (zrušeno).
eventId a occId jsou stálé klíče. Termín si podle nich ukotvíš, a najdeš je v aplikaci u každého termínu jako ID pro web.
Když akce nejsou, odpověď je 404 s tělem {"error":"unavailable"}. Znamená „není co ukázat”, ať je důvod jakýkoli. Vykresli prázdný stav, třeba „Teď tu nejsou žádné vypsané akce.”, a nikdy ne chybovou hlášku.
Mezipaměť a omezení: odpověď se drží 60 sekund. Načítej nejvýš jednou za minutu a nech web pracovat s hlavičkami ETag a If-None-Match. Adresa, která dostane příliš mnoho dotazů, odpoví 429.
Minimální příklad, který texty vykreslí přes textContent:
<ul id="akce"></ul>
<script>
fetch('https://' + 'sync.tricho.app' + '/auth/public/events/tvoje-adresa')
.then((r) => (r.ok ? r.json() : { events: [] }))
.then((data) => {
const list = document.getElementById('akce');
for (const e of data.events) {
const li = document.createElement('li');
li.textContent = e.title + ' · volná místa: ' + e.seatsLeft;
list.append(li);
}
if (data.events.length === 0) list.textContent = 'Teď tu nejsou žádné vypsané akce.';
})
.catch(() => {});
</script>
Texty z odpovědi vždy vkládej jako text, ne jako HTML. Pro vyhledávače přidej každé akci blok jsonld:
<script type="application/ld+json">{ …obsah pole jsonld… }</script>
Nejlépe ho vlož na serveru nebo při sestavení stránek, vyhledávače spolehlivěji čtou to, co je ve stránce už při načtení. Když v akci vyplníš Stránku akce na tvém webu, vrací se jako pageUrl a v bloku jsonld jako url. Tlačítko Přihlásit se pak vede na url.
Soukromí návštěvnic tvého webu
Když web data načítá až v prohlížeči návštěvnice, server Tricho.app uvidí její IP adresu, jako u každé načtené stránky. Zůstane jen v krátkém provozním záznamu.
Pokud tomu chceš předejít, ať web data načítá u sebe na serveru nebo při sestavení stránek. Jinak uveď v zásadách svého webu, že akce načítá z aplikace Tricho.app.