Data model
The API separates golf-club identity from the courses and structured information associated with it. List responses are compact and optimized for discovery. Detail responses contain course-level information when the selected plan provides it.
Clubs and courses
A club represents an organization and its primary location. One club can operate multiple courses.
| Club | Course |
|---|---|
| Name, slug and contact details | Name and number of holes |
| Address and coordinates | Course type and characteristics |
| Club-level access summary | Course-specific access rules |
| Fee range | Detailed fees and conditions |
| Number of courses | Scorecards and tees in Tour data |
Do not assume that every course belonging to a club has identical access rules or prices.
Core and extended data
Fairway provides core identity, location, access, facility and fee-range data. Tour adds extended course, scorecard, detailed fee and commercial information.
The selected data level applies consistently to REST detail responses and compact AI context. An AI endpoint never bypasses plan access.
Stable identifiers
Every club has a public id and slug. Store the returned identifier instead of generating one from the name.
GET /v1/clubs/green-eagle-golf-courses
Normalized access
{
"public_access": false,
"independent_players_allowed": true,
"guest_access": {
"allowed": true,
"membership_required": false,
"handicap": {
"required": true,
"maximum": 54
}
}
}
Prefer course-level access rules when evaluating one particular course.
Prices and currencies
Amounts retain their original currency. The API does not silently convert prices because exchange rates change.
{
"period": "weekend_holiday",
"amount": 500,
"currency": "DKK"
}
Never compare amounts in different currencies without an explicit conversion.
Unknown values
null means unknown or not reliably determined. It never means false, zero or an empty value.
| Value | Meaning |
|---|---|
true | Explicitly confirmed |
false | Explicitly rejected |
null | Unknown |
| Omitted | Not included in this response schema |
See Null and missing values and Localization.