List a campground's zones
list_campground_zonesZones within a campground — the level at which most inventories are actually organised. In many of them one campground row holds the several campgrounds a person would name (Sandbanks is one row holding Outlet River A and B, Cedars, Woodlands and West Lake A/B/C), so stopping at list_park_campgrounds can make a park look like a single undifferentiated site pool. Elsewhere a campground has one default zone and this simply confirms it.
Call this before create_alert whenever the user names a part of a park ("near the beach", "the quiet loop", a campground by name), and pass the zone ids in campground_selections.
Also returns the caller's site caps for this provider and tier: max_sites_per_alert is what ONE alert may watch, and each zone's site_count says whether a selection fits. A park-wide selection is the BIGGEST one available, so it is the wrong fallback when a narrower one was refused for size.
A zone answers "which campground", NOT "which site". If the user named somewhere INSIDE one — the beach, the waterfront, a quiet loop, near the washrooms, away from the road — picking the right zone is half the answer, and the sites within it still differ. Where has_map is true, call get_zone_map before create_alert and choose site_ids from it; where the sites carry lat/lng, list_zone_sites gives you the same thing in coordinates. Watching the whole zone is a fine fallback, but say that is what you did.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| campground_id | Yes | From list_park_campgrounds. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| total | No | ||
| zones | Yes | ||
| campground_id | No | ||
| max_sites_per_alert | No |