RUTAZZ research

Destination deep-dive — schema

Everything about one known place, for its detail page.

Response keyField groupShape
(root)item object

Fields

GroupKeyTypeTarget fieldMaps owns
item description string description edit
item rating number · nullable rating yes edit
item review_count integer · nullable review_count yes edit
item price_level string price_level yes edit
item visit_duration_min integer · nullable visit_duration_min edit
item safety_level string safety_level edit
item audience arreglo de valores enum audience edit
item opening_hours string opening_hours yes edit
item zone string zone edit
item best_time string best_time edit
item tips arreglo de cadenas tips edit

Assembled JSON schema

{
  "type": "object",
  "properties": {
    "description": {
      "type": "string",
      "description": "2-4 sentence description in Spanish (Bolivian register). This is the ONLY free-text field — everything else is atomic."
    },
    "visit_duration_min": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Typical visit length in MINUTES (e.g. 120); null if unknown."
    },
    "safety_level": {
      "type": "string",
      "enum": [
        "safe",
        "caution",
        "care",
        "avoid",
        ""
      ],
      "description": "How safe the place is for a visitor."
    },
    "audience": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "solo",
          "couple",
          "family"
        ]
      },
      "description": "Who the place suits."
    },
    "zone": {
      "type": "string",
      "description": "Neighborhood / area, e.g. 'Sopocachi'. '' if unknown."
    },
    "best_time": {
      "type": "string",
      "description": "When to go, terse, e.g. 'may–oct · mañanas'. '' if n/a."
    },
    "tips": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "0-6 short practical tips (fragments, not paragraphs)."
    }
  },
  "required": [
    "description",
    "visit_duration_min",
    "safety_level",
    "audience",
    "zone",
    "best_time",
    "tips"
  ],
  "additionalProperties": false
}