İstanbul günlük etkinlik planı
istanbul_events_planBuild deterministic one-day event options, with ICS and calendar links.
Each performance includes about.text when published; explain its topic in
1–2 short sentences, preserving uncertainty when a description is unavailable.
min_events (1–max_events) expresses a REQUIRED minimum; for exactly two stops
set min_events=2,max_events=2. required_categories requires one of each named
type, unlike interests (only allowed types). Complete options satisfy both;
partial_options separately list missing_events/missing_categories and do not
generate calendars. fulfillment.status/reason_codes explain complete, partial,
unverified-budget or unmet requests; never present a partial as a full plan.
party_size/ticket_profile or a mixed party map price the whole group at every
stop. max_price_try is the total observed party basket across ALL stops, not
a per-person cap. budget_includes_fees keeps unknown fee totals unverified.
price_quote ticket quantities, total_price_scope and checkout_total_verified
separate observed subtotals from live checkout/seat guarantees.
date: YYYY-MM-DD or today/tomorrow, default today in Europe/Istanbul.
Use selected event_ids (1–20 from search/detail) or district discovery.
A selected performance_id keeps that exact session; an event_id allows its
series sessions. Missing/ambiguous replacements require a new selection.
Selected IDs still respect date and the 18:00–23:59 default window; provide
the session's date and explicit start_time/end_time for daytime selections.
interests accepts up to five search categories. Window is same-day HH:MM.
interests restricts allowed categories; unrelated fallback is never added.
When the user is explicitly participating as an adult, exclude_child_only=true
removes known upper age limits below 18 before the 20-candidate plan budget;
selected child-only sessions are rejected with child_only_age_range. Default
false preserves family discovery. Unknown/minimum-only age rules remain
unverified for the actual participant; do not infer a numeric age.
child_age (0–17) restricts to family sessions with a published matching age range.
Set require_known_end=true when the user must finish by end_time; unknown
ends are then excluded. Otherwise an unknown end is allowed only last.
max_price_try is a total observed minimum-price budget; unknown prices are
returned separately in unverified_budget. min_gap_minutes: 0–240; max_events:
1–3; limit: 1–5 options, default 3. At most 20 candidates are enumerated.
Unknown end times can appear only last, without a window-end guarantee.
Preserve source-time-conflict warnings and ticket-type eligibility warnings;
observed minimum prices need not be per-person general-admission prices.
Date-only flexible-entry tickets appear in flexible_entries (at most 20),
never timed options or calendars. flexible_entry_requires_visit_time explains
the rejection; verify a visit time and admission conditions on the ticket page.
Catalogue-only Biletinial sessions are rejected with session_detail_required;
call event_detail before treating their listed timestamp as a timed visit.
Explicitly restricted ticket dates are rejected with entry_date_restricted.
Timed options exclude mutually incompatible published age ranges. Inspect
checks.common_published_age_range and age_compatibility: unknown age facts
remain unknown, and a common range does not verify the user's actual age.
Sold-out/cancelled sessions are excluded. No travel-time or live ticket
guarantee: non-overlapping times do not prove venues are reachable.
For every event in the presented plan, show a clickable event/ticket-page
link beside its title from ticket_url or non-null ticket_links[].url.
Use the exact returned URL; calendar links are separate and do not replace
event links. If no event link is available, say so without inventing one.
Options prefer known observed totals and reduce repeated event series.
If total_price_known=false, total_observed_minimum_try is null and
known_minimum_total_try is only a partial subtotal, never the full price.
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": "istanbul_events_plan"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| limit | No | ||
| party | No | ||
| district | No | ||
| end_time | No | 23:59 | |
| child_age | No | ||
| event_ids | No | ||
| interests | No | ||
| max_events | No | ||
| min_events | No | ||
| party_size | No | ||
| start_time | No | 18:00 | |
| max_price_try | No | ||
| ticket_profile | No | ||
| min_gap_minutes | No | ||
| require_known_end | No | ||
| exclude_child_only | No | ||
| required_categories | No | ||
| budget_includes_fees | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | ||
| data | No | ||
| error | No | ||
| limits | No | ||
| geojson | No | ||
| sources | No | ||
| summary | Yes | ||
| warnings | No | ||
| freshness | Yes | ||
| pagination | No | ||
| result_info | No | ||
| next_queries | No |