Raw schema
{
"type": "object",
"properties": {
"pcp_service_type_id": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "Tipo de servicio. 1 = adiestramiento, 2 = paseos, 3 = guardería, 4 = internación."
},
"address_id": {
"type": "integer",
"description": "Identificador de la dirección del usuario, obtenido de su perfil."
},
"animals": {
"type": "array",
"items": {
"type": "object",
"properties": {
"age": {
"type": "string",
"description": "Edad de la mascota, por ejemplo '3 años'."
},
"breed_id": {
"type": "integer",
"description": "Identificador de raza, obtenido desde getBreeds."
},
"size": {
"type": "string",
"enum": [
"SMALL",
"MEDIUM",
"LARGE",
"EXTRA_LARGE"
]
}
},
"required": [
"age"
],
"additionalProperties": false
},
"minItems": 1,
"description": "Mascotas incluidas en la orden. Al menos una."
},
"sessions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Formato YYYY-MM-DD. Requerido para paseos y adiestramiento."
},
"start_time": {
"type": "string",
"description": "Hora de inicio. Aplicable a guardería e internación."
},
"end_time": {
"type": "string",
"description": "Hora de fin. Aplicable a guardería e internación."
},
"shift_id": {
"type": "integer",
"description": "Identificador de turno horario, obtenido desde getShifts."
}
},
"required": [
"shift_id"
],
"additionalProperties": false
},
"minItems": 1,
"description": "Sesiones de la orden. Al menos una."
},
"pcp_place_type_id": {
"type": "integer",
"description": "Solo para guardería: tipo de ubicación (predio o domicilio)."
},
"notes": {
"type": "string",
"description": "Notas adicionales para el cuidador."
}
},
"required": [
"pcp_service_type_id",
"address_id",
"animals",
"sessions"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}