Draft Data model

pois

    id                      int (pk)
    name                    varchar
    alt_name                varchar (optional)
    location                point
    street                  varchar
    city                    varchar
    state                   varchar
    zip                     varchar
    description             text
    location_description    text (optional)
history                 text
facts                   text
    contact_name            varchar
    phone                   varchar (optional)
    website                 url (optional)
    email                   email (optional)
    created                 datetime
    modified                datetime (auto-update on modification)

categories

id          int (pk)
category    varchar

images

    id          int (pk)
name        varchar
poi_id      int (foreign key to poi)
    image       image (file)
    caption     text (optional)
    created     datetime
    modified    datetime (auto-update on modification)

videos

    id              int (pk)
name            varchar
poi_id          int (foreign key to poi)
    video           link
    description     text (optional)
    created         datetime
    modified         datetime (auto-update on modification)

hazards

id              int (pk)
name            varchar
description     text
    created         datetime
    updated         datetime (auto-update on modification)

pois_hazards

poi_id      int (foreign key to poi)
hazard_id   int (foreign key to hazard)

pois_categories

poi_id          int (foreign key to poi)
category_id     int (foreign key to category)