City places — schema
Top attractions in a city plus day trips reachable from it.
| Response key | Field group | Shape |
| top_places | place |
array of objects |
| day_trips | place |
array of objects |
Fields
| Group | Key | Type | Target field | Maps owns | |
| place |
name |
string |
name |
— |
edit |
| place |
category |
string |
category |
— |
edit |
| place |
description |
string |
description |
— |
edit |
| place |
rating |
number · nullable |
rating |
yes |
edit |
| place |
review_count |
integer · nullable |
review_count |
yes |
edit |
| place |
price_level |
string |
price_level |
yes |
edit |
| place |
visit_duration_min |
integer · nullable |
visit_duration_min |
— |
edit |
| place |
safety_level |
string |
safety_level |
— |
edit |
| place |
audience |
arreglo de valores enum |
audience |
— |
edit |
| place |
opening_hours |
string |
opening_hours |
yes |
edit |
| place |
zone |
string |
zone |
— |
edit |
Assembled JSON schema
{
"type": "object",
"properties": {
"top_places": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Place name, plain text."
},
"category": {
"type": "string",
"enum": [
"arqueologico",
"aventura",
"compras-y-mercados",
"cultural-e-historico",
"fauna-y-vida-silvestre",
"festivales-y-eventos",
"gastronomia",
"montana-y-trekking",
"museos-y-arte",
"naturaleza-y-paisajes",
"playas-y-lagos",
"religioso-y-espiritual",
"rural-y-comunitario",
"termas-y-bienestar",
"urbano",
"vida-nocturna"
],
"description": "The single best-fit category slug from the list."
},
"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."
}
},
"required": [
"name",
"category",
"description",
"visit_duration_min",
"safety_level",
"audience",
"zone"
],
"additionalProperties": false
}
},
"day_trips": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Place name, plain text."
},
"category": {
"type": "string",
"enum": [
"arqueologico",
"aventura",
"compras-y-mercados",
"cultural-e-historico",
"fauna-y-vida-silvestre",
"festivales-y-eventos",
"gastronomia",
"montana-y-trekking",
"museos-y-arte",
"naturaleza-y-paisajes",
"playas-y-lagos",
"religioso-y-espiritual",
"rural-y-comunitario",
"termas-y-bienestar",
"urbano",
"vida-nocturna"
],
"description": "The single best-fit category slug from the list."
},
"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."
}
},
"required": [
"name",
"category",
"description",
"visit_duration_min",
"safety_level",
"audience",
"zone"
],
"additionalProperties": false
}
}
},
"required": [
"top_places",
"day_trips"
],
"additionalProperties": false
}