-- Koordinat-punkter per hull (green/bunker/vann/tre/tee osv.), for GPS-/
-- avstandsfunksjoner og for å kunne eksporteres til andre prosjekter
-- (f.eks. TeeCup) som slår opp anlegg via facility-slug.
--
-- Taksonomi (poi_type / location / side_fairway) er bevisst holdt som fri
-- tekst, ikke en Postgres ENUM, i tråd med resten av kodebasens mønster
-- for kategori-felt (f.eks. banetype) -- listen med forventede verdier
-- dokumenteres her, ikke håndheves i databasen:
--
--   poi_type:      green, bunker_fairway, bunker_green, vann, trær, stein,
--                   landemerke, vei, dogleg, tee, avstandsmarkør
--   location:       front, midt, bak (nullable -- ikke alle poi_type har dette)
--   side_fairway:   venstre, senter, høyre (nullable -- ikke alle poi_type har dette)

CREATE TABLE IF NOT EXISTS hole_points (
    id SERIAL PRIMARY KEY,
    hole_id INTEGER NOT NULL REFERENCES holes(id) ON DELETE CASCADE,
    poi_type VARCHAR(50) NOT NULL,
    location VARCHAR(20),
    side_fairway VARCHAR(20),
    geom GEOGRAPHY(Point, 4326) NOT NULL,
    note TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX IF NOT EXISTS hole_points_hole_id_idx ON hole_points (hole_id);
CREATE INDEX IF NOT EXISTS hole_points_geom_gix ON hole_points USING GIST (geom);
