Open Meet Display

Version 1.0. A minor version only adds; only a major breaks. Comments to [email protected].

Field reference

Every field in the message schema and the probe reply schema, generated from the schemas' own descriptions. Message is the envelope every message carries; the sections after it say what each kind adds, then each definition they refer to. Every value is a display string, and a field with no value is left out. A field the format does not define is ignored by every receiver and never fails a message, so it is not listed.

Message

One Open Meet Display message: a complete snapshot of what one display target should show. It checks every 1.x message. Receivers must ignore fields they do not recognise, so every object allows additional properties, and a kind this schema does not list is checked against the envelope only. Every value is a display string; a field with no value is left out, and a receiver treats a missing field and a null one alike.

Every message carries these, whatever its kind.

FieldTypeRequiredMeaning
omdobjectyesWhat this message is and who wrote it.
omd.versionstring (matches ^1\.\d+$)yesMAJOR.MINOR. A receiver reads any 1.x message.
omd.kindstringyesstart_list, results, team_scores, announcement, or clear. Open: accept and ignore a kind you do not show.
omd.generatorgeneratoryes
omd.sent_atstring (date-time)yesWhen the producer built the message, ISO 8601 UTC.
meetobjectyes
meet.idtextThe meet’s stable identity.
meet.namestringyes
meet.start_datedateyes
meet.end_datedateyes
meet.sportstringyesOMX’s sports: xc, tf-indoor, tf-outdoor, run. Open.
displayobjectyes
display.targetstring (not empty)yes
display.modestringyesreplace in 1.x.
display.connection_idtextThe producer connection that sent the message. A label, not a credential.

start_list messages

What start_list messages carry beside the envelope.

FieldTypeRequiredMeaning
eventeventyes
start_listeventRowsyes

results messages

What results messages carry beside the envelope.

FieldTypeRequiredMeaning
eventeventyes
resultseventRowsyes

team_scores messages

What team_scores messages carry beside the envelope.

FieldTypeRequiredMeaning
eventevent
team_scoresteamScoresyes

announcement messages

What announcement messages carry beside the envelope.

FieldTypeRequiredMeaning
announcementannouncementyes

date

string (matches ^\d{4}-\d{2}-\d{2}$)

text

string | null

eventRows

FieldTypeRequiredMeaning
rowsarray of eventRowyes

generator

The product that wrote this JSON, in the same shape as OMX’s generator.

FieldTypeRequiredMeaning
idstring (not empty)yesA short name the product picks for itself, once, and never changes.
namestring (not empty)yesThe product’s name.
versiontextThe product’s version.

team

FieldTypeRequiredMeaning
namestringyes
short_nametextWhat fits on a narrow board, such as the team’s code.

event

FieldTypeRequiredMeaning
idtext
numbertext
namestringyes
codetextOMX’s event code, such as 100, 4X400, or LJ. Left out when OMX has none.
roundtext
round_labeltext
section_nametext
gendertextM, F, X (non-binary), or C (everyone: mixed, combined, or co-ed), as in OMX. Open: show an unknown value as text.
entry_typetext
windtext

eventRow

FieldTypeRequiredMeaning
entry_idtext
start_assignmenttext
participant_namestringyes
bibtext
teamteam
relay_legsarray | null
seedtext
resulttext
statustextdnf, dns, dq, fs, scr, or nr; exh is reserved. A row with a place has none. Open.
placetext
windtext
pointstext
scoring_roletext
multi_pointstext

teamScores

FieldTypeRequiredMeaning
scopestringyesmeet or event. Open.
division_nametext
gendertextyesWhose standings these are, always present: M, F, or X for one gender, C for standings that count every gender together. Open.
rowsarray of objectsyes
rows[].placestringyes
rows[].teamteamyes
rows[].pointsstringyes

announcement

FieldTypeRequiredMeaning
titletext
messagestring (not empty)yes
prioritytext
expires_atstring | null (date-time)

Probe reply

What a receiver answers, with 200, to a GET on the URL it takes messages on: the versions it reads and who it is. The same reply an Open Meet Exchange Publisher may give, plus optional display targets. Every object allows additional properties; a later minor version only adds fields.

FieldTypeRequiredMeaning
acceptsarray of string (matches ^\d+\.\d+$) (at least 1)yesMAJOR.MINOR versions the receiver reads. 1.0 reads 1.0 and every later 1.x.
generatorobjectyesThe product that wrote this reply.
generator.idstring (not empty)yesA short name the product picks for itself, once, and never changes.
generator.namestring (not empty)yesThe product’s name.
generator.versionstring | nullThe product’s version.
targetsarray of string (not empty)display.target names the receiver understands. It may take others.