I-5 corridor by stretch
dogpolicies_i5_corridorWhat is on I-5 between here and there for a dog: the next restroom stops with a pet area, the stops on the Grapevine, between Sacramento and Redding? For the freeway in California only, by one of eleven named stretches (sandiego, orange-la, grapevine, kern-westside, westside, delta, sacramento, valley, tehama, shasta, siskiyou), a mile range, or a window ahead of a point. It covers I-5 only, with no hotel fee arithmetic and no closures or chain controls. Inputs: strip, or from_mile and to_mile (Caltrans odometer), or near={lat, lon} with direction (north or south) and ahead_miles; family=true keeps stops whose official source states restrooms and a pet area or dog park; paired=true adds exits with places for people nearby (counted from OpenStreetMap, never named, not verified for restrooms) matched to the nearest dog-legal place. With none of these it lists the stretches. Each stop carries its mile, s in meters from San Ysidro, the side of the road, distance off the freeway, and restrooms, water, pet area and hours as the source states them, with source URL and verified date. A rest area Caltrans reports fully closed right now carries closed_now (Caltrans' reason and end time); it stays in the list and the text names the first open stop instead.
Examples:
"What is between the Grapevine and Kettleman?" -> strip="grapevine" and strip="kern-westside"
"The next 5 family stops northbound from Stockton" -> near={lat:37.95, lon:-121.29}, direction="north", family=true, limit=5
"Every stop between mile 300 and 340" -> from_mile=300, to_mile=340
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "dogpolicies_i5_corridor"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| near | No | A point on or near I-5; the window starts at the nearest point of the road | |
| kinds | No | Kinds of stops to include; all by default | |
| limit | No | Maximum stops to return | |
| strip | No | A stretch by id (sandiego, orange-la, grapevine, kern-westside, westside, delta, sacramento, valley, tehama, shasta, siskiyou) | |
| family | No | Only family stops | |
| offset | No | Stops to skip | |
| paired | No | Also list the paired stops in the window | |
| to_mile | No | End of a mile range | |
| direction | No | Direction of travel from near; north means increasing s | north |
| from_mile | No | Start of a mile range (Caltrans odometer) | |
| ahead_miles | No | Window in miles from near in the direction of travel | |
| response_format | No | 'markdown' for readable text, 'json' for structured data | markdown |
| dog_friendly_only | No | Leave out stops where dogs are not allowed |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | With an outcome other than ok: not_found, invalid, unavailable | |
| next | No | Calls that would answer the question, in words | |
| as_of | Yes | Date the data was built (YYYY-MM-DD) | |
| stops | Yes | ||
| total | Yes | ||
| strips | Yes | ||
| window | Yes | ||
| license | Yes | ||
| message | No | What happened, in a sentence | |
| nearest | No | When nothing is inside the radius: the nearest places in the data, with distance_miles | |
| outcome | No | Absent or ok: a normal answer. no_match: nothing in the data matches, see did_you_mean, nearest and next. bad_input: the arguments cannot be used as given, see next. partial: some of the ids were found, see missing. unavailable: a live source could not be read. None of these is an error. | |
| accepted | No | With bad_input: each argument that could not be read, with the values it accepts | |
| nearest_i5 | No | With a point too far from I-5: the nearest point on I-5 and how far it is | |
| axis_version | Yes | ||
| did_you_mean | No | Close matches to what was asked for: towns, places, slugs or brands, best first | |
| paired_stops | Yes | ||
| resolved_from | No | Set when a word was read as the value the tool uses: hotel as lodging, NB as north. Each key is the argument; asked is what was sent, used what it was read as | |
| attribution_url | Yes | ||
| attribution_text | Yes |