---
title: "Plan Day"
method: POST
path: "/api/v1/planner/plan-day"
tags: ["planner"]
---

# Plan Day

`POST /api/v1/planner/plan-day`

## Request

- Base URL: `https://yondry.app` (the document declares no server; this is the origin it was published from)
- URL: `https://yondry.app/api/v1/planner/plan-day`
- Auth: HTTP bearer

Generate 1–2 day-plan options for the authenticated user.

The scoring engine reads only the user's own saved places and feedback,
so the response is always scoped to that user's data.

Weather stub: if `weather` is not supplied the backend defaults to "sunny".
Real weather integration is Task 9.

## Request body

- PlanDayRequest
  - `time_window` TimeWindow, required
    - `start` string, date-time, required
    - `end` string, date-time, required
  - `radius_km` number, required: Search radius from home location
  - `companions` CompanionIn[], required
    - `type` 'adult' | 'child', required
    - `age_range` '0-2' | '3-5' | '6-11' | '12-17', nullable
  - `mood` 'chill' | 'active' | 'cultural' | 'outdoors' | 'shopping' | 'foodie', required
  - `budget_level` 'free' | 'low' | 'medium' | 'high', required
  - `weather` 'sunny' | 'cloudy' | 'rainy' | 'windy' | 'cold', nullable
  - `origin_lat` number, nullable
  - `origin_lon` number, nullable

## Response `200`

Successful Response

- PlanDayResponse
  - `plan_options` PlanOption[], required
    - `option_index` integer, required
    - `label` string, required
    - `steps` PlanStep[], required
      - `place_id` string, uuid, required
      - `title` string, required
      - `category` string, required
      - `suggested_arrival` string, date-time, required
      - `suggested_duration_minutes` integer, required
      - `travel_time_minutes` integer, required
      - `why_suggested` string, required
    - `total_duration_minutes` integer, required
  - `weather_used` 'sunny' | 'cloudy' | 'rainy' | 'windy' | 'cold', required
  - `generated_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/yondry/apis/yondry-api.md) · [All operations](https://skmtc.dev/yondry/apis/yondry-api/llms.txt) · [OpenAPI document](https://skmtc.dev/yondry/apis/yondry-api/revisions/d2c213cea95b?raw)
