White-label B2B (PRD-05)
Aplikace pod značkou pořadatele — F2+ scope. Plné znění najdete níže na této stránce.
Scope
| Fáze | Obrazovek | Odhad |
|---|---|---|
| MVP | 0 (CMS agenda interní) | — |
| F2+ | 2 (správa aplikací, brand konfigurace) | 12 h |
Koncept
Pořadatel (divadlo, koncertní hala, festival) dostane vlastní mobilní aplikaci pod svou značkou, která běží na infrastruktuře Colosseum:
- Vlastní logo, barvy, fonty
- Filtrovaný obsah (pouze akce daného pořadatele)
- Sdílený auth a wallet s hlavní MA
- Pilotní segment: divadla + hudba
Detailní specifikace (Plné znění PRD)
PRD-05: White-label B2B — Colosseum MA
| Verze | 1.0 |
| Datum | 2026-02-23 |
| Stav | Draft |
| Vlastník | Symbio — Analýza & Design |
1. Přehled a cíle
White-label B2B je doplňující produkt, který umožňuje institucionálním zákazníkům (divadla, koncertní sály, kulturní sítě) nabídnout návštěvníkům mobilní aplikaci pod vlastním brandem, přičemž využívají backend a infrastrukturu Colosseum.
Tento modul posouvá Colosseum z pozice „dodavatele ticketingového systému" na pozici komplexního návštěvnického řešení — od prodeje vstupenek přes komunikaci až po věrnostní program.
Klíčový insight z workshopu (viz context/user-journeys/workshop-vystup.md): Samostatná aplikace pouze s prodejem a vstupenkami není dostatečná motivace pro koncového uživatele ke stažení. Aplikace má smysl tam, kde je opakovaná návštěvnost (divadla, muzikálové scény, filharmonie) a kde přidaná hodnota (notifikace, offline wallet, věrnost, obsah) převyšuje webový zážitek.
Fázování
| Fáze | Scope |
|---|---|
| MVP | CMS agenda — základní možnost založit novou aplikaci (CMS, ne app obrazovka). Bez end-user UI v hlavní MA. |
| F1 | — |
| F2+ | Pilotní white-label MVP pro segment divadla + hudba. CMS brand konfigurace, app preview, publikace. End-user app pod brandem pořadatele. |
Cíle
| Cíl | Metrika | Fáze |
|---|---|---|
| Rozšířit produkt Colosseum o B2B nabídku | Počet onboardovaných institucí | F2+ |
| Zvýšit hodnotu Colossea pro stávající klienty | Upgrade rate z čistého ticketingu na white-label | F2+ |
| Snížit churn klientů | Retence B2B klientů s white-label vs. bez | F2+ |
| Validovat white-label MVP na pilotním segmentu | Počet stažení pilotních aplikací, aktivní uživatelé | F2+ |
Vazba na další PRD
- PRD-01 (Nákup vstupenek): White-label aplikace sdílí nákupní flow (P3–P6), seat map, košík a platby z hlavní MA. Přebírá celý prodejní stack.
- PRD-02 (Klientská zóna): Registrace a účet sdílí backend — uživatel se přihlásí jedním účtem do hlavní MA i white-label app.
- PRD-03 (Notifikace): White-label app odesílá push notifikace pod brandem pořadatele, ale využívá notifikační infrastrukturu z PRD-03.
- PRD-04 (Věrnostní program): Otázka: sdílený bodový systém (Colosseum Premium) nebo separátní per white-label app?
2. User stories
MVP
| ID | Role | Story | Akceptační kritéria |
|---|---|---|---|
| US-05-01 | Administrátor (CMS) | Chci založit novou white-label aplikaci pro klienta | V CMS existuje agenda „Mobilní aplikace" s formulářem pro založení nové app (název, klient, kontakt). Stav: draft. |
| US-05-02 | Administrátor (CMS) | Chci vidět seznam založených aplikací | CMS přehled: tabulka white-label aplikací se stavem (draft, konfigurace, aktivní, pozastavená). |
F1
—
F2+
| ID | Role | Story | Akceptační kritéria |
|---|---|---|---|
| US-05-03 | B2B klient (admin) | Chci nastavit barvy a logo své aplikace | Brand konfigurace (S24): color picker pro primární/sekundární barvu, logo upload, font výběr. Live preview na mobilní mockup. |
| US-05-04 | B2B klient (admin) | Chci vidět, jak bude moje aplikace vypadat | Preview v CMS (P12) zobrazuje mobilní simulaci s aktuálním nastavením brandu — home screen, detail akce, wallet. |
| US-05-05 | B2B klient (admin) | Chci nastavit kontaktní údaje zobrazené v aplikaci | V brand konfiguraci (S24) pole: adresa, telefon, email, web, provozní doba, sociální sítě. |
| US-05-06 | B2B klient (admin) | Chci publikovat svou aplikaci do App Store / Google Play | Workflow: konfigurace → review Colosseem → publikace. CMS stav: „Připraveno k review" → „Schváleno" → „Publikováno". |
| US-05-07 | B2B klient (admin) | Chci vidět statistiky své aplikace | Dashboard v CMS: počet stažení, aktivní uživatelé, prodeje, konverze. (Základní metriky.) |
| US-05-08 | Koncový uživatel (white-label) | Chci používat aplikaci divadla/koncertní síně jako kdyby byla „jejich vlastní" | Uživatel vidí brand pořadatele (logo, barvy, název). Funkce (nákup, wallet, notifikace) fungují identicky jako v hlavní MA. |
| US-05-09 | Koncový uživatel (white-label) | Chci se přihlásit stejným účtem jako v hlavní Colosseum app | Shared authentication — jeden uživatelský účet funguje v hlavní MA i white-label aplikacích. |
| US-05-10 | B2B klient (admin) | Chci spravovat obsah své aplikace (novinky, bannery) | Zjednodušené CMS: banner management, novinky (blog-like), push notifikace pod vlastním brandem. |
TBD
—
3. Funkční specifikace
3.1 MVP scope
V MVP se vytváří pouze CMS základ pro správu white-label aplikací. Žádná end-user obrazovka v hlavní MA.
CMS agenda „Mobilní aplikace"
-
Seznam aplikací:
- Tabulka: Název, Klient (organizátor), Stav, Datum založení, Poslední úprava
- Stavy:
Draft→Konfigurace→Review→Schváleno→Publikováno→Pozastaveno - Filtry: dle stavu, dle klienta
- CTA: „Založit novou aplikaci"
-
Formulář nové aplikace:
- Název aplikace
- Organizátor (select z existujících klientů Colosseum)
- Kontaktní osoba (jméno, email, telefon)
- Segment (divadlo / hudba / festival / multižánrový / jiný)
- Poznámky
- CTA: „Vytvořit" → stav Draft
-
Datový základ: Vytváří se entita
WhiteLabelAppv databázi s vazbou na organizátora. V F2+ se rozšíří o brand konfiguraci.
3.2 F1 rozšíření
—
3.3 F2+ rozšíření
Správa aplikací — rozšířené CMS (P12)
-
Dashboard per aplikace:
- Stav a progress (stepper: Konfigurace → Review → Publikace)
- Quick stats: stažení, aktivní uživatelé, prodeje (pokud dostupné)
- Preview mobilní app (embedded mockup nebo screenshot)
- Sekce: Brand konfigurace, Obsah, Notifikace, Statistiky
- CTA: „Požádat o review" / „Publikovat" (dle stavu)
-
Seznam akcí v aplikaci:
- Automaticky: všechny akce daného organizátora z Colosseum databáze
- Manuálně: admin může skrýt/zvýraznit konkrétní akce
- Řazení: custom order na home screenu white-label app
Brand konfigurace (S24)
-
Vizuální identita:
- Primární barva: Color picker (hex input + vizuální paleta). Použití: CTA buttony, header, accent.
- Sekundární barva: Color picker. Použití: secondary elements, links.
- Background barva: Light/dark mode base.
- Logo: Upload (SVG/PNG, min 512×512 px). Zobrazení: splash screen, header, about screen.
- App ikona: Upload (1024×1024 px). Pro App Store / Google Play.
- Font: Výběr z pre-approved fontů (systémové + 5–10 licencovaných). Custom font = na vyžádání.
-
Kontaktní údaje:
- Název instituce
- Adresa (zobrazí se v sekci podpora/kontakt)
- Telefon, email
- Web URL
- Provozní doba (formátované pole)
- Sociální sítě: Instagram, Facebook, YouTube (URL per platforma)
-
App Store metadata:
- Název aplikace (jak se zobrazí v obchodě)
- Krátký popis (subtitle)
- Klíčová slova
- Screenshoty — auto-generované z preview s brandem, nebo custom upload
-
Preview:
- Real-time mobilní mockup (iPhone/Android frame) s aktuálním nastavením
- Přepínání obrazovek: Home, Detail akce, Wallet, Podpora
- Light/dark mode toggle
- „Vypadá správně?" → CTA „Požádat o review"
White-label app — end-user experience
Koncová aplikace je fork hlavní MA s přizpůsobeným brandem:
| Aspekt | Hlavní MA (Colosseum Ticket) | White-label app |
|---|---|---|
| Branding | Colosseum Ticket | Logo, barvy, název pořadatele |
| Obsah | Všechny akce všech pořadatelů | Pouze akce daného pořadatele (+ volitelné partnerské) |
| Vyhledávání | Globální (všichni pořadatelé) | Scoped na pořadatele |
| Registrace / login | Colosseum účet | Sdílený Colosseum účet (transparent SSO) |
| Wallet | Všechny vstupenky | Všechny vstupenky (sdílený wallet) |
| Push notifikace | Pod brandem Colosseum | Pod brandem pořadatele |
| Věrnostní program | Colosseum Premium | TBD: sdílený nebo separátní |
| Podpora | Colosseum podpora | Kontakt na pořadatele + Colosseum fallback |
| Blog / obsah | Colosseum blog (F2+) | Pořadatelův obsah (CMS) |
Pilotní segment: divadla + hudba
Na základě workshopu (viz context/user-journeys/workshop-vystup.md) je doporučený pilotní segment divadla a hudba — segmenty s:
- Stálým, loajálním publikem (motivace stáhnout app)
- Opakovanou návštěvností (hodnota push notifikací a walletu)
- Potřebou komunikace (změny v obsazení, nové premiéry, sezónní předplatné)
Pilotní funkce:
- Vstupenka v kapse (offline wallet, QR)
- Push notifikace (změny, nové akce, připomínky)
- Praktické informace (čas, místo, šatna, obsazení)
- Přehled nákupů a historie
- Přidání do kalendáře
- Sdílení vstupenky
- Základní správa obsahu (novinky, oblíbené, hlídač)
Publikační workflow
- Review: Colosseum tým kontroluje kvalitu brandu (rozlišení loga, čitelnost barev, kompletnost údajů)
- Publikace: Colosseum zajišťuje build a upload do App Store / Google Play (B2B klient nepřistupuje ke store účtům)
- Aktualizace brandu: Změna barev/loga = nový build → mini review → update v obchodech
- Pozastavení: Colosseum může app dočasně stáhnout (nezaplacení, porušení podmínek)
3.4 K diskusi
—
4. Business rules
| ID | Pravidlo | Podmínky |
|---|---|---|
| BR-05-01 | White-label app zobrazuje pouze akce daného pořadatele | Filtr na organizerId. Admin může přidat partnerské pořadatele (multi-select). |
| BR-05-02 | Uživatelský účet je sdílený | Jeden Colosseum účet funguje v hlavní MA i všech white-label aplikacích. SSO token. |
| BR-05-03 | Wallet je sdílený | Vstupenky koupené v jakékoli app se zobrazují ve wallet ve všech apps uživatele. |
| BR-05-04 | Push notifikace pod brandem pořadatele | White-label app má vlastní push certificate. Notifikace se zobrazují pod názvem a ikonou pořadatele. |
| BR-05-05 | Logo musí splňovat min. rozlišení | 512×512 px (in-app), 1024×1024 px (App Store). SVG preferováno. |
| BR-05-06 | Barvy musí splňovat WCAG 2.1 AA kontrast | CMS validuje kontrast primární barvy vůči bílému textu (min 4.5:1). Warning, ne blokace. |
| BR-05-07 | Publikace vyžaduje Colosseum review | B2B klient nemůže publikovat přímo. Review = kontrola kvality + compliance. |
| BR-05-08 | 1 organizátor = max 1 white-label app | Výjimky: kulturní sítě mohou mít app per sub-brand (na vyžádání). |
| BR-05-09 | Colosseum spravuje App Store / Play Store účty | White-label aplikace se publikují pod Colosseum developer účtem, ne pod klientem. Výjimka: klient s vlastním účtem (na vyžádání, vyšší cena). |
| BR-05-10 | Aktualizace white-label app = aktualizace hlavní MA | Nový feature v hlavní MA se automaticky propaguje do white-label buildů (shared codebase). Brand-specific úpravy přes konfiguraci, ne custom kód. |
5. Data model
WhiteLabelApp
| Atribut | Typ | Popis |
|---|---|---|
| id | UUID | Unikátní identifikátor |
| organizerId | UUID | FK → Organizer (primární klient) |
| partnerOrganizerIds | UUID[] | FK → Organizer[] (partnerské organizace zobrazené v app) |
| name | String | Název aplikace |
| status | Enum | draft, configuring, review, approved, published, paused |
| segment | Enum | theater, music, festival, multi_genre, other |
| contactName | String | Kontaktní osoba B2B klienta |
| contactEmail | String | |
| contactPhone | String? | Telefon |
| notes | Text? | Interní poznámky |
| createdAt | DateTime | Datum založení |
| updatedAt | DateTime | Poslední úprava |
| publishedAt | DateTime? | Datum publikace |
WhiteLabelBrandConfig
| Atribut | Typ | Popis |
|---|---|---|
| id | UUID | Unikátní identifikátor |
| appId | UUID | FK → WhiteLabelApp (1:1) |
| primaryColor | String | Hex primární barva (#RRGGBB) |
| secondaryColor | String | Hex sekundární barva |
| backgroundColor | String | Hex pozadí |
| logoUrl | String | URL loga (SVG/PNG) |
| appIconUrl | String | URL ikony aplikace (1024×1024) |
| fontFamily | String | Název fontu z pre-approved seznamu |
| institutionName | String | Zobrazovaný název instituce |
| address | String? | Adresa |
| phone | String? | Telefon |
| String? | ||
| webUrl | String? | Web |
| operatingHours | JSON? | Provozní doba (strukturovaně per den) |
| socialInstagram | String? | Instagram URL |
| socialFacebook | String? | Facebook URL |
| socialYoutube | String? | YouTube URL |
| appStoreName | String | Název v App Store |
| appStoreSubtitle | String? | Subtitle |
| appStoreKeywords | String? | Klíčová slova |
| updatedAt | DateTime | Poslední úprava |
6. Edge cases a error states
| Scénář | Chování |
|---|---|
| Pořadatel nemá žádné aktivní akce | White-label app zobrazí empty state: „Momentálně žádné akce. Sledujte nás pro novinky." + push opt-in. |
| Logo nesplňuje min. rozlišení | CMS warning při uploadu: „Logo má nízké rozlišení (X×Y px). Doporučujeme min. 512×512 px." Upload není blokován, ale review to může zamítnout. |
| Barvy nesplňují WCAG kontrast | CMS warning s náhledem: „Kontrast primární barvy vůči bílému textu je X:1 (doporučeno min. 4.5:1). Text může být špatně čitelný." |
| Uživatel hlavní MA otevře white-label app (a naopak) | Automatické přihlášení (SSO). Wallet se synchronizuje. Uživatel vidí všechny své vstupenky. |
| B2B klient chce custom funkci mimo konfiguraci | Není podporováno v white-label standardu. Nabídnout jako custom development (oddělená kalkulace). |
| Pořadatel ukončí spolupráci s Colosseem | App přejde do stavu paused. Uživatelé vidí: „Aplikace je dočasně nedostupná." Wallet a vstupenky zůstávají přístupné v hlavní MA. |
| App Store review odmítne aplikaci | Colosseum řeší s Apple/Google. B2B klient je informován o důvodu a potřebných úpravách. |
| Dva pořadatelé chtějí stejný název aplikace | CMS validace: unikátní název v rámci App Store. Warning + návrh alternativy. |
| Font není dostupný na jedné platformě | Fallback na systémový font (SF Pro / Roboto). CMS preview ukazuje oba varianty. |
| Aktualizace hlavní MA rozbije white-label build | Regression testing: white-label buildy se automaticky testují při každém release hlavní MA. Rollback mechanismus. |
7. Screen mapping
| ID | Obrazovka | Typ | Fáze | Popis |
|---|---|---|---|---|
| P12 | White-label — správa aplikací | Primární (8h) | F2+ | CMS dashboard: seznam, detail, preview, publikace |
| S24 | White-label — brand konfigurace | Sekundární (4h) | F2+ | Color picker, logo, font, kontaktní údaje, preview |
Celkový odhad (čistý design)
| Fáze | Obrazovky | Hodiny |
|---|---|---|
| MVP | 0 (CMS agenda — interní, bez design odhadu) | 0 h |
| F1 | 0 | 0 h |
| F2+ | 2 | 12 h |
| Celkem | 2 | 12 h |
Poznámka: CMS agenda v MVP je interní administrace — design se řeší v rámci existujícího CMS frameworku (Dato/Websale), ne jako custom obrazovka.
8. Otevřené otázky
Věrnostní program ve white-label — Sdílený Colosseum Premium (body se sbírají across všech apps), nebo separátní program per pořadatel? Sdílený má výhodu pro uživatele (víc bodů), separátní pro pořadatele (vlastní branding věrnosti).
Publikace pod klientovým developer účtem — Standard: Colosseum účet. Ale někteří klienti (Národní divadlo, velké sítě) mohou chtít vlastní účet. Jak to řešit technicky a obchodně?
Pricing model — Setup fee + monthly subscription? Revenue share z prodejů? Kombinace? Vliv na scope konfigurace (basic vs. premium tier).
Custom funkce per klient — Kde je hranice white-label konfigurace vs. custom development? Např. vlastní home screen layout, custom sekce, specifické integrace.
Pilotní klient — Kdo bude první white-label zákazník? Ideálně existující klient Colossea s vysokou návštěvností a motivací (divadlo nebo muzikálová scéna).
Web builder (varianta řešení z workshopu) — Workshop identifikoval 3 varianty: (1) integrace s CMS klienta, (2) Colosseum Web Builder, (3) white-label MVP. Aktuálně jdeme cestou (3). Je (2) — vlastní CMS pro menší instituce — stále na stole pro budoucí fáze?
Obsah ve white-label — Má pořadatel přístup k blog modulu (PRD-06)? Nebo jen k bannerům a novinkám? Rozsah content managementu per white-label app.