Plan an evening
tv_plan_eveningBuilds a TV watching plan for a window of time — either one long programme or 2-3 consecutive programmes with small gaps, ordered as a timeline. Relevance comes before coverage: only programmes scoring at least max(2, 60% of the best score in the window) are used, the same anti-noise filter as tv_concierge applies (reality / talk-show / politics / news, configurable), and uncovered minutes are reported in totals.unfilled_min + unfilled_reason, with totals.unfilled_gaps giving each gap and its actual cause (start of window before the first programme, pause between programmes, end-of-window remainder below the 30-min minimum slot, max_segments reached, or nothing above the relevance floor fitting) instead of being filled; segments running past the window carry overflow_min. Use it when the user wants a schedule for the whole evening or a long window (3+ hours) rather than a single pick: "plan my evening", "ce văd toată seara", "fă-mi un program pentru 20–24". TV only (live Romanian EPG, no streaming titles); for ONE decision that may also be a streaming title, use tv_concierge. Accepts start time, duration budget, mood, and channel preferences. Output: ordered timeline + alternatives dropped + totals.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mood | No | ||
| start | No | Start time: "now" | "HH:MM" (Europe/Bucharest) | ISO instant | 20:00 |
| prefer | No | ||
| max_gap_min | No | ||
| duration_min | No | ||
| max_segments | No | ||
| exclude_categories | No | Anti-noise filter, same as tv_concierge (default: politica, reality, talkshow, stiri). Pass [] to allow them. | |
| allow_channel_switch | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | ||
| mood | Yes | ||
| plan | Yes | ||
| reason | No | ||
| totals | Yes | ||
| end_utc | Yes | ||
| freshness | Yes | ||
| relevance | No | ||
| start_utc | Yes | ||
| anti_noise | No | ||
| alternatives | Yes | ||
| asked_at_utc | Yes | ||
| mood_label_ro | Yes | ||
| duration_budget_min | Yes |