# Search places for a day

> The search_places MCP tool: search places for a day.

`search_places` · read-only

MCP only (no REST operation).

## What the model reads

Searches the catalog's places, activities and accommodation that suit one day of a trip: by default inside the day's destino and its zones, open that day, with `alreadyInTrip` marking places used on other days. Filter by `kinds`, `categories`, `features`, `openOn` (weekday), `moments` (time of day) and `maxMinutes`; exclude ids with `excludeIds`. When nothing matches, `available` says what the destino does have. Use the ids with plan_day and fill_days.

Permissions: trips:read, catalog:read.

## Input

| Field | Type | Required | Description |
|---|---|---|---|
| `tripId` | uuid | yes |  |
| `day` | string | yes | The day (`dia`): its ref from get_itinerary, or its id. max 64 chars |
| `kinds` | "punto" \| "actividad" \| "alojamiento"[] |  | max 3 items |
| `within` | string[] |  | Destino ids to search inside; default = the day's destino and its zones. max 20 items |
| `categories` | string[] |  | max 10 items |
| `features` | string[] |  | max 10 items |
| `openOn` | "mon" \| "tue" \| "wed" \| "thu" \| "fri" \| "sat" \| "sun" |  |  |
| `moments` | "amanecer" \| "manana" \| "mediodia" \| "tarde" \| "atardecer" \| "noche"[] |  | max 6 items |
| `maxMinutes` | integer |  | 1–720 |
| `excludeIds` | string[] |  | max 200 items |
| `limit` | integer |  | 1–50 |
| `detail` | "concise" \| "full" |  |  |

## Input schema (JSON)

```json
{
  "type": "object",
  "properties": {
    "tripId": {
      "type": "string",
      "format": "uuid"
    },
    "day": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "The day (`dia`): its ref from get_itinerary, or its id."
    },
    "kinds": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "punto",
          "actividad",
          "alojamiento"
        ]
      },
      "maxItems": 3
    },
    "within": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 64
      },
      "maxItems": 20,
      "description": "Destino ids to search inside; default = the day's destino and its zones."
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 60
      },
      "maxItems": 10
    },
    "features": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 60
      },
      "maxItems": 10
    },
    "openOn": {
      "type": "string",
      "enum": [
        "mon",
        "tue",
        "wed",
        "thu",
        "fri",
        "sat",
        "sun"
      ]
    },
    "moments": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "amanecer",
          "manana",
          "mediodia",
          "tarde",
          "atardecer",
          "noche"
        ]
      },
      "maxItems": 6
    },
    "maxMinutes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 720
    },
    "excludeIds": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 64
      },
      "maxItems": 200
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "detail": {
      "type": "string",
      "enum": [
        "concise",
        "full"
      ]
    }
  },
  "required": [
    "tripId",
    "day"
  ],
  "additionalProperties": false
}
```
