{
  "@context": {
    "@vocab": "https://bookthetee.com/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "bookthetee": "https://bookthetee.com/schema#",
    "Course": "bookthetee:Course",
    "id": {
      "@id": "bookthetee:id",
      "@type": "xsd:string"
    },
    "slug": {
      "@id": "bookthetee:slug",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "bookthetee:name",
      "@type": "xsd:string"
    },
    "lat": {
      "@id": "bookthetee:lat",
      "@type": "xsd:decimal"
    },
    "lng": {
      "@id": "bookthetee:lng",
      "@type": "xsd:decimal"
    },
    "geocode_source": {
      "@id": "bookthetee:geocode_source",
      "@type": "xsd:string"
    },
    "address": {
      "@id": "bookthetee:address"
    },
    "region": {
      "@id": "bookthetee:region",
      "@type": "xsd:string"
    },
    "rank": {
      "@id": "bookthetee:rank",
      "@type": "xsd:integer"
    },
    "rank_sources": {
      "@id": "bookthetee:rank_sources",
      "@container": "@list"
    },
    "summary": {
      "@id": "bookthetee:summary",
      "@type": "xsd:string"
    },
    "approx_distance_mi_manhattan": {
      "@id": "bookthetee:approx_distance_mi_manhattan",
      "@type": "xsd:decimal"
    },
    "holes": {
      "@id": "bookthetee:holes",
      "@type": "xsd:integer"
    },
    "par": {
      "@id": "bookthetee:par",
      "@type": "xsd:integer"
    },
    "yardage": {
      "@id": "bookthetee:yardage",
      "@type": "xsd:integer"
    },
    "green_fee_min": {
      "@id": "bookthetee:green_fee_min",
      "@type": "xsd:decimal"
    },
    "green_fee_max": {
      "@id": "bookthetee:green_fee_max",
      "@type": "xsd:decimal"
    },
    "currency": {
      "@id": "bookthetee:currency",
      "@type": "xsd:string"
    },
    "fee_note": {
      "@id": "bookthetee:fee_note",
      "@type": "xsd:string"
    },
    "website": {
      "@id": "bookthetee:website",
      "@type": "xsd:string"
    },
    "booking_url": {
      "@id": "bookthetee:booking_url",
      "@type": "xsd:string"
    },
    "booking_method": {
      "@id": "bookthetee:booking_method",
      "@type": "xsd:string"
    },
    "booking_platform": {
      "@id": "bookthetee:booking_platform",
      "@type": "xsd:string"
    },
    "phone": {
      "@id": "bookthetee:phone",
      "@type": "xsd:string"
    },
    "walking_allowed": {
      "@id": "bookthetee:walking_allowed",
      "@type": "xsd:string"
    },
    "resident_rules": {
      "@id": "bookthetee:resident_rules",
      "@type": "xsd:string"
    },
    "caveats": {
      "@id": "bookthetee:caveats",
      "@container": "@list"
    },
    "booking_notes": {
      "@id": "bookthetee:booking_notes",
      "@type": "xsd:string"
    },
    "booking_verified": {
      "@id": "bookthetee:booking_verified",
      "@type": "xsd:boolean"
    },
    "booking_url_status": {
      "@id": "bookthetee:booking_url_status",
      "@type": "xsd:integer"
    },
    "last_verified": {
      "@id": "bookthetee:last_verified",
      "@type": "xsd:string"
    },
    "page_url": {
      "@id": "bookthetee:page_url",
      "@type": "xsd:string"
    },
    "source_urls": {
      "@id": "bookthetee:source_urls",
      "@container": "@list"
    },
    "last_updated": {
      "@id": "bookthetee:last_updated",
      "@type": "xsd:string"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "BookTheTee API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects BookTheTee's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-02) from openapi/bookthetee-com-openapi.json.",
  "dcterms:created": "2026-11-02",
  "dcterms:source": [
    "openapi/bookthetee-com-openapi.json"
  ]
}