[P02] View Event Page

Summary

A visitor reads everything about one event on its event page: when and where, who organises it, what categories and races it offers, what it costs, the program and courses, and whether entries are open. The page is made of page parts showing EMS data, arranged by the site editor, with the editor’s own content in between.

Actor & Context

Actor: Visitor
Frequency: Every event page view
Precondition: None; the event is published on the site
Entry point: An event list (P01), a search engine, a shared link, or the home page of a single-event site

Main Flow

  1. The page shows the parts the editor arranged, typically: event header and details (date and time, venue, organiser and contacts), map, register button, then categories, fees, program and courses, with the editor’s content between them.

  2. Every part shows current EMS data for the event.

  3. On a multi-event site the event navigation part takes the visitor to the previous or next event or back to the list.

Alternative Flows

  • AF-1: Registration not yet open: the register button states the opening date.

  • AF-2: Event passed: the page says so and gives prominence to results and start lists (P04).

  • AF-3: EMS data missing for a part: the part shows nothing or a neutral note, never an error.

  • AF-4: EMS unavailable: the page still renders from cached data or with parts in their neutral state.

Acceptance Criteria

  • Every part shows the current EMS data for the event (PS-EP-04)

  • Parts render on the server and are visible without JavaScript (PS-PP-22)

  • The page carries schema.org Event data (PS-NF-04)

  • No personal data is part of the cached page (PS-NF-03)

API Surface

The calls below are named by purpose; their exact form is defined in the public site design.

Call Purpose

GET event by id

Event header and details

GET categories, races, products and fees, program, courses for the event

Page parts

Out of Scope

  • Entering the event (P05)

  • Editing the page (P08)

Design Anchors

Notes

This use case is independent of the CMS. How each implementation realises it is documented with that implementation.