Tool tree
gradeNot graded
get_itineraryAnswer
Get the FULL current trip itinerary: every day's ordered activities (times, durations, costs, categories, notes, which ones the human locked), schedule conflicts, and budget status. Call this first to understand the trip before making changes.
View tool JSON
{
"name": "get_itinerary",
"kind": "answer",
"impl": "imperative",
"description": "Get the FULL current trip itinerary: every day's ordered activities (times, durations, costs, categories, notes, which ones the human locked), schedule conflicts, and budget status. Call this first to understand the trip before making changes.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/WebPoint/"
}add_activitiesAction
Add one or more activities to the trip. The human sees them appear on their board instantly. Returns the updated day schedules, any NEW time conflicts your additions created, and the budget impact so you can self-correct. Agents cannot lock activities.
View tool JSON
{
"name": "add_activities",
"kind": "act",
"impl": "imperative",
"description": "Add one or more activities to the trip. The human sees them appear on their board instantly. Returns the updated day schedules, any NEW time conflicts your additions created, and the budget impact so you can self-correct. Agents cannot lock activities.",
"inputSchema": {
"type": "object",
"properties": {
"activities": {
"type": "array",
"description": "1–8 activities to add.",
"items": {
"type": "object",
"properties": {
"tripDayId": {
"type": "string",
"description": "Target day id (see get_itinerary → days[].tripDayId)."
},
"title": {
"type": "string",
"description": "Short display title, e.g. 'Belém Tower'."
},
"startTime": {
"type": "string",
"description": "Start time, 24-hour \"HH:MM\" format, e.g. \"14:30\"."
},
"durationMin": {
"type": "number",
"description": "Duration in minutes (15–720). Default 60."
},
"cost": {
"type": "number",
"description": "Estimated per-person cost. Default 0."
},
"category": {
"type": "string",
"description": "One of: sight, food, nature, transport, shopping, other."
},
"notes": {
"type": "string",
"description": "Short helpful note shown on the card."
}
},
"required": [
"tripDayId",
"title",
"startTime"
]
}
}
},
"required": [
"activities"
]
},
"page": "/WebPoint/"
}update_activityAction
Update an existing activity's title, startTime, durationMin, cost, category or notes. Returns the updated day schedule, remaining conflicts and budget so you can verify your fix. Changing an activity's locked state is refused — that is a human-only control.
View tool JSON
{
"name": "update_activity",
"kind": "act",
"impl": "imperative",
"description": "Update an existing activity's title, startTime, durationMin, cost, category or notes. Returns the updated day schedule, remaining conflicts and budget so you can verify your fix. Changing an activity's locked state is refused — that is a human-only control.",
"inputSchema": {
"type": "object",
"properties": {
"activityId": {
"type": "string",
"description": "Id of the activity (from get_itinerary)."
},
"title": {
"type": "string",
"description": "New title."
},
"startTime": {
"type": "string",
"description": "New start time, 24-hour \"HH:MM\" format, e.g. \"14:30\"."
},
"durationMin": {
"type": "number",
"description": "New duration in minutes (15–720)."
},
"cost": {
"type": "number",
"description": "New estimated cost."
},
"category": {
"type": "string",
"description": "One of: sight, food, nature, transport, shopping, other."
},
"notes": {
"type": "string",
"description": "New note."
}
},
"required": [
"activityId"
]
},
"page": "/WebPoint/"
}remove_activityAction
Remove an activity from the itinerary (e.g. to cut costs or resolve a conflict). Returns the updated schedule, remaining conflicts and freed-up budget.
View tool JSON
{
"name": "remove_activity",
"kind": "act",
"impl": "imperative",
"description": "Remove an activity from the itinerary (e.g. to cut costs or resolve a conflict). Returns the updated schedule, remaining conflicts and freed-up budget.",
"inputSchema": {
"type": "object",
"properties": {
"activityId": {
"type": "string",
"description": "Id of the activity to remove (from get_itinerary)."
}
},
"required": [
"activityId"
]
},
"page": "/WebPoint/"
}reorder_dayAction
Set the full activity order for one day (e.g. to group activities geographically). You must pass EVERY activity id of that day exactly once. IMPORTANT: activities the human locked with 🔒 are hard constraints — this tool REFUSES and explains if a locked item would move. Plan around locked items.
View tool JSON
{
"name": "reorder_day",
"kind": "act",
"impl": "imperative",
"description": "Set the full activity order for one day (e.g. to group activities geographically). You must pass EVERY activity id of that day exactly once. IMPORTANT: activities the human locked with 🔒 are hard constraints — this tool REFUSES and explains if a locked item would move. Plan around locked items.",
"inputSchema": {
"type": "object",
"properties": {
"tripDayId": {
"type": "string",
"description": "Target day id (see get_itinerary → days[].tripDayId)."
},
"orderedActivityIds": {
"type": "array",
"description": "All activity ids for the day, in the desired visiting order.",
"items": {
"type": "string"
}
}
},
"required": [
"tripDayId",
"orderedActivityIds"
]
},
"page": "/WebPoint/"
}find_conflictsAnswer
Run the app's deterministic schedule audit: returns every pair of overlapping activities in a day plus budget overage. Use it after changes, or when the human asks 'does everything fit?'. Fix reported conflicts with update_activity / remove_activity.
View tool JSON
{
"name": "find_conflicts",
"kind": "answer",
"impl": "imperative",
"description": "Run the app's deterministic schedule audit: returns every pair of overlapping activities in a day plus budget overage. Use it after changes, or when the human asks 'does everything fit?'. Fix reported conflicts with update_activity / remove_activity.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/WebPoint/"
}get_budget_summaryAnswer
Get the trip budget breakdown: total planned spend vs budget, remaining amount, per-day totals and spend by category. Use it when the human asks about money or before adding expensive activities.
View tool JSON
{
"name": "get_budget_summary",
"kind": "answer",
"impl": "imperative",
"description": "Get the trip budget breakdown: total planned spend vs budget, remaining amount, per-day totals and spend by category. Use it when the human asks about money or before adding expensive activities.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/WebPoint/"
}set_trip_budgetAction
Change the trip's total budget — the human sees the change instantly on their budget bar. Only use it when the human agrees, and ALWAYS include a short reason (shown to them). Returns the new budget status so you can confirm whether planned spend now fits.
View tool JSON
{
"name": "set_trip_budget",
"kind": "act",
"impl": "imperative",
"description": "Change the trip's total budget — the human sees the change instantly on their budget bar. Only use it when the human agrees, and ALWAYS include a short reason (shown to them). Returns the new budget status so you can confirm whether planned spend now fits.",
"inputSchema": {
"type": "object",
"properties": {
"budget": {
"type": "number",
"description": "New total budget amount (positive number)."
},
"reason": {
"type": "string",
"description": "Short reason for the change, shown to the human."
}
},
"required": [
"budget"
]
},
"page": "/WebPoint/"
}set_trip_budgetAction
Update the total trip budget in EUR. The human sees the change instantly on their budget bar — always include a short reason, and confirm with the human before large changes.
View tool JSON
{
"name": "set_trip_budget",
"kind": "act",
"impl": "declarative",
"description": "Update the total trip budget in EUR. The human sees the change instantly on their budget bar — always include a short reason, and confirm with the human before large changes.",
"inputSchema": {
"type": "object",
"properties": {
"budget": {
"type": "number"
},
"reason": {
"type": "string",
"description": "Reason (e.g. adding a Sintra day trip)"
}
}
},
"page": "/WebPoint/"
}