> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.datafortennis.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.datafortennis.com/_mcp/server.

# Entities, IDs and orientation

| Entity | Own ID prefix | Meaning |
| --- | --- | --- |
| Match | `mat_` | One match with exactly two sides |
| Player | `ply_` | A distinct player identity |
| Tournament | `trn_` | A recurring tournament series |
| Edition | `edt_` | A particular occurrence of a tournament |
| Draw | `drw_` | An edition's discipline and stage draw |
| Point | `pnt_` | An accepted point identity within one match |
| Metric | `met_` | A versioned measurement at its declared grain |

Own IDs contain a prefixed, hyphenated UUIDv4. Names, slugs and provider codes are
not primary keys. A corrected fact retains its identity and creates a new version.
Matching names alone does not merge players.

## Singles and doubles share one model

Both disciplines have sides 1 and 2. Singles has one member per side; doubles
has two. One player cannot belong to both sides of the same match. Doubles
statistics measured for a team remain team statistics, not half-values assigned
to its members.

Score states, serving and winning sides follow the canonical orientation. Provider
side order is normalized before acceptance. A missing winning side or score
component stays null; it is not inferred from a display string.

## Profiles and dates

Player profiles are nullable source snapshots. Height is in centimeters and mass
in kilograms. Affiliation country is not automatically citizenship. Profile values
are not asserted to be current measurements.

A calendar date has day precision. It is not a UTC midnight timestamp or proof of
actual start time. Unknown dates remain accessible by edition, draw, release and
own ID. Date-filtered queries exclude unknown dates explicitly.

Curated identity resolution supports exact allowlisted scoped aliases. It does not
expose the private alias registry. Ambiguous lookup returns 409 with candidates.