Charter Boats API
Points of Interest

Get POI

Get full details for a specific point of interest

Endpoint

GET /pois/:id

Description

Retrieve full details for a point of interest, including nearby marina locations, other POIs grouped by category, images, content references, and special offers (for claimed businesses).

Authentication

No authentication required. This is a public endpoint.

Path Parameters

ParameterTypeDescription
idstringPOI ID (UUID format)

Example Request

curl "https://charter.boats/api/pois/a1b2c3d4-5678-90ab-cdef-1234567890ab"

Example Response

{
  "id": "poi-uuid-1",
  "osm_id": 987654321,
  "osm_type": "node",
  "name": "Taverna Nidri",
  "name_en": "Nidri Tavern",
  "category": "restaurant",
  "subcategory": "taverna",
  "lat": 38.8312,
  "lon": 20.7089,
  "address": "Waterfront Road",
  "city": "Lefkada",
  "country": "Greece",
  "country_code": "GR",
  "phone": "+30 2645 099999",
  "website": "https://example.com",
  "email": "info@example.com",
  "opening_hours": "Mo-Su 12:00-23:00",
  "is_seasonal": true,
  "description": "Traditional Greek taverna on the waterfront...",
  "cuisine": "greek",
  "image_url": "https://example.com/taverna.jpg",
  "rating": 4.7,
  "rating_count": 42,
  "images": [
    {
      "id": "img-uuid-1",
      "url": "https://example.com/taverna-1.jpg",
      "source": "Google Maps",
      "source_url": "https://maps.google.com/...",
      "attribution": "Photo by contributor",
      "is_primary": true,
      "sort_order": 0
    }
  ],
  "nearby_locations": [
    {
      "id": 4521,
      "name": "D-Marin Lefkas",
      "lat": 38.8335,
      "lon": 20.7068,
      "city": "Lefkada",
      "country": "Greece",
      "harbour_category": "marina",
      "image_url": "https://example.com/marina.jpg",
      "rating": 4.5,
      "distance_meters": 350,
      "walking_time_minutes": 4
    }
  ],
  "pois_by_category": {
    "grocery": [
      {
        "id": "poi-uuid-2",
        "name": "Mini Market Marina",
        "category": "grocery",
        "image_url": "https://example.com/market.jpg",
        "rating": 4.0,
        "distance_meters": 120,
        "walking_time_minutes": 2
      }
    ]
  },
  "references": [
    {
      "title": "Google Maps",
      "url": "https://maps.google.com/...",
      "source_domain": "maps.google.com"
    }
  ],
  "special_offers": [
    {
      "id": "offer-uuid-1",
      "title": "Happy Hour",
      "description": "50% off drinks 17:00-19:00",
      "discount_type": "percentage",
      "discount_value": 50,
      "start_date": "2026-06-01",
      "end_date": "2026-09-30",
      "terms_conditions": "Valid for dine-in only"
    }
  ]
}

Response Fields

FieldTypeDescription
idstringPOI ID (UUID)
osm_idnumber|nullOpenStreetMap ID
osm_typestring|nullOSM type (node, way, relation)
namestringName (local language)
name_enstring|nullEnglish name
categorystringPOI category
subcategorystring|nullMore specific category
latnumberLatitude
lonnumberLongitude
addressstring|nullStreet address
citystring|nullCity
countrystring|nullCountry
country_codestring|nullISO country code
phonestring|nullPhone number
websitestring|nullWebsite URL
emailstring|nullEmail address
opening_hoursstring|nullOpening hours (OSM format)
seasonal_hoursstring|nullSeasonal opening hours
is_seasonalboolean|nullWhether the business is seasonal
descriptionstring|nullDescription
cuisinestring|nullCuisine type (restaurants)
wikidata_idstring|nullWikidata entity ID
wikipedia_urlstring|nullWikipedia page URL
image_urlstring|nullPrimary image URL
ratingnumber|nullRating
rating_countnumber|nullNumber of ratings
imagesarrayAll POI images, sorted by sort_order
nearby_locationsarrayUp to 4 closest marina/harbour locations
nearby_locations[].distance_metersnumberDistance from the POI
nearby_locations[].walking_time_minutesnumberEstimated walking time
pois_by_categoryobjectOther nearby POIs grouped by category (from nearest location)
referencesarrayContent sources and attributions
special_offersarrayActive offers from claimed businesses

Special Offer Fields

FieldTypeDescription
idstringOffer ID
titlestringOffer title
descriptionstring|nullOffer description
discount_typestring|nullType of discount (percentage, fixed, etc.)
discount_valuenumber|nullDiscount amount
start_datestring|nullStart date (YYYY-MM-DD)
end_datestring|nullEnd date (YYYY-MM-DD)
coupon_codestring|nullCoupon code
redeem_urlstring|nullURL to redeem the offer
terms_conditionsstring|nullTerms and conditions

Error Responses

400 Bad Request

{
  "statusCode": 400,
  "message": "Invalid POI ID"
}

404 Not Found

{
  "statusCode": 404,
  "message": "POI not found"
}

On this page