Managing Matches
The match editor
Each match belongs to one project/stage/round and is edited on a single tabbed form (Details, Description, Publishing):
match_numberandcode— identifying labels for the match.contest_type— shown on the form, but not actually something you set: it is always overwritten on save with the value from the project's sport profile (head_to_headfor most sports, or another type such asracefor non-head-to-head sports). Every match in a project shares the same contest type.participant_slot_1/participant_slot_2(Home/Away) — only shown and required whencontest_typeishead_to_head. For any other contest type, these are replaced by a note pointing you to the separate participants screen (see below), since the number of participants isn't fixed to two.scheduled_dateandscheduled_time— the local date and time of the match, in the match's effective timezone (the match's owntimezoneoverride if set, otherwise the project's timezone, otherwise the site's global offset). You must set both together, or neither; they're combined and stored internally as a UTCscheduled_start.timezone— optional per-match override; leave unset to use the project's timezone.duration_minutes— expected match length.venue_id— the venue, chosen from published venues.attendance— recorded attendance figure.status_code— the match's status (defaults toscheduled).description— free-text/rich-text notes.publishedandordering.
Recording a finished match end to end typically means: set the schedule and venue on this form, then use the dedicated screens below (lineup, events, officials, statistics, and — for non-head-to-head contests — participants) to fill in what actually happened, and finally set status_code to reflect that the match is complete.
Match participants
For a head_to_head match, the two participants are the participant_slot_1/participant_slot_2 fields on the match form itself. For any other contest type (e.g. race), participants are managed on a separate screen: you add any number of the stage's available entries to the match, each getting a slot_number. Once the match has recorded competition data (results, etc.), the participant list locks and can no longer be changed.
Match lineup
For each participant in a match, the lineup screen lets you assign members (players) from that entry:
- Available members are drawn from the participating team/entry; adding one records a lineup entry with a status (defaults to
available) and an optional captain flag. - Substitutions can be recorded against a lineup: an outgoing member, an incoming member, a
phase_code/phase_sequence(which phase of the match/segment it happened in), a clock value and unit, and optional notes.
All lineup and substitution changes are saved per participant within a single match.
Match events
Events (goals, cards, and similar occurrences, depending on the sport profile's defined event types) are recorded against a match as a simple list: each event is added with its data and can be removed individually. The available event types come from the sport profile assigned to the project, not from fixed football terminology.
Match officials
Officials (referees and other roles) are assigned to a match from the project's existing actor assignments — you assign a project_assignment_id (a person already tied to the project in an official/actor role) to the match, optionally with notes, rather than picking an arbitrary person. Assignments can be removed individually.
Match statistics
Per-match statistics are recorded as values tied to the sport profile's defined statistic types. Each value has a type that determines how it displays:
duration— formatted as a duration.- values with a
text_value— shown as-is. - otherwise numeric — shown as a plain number, or as a percentage if the statistic's type is
percentage.
Values are added, saved, and removed individually per match.