Create a route alert
create_itineraryWatch a MULTI-NIGHT TRAVERSE — a trip needing a different zone each night, which create_alert cannot express. Use this whenever the user describes moving camp: 'four nights across the Rockwall', 'the Skyline end to end'.
TWO WAYS TO SPECIFY IT:
PLANNED (prefer this). Call list_routes, pass the chosen variant's id as route_id, and OMIT nights — they are filled in from the route. park_id comes with it too.
CUSTOM. Pass nights yourself: an ordered list, one entry per night, each naming a campground_id and the zone site_ids that would satisfy it. A night's site_ids are an OR-set — 'night 2 can be Numa Creek OR Tumbling Creek' is one alert, not two. 'all' is refused: a route needs explicit zones.
THE WINDOW IS A SEARCH WINDOW, not the trip. Every start day between window_start and window_end is tried, so a wider window is more chances to fire. It must span at least as many days as the route has nights, or nothing could ever match.
A route counts as ONE alert against quota however many nights it runs, and its legs never appear in list_my_alerts.
REFUSALS ARE INFORMATIVE, not retryable. A custom route can be refused as not walkable (non-adjacent zones), as mixing accommodation types that are booked separately, or as mixing single-permit traverses — a permit is one booking for the whole trip. Re-sending the same nights will be refused again: offer a planned route, or nights the provider can actually sell together.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| nights | No | Custom route only. Ordered, one per night; omit when passing route_id. | |
| park_id | No | Required for a custom route; implied by route_id. | |
| route_id | No | A variant id from list_routes. Supplies the nights and the park, and skips the adjacency check. | |
| tent_pads | No | Parks Canada zone backcountry: pads the party needs. Feeds the capacity gate on every night. | |
| notify_sms | No | Pro tier only, needs a verified phone, and it is the one channel that costs real money per send — it stays off unless the user has asked for texts. | |
| party_size | No | People in the party. Where inventory is per bed or per person (huts, some backcountry zones) an opening must fit this many. | |
| window_end | Yes | YYYY-MM-DD — latest day the trip may still be running. Must leave room for every night. | |
| notify_push | No | Send a push notification to the account holder's phone when something opens. | |
| notify_email | No | Paid tiers only; silently dropped otherwise. | |
| window_start | Yes | YYYY-MM-DD — earliest start day to try. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| legs | No | ||
| nights | No | ||
| park_id | No | ||
| provider | No | ||
| route_id | No | ||
| is_active | No | ||
| park_name | No | ||
| tent_pads | No | ||
| created_at | No | ||
| notify_sms | No | ||
| party_size | No | ||
| scan_count | No | ||
| window_end | No | ||
| booking_url | No | ||
| created_via | No | ||
| notify_push | No | ||
| open_routes | No | ||
| notify_email | No | ||
| window_start | No | ||
| last_checked_at | No | ||
| created_by_agent | No | ||
| last_notified_at | No | ||
| notification_count | No | ||
| distinct_zone_count | No | ||
| availabilities_found | No | ||
| night_openings_latest | No | ||
| night_openings_recent | No |