Nákup vstupenek (PRD-01)
Hlavní konverzní cesta aplikace — 21 obrazovek od discovery po potvrzení objednávky. Plné znění najdete níže na této stránce.
Scope
| Fáze | Obrazovek | Odhad |
|---|---|---|
| MVP | 19 (7 primárních, 6 sekundárních, 6 podpůrných) | 81 h |
| F2+ | 2 (doplňkový prodej, navigace) | 5 h |
| Celkem | 21 | 86 h |
Klíčové obrazovky MVP
| ID | Název | Typ |
|---|---|---|
| P1 | Home / Feed | Primární |
| P2 | Seznam akcí | Primární |
| P3 | Detail akce | Primární |
| P4 | Seat Map (adresné sezení) | Primární |
| P5 | Košík / Objednávka | Primární |
| P6 | Checkout / Platba | Primární |
| P8 | Vyhledávání | Primární |
| S1 | Výběr vstupenek (neadresné) | Sekundární |
| S2 | Checkout osobní údaje | Sekundární |
| S3 | Filtrování | Sekundární |
| S11 | Předplatné / Abonmá | Sekundární |
| S12 | Detail místa | Sekundární |
| S13 | Profil pořadatele | Sekundární |
Business rules
- Typ sezení: adresné (seat map P4) vs. neadresné (kategorie S1)
- Countdown timer: 15–20 min na dokončení objednávky
- Late login: registrace/přihlášení až v checkout, ne upfront
- Platební metody: Apple Pay, Google Pay, karta, hotovost (rezervace)
- Guest checkout: nákup bez registrace s povinnými údaji
Otevřené otázky
| Kód | Otázka | Priorita |
|---|---|---|
| OQ-01-01 | Prohlídkové vstupenky — součástí MVP? | High |
| OQ-01-02 | Hotovostní platba — přesný scénář | High |
| OQ-01-03 | Kupóny — kumulativnost | Medium |
| OQ-01-04 | Seat map data formát z API | High |
| OQ-01-05 | Servisní poplatek | Medium |
| OQ-01-06 | Landscape seat map | Medium |
| OQ-01-07 | Doplňkový prodej v MVP | Medium |
| OQ-01-08 | Předplatné nákupní flow | Medium |
Detailní specifikace (Plné znění PRD)
PRD-01: Nákup vstupenek — Colosseum MA
| Verze | 1.0 |
| Datum | 2026-02-23 |
| Stav | Draft |
| Vlastník | Symbio — Analýza & Design |
1. Přehled a cíle
Nákup vstupenek je hlavní konverzní cesta aplikace a klíčový důvod existence mobilní app. Oblast pokrývá celý journey od objevení akce po potvrzení objednávky — tedy browse, search, detail, výběr míst, košík, platbu a potvrzení.
Cílem je poskytnout uživateli rychlejší, pohodlnější a modernější nákupní zážitek než na stávajícím webu Colosseum Ticket — s nativními platbami (Apple Pay, Google Pay), interaktivním seat map, intuitivním filtrem a stepper checkoutem.
Cíle
| Cíl | Metrika | Fáze |
|---|---|---|
| Zvýšit dokončení nákupu | Konverzní poměr (detail akce → potvrzení) | MVP |
| Zrychlit checkout | Průměrný čas od „Koupit" po potvrzení | MVP |
| Snížit abandonování košíku | Drop-off rate v jednotlivých krocích | MVP |
| Umožnit doplňkový prodej | Průměrná hodnota objednávky (AOV) | F2+ |
| Podpořit discovery nových akcí | Počet prohlédnutých detailů per session | MVP |
Vazba na další PRD
- PRD-02 (Klientská zóna): Late login / registrace v rámci checkout flow (S4, S5). Po nákupu vstupenka v walletu (P7).
- PRD-03 (Notifikace): Watchdog na vyprodané akce se aktivuje z detailu (P3). Push notifikace s deep linkem na detail akce.
- PRD-04 (Věrnostní program): F1 rozšíření — loyalty body inline v checkoutu (P6), upsell odměn v košíku (P5).
- PRD-06 (Obsah a podpora): Kontakt na pořadatele z detailu akce (P3), FAQ z košíku.
2. User stories
MVP
| ID | Role | Story | Akceptační kritéria |
|---|---|---|---|
| US-01-01 | Návštěvník | Chci prohlížet akce na hlavní obrazovce, abych našel něco zajímavého | Home feed (P1) zobrazuje personalizované sekce: Doporučujeme, Nová představení, Bestsellery. City filter tabs pro výběr města. |
| US-01-02 | Návštěvník | Chci vyhledat konkrétní akci podle názvu | Fullscreen search (P8) s real-time výsledky, historií hledání a populárními tagy. Dual výsledky: akce + pořadatelé + místa. |
| US-01-03 | Návštěvník | Chci filtrovat akce podle data, žánru a místa | Filter overlay (S3) s range picker pro datum, multi-select chips pro žánry, město/lokalita, pořadatel, cenový range slider. CTA „Zobrazit (N) výsledků". |
| US-01-04 | Návštěvník | Chci vidět detailní informace o akci před nákupem | Detail akce (P3) s dark hero, datumy, galerií, videem, popisem, metadaty (délka, jazyk, titulky), credits, venue mapa, related events. Sticky CTA „Koupit vstupenky". |
| US-01-05 | Návštěvník | Chci si vybrat konkrétní sedadlo v sálu | Interaktivní seat map (P4) s pinch-to-zoom, barevným kódováním kategorií, detail sedadla v bottom sheet, vybraná sedadla jako chips. |
| US-01-06 | Návštěvník | Chci koupit vstupenky na neadresnou akci | Výběr typu vstupného (S1) s accordion kategoriemi, +/- counter, real-time cenou a dostupností per kategorie. |
| US-01-07 | Návštěvník | Chci zkontrolovat objednávku a uplatnit slevu | Košík (P5) s per-seat řádky, ticket type selector, countdown timer, voucher/kupón input, stepper progress, cenový souhrn. |
| US-01-08 | Návštěvník | Chci zaplatit rychle a bezpečně | Checkout (P6) s platebními metodami: Apple Pay, Google Pay, karta, hotovost (rezervace). Celková cena, licence terms, CTA platba. |
| US-01-09 | Návštěvník | Chci vidět potvrzení po úspěšné platbě | Thank you (X1) s ilustrací, potvrzením emailem, CTA: Sdílet / Moje vstupenky. |
| US-01-10 | Návštěvník | Chci si prohlédnout místo konání | Detail místa (S12) s popisem, mapou, adresou, parkováním, bezbariérovostí, programem a galerií. |
| US-01-11 | Návštěvník | Chci vidět profil pořadatele a jeho další akce | Profil pořadatele (S13) s popisem, kontakty, event listem, předplatnými, sociálními sítěmi. |
| US-01-12 | Návštěvník | Chci si koupit předplatné / abonmá | Seznam předplatných (S11) seskupených dle pořadatele s popisem, slevou, zahrnutými představeními a možností koupit jednotlivě. |
F1
| ID | Role | Story | Akceptační kritéria |
|---|---|---|---|
| US-01-13 | Registrovaný uživatel | Chci vidět personalizovaný feed na homepage | P1 zobrazuje obsah dle preferencí z onboardingu (žánry, lokality, oblíbení pořadatelé). |
| US-01-14 | Registrovaný uživatel | Chci uplatnit věrnostní body při platbě | P6 rozšířen o inline loyalty body a věrnostní kupóny (viz PRD-04). |
| US-01-15 | Registrovaný uživatel | Chci vidět upsell v košíku | P5 rozšířen o doplňkové služby (pojištění, parking) — náhled pro F2+ plný doplňkový prodej. |
F2+
| ID | Role | Story | Akceptační kritéria |
|---|---|---|---|
| US-01-16 | Návštěvník | Chci si k akci předobjednat občerstvení nebo merch | Doplňkový prodej (S23) — výběr položek, vlastní košík, platba společně se vstupenkou nebo separátně. |
| US-01-17 | Návštěvník | Chci navigaci na místo konání | Navigace (X24) — otevření mapy/navigační app z detailu akce. |
3. Funkční specifikace
3.1 MVP scope
P1 — Home / Feed
Hlavní vstupní obrazovka aplikace. Vertikální scroll s horizontálními sekcemi.
Klíčové prvky:
- Hero promo banner — carousel (3–5 položek), auto-scroll, manuální swipe, deep link na detail
- City filter tabs — horizontální scroll chips (Praha, Brno, Ostrava, Olomouc…), sticky pod header
- Sekce „Doporučujeme" — editorský výběr, horizontální scroll event karet
- Sekce „Nová představení" — chronologicky, horizontální scroll
- Sekce „Bestsellery" — top prodejní akce, horizontální scroll
- Event karta: thumbnail, název, datum, místo, cena od, status badge (dostupné/málo míst/vyprodáno)
- Pull-to-refresh pro aktualizaci feedu
- Skeleton loading při načítání
Interakce:
- Tap na kartu → Detail akce (P3)
- Tap na „Zobrazit vše" → Seznam akcí (P2) s příslušným filtrem
- Tap na search ikonu v header → Vyhledávání (P8)
Stavy:
- Loading (skeleton), loaded, error (retry CTA), offline (cached data + offline banner)
P2 — Seznam akcí / Kategorie
Výsledky browsingu, filtrování nebo kategorie.
Klíčové prvky:
- Header s názvem kategorie / „Výsledky hledání (N)"
- Filter chips — aktivní filtry jako dismissible chips, tap otevře S3
- Sort — dropdown: Datum (výchozí), Oblíbenost, Cena (vzestupně/sestupně)
- Event list — vertikální seznam event karet
- Event karta (rozšířená): thumbnail, název, pořadatel, datum rozsah, místo, cena od, status badge, žánr tag
- Pagination — infinite scroll s loading indicator
- Empty state — pokud 0 výsledků po filtrování: ilustrace + „Zkuste upravit filtry" CTA
Interakce:
- Tap na kartu → P3 (Detail akce)
- Tap na filter chip / „Filtrovat" → S3 (Filter overlay)
- Pull-to-refresh
P3 — Detail akce
Nejdůležitější obrazovka pro konverzi — vše co uživatel potřebuje pro rozhodnutí o nákupu.
Klíčové prvky:
- Dark hero — hlavní obrázek akce, gradient overlay, back button, share button
- Pořadatel — logo + název, tap → S13
- Název akce + tagline
- Dates list — seznam termínů s datem, časem, místem a dostupností. Tap na termín → výběr vstupenek (P4 nebo S1 dle typu sezení)
- Foto galerie — horizontální scroll, tap → fullscreen viewer
- Video teaser — inline přehrávač (pokud dostupný)
- Popis — rich text, expandable po 3 řádcích
- Metadata: délka, jazyk, titulky, přestávka, bezbariérovost, věkové omezení
- Credits — účinkující, režie (collapsible)
- Venue mapa — inline mapa s pinnem, tap → S12 (Detail místa)
- Related events — horizontální scroll s podobnými akcemi
- Sticky CTA bar — „Koupit vstupenky" / „Vybrat termín" / „Vyprodáno — Hlídat" (fixed bottom)
Interakce:
- Tap na termín → P4 (adresné) nebo S1 (neadresné)
- Tap na „Koupit" ve sticky bar → scroll k termínům nebo přímý nákup (pokud 1 termín)
- Tap na pořadatele → S13
- Tap na místo → S12
- Share → systémový share sheet s deep linkem
- „Přidat do kalendáře" → systémový kalendář (X16 potvrzení)
- Vyprodáno → „Hlídat" CTA aktivuje watchdog (F1: X18)
Reference: viz SCR-WEB-12 až SCR-WEB-26 (detaily akcí na webu)
P4 — Seat Map (adresné sezení)
Interaktivní plán sálu pro výběr konkrétních sedadel.
Klíčové prvky:
- SVG/Canvas viewport — vykreslený sál s jednotlivými sedadly
- Pinch-to-zoom + pan gesty
- Barevné kódování cenových kategorií (min. 4 barvy + vyprodáno šedá)
- Sekce — přízemí, balkón, lóže (vizuálně oddělené)
- Orientace — scéna nahoře, vchody označené
- Legenda — cenové kategorie s barvami a cenami, toggle viditelnost
- Detail sedadla — bottom sheet po tap: řada, sedadlo, kategorie, cena, CTA „Přidat"
- Selected seats chips — horizontální strip pod header s vybranými sedadly (tap → deselect)
- Max limit validace — max. počet vstupenek per objednávka (konfigurovatelné, typicky 10)
- Countdown timer — vizuální progress bar (typicky 15–20 min), start při prvním výběru
- Bottom bar — počet vybraných, celková cena, CTA „Pokračovat do košíku"
Interakce:
- Tap na sedadlo → bottom sheet s detailem → „Přidat"
- Tap na vybrané sedadlo (chip) → deselect
- Pinch-to-zoom, double tap zoom, pan
- „Pokračovat" → P5 (Košík)
- Timer warning (X5) při < 2 min
- Timer expiry → X4 (Timeout chyba)
Reference: viz SCR-WEB-29, SCR-WEB-30 (textový grid na webu — MA bude mít grafický SVG)
P5 — Košík / Objednávka
Přehled vybraných vstupenek před platbou.
Klíčové prvky:
- Stepper progress — vizuální indikátor kroku (Místa → Objednávka → Údaje → Platba → Potvrzení)
- Per-seat řádky — každá vstupenka: event, datum, sedadlo (pokud adresné), kategorie, ticket type selector (dospělý/student/senior/dítě)
- Countdown timer — pokračuje z P4, progress bar
- Voucher/kupón input — textové pole + „Uplatnit" CTA, validace v real-time
- Cenový souhrn — subtotal, slevy, poplatky, celkem (bold)
- CTA „Pokračovat k platbě"
- Odkaz „Přidat další vstupenky" — návrat na P4/S1
Interakce:
- Změna ticket type → přepočet ceny
- Swipe-to-delete vstupenku
- Uplatnění kupónu → recalc ceny, success/error toast
- „Pokračovat" → S2 (Osobní údaje) pokud nepřihlášen, nebo P6 (Checkout) pokud přihlášen
- Timer expiry → X4
Reference: viz SCR-WEB-31 až SCR-WEB-34
P6 — Checkout / Platba
Výběr platební metody a dokončení objednávky.
Klíčové prvky:
- Stepper progress (krok 4/5)
- Platební metody grid:
- Apple Pay (iOS) — nativní sheet
- Google Pay (Android) — nativní sheet
- Karta — přesměrování na platební bránu
- Hotovost — rezervace (s upozorněním o vyzvednutí)
- Voucher redemption (pokud neuplatněn v P5)
- Licence terms — checkbox s odkazem na obchodní podmínky
- Celková cena — finální částka
- CTA „Zaplatit X Kč" / „Rezervovat"
Business rules:
- Apple Pay / Google Pay preferovány (zobrazeny jako první)
- Hotovost = pouze rezervace, vyžaduje vyzvednutí na pokladně
- MVP bez loyalty bodů (F1 rozšíření)
Interakce:
- Tap Apple/Google Pay → nativní payment sheet → X1/X3
- Tap Karta → platební brána (in-app browser nebo redirect) → X1/X3
- Tap Hotovost → potvrzovací dialog → X2
- Platba OK → X1 (zaplaceno) nebo X2 (rezervováno)
- Platba selhala → X3
P8 — Vyhledávání
Full-screen search overlay.
Klíčové prvky:
- Search input s auto-focus a klávesnicí
- Empty state: historie hledání, populární tagy/akce, tipy
- Dual výsledky: akce (event karty) + pořadatelé (mini karty) + místa
- Text highlighting v názvech dle search query
- Quick preview — zkrácená event karta s hlavní info
- Recent searches — poslední hledání jako chips
Interakce:
- Typing → debounced search (300ms)
- Tap na výsledek → P3 (Detail akce) / S13 (Pořadatel) / S12 (Místo)
- Tap na recent search → spustit hledání
- „X" clear → reset na empty state
Reference: viz SCR-WEB-41, SCR-WEB-42
S1 — Výběr vstupenek (neadresné)
Pro akce bez vykreslení sálu.
Klíčové prvky:
- Accordion cenové kategorie — název, popis, cena, dostupnost
- +/- quantity counter per kategorie
- Real-time pricing — celková cena se aktualizuje při změně
- Dostupnost per kategorie — „Zbývá X" nebo „Vyprodáno"
- Bottom bar — celková cena, počet vstupenek, CTA „Pokračovat do košíku"
Reference: viz SCR-WEB-27, SCR-WEB-28
S2 — Checkout — Osobní údaje
Formulář pro údaje k objednávce (krok 3/5 stepper).
Klíčové prvky:
- Guest vs. logged-in: Nepřihlášený → guest form (jméno, email, telefon). Přihlášený → prefilled údaje.
- ISIC pole (volitelné) — pro studentskou slevu
- Fakturační adresa — collapsible sekce (volitelné)
- GDPR checkbox — povinný souhlas
- Late login CTA — „Máte účet? Přihlaste se" → S4 (Přihlášení)
Interakce:
- Inline validation per field (email formát, telefon formát)
- „Pokračovat" → P6 (Checkout)
- „Přihlásit se" → S4 → zpět s prefilled údaji
Reference: viz SCR-WEB-35 až SCR-WEB-40
S3 — Filtrování (drawer/overlay)
Bottom sheet nebo full-screen overlay s filtry.
Klíčové prvky:
- Datum — range picker (od–do)
- Žánr/kategorie — multi-select chips (Musical, Theatre, Music, Festival, Cinema, Children, Tours, Sport, Others)
- Město/lokalita — multi-select
- Místo konání — searchable select
- Pořadatel — searchable select
- Cena — range slider (od–do)
- Dostupnost — toggle „Jen s volnými místy"
- CTA „Zobrazit (N) výsledků" — dynamický count
- „Resetovat filtry" — clear all
Interakce:
- Změna filtru → real-time update počtu výsledků v CTA
- „Zobrazit" → zavřít overlay, zobrazit P2 s filtry
- Swipe-to-dismiss overlay
S11 — Předplatné / Abonmá
Seznam předplatných seskupených dle pořadatele.
Klíčové prvky:
- Grouped by pořadatel — sekce s logem a názvem
- Detail předplatného: popis, výhody, sleva info, zahrnutá představení
- Per představení: datum, název, „Koupit jednotlivě" CTA
- Galerie obrázků
- Cross-sell — další předplatná od stejného pořadatele
Reference: viz SCR-WEB-50 až SCR-WEB-52
S12 — Detail místa konání
Profil venue s praktickými informacemi.
Klíčové prvky:
- Venue profil: název, popis, hlavní obrázek
- Mapa + navigace — inline mapa, tap → nativní mapy
- Adresa — kopírovatelná
- Parkování — info o dostupnosti
- Bezbariérovost — ikony a popis
- Program — filtrovaný event list (akce v tomto místě)
- Galerie — fotografie venue
- Kontakt — telefon, email, web
Reference: viz SCR-WEB-53 až SCR-WEB-56
S13 — Profil pořadatele
Profil organizátora.
Klíčové prvky:
- Organizátor: logo, název, popis
- Kontakty: telefon, email, web
- Event list — akce tohoto pořadatele
- Předplatná — abonmá od tohoto pořadatele
- Sociální sítě — ikony s linky (Instagram, Facebook, YouTube)
X1 — Thank you — Zaplaceno
Potvrzení úspěšné platby.
- Ilustrace / animace úspěchu
- „Objednávka potvrzena" + číslo objednávky
- „Potvrzení odesláno na email"
- CTA: „Sdílet vstupenku" / „Moje vstupenky"
- Confetti animace (subtle)
X2 — Thank you — Rezervováno
Potvrzení rezervace (hotovostní platba).
- Warning styl (žlutá)
- „Rezervace potvrzena — vyzvednout a zaplatit min. X minut před začátkem"
- Informace o místě vyzvednutí
- CTA: „Moje vstupenky"
X3 — Chyba — Platba selhala
- Červený alert s ikonou
- Referenční číslo transakce
- CTA: „Zkusit znovu" / „Zpět do košíku"
- Kontakt na podporu
X4 — Chyba — Timeout
- „Překročen časový limit pro dokončení objednávky"
- Vysvětlení, že sedadla byla uvolněna
- CTA: „Zpět na výběr míst"
X5 — Warning — Timer blíží se
- Inline warning banner v P4/P5 při zbývajícím čase < 2 min
- Pulsující timer s červeným highlight
- „Zbývá X:XX — dokončete objednávku"
X6 — Empty state — Vyhledávání
- Ilustrace „Nic jsme nenašli"
- „Zkuste jiný výraz nebo upravte filtry"
- Návrh alternativ: populární akce, kategorie
3.2 F1 rozšíření
| MVP obrazovka | Rozšíření | Popis |
|---|---|---|
| P1 Home/Feed | Personalizovaný obsah | Sekce řazeny dle preferencí z onboardingu (S6). „Pro vás" sekce na základě historie. |
| P5 Košík | Upsell doplňků | Inline nabídka pojištění vstupenky, parkování (preview pro F2+ plný doplňkový prodej S23). |
| P6 Checkout | Loyalty body | Inline zobrazení disponibilních bodů, možnost uplatnit body jako slevu (viz PRD-04). Věrnostní kupóny. |
| P3 Detail akce | Watchdog CTA | „Hlídat" CTA u vyprodaných termínů → aktivace watchdog (viz PRD-03). |
3.3 F2+ rozšíření
S23 — Doplňkový prodej / předobjednávka
- Výběr občerstvení, merchandisingu, služeb (parking) k akci
- Vlastní košík doplňků
- Platba společně se vstupenkou nebo separátně
- Dostupnost vázaná na konkrétní akci/venue
X24 — Navigace na místo
- Otevření systémové navigační aplikace z detailu akce/venue
- Výběr z dostupných navigačních app (Apple Maps, Google Maps, Waze)
3.4 K diskusi
- Prohlídkové vstupenky (časované prohlídky, nečasované okruhy) — zmíněny v zadání, ale nejsou explicitně v MVP rozpisu. Pokud schváleno → nová primární obrazovka s time slot pickerem (+8h).
4. Business rules
| Pravidlo | Popis |
|---|---|
| Typ sezení | Akce může být adresná (seat map P4) nebo neadresná (kategorie S1). Typ je definován v CMS per akce/termín. |
| Countdown timer | Spouští se při prvním výběru sedadla. Typicky 15–20 min (konfigurovatelné v CMS). Po expiraci → uvolnění sedadel, X4 error. |
| Max vstupenek | Maximum vstupenek per objednávka (konfigurovatelné, default 10). Validace v P4/S1. |
| Platební metody | Apple Pay (iOS), Google Pay (Android), platební brána (karta), hotovost (rezervace). Apple/Google Pay preferovány (první v pořadí). |
| Hotovost = rezervace | Zákazník platí na pokladně. Vstupenky rezervovány, ne zaplaceny. Vyzvednutí min. X minut před akcí. |
| Guest checkout | Nákup bez registrace s povinnými údaji (jméno, email, telefon). Guest nedostane wallet — vstupenky pouze na email. |
| Late login | Registrace/přihlášení nabídnuty až v checkout flow (S2), ne na začátku. Uživatel může pokračovat jako guest. |
| Voucher/kupón | Uplatnění v košíku (P5). Validace v real-time proti API. Jeden kupón per objednávku (nebo kumulativně — TBD). |
| Dostupnost | Real-time kontrola dostupnosti sedadel/kategorií. Pokud sedadlo obsazeno během výběru → toast + deselect. |
| Předplatné | Abonmá = sada představení za zvýhodněnou cenu. Nákup jako celek nebo jednotlivě. |
| Ceny | Ceny v CZK, včetně DPH. Poplatky (servisní poplatek) zobrazeny v souhrnu košíku. |
5. Data model
Klíčové entity
| Entita | Zdroj | Klíčové atributy |
|---|---|---|
| Event | API | id, title, tagline, description, category, images, video, organizer_id, venue_id, dates[], metadata (duration, language, subtitles, intermission, accessibility) |
| EventDate | API | id, event_id, datetime, venue_id, hall_id, seat_type (addressed/unaddressed), availability_status, availability_count |
| Venue | API | id, name, description, address, gps, parking, accessibility, images, contact |
| Organizer | API | id, name, description, logo, contact, social_links, events[] |
| Hall | API | id, venue_id, name, svg_layout, sections[], seat_categories[] |
| SeatCategory | API | id, hall_id, name, color, price, available_count |
| Seat | API | id, hall_id, section, row, number, category_id, status (free/selected/sold) |
| Subscription | API | id, organizer_id, name, description, discount, included_events[], price |
| Cart | Lokální + API | seats[], ticket_types[], voucher, totals, timer_expiry |
| Order | API | id, user_id, event_date_id, seats[], payment_method, status, total, created_at |
| TicketType | API | id, name (dospělý/student/senior/dítě), price_modifier |
Lokální stav
- Cart obsah (persistentní přes session)
- Search historie (posledních 10 hledání)
- Nedávno prohlížené akce
- Aktivní filtry
- Timer countdown
6. Edge cases a error states
| Scénář | Řešení |
|---|---|
| Sedadlo obsazeno během výběru jiným uživatelem | Toast „Toto sedadlo bylo právě obsazeno", automatický deselect, seat map refresh |
| Ztráta připojení během checkout | Retry dialog s možností „Zkusit znovu". Košík zůstává v lokálním stavu. |
| Timer expiry v košíku | X4 error screen, sedadla uvolněna. CTA zpět na výběr. |
| Platba zamítnuta (nedostatek prostředků) | X3 error s možností změnit platební metodu. |
| Platební brána timeout | X3 error + kontakt na podporu. Transakce ověřena na pozadí (double-charge ochrana). |
| Akce zrušena během nákupu | Alert dialog „Tato akce byla zrušena", redirect na home. |
| Search bez výsledků | X6 empty state s návrhy alternativ. |
| Nedostupná kategorie při neadresném prodeji | Disabled stav s „Vyprodáno" labelem, counter na 0. |
| Voucher neplatný / expirovaný | Inline error pod voucher inputem „Neplatný kupón". |
| Změna ceny během session | Upozornění v košíku „Ceny se mohly změnit", refresh cen z API. |
7. Screen mapping
| Screen ID | Název | Typ | Fáze | Odhad |
|---|---|---|---|---|
| P1 | Home / Feed | Primární | MVP | 8 h |
| P2 | Seznam akcí / Kategorie | Primární | MVP | 8 h |
| P3 | Detail akce | Primární | MVP | 8 h |
| P4 | Seat Map (adresné sezení) | Primární | MVP | 8 h |
| P5 | Košík / Objednávka | Primární | MVP | 8 h |
| P6 | Checkout / Platba | Primární | MVP | 8 h |
| P8 | Vyhledávání | Primární | MVP | 8 h |
| S1 | Výběr vstupenek (neadresné) | Sekundární | MVP | 4 h |
| S2 | Checkout — Osobní údaje | Sekundární | MVP | 4 h |
| S3 | Filtrování (drawer/overlay) | Sekundární | MVP | 4 h |
| S11 | Předplatné / Abonmá | Sekundární | MVP | 4 h |
| S12 | Detail místa konání | Sekundární | MVP | 4 h |
| S13 | Profil pořadatele | Sekundární | MVP | 4 h |
| X1 | Thank you — Zaplaceno | Podpůrná | MVP | 1 h |
| X2 | Thank you — Rezervováno | Podpůrná | MVP | 1 h |
| X3 | Chyba — Platba selhala | Podpůrná | MVP | 1 h |
| X4 | Chyba — Timeout | Podpůrná | MVP | 1 h |
| X5 | Warning — Timer blíží se | Podpůrná | MVP | 1 h |
| X6 | Empty state — Vyhledávání | Podpůrná | MVP | 1 h |
| S23 | Doplňkový prodej | Sekundární | F2+ | 4 h |
| X24 | Navigace na místo | Podpůrná | F2+ | 1 h |
Celkem PRD-01: MVP 19 obrazovek (81 h) + F2+ 2 obrazovky (5 h) = 86 h čistý návrh
8. Otevřené otázky
| # | Otázka | Fáze | Dopad |
|---|---|---|---|
| OQ-01-01 | Prohlídkové vstupenky — Jsou časované prohlídky a nečasované okruhy součástí MVP? V zadání zmíněny, ale v MVP rozpisu nejsou explicitně. | MVP | +8h nová primární obrazovka (time slot picker) |
| OQ-01-02 | Hotovostní platba — Jak přesně funguje scénář „rezervace s hotovostní platbou"? Kde a kdy zákazník platí? Jak dlouho je rezervace platná? | MVP | Ovlivňuje X2 a business rules |
| OQ-01-03 | Kupóny — kumulativnost — Lze uplatnit více kupónů na jednu objednávku? Nebo jen jeden? | MVP | Ovlivňuje P5 UI a validační logiku |
| OQ-01-04 | Seat map formát — V jakém formátu dodává Colosseum API data pro sály? SVG? JSON s koordináty? Ovlivňuje technickou náročnost P4. | MVP | Klíčové pro tech spec seat map |
| OQ-01-05 | Servisní poplatek — Účtuje Colosseum servisní poplatek k ceně vstupenky? Jak se zobrazuje zákazníkovi? | MVP | Ovlivňuje cenový souhrn v P5 |
| OQ-01-06 | Landscape seat map — Podporujeme landscape orientaci pro seat map (P4)? Velké sály mohou být přehlednější na šířku. | MVP | +4h varianta P4 |
| OQ-01-07 | Doplňkový prodej v MVP — Chceme v MVP alespoň placeholder pro doplňkový prodej v košíku, nebo čistě až F2+? | MVP/F2+ | Ovlivňuje P5 design |
| OQ-01-08 | Předplatné nákup — Jak probíhá nákup předplatného? Je to single transaction nebo série nákupů? | MVP | Ovlivňuje S11 flow |